Add Traversals and nested queries to CommandBuilder

Once the basic CommandBuilder is up and running, it's time to play with relationships, edges, and graphs :)
Following a declarative paradigm, the user should describe what all they want and have it returned.
Examples
Here is a query that returns a nested set of

The first user named "michael"
michael's friends who have been friends longer than 3 years, only selecting their username and country

$query->select() // indicates read, select *
      ->from('users')
      ->where('username', 'michael')
      ->limit(1)
      ->where([
          'out' => ['where'=>[['label', 'friends'], ['years', '>', 3]]], // alias to outE(). Also in() and inE()
          'only' => [['username', 'country']],
          'store' => 'b'
          ]
      ])
      ->return('b') // return() by itself returns last stored
      ->tree();

Returns
{
   'username': 'michael',
   'country': 'USA',
   'nickname': '...' // and whatever other properties users have
   'friends': [
       {
          'username': 'eliza',
          'country': 'Spain'
       },
       {
          'username': 'jon'
          'country': 'England'
       },
       // etc
   ]
}

I'm not sure about calling the link "friends" I think this is something that will need to be viewed while discussing how Tree works.

Decided I'd talk about Tree here.
There are several levels to this.
Response layer
Returning the following:
'friends': [
       {
          'username': 'eliza',
          'country': 'Spain'
       },
       {
          'username': 'jon'
          'country': 'England'
       },
       // etc
   ]

Could be an issue for several reasons. The main ones being that there is no guaranty the user will input the Edge label. They might just want to follow all outgoing edges. Or they might specify multiple labels to follow.
I feel that the cleanest way to implement this is unfortunately a little verbose. And it would be this :
{
   'object' :
   {
      'username': 'michael',
      'country': 'USA',
      'nickname': '...' // and whatever other properties users have
   },
   'children':
   {
       {
          'object':
          {
             'username': 'eliza',
             'country': 'Spain'
          }
          'children':{}
       },
       {
          'object':
          {
             'username': 'john',
             'country': 'England'
          }
          'children':{}
       },
       // etc
   }
}

The "object" would essentially be a Spider\Base\Collection.
Model layer
Here it would be best to let users define their own relations between models. Which begs the question. Should we introduce a with() method to the query builder (not the command builder).
You could define a friends relationship in a Model and then do $query->select()->blabla->with('friends')->all().
And that would return a model where $model->friends give you a set of the friends.

I like the method chaining, but I find the graph traversal part
  ->where([
      'out' => ['where'=>[['label', 'friends'], ['years', '>', 3]]], // alias to outE(). Also in() and inE()
      'only' => [['username', 'country']],
      'store' => 'b'
      ]
  ])

a little less...um....clean (for lack of a better word). And, unfortunately, I also don't currently have a suggestion on how to make that part of the "command" look cleaner.
Scott

@smolinari Theres a bit more on this topic in issue #7 . The gist of it is that other options while less verbose have other issues.
What Michael placed inside the where clause here was an array form of a Query. You could very well place a Query inside the where clause if you wanted.
Anyways, that issue has more information on the other option for traversal which was a more imperative approach, and the shortcomings of using a query builder like that.
Another post on imperative vs declarative languages is in issue #3 and you can read more on the topic in general here: http://latentflip.com/imperative-vs-declarative/
Many thanks for your insight and feedback it's really appreciated :)

On a side note. I think it would be good for Spider to also support imperative traversal query building in the future. Creating the GremlinProcessor will probably involve making a GremlinBuilder. We could open that to the users who could use it against DBs that support gremlin (probably all TP enabled DBs, OrientDB, Neo4J, Titan, etc.).
It could serve as an alternative if really required, like very long traversals.
Just a thought.

Now that we have divided the Command builder into multiple parts, my thought would be to include declarative querying in the BaseBuilder and then add some sugar and/or imperitive building on top of that in the CommandBuilder. The Query is still just the CommandBuilder with dispatching and formatting capability.

That definitely sounds like it could work. Maybe this instead:
$query->select()->from('users')->out('friends')->depth(3)->all();

See why I would rather avoid with() bellow:
As for the Model abstraction, that's what I meant when I mentioned the model layer with().
I think it might be interesting to ditch the withComments() syntax in exchange for with('comments') as this could allow us to do something along the lines of

with('comments.users') using dot notation to fetch relationships of relationships (this would not return the comments though)
with('comments', 'comments.users') This would return the set with both comments and users who commented.

User::find();
User::findByPk(4);
// etc..
// Would return Query objects hence why we wouldn't want to use with() in the Builder.

@PommeVerte - Thanks for the link and info.
IMHO, I like this better.
$query->select()->from('users')->with('out', 'friends')->depth(3)->all();
As a person from the "outside" and not near an expert on all this, I can understand the argument to avoid with(), however, I personally like it better simply because it seems more elegant to me to describe the relation. It simply sounds better/ makes more sense.
The next question in my mind is how to elegantly do the projection of fields retrieved from the friends.
Scott
Also, let's say I don't want all the fields in the user vertex coming from friends, how is projection done for the data found with the traversal?
Scott

@smolinari I hear you. with() implies getting the result set and the relationship whereas out() could simply be a traversal.
And the point you bring up about getting fields and not entire vertices/edges is valid. It would probably fall within the boundaries of passing some information to select(). Or the other way of thinking about it is in purely imperative in which case you would have with()->depth()->properties('name', 'age')->all()
In any event there's a lot of thinking to do around the imperative->declarative.
$query->select()->from('users')->with('out', 'friends')->depth(3)->all();

Isn't even really semantically correct. It should be :
$query->select()->from('users')->with('out', 'friends')->depth(3)->tree();
// what would this even return?
// users.friends.friends.friends
// or
// users.friends (with all three levels)?

So this is going to be a little tricky.

I was suggesting withComments() as a simple magic method wrapper for with(), but we can ditch that. I'm not married to it.
I am torn on with() in the Query Builder. Most relational db orms include a with method, and so I was thinking it would make an easier transition. People just aren't used to out() ing everything. But, I would be okay with putting the with into the Model abstraction and keeping the Query builder with out.
@smolinari projections are one of the reasons we decided to go with a declarative, subquery approach. The idea being that you can specify all sorts of filters, projections, and groupings for each "out".
For the above, you may be looking at something like:
$query->select()->from('users')->with([
     'out' => 'friends',
     'where' => ['place', 'UK'],
     'limit' => 3,
     'only' => 'name, place, occupation' // and always id, label and meta
])->depth(3)->all();

// Or more likely in the Query Builder
$query->select()->from('users')->out('friends, [
     'where' => ['place', 'UK'],
     'limit' => 3,
     // etc

The Model could then use with and even predefine relationships like Eloquent and Propel do.

@PommeVerte You are right. with implies getting the user and friends. Where as out implies starting at a point, traversing, and only returning the destination (only the friends).
I would like to stick with declarative as much as possible with some imperative sugar, maybe.
My main concern is fluency (I like code that tells stories) and a relatively easy transition from the Document or Relational database worlds. A perfect transition won't be possible, and documentation will play a big part in that.
Also, I noticed that my above example should end with tree() probably and had no where constraints, so it would actually return all users and their friends to three levels (potentially a huge query)

$query->select()->from('users')->with([      'out' => 'friends',      'where' => ['place', 'UK'],      'limit' => 3,      'only' => 'name, place, occupation' // and always id, label and meta ])->tree();
This isn't so bad either actually.
One thing too. The limit => 3 is for the levels of the branches in the tree? Correct? Wouldn't "level" be more semantic for that? Or maybe even depth?
$query->select()->from('users')->with([      'out' => 'friends',      'where' => ['place', 'UK'],      'depth' => 3,      'only' => 'name, place, occupation' // and always id, label and meta ])->tree();

No, limit is for the number of records to return. In this case, it only returns 3 friends.
If we're talking depth of traversal, I like depth().
This is going to require a lot of documentation.
We also should remember that we have three abstractions for Builder. A BaseBuilder which is verbose, ugly, and efficient. A Builder with all that lovely sugar that makes the api fluent and semantic, and a Query that is all the above and can dispatch commands and format responses.
So, we can make the BaseBuilder verbose and really get all our functionality down and then figure out how to make it a more pleasant api in the Builder

I totally agree.

No, limit is for the number of records to return. In this case, it only returns 3 friends.

Ah. Ok. But, to me, limit() would make more sense outside the "with" method, since with is for the relationship part of the query, correct?
I also agree with the base/builder/ query concept. :smiley:
Though I also realize I have no real cause or clout to say anything about what you gents are doing here. Still, I am very, very interested in the work and the resulting library and, I'll do my best to help where I can, to earn right to have any say in the matters here.
Scott

Your opinion matters because you are an example of our end user. So, especially on the issues regarding API design, please chime in.

On the topic of trees.

What if we actually returned an instance of Tree which extended Response which extends Collection. That would leave us open to add helper methods like collapse(), addChild(), and so forth.

If we are using Tinkerpop when possible to form a baseline, and since tree queries are not native in either Orient or Neo4j (that I can find), I vote we mimic gremlin's tree formatting.

https://github.com/tinkerpop/gremlin/wiki/Tree-Pattern
https://github.com/tinkerpop/gremlin/wiki/Gremlin-Steps (most of the way down)
https://groups.google.com/forum/#!topic/gremlin-users/9s2YWsqK_Ro
http://tinkerpop.incubator.apache.org/docs/3.0.0.M8-incubating/#tree-step

There's a catch here in that java allows for HashMap<Object, Map> which we can't reproduce in PHP. Essentially we can't have an array with an object as a key. It's similar with the Json format passing the information back from the DB.
The original suggestion I made here is how Tinkerpop's (v2) JSONSerializer used to output the data (verbose, [key => object, value=> array]). It's also the discussed format for Tinkerpop3's tree() format.
As far as neo4j goes, it is capable of returning a tree in the format of a path (kinda). Some extra logic could make this function in a similar manner to how gremlin works.

It is also possible to return trees using Orient's TRAVERSE. It's just a matter of wrangling everything around. And, honestly, it would be easier to devise a query if we knew what format we wanted returned.
I like that format. It's describable and we can use the Tree class to navigate it with helpers if needed.
Can you post a sample tree output in php, just so we have a frame of reference.

I would say something along these lines :
[
   'object' => Collection, // vertex/edge/property
   'children' => [
       [ 'object' => Collection, 'children' => []],
       [ 'object' => Collection, 'children' => []],
       [ 'object' => Collection, 'children' => []],
       [
          'object' => Collection,
          'children' => [
              [ 'object' => Collection, 'children' => []],
              [ 'object' => Collection, 'children' => []],
              [ 'object' => Collection, 'children' => []],
          ]
       ],
       [ 'object' => Collection, 'children' => []],
   ]
]

Made a quick update to that to show multiple starting points.

As Far as the object goes we could also imagine this as a Tree inside a Tree inside a Tree. Each with their own getLeaves() etc.. type methods.. Just an idea, I know this is how TP handled trees.


hi i have problem when run jasper.py as is:

./jasper.py
Traceback (most recent call last):
File "./jasper.py", line 12, in
from client import tts
File "/home/pi/jasper/client/tts.py", line 41, in
import diagnose
File "/home/pi/jasper/client/diagnose.py", line 9, in
import pip.req
ImportError: No module named req
i saw this problem many times when i searched but coudl't find any solution
please help me
thanks a lot

try
sudo python -m pip install --upgrade pip==9.0.3

hi thanks for your reply
i did it :
sudo python -m pip install --upgrade pip==9.0.3
Looking in indexes: https://pypi.python.org/simple, https://www.piwheels.org/simple
Collecting pip==9.0.3
Downloading https://files.pythonhosted.org/packages/ac/95/a05b56bb975efa78d3557efa36acaf9cf5d2fd0ee0062060493687432e03/pip-9.0.3-py2.py3-none-any.whl (1.4MB)
100% |????????????????????????????????| 1.4MB 695kB/s
Installing collected packages: pip
Found existing installation: pip 10.0.0
Uninstalling pip-10.0.0:
Successfully uninstalled pip-10.0.0
Successfully installed pip-9.0.3
You are using pip version 9.0.3, however version 10.0.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pi@raspberrypi:~ $ cd jasper/
pi@raspberrypi:~/jasper $ python jasper.py
No handlers could be found for logger "cmuclmtk"
Traceback (most recent call last):
File "jasper.py", line 34, in
from client.mic import Mic
File "/home/pi/jasper/client/mic.py", line 9, in
import pyaudio
ImportError: No module named pyaudio
but now i have another problem please help me again
thanks a lot

Make sure you have downloaded the correct acoustic model and set the correct path.
Else download the latest acoustic model from cmusphinx source forge site into your home dir and set the path to it in profile.yml

Install pyaudio

hi thanks a lot for your help.
after some debug now i have this problem:
python jasper.py

        JASPER - THE TALKING COMPUTER           *

(c) 2015 Shubhro Saha, Charlie Marsh & Jan Holthuis *

ERROR:root:Error occured!
Traceback (most recent call last):
File "jasper.py", line 146, in
app = Jasper()
File "jasper.py", line 109, in init
stt_passive_engine_class.get_passive_instance(),
File "/home/pi/jasper/client/stt.py", line 48, in get_passive_instance
return cls.get_instance('keyword', phrases)
File "/home/pi/jasper/client/stt.py", line 42, in get_instance
instance = cls(**config)
File "/home/pi/jasper/client/stt.py", line 126, in init
**vocabulary.decoder_kwargs)
TypeError: init() got an unexpected keyword argument 'hmm'

and this is my profile:
carrier: Toronto
first_name: ahmad
gmail_password: ''
last_name: asadi
location: Toronto
phone_number: ''
prefers_email: true
stt_engine: sphinx
pocketsphinx:
fst_model: '/home/pi/jasper/client/phonetisaurus/g014b2b.fst'
hmm_dir: '/home/pi/sphinxbase-0.8/pocketsphinx-0.8/model/hmm/en_US/hub4wsj_sc_8k'
tts_engine: google-tts
and  the path of hub4wsj_sc_8k' is correct.
i read "How to implement PocketSphinx 5prealpha in Jasper #343"
but i couldn't solve the problem.
please help me again.
thanks a lot.

@ahmadasadi ，I meet the same problem too.TypeError: init() got an unexpected keyword argument 'hmm'.
this soluton may help you
https://stackoverflow.com/questions/36105566/why-is-python-pocketsphinx-giving-typeerror.
I go to the github download model dir,it seems to can work.


Add WBW_LIST_ID env setting

I forgot the LIST_ID setting

Pull Request Test Coverage Report for Build 47

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.101%

Totals

Change from base Build 46:
0.0%

Covered Lines:
348

Relevant Lines:
395

💛  - Coveralls


dead license link in win32 license.rtf agreement

VSCode Version: 1.38.1 prod build
OS Version: Windows

Steps to Reproduce:

Stop at first process of win32 installation, license agreement.
Click on the link in the sentence "under the MIT license agreement at https://github.com/Microsoft/vscode/blob/master/license.txt."

The correct link is https://github.com/Microsoft/vscode/blob/master/LICENSE.txt

I tried to verify by installing insiders again, but it still has a broken link. Is this the correct way to verify?

Oh the Insiders might actually still be broken...

Not yet in the build. Will check tomorrow.


DOC: Correct text_dataset and image_dataset examples

The functions are in their respective preprocessing packages

@googlebot I signed it!

My bad, sorry for the confusion. I was import keras directly, not from tensorflow.


Code for training from scratch

Is the training code going to be available? Thanks

Sorry. The training code can not be made public yet.


typo: OpenTelemtry

https://github.com/ogen-go/web/blob/3b290dd6117d721a2b7e908b8f7e259f2e083eda/src/components/HomepageFeatures.js#L31

Thank you! I had fixed it.


Coin tracking on character sheet?

Is there a reason that Coin is not implemented as a dedicated attribute on the character sheet like SP is? I'd like to use the Item Piles module to easily create lootable objects for my players, but I can't add currency to loot unless there's a named attribute that represents currency in the actor. Adding Coin as a resource in the same way that SP is a default resource, with a named attribute and dedicated slot on the character sheet, would really help streamline game management.

Good point!
I'll add it in the next release (hopefully within a couple of weeks)

Good point!
I'll add it in the next release (hopefully within a couple of weeks 😄 )

Hoping this is still something you're considering. A COIN resource would be very helpful. Thank you!


Making three different popup galleries

My question is it possible to to have three separate magnific popup galleries on one page? I currently have magnific popup gallery which works perfectly fine. I want to seperate my portfolio images into three different galleries.  Using Magnific Popup and Bootstrap 3.
HTML code:

 //would be first gallery

                                     HTML + CSS

                                     Websites

//Would be 2nd popup gallery

                                     JavaScript + Responsive

                                     Websites

// Would be Last popup gallery

                                     PHP

                                     Websites

I know I need to edit JS if this is possible, but can someone help me out. I been lost on this for a few days. Don't know what JS to fix. Thanks for help in advance.

This is explained in the official documentation.


⚠ Turnos 24x7 has degraded performance

In ccc2a71, Turnos 24x7 (https://reservas.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1369 ms

Resolved: Turnos 24x7 performance has improved in 7ac0f8c.


NIFI-7683: Fixed bug that resulted in a byte[] being allocated and he…

…ld onto by a member variable that was unprotected. This caused the byte array to be modified by two different threads concurrently, which can potentially cause corruption of FlowFile's data
Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Reviewing...

+1 LGTM, ran high-throughput flow with 10 concurrent tasks on ReplaceText, verified all flowfiles' content was as expected. Thanks for the fix! Merging to main


s.refId === "A" not detected if there is data transformed by Grafana feature

Hi VolkovLabs Team,
My data source is Loki and when I select refId == "A" it is not detected in the Business Chart Plugin if there is any Transforme the data

Normally, it will be detected A:

Can you help me please? Thanks!

@itsnull12 What Grafana version do you use? Transformations update data frames and some of them got renamed in the process.
Does the visual editor still work?

@mikhail-vl I'm using Grafana version 11. The mode editor code and visual are not working.
As you can see in my capture, after transforming the data refId A: is not detected.
I have two columns, FILENAME AND COUNT ( after transforme data ) and it's still showing columns before transforme ( filename and STATUS CODE (code) )
But if you don't use data transform then A: is detected.

@itsnull12 Thank you for clarification.
@vitPinchuk Please test functionality using Transformations.

@itsnull12 Thank you for clarification.
When using a transformation, some transformations directly affect the data frame. The Data Frame is used to configure the panel.
For example, I used a simple transformation.
Before transformation, I set up Dataset Items to A:Category and A:Value. My data received has refId.
Please use console.log('context:', context) to see all available data and options in code editor.
And my code editor and Line Chart works fine.

I added a simple transformation, it doesn't change the field name, but it does change the data frame. In your example the same thing happens: when you transform the field name in some transformation, you transform the data frame as well.
And it broke my code editor and line chart.

It happens because in my options I set  A:Category and A:Value, but data frame after transformation doesn't contain refId:A
I need change my Dataset Items to available and appropriate fields. Now It works.
Please, try to use this approach for your case. It should help resolve your issue, thank you

@vitPinchuk Thanks for your help, appreciate it! But what about the editor mode code ?
for instance :
context.panel.data.series.map((s) => {
if (s.refId === "A") {
ctg = s.fields.find((f) => f.name === "Category").values;
vlu = s.fields.find((f) => f.name === "Value").values;
}
});
in my case, it will showing an error "ctg is not defined"

@itsnull12
Probably, you need to declare a variable. It is what I think on this part of the code
let ctg;
let vlu;

/**
 * or
 * let ctg = []
 * let  vlu = []
 */
context.panel.data.series.map((s) => {
if (s.refId === "A") {
ctg = s.fields.find((f) => f.name === "Category").values;
vlu = s.fields.find((f) => f.name === "Value").values;
}
});

@vitPinchuk i see, must be declare a variable, okay vitPinchuk thank you very much!

sorry for reopen, you can mark as completed again. this is the result :
Transform data by "Group by"
Category > Group by
Qty > Calculate > Count
it will auto rename as "Qty (count)"

not declare variable (vlu is not defined)

with declare variable  (line chart not shown)

the solution is, don't use "if (s.refId === "A")" and also you can remove the declaration of the variable


amazon linux defaults to postgresql92 now

module currently doesn't work with amazon linux
cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2015.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2015.09"
PRETTY_NAME="Amazon Linux AMI 2015.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2015.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
yum install postgresql-X currently will install postgresql92-X
it might be better to check if the os[release][major] == 2015 and os[release][minor] >= 9, or a few other options; but I'm not sure when amazon moved to postgresql92 by default.
This works for me, but could break people running on older version of amazon linux.

Hey @shawn-sterling, Thank you for this! I can't seem to find which version moved to default postgres92, however since we don't technically support Amazon Linux I am happy enough to merge in your change as is. Thanks Again :)


[QUESTION] Content Update for new tool Microsoft Todo

What is the context of your question

[ ] Installation
[] Learning Pathways Content
[ ] SharePoint Success Content
[ ] Administration
[ ] Custom Content
[ ] Viewer Web Part

What is your question
In our pathways solution the Tool "Microsoft Todo" does not show up in the content even there is content available for Microsoft Todo: (URL for content related to Microsoft Todo https://support.microsoft.com/en-gb/todo# )
Is the help content for Microsoft Todo already included in the Content Pack on the CDN server!?
How I can ensure/verifiy, that our Learning Pathways installation retrieves the newest content from support.microsoft.com?
Our CDN key is configured to:

@AndreSchiemann, Thank you for reporting this. Please allow us some time, we will get back to you ASAP.

@AndreSchiemann There is currently no content in Microsoft 365 learning pathways for Microsoft ToDo. The content in learning pathways is a curated list of content and not a replication of support.microsoft.com or docs.microsoft.com. You are using the default CDN so whenever we push out a new update to the content you should have the latest. I will refer that as a request to the content team. Thanks for using Microsoft 365 learning pathways.

@dcashpeterson Many thanks for your reply!
In my opinion the value of the Microsoft 365 learning pathways is highly dependent on the freshness and therefore the update cycle by the content team for new content from support.microsoft.com or docs.microsoft.com.
The current sitution is not sufficient enough for a real world scenario, where Microsoft Todo is in the field since "ages"/months and official support content (like https://support.microsoft.com/en-gb/todo#) is already available.
IMHO there is a need for an mechanism, which ensure that most recent content from both official websites get automatically added into the default CDN of LP. Alternativly the community need the possibility/ability to support the content team and add/enhance the prebuilt categories/playlists with hyperlinks to support.microsoft.com or docs.microsoft.com in the default CDN.
In the current state of learning pathways I cannot recommend it as sufficient learning/adoption solution to my customers because of lack of most recent M365 services. Viva Learning is also not sufficient in the current feature level/state. 👎
BR,
André

@AndreSchiemann I understand your concerns and will relay them to the content team. We do our best to update the content on a quarterly basis but have hit some challenges in that arena as of late. We have a new update with Viva content coming out shortly.
You do have the ability to add your own custom content either as a custom playlist/assets and include content you find from support and docs however there is an issue where some of that content does not allow itself to be shown in an Iframe. You can also create a custom content pack for you or your clients if you want more control over what goes in and what doesn't.
Regards,
Derek


.travis.yml timeout on the 4th job (2017-02-28)

More often than not, it seems that in the current .travis.yml, the 4th job (quoted below) times out:
        - os: linux
          addons:
              apt:
                  packages:
                      - gcc-5
                      - g++-5
                  sources:
                      - ubuntu-toolchain-r-test
          compiler: gcc-5
          env: CONFIG_OPTS="--strict-warnings enable-tls1_3" TESTS="-test_fuzz" COMMENT="Move to the BORINGTEST build when interoperable"

As you might recall there was report about proxy-based tests failing on old Solaris system. My guess there was that it's likely to be attributed to util/TLSProxy design that is prone to kind of race conditions when resources are short. Like on an old [single-processor] system or when load is high. My guess that it's same problem here.

still an issue?

Ah, no, the issue seems to be a thing of times past.  Closing.


Timeline for secret storage backend to graduate from beta

The documentation lists the secrets tiller storage backend as beta. https://docs.helm.sh/using_helm/#storage-backends
It goes on to say:

Currently, if you want to switch from the default backend to the secrets backend, you’ll have to do the migration for this on your own. When this backend graduates from beta, there will be a more official path of migration

I was curious, when this backend will be considered stable?
Thank you!

This should be supported in v3 state management.

Thanks @hickeyma!

Hi @tylerstapler-wf, per #5695, it looks like tiller secrets storage is about to be deprecated.

@fabianhjr, Thanks for the update!

It is not planned to be deprecated.

the removal of Tiller

Sorry I misread, it is going to be decoupled from helm?

Helm still needs to store release metadata. The removal of tiller just moves the rendering into the Helm CLI itself. It doesn't remove Tiller's functionality.
More info here: https://helm.sh/blog/helm-3-preview-pt2/


Crear lu files from LUIS files

Information:

Tools Libraries: ludown
OS: All

Issue Description:
As a developer, I would like to be able to create lu files out of an exported LUIS app json so I can develop and tune my apps on the LUIS portal first and then incorporate them as lu files in my source later.
This will also allow me to import other pre-existing Luis apps developed by others without having to rewrite them as lu files.

@gabog - you can generate lu files from both LUIS application and or QnA maker KB using the refresh command. See here for additional information.
Note that the .lu file format and ludown tool does not support hierarchical, composite and RegEx entities. refresh will fail if your source LUIS model had these features.

thanks Vishwac, I didn't know about this option.


IndexedDataset.get_logical_record: Load only one row from the relevant files to satisfy the query

This will depend on #15.


Add docker images to GHCR

https://ghcr.io
https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry

https://github.com/docker/build-push-action/blob/master/docs/advanced/copy-between-registries.md
https://github.com/akhilerm/tag-push-action#using-with-dockermetadata-action


Support for generating the assembly code

We can use this to add a :set +assembly option in the icicle repl

This looks good to me :swimmer:


Add PostgreSQL 17 support with pgrx 0.12.5

The problem that prevents us from upgrading is this change https://github.com/pgcentralfoundation/pgrx/pull/1701:

This also breaks returning values from #[pg_extern] functions that were relying on IntoDatum implementations being enough.

PL/PRQL relies on returning types implementing only "IntoDatum" because we don't know the shape of returned values at compile time. The return type is defined by the user. As I see it, all that is possible with v0.12.0+ is to return tuples with name! macros which by definition must be specified at compile time. I hope I am wrong. Any ideas?


Allowing transfer of output directory to remote location

Is your feature request related to a problem? Please describe.
So I have a situation where I need to run the analysis on a local machine, and move the output directory to a remote location.
Snakemake is able to handle remote files, but it doesn't seem like remote directories is a thing yet.
So I tried out this hacky way:
# Contents of Snakefile
from snakemake.remote.SFTP import RemoteProvider

private_key = "/home/username/.ssh/id_rsa"
SFTP = RemoteProvider(username="young-chan.park", private_key = private_key)

rule hello:
    params: "username@example.com:/path/to/outdir"
    output:
        local_dir=temp(directory("/local/temp/outdir")),
        remote_target=SFTP.remote(directory("example.com/path/to/outdir"))
    shell:
        """
        mkdir {output.local_dir}
        echo hello > {output.local_dir}/exp.txt
        scp -i {private_key} -r {output.local_dir} {params}"

snakemake --cores 1 --latency-wait 20
Running this actually works as intended. It creates the directory /local/temp/outdir and makes an exp.txt file within it, then copies the directory to my desired remote location. However, the snakemake run outputs a MissingOutputException
Building DAG of jobs...
Using shell: /usr/bin/bash
Provided cores: 1 (use --cores to define parallelism)
Rules claiming more threads will be scaled down.
Job counts:
        count   jobs
        1       hello
        1

[Tue May 25 04:54:22 2021]
rule hello:
    output: /local/temp/outdir, example.com/path/to/outdir
    jobid: 0

tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
tput: No value for $TERM and no -T specified
exp.txt                                                                                100%    6     0.8KB/s   00:00
Waiting at most 20 seconds for missing files.
MissingOutputException in line 8 of Snakefile:
Job Missing files after 20 seconds:
example.com/path/to/outdir
This might be due to filesystem latency. If that is the case, consider to increase the wait time with --latency-wait.
Job id: 0 completed successfully, but some output files are missing. 0
  File "/home/username/.local/lib/python3.6/site-packages/snakemake/executors/__init__.py", line 584, in handle_job_success
  File "/home/username/.local/lib/python3.6/site-packages/snakemake/executors/__init__.py", line 259, in handle_job_success
Removing output files of failed job hello since they might be corrupted:
/local/temp/outdir, example.com/path/to/outdir
Shutting down, this might take some time.
Exiting because a job execution failed. Look above for error message
Complete log: /home/username/.snakemake/log/2021-05-25T045418.696315.snakemake.log

I'm assuming this error is because the remote method is only intended for files. So I also tried changing the remote output line to SFTP.remote("example.com/path/to/outdir/exp.txt"), but this also failed.
I have tools that make a directory and outputs all analysis files within the directory. I was hoping there would be some way that I can run my tool to generate the output directory in my local machine, then I can somehow move that directory to the remote location in a snakemake native way.
I guess one alternative would be for the remote method to have something like a check=True/False parameter where it only checks the existence of the resulting file/directory at the remote location. I'm in a situation where my HPC cluster's head node and worker nodes have differently mounted filesystem so the check parameter would therefore be useful in this case. Although I have a feeling adding the check parameter might also encourage bad practices like adding an scp command in the shell (like how I did in my example).
I'm still new to Snakemake so I'm not sure what would be the best solution.

A way to accomplish this could be to use Rclone (which is really really useful for all things distributed storage).  it saves credentials to access a ton of remote storage vendors/systems in a portable file- so the pipeline could manage this transaction if it has the auth to do so.
I also think this is a really useful feature- more than the singleton remote files, which for some rules gets out of hand how many you need to define.   Mounts.... that is the future :-)


Add  esp-idf-esp32 to flake packages

I saw that the base esp-idf-esp32 package was missing from the flake package list. So I added it.

Thanks!


Prepare for new release of Confluence

Workflow links: https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/6491193934, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/6491196030, https://github.com/atlassian-labs/atlassian-slack-integration-server/actions/runs/6491198460.

Integration tests pass, so the current version of Confluence for Slack is marked compatible with Confluence 8.6.0.


add data fields to assistant response node

temperature
requestTokens
responseTokens
latency
price
stopReason

closing for now, can re-open later if desired


implement return-parsing symbol

steps to reproduce
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F ---% ; write-host hello
return-parsing symbol ---%  directs PowerShell to return interpreting input as PowerShell commands or expressions.

What benefit does this provide? 🤔
I can't say I've ever needed to worry about what I'm putting after a stop-parsing symbol other than a line break.

@vexx32, the potential benefit is in overcoming the following limitations of current --% syntax (I'm not advocating for the change, just providing background information; to me, the only truly problematic limitation is the redirection case).

You cannot use redirections - they are passed as literal arguments to the target program (if the target program happens to be a shell, it would interpret it).
You cannot enclose the command line in (...) - because the closing ) is interpreted as a literal part of the command line.
(As implied in the OP) You cannot follow the command line with ; and another statement - because the ; is interpreted as a literal part of the command line.
You cannot use --% inside a single-line script block - because the closing } is interpreted as a literal part of the command line.


Graph view URL

In GitLab by @gmontane on Dec 13, 2022, 09:37
When one access the graph view (either from the main page or the tab in the experiment page), the URL doesn't change in the browser to earth.bsc.es/autosubmitapp/experiment/EXPID/graph as before, so if I refresh the page or go back with the browser navigation buttons, the tree view is always shown instead of the graph view.
@cgutierr @jberlin

In GitLab by @cgutierr on Dec 14, 2022, 11:25
mentioned in commit 926f1d613a57514bf93302b75df748f530fe04d0

In GitLab by @cgutierr on Dec 22, 2022, 09:54
mentioned in commit aaf824ccbcff39f761bf9fe0ec351dfbd46803dd

In GitLab by @gmontane on Dec 14, 2022, 11:13
Thanks @cgutierr!

In GitLab by @cgutierr on Dec 14, 2022, 10:44
We can take advantage of that routing system that we already implemented and we will just need to add /<view> in the URL and it'll work as expected @jberlin
Thanks @gmontane for reporting this issue, this has been fixed.
If this bug gets annoying note that with the current deployed version you can access to https://earth.bsc.es/autosubmitapp/experiment/a4pg/graph (by adding the /graph at the end) and it won't change to the Tree view on reload.


Batched gather

This is related to #2170, which describes how to use tf.gather to index on the first dimension of a tensor. What I'd like to do now is batch this operation:
params = tf.constant([[1, 2], [3, 4], [5. 6]])
indices = tf.constant([0, 1, 0])
gathered = tf.batch_gather(params, indices)
# gathered = [1, 4, 5]

You might be able to do this using tf.gather_nd(), but this will ultimately be addressed by the support for enhanced slicing.
Closing as a duplicate of #206.


Add support for packages entry point strategy

Also I'm seeing an empty "References" section.

Note: StarlightTypeDocOptions.watch should be broken with the packages strategy if you are using TypeDoc's own "watch" facilities (looks like this is the case).

The reflections generated by outputFileStrategy: 'modules' don't seem to be well-understood by the sidebar-generation code.  From what I can tell, there's no such ReflectionGroup where .title = 'Modules', so the recursion in getSidebarGroupFromReflections() isn't occurring.

Thanks for the valuable feedback. To address the various points:

I do see some unstyled invalid markdown (extra whitespace) coming through, but I'm not sure if that's typedoc-plugin-markdown's fault or no.

As you pointed out, this is indeed due to the extra spaces and this is the expected behavior according to the spec regarding delimiter run:

A left-flanking delimiter run is a delimiter run that is (1) not followed by Unicode whitespace

Also I'm seeing an empty "References" section.

This should now be fixed:

Note: StarlightTypeDocOptions.watch should be broken with the packages strategy if you are using TypeDoc's own "watch" facilities (looks like this is the case).

There is an issue for this in the TypeDoc repository so not much I can do about it from my side.
Maybe I should add a note about this in the documentation?

The reflections generated by outputFileStrategy: 'modules' don't seem to be well-understood by the sidebar-generation code.

Yeah, this is one entry in my notes regarding that plugin which is not properly handled yet and may require some thinking to get it right. This is not a strategy I use myself but last time I encountered it, I was having issue with the markdown plugin like you mentioned. Once fixed, I think an approach could be in this specific case to no longer rely on Starlight autogenerate and manually constructing the sidebar but that's only my first thought.

re: watch mode, seems like it might be possible get the list of source files out of TypeDoc, then use addWatchFile on each.  I don't think TypeDoc has any sort of incremental build, so you'll have to restart it from scratch every time anyway.  in theory, a viable workaround, but idk if there are any unintended consequences...

Anyway, thanks for your work on this!


[Issue #11912] throw mxnet exceptions when decoding invalid images.

Description
Check for invalid images before we pass them to OpenCV and throw a normal exception. Exceptions we can handle, OpenCV assertions not.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[X ] Changes are complete (i.e. I finished coding on this PR)
[ X] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
[x ] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

Raise an excption when passing an empty buffer to imdecode.
Raise an exception when passing an invalid data buffer to imdecode.

This change seems to confict with a similar fix committed a couple of days ago. I’ll review tomorrow as soon as I have time.

I propose the replace the python specific check to ensure a non-empty buffer is passed to imdecode  (added in 96df2c5760ce9a1c1238f1f41228486a583de7ff) by the test added in this changeset which is also applicable to the other language bindings.

@lgov Thanks for your contribution!
@mxnet-label-bot [pr-awaiting-review, Data-loading]
@sandeep-krishnamurthy @anirudhacharya Could you please help review the PR

@anirudh2290

@anirudh2290 can you please help review/merge? thanks!


Update rubric for iteration 1

The rubric for iteration 1 currently has "testing angular", and we probably want to alter that to be "testing" (that includes server as well as client) or make some change that allows for both flexibility in what happens in the iteration AND encouragement for good practice of testing whatever you have.

What's the status on this?

We updated the rubric for this iteration, but we added a wider variety of specifics rather than removing them or making things more general. This year, the students have seen end-to-end tests, angular tests, and tests in Java, so we are expecting they will have had some of these experiences.


No precompiled for linux?

I looked at the precompiled zip but is this for windows only? Where to download the precompiled version for linux?

all windows works in the same “way”, but not all the linux works in the same “way”. to avoid incompatibilities, for linux users we just recommend follow the instructions of the readme


oxygenfonts: init at 20140213

Motivation for this change
This font is used in the KDE desktop, and the mono font seems to be the default in e.g. Konsole.
So it should probably be added to those packages as well.
Things done

[ ] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thank you very much for the submission! I've added a few comments, none of which are hugely important but would make the package a bit more streamlined.

The creator of this font passed away on August 25th 2016 as the result of an accident. I added some information, and changed the date as a tribute.

Many thanks for this! And the release date seems very prudent, good call. I've merged into the master now.

The date needs to be corrected to Aug 24th 2016.

Usually it is not a good idea to decrease the version of a package but I figure this is young enough that it is ok. The master branch now has 20160824 as version.


Backport 2.1: Improve documentation of mbedtls_x509_crt_parse()

This is the backport of #1982 to Mbed TLS 2.1, fixing #1883.

@RonEld Thanks for your quick review, I think I addressed your feedback. Please re-review.

@RonEld - Could you please re-review?


New feature: node specific flow overrides

Until now Azkaban has only supported setting flat flowOverride properties that affect all jobs. While keeping that capability, this PR allows additionally overriding properties for specific jobs or sub-flows.
On the UI side the flow override is extended to be similar with job level SLA settings: there's a dropdown picker for the nested id (includes all nodes which means leaf job nodes as well as sub-flows).

This change is 100% backward compatible.

UI testing
Some screenshots from the UI below.
I used this kind of flow for manual testing:

The new thing in UI is the Flow/Job dropdown:

An example of some rows entered:

And log lines on how that's reflected in the backend:

TODOs
Documentation
Should the docs be updated to include this?

Pull Request Test Coverage Report for Build 5452

64 of 75 (85.33%)  changed or added relevant lines in 4 files are covered.
26 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.02%) to 41.892%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

azkaban-web-server/src/main/java/azkaban/webapp/servlet/ExecutorServlet.java
0
1
0.0%

azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java
38
48
79.17%

Files with Coverage Reduction
New Missed Lines
%

azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunner.java
1
82.13%

azkaban-exec-server/src/main/java/azkaban/execapp/JobRunner.java
4
77.03%

azkaban-exec-server/src/main/java/azkaban/execapp/event/JobCallbackRequestMaker.java
21
56.25%

Totals

Change from base Build 5449:
0.02%

Covered Lines:
13990

Relevant Lines:
33395

💛  - Coveralls

@djaiswal83 could you review this, please? Especially because UI testing is not so easy, I would hope to be able to avoid getting conflicts from PRs that came after this (if they are merged before this, that is).

@juhoautio I was on vacation and just came back. Will take a look asap.

Instead of Flow Params, can we think about renaming Flow Params as Execution Params since post this PR, these params may not applicable to the entire flow.

Instead of Flow Params, can we think about renaming Flow Params as Execution Params since post this PR, these params may not apply to the entire flow?

If it's just the UI & docs, sounds great to me! But the API should remain backward compatible as done here.

@djaiswal83 would you have time to review now? Thanks.

Could someone review this, please? I thought I had a general acceptance for this feature before taking the time to formulate this as a PR, so would be nice to not have spent that time in vain.. Thanks!

Thanks for making this change. PR looks good to me. Please resolve the conflicts and update the PR. I will merge it.

I have rebased this on top of https://github.com/azkaban/azkaban/pull/2632 instead of current master, because some tests are already testing that executor.props.resolve.overrideExisting.enabled and job-specific overrides are applied in the right order.
So, https://github.com/azkaban/azkaban/pull/2632 should be merged first.

@aditya1105 there are new conflicts but is the offer still valid otherwise? I mean can this be merged if I resolve the conflicts at hand? Thanks.

@aditya1105 there are new conflicts but is the offer still valid otherwise? I mean can this be merged if I resolve the conflicts at hand? Thanks.

@djaiswal83 conflicts resolved here, too, but as mentioned, this should be rebased once more after https://github.com/azkaban/azkaban/pull/2632 has been merged.

@djaiswal83 conflicts resolved here, too, but as mentioned, this should be rebased once more after https://github.com/azkaban/azkaban/pull/2632 has been merged.

Today, when a user visits the Flow Execution page of an already finished execution and hits the "Prepare Execution" button the flowOverride params provided in the previous execution are automatically populated in the Execution modal dialog. Will that be extended as well for the jobOverride params? Will specific jobs be automatically selected from the dropdown button based on the previous jobOverride parameters?

Today, when a user visits the Flow Execution page of an already finished execution and hits the "Prepare Execution" button the flowOverride params provided in the previous execution are automatically populated in the Execution modal dialog. Will that be extended as well for the jobOverride params? Will specific jobs be automatically selected from the dropdown button based on the previous jobOverride parameters?

@ypadron-in regarding https://github.com/azkaban/azkaban/pull/2597#issuecomment-769756318 – yes, the form is automatically filled also for job level overrides as you described.

@ypadron-in regarding https://github.com/azkaban/azkaban/pull/2597#issuecomment-769756318 – yes, the form is automatically filled also for job level overrides as you described.

@ypadron-in I put in the PR description:

TODOs
Documentation
Should the docs be updated to include this?

But I would postpone that until the follow-up UI changes have been done as a separate PR (for example, changing "Flow Parameters" to something else).

@juhoautio I took a deeper look at the code and added a few more comments, sorry for not completing the review before.
This is a really useful feature that we should probable have had already, so thank you!

@ypadron-in thanks for very valid feedback again. I've tried to address some of your comments – maybe you could resolve the discussions if you think they're ok? I have asked some further clarifying questions as well, I hope you don't mind.

Known usability problem in the UI
There's a problem in the usability of the UI in the current form of this PR: it's not obvious to the users that the blank value is supposed to be kept/selected from the dropdown for a global scope.
So, currently it looks like this:

Do you see the problem and agree that this needs to be improved?
How to improve it..
A: A special value option instead of blank string
A special magic option could be used to make it more obvious, for example. :global.
But I don't like this idea and maybe it would be even more confusing.
B: Split into two sections
One option wold be to have two sections as follows:
Global Overrides

Name
Value

key1
value1

key2
value2

Node-specific Overrides

Job/Flow
Name
Value

[ run-sub-flow ]
key3
value3

[ run-sub-flow:parallel1 ]
key1
value1

I mean having these sections on the same tab, on top of each other.
C: Toggle for scope on each row
The rows could be kept in a single section, but have a toggle like this:

Scope
Job/Flow
Name
Value

(*) global (  ) node

key1
value1

(  ) global (*) node
[ run-sub-flow ]
key2
value2

Here the Job/Flow column would be disabled if scope is global. The hidden value for Job/Flow could be empty as it is now.

Opinionts on these? Any better ideas? I would choose option B because it seems to be the clearest way, even though it requires most work.

@ypadron-in we have still discussion to finish on the logic, but then I made this comment on the UI https://github.com/azkaban/azkaban/pull/2597#issuecomment-784510550. Would you have any feedback on this?

@ypadron-in we have still discussion to finish on the logic, but then I made this comment on the UI #2597 (comment). Would you have any feedback on this?

Do you see the problem and agree that this needs to be improved?

Yes, that certainly needs improvement.
In an Azkaban workflow there are 2 types of nodes: flow and job. The empty option targets a node of type flow: the root flow. Based on that:
I personally find solution A (with a few labels changed) to be the most appropriate. Here is what I would change:
-Replace "Flow Parameters" with "Runtime Properties".
-Replace "Flow Property Override" with "Node Runtime Properties" or similar.
-Replace "Flow/Job" with simply "Node".
-Use "ROOT" as the value of the dropdown empty option.
In Solution B, "Global Overrides" section could be interpreted as those properties being overridden on every node regardless of more specific overrides, which is not the default behavior. It also makes an artificial distinction between overriding properties on the root node vs overriding properties on other nodes, which I'd prefer to avoid.

Use "ROOT" as the value of the dropdown empty option

This could be confusing because ROOT is also a valid job name. Would you have any ideas for how to avoid that? First though that I have is to name that special value: entire flow. This name contains a space, so it can never clash with an actual job/node name. What do you think? Any other suggestions that you’d prefer over my suggestion?

Use "ROOT" as the value of the dropdown empty option

This could be confusing because ROOT is also a valid job name. Would you have any ideas for how to avoid that? First though that I have is to name that special value: entire flow. This name contains a space, so it can never clash with an actual job/node name. What do you think? Any other suggestions that you’d prefer over my suggestion?

You're right. Unfortunately it seems there is no definition of valid flow/job names and we're also not doing a good job at validating them. I tested using Flow 1.0 and Flow 2.0 and spaces are allowed on both. Flow 2.0 adds to the name restrictions the rules around yaml values and for example using - or % at the beginning of a node name will throw an error, however this is allowed in Flow 1.0. I couldn't get an invalid name error with Flow 1.0.
I think I would use something like -ROOT- or /ROOT/.

I don't know is it just me, but -ROOT- and /ROOT/ both look a bit strange.
How about just *? That would be a familiar wildcard. And definitely *.job is not a possible name, so conflict can be avoided for sure. Or do you think * has the same problem as an empty string?
One more suggestion by me: *:* (according to the familiar globstar pattern – which could make sense considering that the concrete nodes in the dropdown are like sub-flow:job).

Yes, * might not be communicative enough, same as empty string. I was hoping to use a word.
*:* kind of suggests to me that those overwrites will have the highest precedence which again is only true when EXECUTOR_PROPS_RESOLVE_OVERRIDE_EXISTING_ENABLED is true.
If -ROOT- or /ROOT/ (adding - and / to avoid conflicts) don't convince you how about we just use ROOT and declare it a reserved node name and deal with clashes when they occur if we prefer not to implement the corresponding validation now.

Regarding the API endpoint, you're right let's be consistent with the semantics around runtime properties overwrites we're trying to convey in the UI. Instead of nodeOverrides, let's add a new property in the response of flowInfo api called runtimeProperties which will list the overwrites of all nodes including the root node.
To maintain backward compatibility we can't delete the existing flowParams property which contains overwrites of the root node, which means we'll be duplicating this info, but it shouldn't be that terrible as not a lot of bytes are expected to be duplicated.
Here is an example response:
{
   "runtimeProperties": {
      "ROOT": {
          "rProp": "rVal"
      },
     "sub-flow:job1": {
          "j1Prop": "j1Val"
      },
      "job2": {
          "j2Prop1": "j2Val1",
          "j2Prop1": "j2Val2",
      },
  },
  "flowParam" : {
    "rProp": "rVal"
  },
  "failureAction" : "finishCurrent",
  "notifyFailureFirst" : false,
  "notifyFailureLast" : false,
  "failureEmails" : [<EMAIL_ADDRESS>],
  …
}

@ypadron-in I have added a new commit ^ I believe this covers all of the open issues.

@ypadron-in any update please?
It's a bit surprising to see that some other changes have been merged in in the meanwhile, causing conflicts. But I'll resolve the conflicts in this PR. I hope this could be the last time doing that for this PR :)

Wow! Thanks for all the work that you put into reviewing this.
Shall I proceed to creating a PR about covering this properly in the documentation site?

Shall I proceed to creating a PR about covering this properly in the documentation site?

That would be great! Thank you!


Bug 2081557: Run at least one replica of Webhook

There should be always at least one replica of the webhook always running to make sure API requests are processed + the operator does not go Available: "false".

Add PodDisruptionBudget with 1 replica.
Use MaxUnavailable: 1.
Tune nr. of replicas to 1 on single-node cluster, 2 everywhere else.
Run the webhook on regular nodes in hypershift (masters are not there)

All this code is already used in other CSI driver Deployments.
cc @openshift/storage

/retest


helm: Use AppVersion to display notes

When installing a fork with different chart version the printed information is inaccurate. Especially when it comes to the docs URL.

Apologies, but we are not going to do this. We are aware that other vendors keep the chart and app versions uncorrelated. We do not. There are other reasons why we cannot merge this PR that I cannot get into. Let us know if there are any problems that this PR addresses for you that we can address in some other manner.


chore: tidying up types

A prelude before moving types into its own folder as mentioned in https://github.com/sveltejs/kit/pull/980#issuecomment-818492644. This PR actions consists of

removing unused type introduced in https://github.com/sveltejs/kit/pull/901#discussion_r612271006
syncing up handle hooks type docs
merging unnecessary destructuring/duplication in types

No tests or changeset should be needed as this should not change anything

There's also a couple more things I'd like to do but not sure what the general opinion here is, this suggestions could be applied here or in a separate PR (or not at all)

only exported types from types.d.ts are exposed to the end-user
a. it might be better to have not-exported to be placed in other file (maybe internal or config), or
b. just put it directly in the arguments since it's only used once, e.g. AdapterUtils
continuing 1b, types used only once like ParameterizedBody can be removed and placed directly (inline)

lgtm except for maybe the handle name


What is the process for installing in WSL2?

I honestly can't say if the problem is with WSL2, Docker, Kubernetes, Minikube or mkcert, but I'm wondering: what is the installation process is for WSL2? Should it be done Windows side, or should it be done inside WSL2?
I have the same process for my Linux partition and macOS. The deployment works fine those two but not inside of WSL. The deployment is basically the following:
# Download and install mkcert
if [[ `uname` = "Darwin" ]] then
    brew install mkcert
    brew install nss
else
    curl -Lo mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 && \
        sudo install mkcert /usr/local/bin/
fi

# Installing tls certificate
mkcert -install

# Installing tls certificate
mkcert localhost <IP_ADDRESS> ::1

# Installing cert-manager locally
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.2.0/cert-manager.yaml

# Add the certificates to secrets
kubectl create secret tls tls-localhost-dev --key=localhost+2-key.pem --cert=localhost+2.pem -n dev

# Create the tls service that will attach to ingress-nginx
kubectl apply -f k8s/dev/tls.yaml

At the end of this (on macOS and Linux), you should be able to spin-up the application, navigate to localhost and there is a valid TLS certificate.
Doesn't work on WSL2 however and while the error is Kubernetes related:
 Type     Reason         Age                  From          Message
  ----     ------         ----                 ----          -------
  Warning  ErrGetKeyPair  4m30s (x9 over 19m)  cert-manager  Error getting keypair for CA issuer: secret "tls-localhost-dev" not found
  Warning  ErrInitIssuer  4m30s (x9 over 19m)  cert-manager  Error initializing issuer: secret "tls-localhost-dev" not found

(tls-localhost-dev very clearly does exist, btw)...
I can't help but think it is an issue with WSL2 and the mkcert certificates. WSL2 does some weird stuff with networking to say the least.
Should mkcert not be used and certificates not installed directly in WSL2? Should they go into Windows itself?

If you want the windows-side browser to trust something that's in wsl2 you have to do a little bit.  I think we have this pretty well dialed in in the instructions for ddev, https://ddev.readthedocs.io/en/latest/#installation-or-upgrade-windows-wsl2
What we do is create the CA on the Windows side and then tell WSL2 to use that one.

Thanks for the documentation.
Unfortunately, I've been unable to get it mkcert working for my use case and still run into the same issues when it comes to deploying the local dev k8s cluster. Likely going to have to chalk this up to another issue unique to WSL2 (given it works fine in Linux and macOS) and move on.
I'm pretty sure mkcert is doing what it needs to do, so I'll check with the cert-manager devs to see if they might have any ideas.

Ok, got this figured out with some help:

https://github.com/Microsoft/WSL/issues/3161#issuecomment-451863149
https://ddev.readthedocs.io/en/latest/#installation-or-upgrade-windows-wsl2
https://www.haveiplayedbowie.today/blog/posts/secure-localhost-with-mkcert/

This is what worked for my use case. Granted, I didn't test it without installing mkcert into WSL, so that step may not be necessary:

Use choco to install mkcert: choco install -y mkcert
In Windows, mkcert -install
WSL install mkcert (again, not 100% sure this is necessary):curl -Lo mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 &&
   sudo install mkcert /usr/local/bin/

In WSL, mkcert -install (again, not 100% sure this is necessary)
In Windows:mkcert localhost <IP_ADDRESS> ::1

This will generate them in your C:\Users\<user>\ directory by default
Copy them into WSL, which for my use case is the root of my project
Then for my use case I run:kubectl create secret tls tls-localhost-dev --key=localhost+2-key.pem --cert=localhost+2.pem -n dev

For my use case, I then run kubectl apply -f k8s/dev/tls.yaml which contains: apiVersion: cert-manager.io/v1
 kind: Issuer
 metadata:
   name: letsencrypt-dev-issuer
   namespace: cert-manager
 spec:
   ca:
     secretName: tls-localhost-dev
 ---
 apiVersion: cert-manager.io/v1
 kind: Certificate
 metadata:
   name: letsencrypt-dev-certificate
   namespace: cert-manager
 spec:
   secretName: tls-localhost-dev
   dnsNames:
     - localhost
   issuerRef:
     name: letsencrypt-dev-issuer
     kind: Issuer

This time after running skaffold dev, and minikube tunnel, my app is running with the TLS certificates like it should be.

I'd also like to know how to get certs to work with Windows development environment. I installed mkcert like this:
 sudo apt update
 sudo apt install linuxbrew-wrapper -y
 brew update
 brew install mkcert

 # Just to make sure it's installed:
 brew install mkcert

 sudo ln -s /home/linuxbrew/.linuxbrew/bin/mkcert /usr/local/bin/mkcert
 sudo chmod +x /usr/local/bin/mkcert

And then got mkcert certificate with:
mkcert site.test

But in the browser it's not valid cert.
Any tips on how to get the cert green here?

I got an error by sudo apt install linuxbrew-wrapper -y on wsl2.
But could resolve by following this article.
Environment
I'm using ubuntu20.04.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

Error
$ sudo apt update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://security.ubuntu.com/ubuntu focal-security InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
265 packages can be upgraded. Run 'apt list --upgradable' to see them.
$ sudo apt install linuxbrew-wrapper -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linuxbrew-wrapper

Resolution
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
==> This script will install:
/home/linuxbrew/.linuxbrew/bin/brew
...

$ eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
$ brew -v
Homebrew 3.5.10
Homebrew/homebrew-core (git revision 1416126cc23; last commit 2022-08-28)
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and which additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew-provided
script of the same name. We found the following "config" scripts:
  ~/.pyenv/shims/python-config
  ~/.pyenv/shims/python3-config
  ~/.pyenv/shims/python3.9-config
$ brew install mkcert
==> Downloading https://ghcr.io/v2/homebrew/core/mkcert/manifests/1.4.4
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/mkcert/blobs/sha256:f674faa8be61e225ae604b2ffe215927f6ecbc992aac75e769185862820d2881
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:f674faa8be61e225ae604b2ffe215927f6ecbc992aac75e769185862820d2881?se=2022-08-28T02%3A50%3A00Z&sig=kAx
######################################################################## 100.0%
==> Pouring mkcert--1.4.4.x86_64_linux.bottle.tar.gz
🍺  /home/linuxbrew/.linuxbrew/Cellar/mkcert/1.4.4: 6 files, 3.2MB
==> Running `brew cleanup mkcert`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
$ sudo ln -s /home/linuxbrew/.linuxbrew/bin/mkcert /usr/local/bin/mkcert
$ sudo chmod +x /usr/local/bin/mkcert
$ mkcert --version
v1.4.4

For anyone who facing this issue, the steps to use mkcert in the WSL2 to be trusted by window side:

Install mkcert in WSL2 as usual
Run command: mkcert -install from WSL2
Copy the root CA certificate from /usr/local/share/ca-certificates to any directory on Windows, for example I will copy to the D: drive on Windows:
cp /usr/local/share/ca-certificates/mkcert_development_CA_257563636493456315191321627148517461377.crt /mnt/d/
Double click to open the cert in the D:\mkcert_development_CA_257563636493456315191321627148517461377.crt. Install it to Trusted Root Certification Authorities

Open RUN with command Windows + R and paste certmgr.msc and verify it from the list like in the bottom image

From now, you can use mkcert in the WSL2 environment to create certificates for your site and the cert will be trusted by windows and browser environment.

@ledunguit's advice worked for me. You may skip the cp step by opening e.g. \\wsl$\Ubuntu-20.04\usr\local\share\ca-certificates in explorer.exe and double-clicking the cert there.
And to be explicit, on step 4, choose the option Place all certificates in the following store
and select Trusted Root Certification Authorities.

Eugh finally! the 2 comments above me finally created the solution I needed after breaking my head over the certificates I needed for my used case, pretty new to wsl to 😀

@ledunguit @AlexErrant
I'm on Win 11 22h2 and I don't have a default program to open .pem file created by mkcert -install. What's the "program" that gives the pop-up with the "Install certificate" button?

@ToshY Can you please take a screenshot what happened when you double click the cert? I am also using Win 11 22H2 too.

Either way when clicking it in explorer from the WSL path, as well as copying the certificate to my C drive, both give the same result.

I'm not sure, but it seems that doesn't automatically recognizes the .pem files as certificates that can be installed, and therefore doesn't have a default program to "open" the files?

@ToshY Ok, I see. Your certificate is in PEM format, not CRT. You can import the rootCA.pem using various methods. One of them is outlined here: https://learn.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate

@ledunguit Thanks for the link!
I'm just curious now how did you perform a mkcert -install and get a .crt from it? I don't really see options/docs that show how to achieve that, and from what I can see from the README it also shows rootCA.pem as default output from mkcert -install. 🤔

Looks like it depends on some paths existing and therefore maybe what distro you're on: https://github.com/FiloSottile/mkcert/blob/2a46726cebac0ff4e1f133d90b4e4c42f1edf44a/truststore_linux.go#L36-L48
I'm on Ubuntu-20.04

As mkcert -CAROOT shows for me /home/user/.local/share/mkcert, which contains rootCA.pem and rootCA-key.pem. This is, according to the docs, also the certificates you should use for installing on other systems.
But now I finally see that both the snippet @AlexErrant shows, as well as the original comment from @ledunguit, show references to /usr/local/share/ca-certificates/ directory, which I also have and contains the mkcert_development_CA_<123456>.crt.
Now I've done a quick sha256sum on both the /home/user/.local/share/mkcert/rootCA.pem and /usr/local/share/ca-certificates/mkcert_development_CA_<123456>.crt, and surprise-surprise, it's the same 🤦♂
This is on me for not reading your suggestions better 😞

What I did find, after trying to open the .crt, is that it uses an application called "Crypto Shell Extensions", but by default it doesn't associate with .pem. So I found this snippet which actually fixes it.
add-pem-to-registry.reg
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.pem]
@="CERFile"
"Content Type"="application/x-x509-ca-cert"

After executing, I can double-click the .pem file, and get the same pop-up to install the certificate 😄


Reaction Popup and Emoji Picker Sheet Config Customizations Overridden with Null

Describe the bug
I'm currently testing the example application.
To Reproduce
Steps to reproduce the behavior:

Go to example app repository
Add the customizations to main.dart
emojiPickerSheetConfig: const Config(
emojiSet: [
CategoryEmoji(Category.SMILEYS, [
Emoji('👍', 'Thumbs Up', hasSkinTone: true),
Emoji('👎', 'Thumbs Down', hasSkinTone: true),
])
],
),
reactionPopupConfig: ReactionPopupConfiguration(
emojiConfig: const EmojiConfiguration(
emojiList: ['👍', '👎'],
),
shadow: BoxShadow(
color: isDarkTheme ? Colors.black54 : Colors.grey.shade400,
blurRadius: 20,
),
backgroundColor: Colors.blue,
//backgroundColor: theme.reactionPopupColor,
userReactionCallback: (message, emoji) {
debugPrint('User reacted with $emoji');
},
),
Run in debug
Long tap on message for reaction popup to show

Expected behavior
I expect to see an emoji row with blue background and only 2 options. I think the + will still be there by default. When I click on the +, I expect to see the 2 options from the emoji picker sheet. When an emoji is clicked, the user reaction callback is called and the debugPrint statement is triggered.
Actual
The default white row and the default emojis show on both the reaction row and on the picker sheet. When setting a breakpoint on the reaction popup, the values are showing as null. When selecting the emoji, the callback is never hit.
Desktop (please complete the following information):

OS: Mac
Browser Chrome

Additional context
I am able to set breakpoints when the app first loads and see the properties set but when the reaction popup is clicked/triggered the configurations show as null so all the defaults are used. Also attempted using the unicode values instead of the images as the string value. The results were the same.
Any assistance would be greatly appreciated. The need is to restrict the emojis available.
Thank you.

Hi @kkruel8100 , I tried to run the configuration you shared in the example, and it works as expected. Could you please share more details about what is expected in this scenario? Please refer to the screenshot below.

I created a new flutter project and added chatview to it. I was able to customize the reaction and the popup in the new project. Not sure why it wasn't working in the repo example, but since it works in a new project, that was the main concern of mine when vetting the plugin to see if it would work for our use cases.
Thank you for taking a look at it. It helped having a second set of eyes.
Going to close the ticket.


Update to 1.20(.1)

As opposed to the other PR, this one bases off of the 1.19 branch and does some more necessary changes like changing the build.gradle to match the MDK's, and updating the pack version in pack.mcmeta to the correct one for 1.20(.1). Additionally, this PR leaves the version ranges in the mods.toml open to 1.20, as virtually all mods work on 1.20 and 1.20.1 without changes.

Thanks a lot!


React-native: uuid not working when debugger is disabled

Describe the bug
In my react-native application, I am using:
import { uuidv4 } from 'uuid';
uuidv4()

The uuid get generated successfully when the app is running on debug mode (The debugger is enabled). However, if you turn off the debugger, it does not work, as soon as the app reaches  uuidv4() line of code, it stops there without any error in the console.
How to reproduce

npx react-native init AwesomeProject
yarn install uuid

import { uuidv4 } from 'uuid';
uuidv4()

Test the app, should not work
ctrl + d to open the developer menu, select Debug
It will start working as normal

Expected behavior
The app should work as normal in both debug mode being enabled and disabled.
Runtime
System:
    OS: macOS 10.15.7
    CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
    Memory: 392.40 MB / 8.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.15.0 - ~/.nvm/versions/node/v14.15.0/bin/node
    Yarn: 1.22.4 - ~/Documents/youpendo-app-bareworkflow/node_modules/.bin/yarn
    npm: 6.14.8 - ~/.nvm/versions/node/v14.15.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.1, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 28, 29
      Build Tools: 28.0.3, 29.0.2
      System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7<IP_ADDRESS>92135
    Xcode: 12.1/12A7403 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_232 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: ^4.8.0 => 4.13.0
    react: 16.13.1 => 16.13.1
    react-native: 0.63.3 => 0.63.3

Additional information
[Any other information or comments that you think will help]

Did you follow the documentation and install react-native-get-random-values?

uuid doesn't export a uuidv4 property.  Try import { v4 as uuidv4 } from 'uuid'; as suggested in documentation?
(@ctavan Am I missing something here?  Is import {uuidv4} from 'uuid' expected to work with react-native and the react-native-get-random-values module somehow?)

Oops. I stopped reading the example code after import because I saw that the polyfill was missing… But you are obviously right, @broofa, in addition to the missing polyfill it must also read:
import 'react-native-get-random-values';
import { v4 as uuidv4 } from 'uuid';

Just like in the documentation: https://github.com/uuidjs/uuid#react-native--expo

@ghasemikasra39 are you still experiencing this issue? If so please feel free to reopen this issue.

Describe the bug
In my react-native application, I am using:
import { uuidv4 } from 'uuid';
uuidv4()

The uuid get generated successfully when the app is running on debug mode (The debugger is enabled). However, if you turn off the debugger, it does not work, as soon as the app reaches uuidv4() line of code, it stops there without any error in the console.
How to reproduce

npx react-native init AwesomeProject
yarn install uuid

import { uuidv4 } from 'uuid';
uuidv4()

Test the app, should not work
ctrl + d to open the developer menu, select Debug
It will start working as normal

Expected behavior
The app should work as normal in both debug mode being enabled and disabled.
Runtime
System:
    OS: macOS 10.15.7
    CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
    Memory: 392.40 MB / 8.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 14.15.0 - ~/.nvm/versions/node/v14.15.0/bin/node
    Yarn: 1.22.4 - ~/Documents/youpendo-app-bareworkflow/node_modules/.bin/yarn
    npm: 6.14.8 - ~/.nvm/versions/node/v14.15.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.9.3 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.1, DriverKit 19.0, macOS 10.15, tvOS 14.0, watchOS 7.0
    Android SDK:
      API Levels: 28, 29
      Build Tools: 28.0.3, 29.0.2
      System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 3.6 AI-192.7<IP_ADDRESS>92135
    Xcode: 12.1/12A7403 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_232 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: ^4.8.0 => 4.13.0
    react: 16.13.1 => 16.13.1
    react-native: 0.63.3 => 0.63.3

Additional information
[Any other information or comments that you think will help]

you can downgrade to 3.3.3
=> yarn install<EMAIL_ADDRESS>

@tunm1228 :  That is not advisable.  The reason that works is because pre-v7 versions of this library fall back to the [insecure / poor-quality] Math.random() RNG when crypto.getRandomValues() is not available.  Just follow the instructions in the README as @ctavan suggests.


Illegal download spotted on https://webtorrent.io/

https://webtorrent.io/
https://webtorrent.io/desktop
As far as I can see, https://webtorrent.io/ is showing COPYRIGHTED movies as screenshot.
I think I should report https://webtorrent.io/ as copyright violation.

https://github.com/feross/webtorrent/issues/699
Don't use WebTorrent for copyright content.
DiegoRBaquero commented Mar 28, 2016  (Collab)

That's funny... He's actually doing illegal download.

https://archive.is/kPhDK

The film "Sintel" was released under a Creative Commons license by the Blender Foundation. It's free to reproduce and distribute.
You can learn more about Sintel and Creative Commons on Wikipedia. Please do your research before making inaccurate claims.

All the sample films that come bundled with WebTorrent are Creative Commons licensed or public domain.
You can find great public domain and Creative Commons content on the Internet Archive, Librivox (audiobooks), and Bitlove (podcasts).


Use double quotes everywhere to stay consistent

This matters to me because I'm parsing it's AST, I'll update this with more context over how I'm using this script later (bump this if i dont!)

I'm just bad with the AST, my bad (found a solution)

These are pretty simple changes.
Is there an issue you were running into?

yeah I was parsing the AST by looking at every Start-Job scriptblock, and made up the function name from the -Name param, which I Where-Object'd only to have double quotes, but some did not have double quotes and it messed with my script.
I changed what it looked for and these simple changes were not needed anymore


Issues with new mx:RemoteObject in AS3&MXML extension

Hi Josh,
adding mx:RemoteObject to a normal Royale application gives me two problems:
1.- "symbol" is not detected by AS3&MXML extension.
Add this:
<fx:Declarations>
        <mx:RemoteObject id="service"
                         endpoint="http://localhost:8080/messagebroker/websocket-amf"
                         destination="exampleService">
            <mx:method name="echo">
                <mx:arguments>
                    <symbol>{name_txt.text}</symbol>
                </mx:arguments>
            </mx:method>
        </mx:RemoteObject>
    </fx:Declarations>

And you'll get this for "symbol":
This tag could not be resolved to an ActionScript class. It will be ignored.
2.- Binding reports "Data binding will not be able to detect assignments to 'echo'."
Adding this
<j:Label text="{(service.echo as Operation).lastResult}"/>
and "import mx.rpc.remoting.Operation;" to Script block.
But the binding is valid and works ok.
Thanks

I can't seem to find a method property on RemoteObject, so I'm not sure what this code is even supposed to map to in ActionScript:
<mx:method name="echo">
</mx:method>

This seems like a Royale compiler issue. Does the project build from the command line?

Hi Josh,
yes this compiles thanks to latest Alex addition to support mx:RemoteObject in the compiler.
mx:Method is like rpc Operation, so the compiler should transform this syntax to Operation class.
with the other ticker you just closed and using latest SDK with  "as3mxml.sdk.editor"
all seems to work right.


New Steam chat

The new Steam chat is currently not supported.
EDIT: Not that the new chat beta is public, I just need to wait for SteamKit to update and I'll update this asap.

Please your bot is great, just need to update to work with new steam chat.  i hope you can do it soon..   thanks in advance.

Thanks, but we're still waiting for SteamKit to release an update to support the new chat. In the meantime, there's not a lot we can do. The basics were figured out when the beta was first released afaik, but for some reason an update hasn't been released yet, not sure why.

Ohh i understand. Ok i will be waiting and pending to use it. It is very simple to use your bot, good work. Especially for simple humans like me who do not know anything about programming. Thanks for answering and letting me know.

Thanks, in the meantime I've also been trying out some different user interfaces for the app, since it currently doesn't look that good. Here's a small peak of the current prototype of it:

Maybe I'll release that while we're waiting for SteamKit to update.

lol nice.  looks even better than before


feat: support ai code action

Types

[x] 🎉 New Features

Background or solution
Changelog

/next

/next

/next


Add a header form type.

This would just display a header-like string that is not editable.

The headers should look like the headers that are a part of the container style form types (Eg, columns, tabs)


fix(clerk-js): Mutate membership requests after accept or reject

Type of change

[x] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

Description

[ ] npm test runs as expected.
[ ] npm run build runs as expected.

This PR successfully updates the list of stale data after the change of status for a membership request caused by a rejection or approval.
Previously the user would click in approve but the approved request would remain in the list.

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Use VS C++ for Electron >= v4

We were using VS2017 for Electron v5 and above, instead of v4.

Hey @anoadragon453 , thanks ! I just restarted the failed Travis job as I believe this is not related to your change. Just waiting for it to finish and i'll merge this with a minor bump (so we'll have fresh prebuilt binaries on Github to test it out).

Looks like it passed :)

lgtm :)


Feature request: Support for Get and Touch

https://github.com/memcached/memcached/blob/master/doc/protocol.txt#L425
Get And Touch
-------------

The "gat" and "gats" commands are used to fetch items and update the
expiration time of an existing items.

gat <exptime> <key>*\r\n
gats <exptime> <key>*\r\n

- <exptime> is expiration time.

- <key>* means one or more key strings separated by whitespace.

Sounds like a good feature request, we are happy to take contributions for it.


Download option

Hi Marco,
I do not find the link to the files. Did you upload these to GitHub, or have you used any other platform?
Best,
Robbin

Hi Robbin,
thanks for pointing this out. If you go here, is it possible to download it? https://github.com/marcocaruso/mimu_optical_dataset_caruso_sassari/releases/tag/v5.0
Otherwise the same dataset is available here:
https://it.mathworks.com/matlabcentral/fileexchange/91200-mimu_optical_dataset_caruso_sassari


Initial Xen public headers adding

Origin
Xen Project
Link: Xen git
Branch: RELEASE-4.15.0
Purpose
These headers describe interface to Xen hypercalls, structures, defines etc. They are needed for Xen-related features development.
Mode of integration
I would like to place headers to main include directory (include/xen/public), they will be used by Xen drivers (PV console, event channels, Xenbus etc.).
Pull Request
Link to PR: https://github.com/zephyrproject-rtos/zephyr/pull/36691
Description
As I mentioned, these headers are needed for adding Xen features support to Zephyr project (they provide generic interface for drivers).
In future, during Xen drivers development, the list of required Xen headers may be increased.
Dependencies
Since it is just public headers, that will be included to Zephyr source tree, no direct dependencies to external component will be created.
Revision
Modified headers from Xen RELEASE-4.15.0, present in mentioned PR.
License
MIT

The TSC has voted to have the headers in-tree, as per the proposal in #36691, and as opposed to having a separate repository containing them.
I will now take the matter to the board.

Dear @carlescufi, as I can find in contributing guideline, governing board has two weeks to review matter. Can you please tell the current status or the way how I can check it by myself?

@firscity  This will have to wait for main branch to reopen in 2 weeks, it will not be part of 2.7.

Dear @nashif, okay, thank you for updates. Please tag me here or in PR when time will come - I will rebase my changes.


slam_toolbox: 2.7.0-2 in 'iron/distribution.yaml' [bloom]

Increasing version of package(s) in repository slam_toolbox to 2.7.0-2:

upstream repository: https://github.com/SteveMacenski/slam_toolbox.git
release repository: https://github.com/SteveMacenski/slam_toolbox-release.git
distro file: iron/distribution.yaml
bloom version: 0.11.2
previous version for package: 2.7.0-1

It seems like the session when I pushed out Nav2 and SLAM Toolbox something was up with my internet or GitHub's API causing branches to get lost :shrug: Redoing on the same release to get branches pushed


Added support for symbolic git references in the 'ref:' attribute of releases

Working with bosh-workspace 0.9.10, I figured out that the 'ref:' attribute only accepts “ugly” OID hashes, where it could either accept “nice” symbolic tags.
So I'm submitting this patch, in order to allow specifying tags like refs/tags/v25.1 (the latest cf-mysql version indeed!) and not just OID hashes like 4c9e18c91bba56dd6700b582ed16e3a4ca647e77.
Cheers!

@bgandon, could you add a test for the scenario you are describing? Also this PR breaks some other tests, could you look into that as well?

Sure!

Could you please detail in the contributing section how tests are meant to be run?

Done. Tests do pass now.
Please review the code style! I'm no expert yet in having this kind of Ruby code look beautiful :)
Btw, does rake git_assets:extract have to be run before running tests with rake? This would be worth detailing in the contributing section.

Hello, I like the idea to use tags instead of commit ids!
But I did not really got what do you mean with this and I would like to see a test like the one I did here to actually test to get a release from a dummy tag.
I will do a pull request to your pull request with the test I would like to have :)

This is what I mean Unfortunately the test fails, it seems that the ref is not resolved as a commit. I hope that would help to get an idea about what could be tested. (the new zip file has a 2 tags in the git repo, v8 in the master branch and v9.1 on hotfix branch)

Merged! thanks @bgandon and @tyyko

Sorry guys, I didn't see your work on this until this morning.
Turns out the old feature might be well tested, but the new feature is broken in version 0.9.11, sadly.
In release.rbline 43, it's not repo.ref(@ref).target.target.oid but repo.ref(@ref).resolve.target.oid. That's a typo when rewriting my patch with cool rubyisms, and tests don't cover that properly I'm afraid. I'll try to propose a fix today (I mean in Europe/Paris time zone).

Hello, this is strange because your feature is working for me with 0.9.11
The only thing I had to do is to delete the .releases folder after installing the new boshworkspace and I was able to fetch my custom refs/tags/vXX from a development branch in my release.

With the expect(repository).to receive(:ref).and_raise(Rugged::ReferenceError) I was meaning that when @ref contains a commit hash (normal old behavior) like in this existing test, then the repo.ref(@ref).resolve raises an exception, because it's expecting a symbolic ref (new behavior).
So this was just a way to have the old test pass.

You might be right, I could have been fooled by some other error. I'll dig into this and tell you.

I confirm there is an issue with the current code. Here is the exception I get:
/home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/workspace/release.rb:43:in `ref': undefined method `target' for #<Rugged::Commit:0x007fd537fa5af0> (NoMethodError)
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/workspace/release.rb:20:in `update_repo'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/cli/commands/prepare.rb:32:in `block in prepare_release_repos'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/cli/commands/prepare.rb:29:in `each'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/cli/commands/prepare.rb:29:in `prepare_release_repos'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh-workspace-0.9.11/lib/bosh/cli/commands/prepare.rb:19:in `prepare'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3196.0/lib/cli/command_handler.rb:57:in `run'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3196.0/lib/cli/runner.rb:59:in `run'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3196.0/bin/bosh:19:in `<top (required)>'
	from /home/benjamin/.gem/ruby/2.2.4/bin/bosh:22:in `load'
	from /home/benjamin/.gem/ruby/2.2.4/bin/bosh:22:in `<main>'

I'm no expert with Rugged, sadly. The point here seems to be the repo.ref(@ref).target call returning a sometimes a Rugged::Tag::Annotation (which is the case in your tests) and sometimes a Rugged::Commit (the case in my real world case with cf-mysql-release tag v25.1) that in turn, has no .target method.
Adding some debug logs, I typically get this with your tests:
repo.ref(@ref): #<Rugged::Reference:0x007ffb591059f8>
repo.ref(@ref).target: #<Rugged::Tag::Annotation:0x007ffb591057f0>
repo.ref(@ref).target.oid: c44235a1957bfd4d193cb7fe8db56cc9a8b5b928

repo.ref(@ref).target.target: #<Rugged::Commit:0x007ffb591053b8>
repo.ref(@ref).target.target.oid: 1230ae56c7f53173140a295497319b3b31e4d393

repo.ref(@ref).resolve: #<Rugged::Reference:0x007ffb59104fa8>
repo.ref(@ref).resolve.target: #<Rugged::Tag::Annotation:0x007ffb59104d78>
repo.ref(@ref).resolve.target.oid: c44235a1957bfd4d193cb7fe8db56cc9a8b5b928

And this with my real world case:
repo.ref(@ref): #<Rugged::Reference:0x007fdc8fcf6778>
repo.ref(@ref).target: #<Rugged::Commit:0x007fdc8fcf63e0>
repo.ref(@ref).target.oid: 4c9e18c91bba56dd6700b582ed16e3a4ca647e77

repo.ref(@ref).resolve: #<Rugged::Reference:0x007fdc8fcf5d78>
repo.ref(@ref).resolve.target: #<Rugged::Commit:0x007fdc8fcf59e0>
repo.ref(@ref).resolve.target.oid: 4c9e18c91bba56dd6700b582ed16e3a4ca647e77

error: undefined method `target' for #<Rugged::Commit:0x007fdc8fcf4ec8>

This may be due to the v.25.1 tag being remote and not local.
The problem is that none of these 3 variants does work in both cases.

repo.ref(@ref).target.target.oid works fine in your tests, but not in my case
repo.ref(@ref).target.oid breaks your tests, but passes in my case
repo.ref(@ref).resolve.target.oid breaks your tests, but passes in my case

All in all, I came up with using repo.ref(@ref).target.oid when the ref target is a commit, or repo.ref(@ref).target.target.oid when the ref target is a tag. I'll submit that in a minute.

@bgandon could you test if https://github.com/cloudfoundry-incubator/bosh-workspace/commit/57ed002799867b16568e59739070f4d13d409f63 fixes your issue? If so I will cut a new release.

I don't manage to run it, and I don't understand the errors I get.
Here is what I get:
$ bosh prepare deployment
Unknown command: prepare deployment

And with bundler:
$ bundle exec bosh prepare deployment
/home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli/command_discovery.rb:36:in `register_command': uninitialized constant Bosh::Cli::Config (NameError)
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli/command_discovery.rb:23:in `method_added'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli/commands/user.rb:9:in `<class:User>'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli/commands/user.rb:4:in `<module:Command>'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli/commands/user.rb:3:in `<top (required)>'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli.rb:121:in `require'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli.rb:121:in `block in <top (required)>'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli.rb:120:in `each'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/lib/cli.rb:120:in `<top (required)>'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/bin/bosh:6:in `require'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/bin/bosh:6:in `block in <top (required)>'
	from /home/benjamin/.rubies/2.2.4/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
	from /home/benjamin/.gem/ruby/2.2.4/gems/bosh_cli-1.3184.1.0/bin/bosh:6:in `<top (required)>'
	from /home/benjamin/.gem/ruby/2.2.4/bin/bosh:22:in `load'
	from /home/benjamin/.gem/ruby/2.2.4/bin/bosh:22:in `<main>'

My Gemfile looks like this
source "https://rubygems.org"
gem "bosh_cli"
gem "bosh-workspace", :git => "https://github.com/cloudfoundry-incubator/bosh-workspace.git"

And I also tried a gem uninstall -a -x --force ; gem install bundler ; bundler install to make sure there are no duplicate gems.
Do you have any idea how I could fix those error and manage to try your fix?
My test case, it's very simple. It's just about deploying the cf-mysql release in version 25.1 inside a bosh-lite vm version 9000.91.0, using a ref: refs/tags/v25.1 property in deployments/cf-mysql-warden.yml of the bosh workspace, instead of a less descriptive ref: 4c9e18c91bba56dd6700b582ed16e3a4ca647e77.

@bgandon could you retry with bundle exec (bundle exec bosh prepare deployment)?