Visual editor?

I read the caffe2 source code and the "Improving Caffe: Some Refactoring" slides and was thinking that a visual model editor would be nice. The new operator/tensor separation reminds me of PureData, a dataflow programming language for digital audio signal processing, or the Blender Nodes interface, for 3D shader programming. I saw someone has hacked a caffe1 editor into the Blender Nodes interface here: caffe-gui-tool and I have read through this caffe1 issue "GUI version of tools?": https://github.com/BVLC/caffe/issues/481
I went ahead and mocked up what the initialization and forward propagation phases of the caffe2 mnist model might look like in PureData (a task that would require adding tensor datatypes), though I did not finish any gradient or training ops:

Notably, PureData requires inputs to propagate from the top of the page to the bottom, which contradicts the standard depiction of neural networks processing data from the bottom up.
I think a visual editor might broaden the audience that can toy with these powerful models and encourage novel extensions.

TensorFlow: https://twitter.com/graphific/status/663733506162483200

(Closing legasy issues... Actually, TensorBoard is a good visualizer front end to use.


Make fails on Ubuntu 18.04.6

Hi @lelegard
When trying to build the software using the following on Ubuntu 18.04.6:
make NOPCSC=1 NOCURL=1 NODTAPI=1 NOSRT=1
make install
The operation fails with the following:
/home/tsduck/bin/release-x86_64-[REDACTED]/objs-tstools/tssmartcard.o: In function `MainCode(int, char**)':
tssmartcard.cpp:(.text+0x1493): undefined reference to `ts::pcsc::GetStates(long, std::vector<ts::pcsc::ReaderState, std::allocator<ts::pcsc::ReaderState> >&, unsigned int)'
tssmartcard.cpp:(.text+0x182f): undefined reference to `ts::pcsc::Transmit(long, unsigned int, void const*, unsigned long, void*, unsigned long, unsigned short&, unsigned long&)'
/home/tsduck/bin/release-x86_64-[REDACTED]/objs-tstools/tssmartcard.o: In function `(anonymous namespace)::Check(long, (anonymous namespace)::Options&, ts::UString const&) [clone .constprop.98]':
tssmartcard.cpp:(.text+0x3475): undefined reference to `ts::pcsc::StrError(long)'
collect2: error: ld returned 1 exit status
../../Makefile.inc:554: recipe for target '/home/tsduck/bin/release-x86_64-[REDACTED]/tssmartcard' failed
make[2]: *** [/home/tsduck/bin/release-x86_64-[REDACTED]/tssmartcard] Error 1
Makefile:43: recipe for target 'install-tools' failed
make[1]: *** [install-tools] Error 2
Makefile:156: recipe for target 'install' failed
make: *** [install] Error 2

Hi @sewelln95
I assume that the errors occur during make install, the second command. Building the tools and libraries is a requirement for installation. Thus, make rebuilds first any missing tool or library. Since tssmartcard was not built during the first make command because of NOPCSC=1, it tries to rebuild it. And fails because the smartcard-related features were not built into the TSDuck library.
You have to repeat the same exclusion options in the make install command:
make NOPCSC=1 NOCURL=1 NODTAPI=1 NOSRT=1 install

Thank you that got me a bit further, then it failed with the following:
echo '#define TS_NO_PCSC 1' >>/usr/include/tsduck/tsPreConfiguration.h
echo '#define TS_NO_DTAPI 1' >>/usr/include/tsduck/tsPreConfiguration.h
echo '#define TS_NO_VATEK 1' >>/usr/include/tsduck/tsPreConfiguration.h
echo '#define TS_NO_CURL 1' >>/usr/include/tsduck/tsPreConfiguration.h
echo '#define TS_NO_SRT 1' >>/usr/include/tsduck/tsPreConfiguration.h
echo '#define TS_NO_RIST 1' >>/usr/include/tsduck/tsPreConfiguration.h
  File "/home/tsduck/scripts/get-version-from-sources.py", line 59
    print('invalid option: %s' % arg, file=sys.stderr)
                                          ^
SyntaxError: invalid syntax
install -d -m 755 /usr/share/pkgconfig
sed -e 's|{{VERSION}}||g' \
    -e 's|{{PREFIX}}|/usr|g' \
    -e 's|{{LIBDIR}}|/usr/lib|g' \
    -e 's|srt||g' \
    -e 's|librist||g' \
    -e 's|libpcsclite||g' \
    -e 's|libcurl||g' \
     \
     \
     \
     \
     \
    -e 's| *-lprocstat *| |g' \
    -e 's| *-lkvm *| |g' \
    -e 's|:[ ,][ ,]*|: |g' -e 's|,[ ,][ ,]*|, |g' -e 's|[ ,]*$||' -e '/: *$/d' \
    tsduck.pc >/usr/share/pkgconfig/tsduck.pc
chmod 644 /usr/share/pkgconfig/tsduck.pc~~~

This is probably because you do not have python3 installed on your system and/or is not the default python command.
Python 3 was released 15 years ago, in 2008, and many distros continue to use python2 as only or default Python, creating many errors like yours in recent (or not so recent) scripts.
Before building TSDuck, the doc recommends to run scripts/install-prerequisites.sh to make sure everything is correctly installed and configured. However, you specify to ignore several dependencies such as PCSC and I assume you did not run the prerequisites script. This is fine but you should read it and make sure that everything you need, minus the dependencies your explicitly exclude, are present and configured.

For convenience, I have updated the install prerequisites script to accept the same exclusion options as make. It installs all prerequisites to build TSDuck, except those which are not necessary because of your options.
After pulling the current state of the repo, you can now use:
scripts/install-prerequisites.sh NOPCSC=1 NOCURL=1 NODTAPI=1 NOSRT=1
make NOPCSC=1 NOCURL=1 NODTAPI=1 NOSRT=1
make NOPCSC=1 NOCURL=1 NODTAPI=1 NOSRT=1 install


CLI to extract and store records prior to cleaning

CLI data gathering pipeline
1.1 Api request to api/records [do this in memory]
1.2 Iterate over hits [try catch, log error, there is one py lib that can be used]
1.2.1 Collect record id, language, file names/ids
1.2.2 Download files via API (api/records/{id}/files/content)
1.2.3 Extract textual data from files
***Use appropriate logic for file type
1.2.4 Store textual data & metadata in db/csv
item a. record id
item a. language
item a. text
1.2.5 [at the same time] log success (rec_ids)
Storage format options:
cvs?
Sqlite with SQLAlchemy???
Cleaning language data (in case invenio's judgement is not accurate)?
Use ChatGPT???

More detailed discussions and how we got here can be found in this google doc: https://docs.google.com/document/d/1W2Y-qTqWRg8Oow22Oc4rjuFmi_EVinuVXe6Rp22knjA/edit

1/30/2024: Completed the following with a sample set of 500
1.1 Api request to api/records [do this in memory]
1.2 Iterate over hits [try catch, log error, there is one py lib that can be used]
1.2.1 Collect record id, language, file names/ids
1.2.2 Download files via API (api/records/{id}/files/content)

Now I have a script that deals with:
1.2.3 + 1.2.4 Store textual data & metadata in db/csv + 1.2.5 + 2
Script is uploaded to Github repo, under the name "apiinvenio-updated.py" (with fake api key).
Here are my updates:

Currently running the script to access all files, log the errors. Pdf. type file is dominant. I am seeing minor issues with downloading (2/3000).
Multilingual related questions will be addressed in a later stage.
I don't see the Error message in item 4. in the previous post anymore.


transition before-leave js-hook does not manipulate the DOM which will be transitioned

Version
2.6.7
Reproduction link
https://jsfiddle.net/8zcdpkv0/
Steps to reproduce
Please see jsfiddle.
Any changes in the before-leave hook won't affect the DOM which is transitioned.
My actual problem is that I try to transition an element which has aria-live="polite" or rule="alert", which will be read out by a screenreader.
Apparently the change of classes from the transition are noticed by the screenreader and the message will be read out again.
I tried to fix this for accessibility purposes with the before-leave hook, but that doesn't seem to work correctly.
What is expected?
It would either be great if the transitioned DOM will remove all attributes which will cause the screenreader to read it out again, or to allow the javascript hook "before-leave" to actually change the DOM before the transition happens.
What is actually happening?
The old DOM will be transitioned (and the screenreader will read the content again).

I modified your code a little and the HTML now is:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <title>Vue Dev</title>
  <link href="style.css" rel="stylesheet">

  <button @click="handleClick">
    toggle
  </button>

  <transition mode="out-in" name="fade" appear @before-leave="onBeforeLeave" @after-enter="role = 'alert'">

{{ message }}

  </transition>

The JS is:
new Vue({
  el: '#app',
  data(){
    return {
      message: 'Hello Vue.js!',
      role: null,
      isActive: true,
    }
  },
  methods: {
    handleClick() {
      document.getElementById('test').textContent = 'new message';
      this.isActive = !this.isActive;
    },
    onBeforeLeave() {
      this.message = 'new message'; // this does not affect the DOM which will fade out
      this.role = 'document'; // this does not affect the DOM which will fade out ---> screenreaders will detect the class-changes and read out the content again :\
    }
  }
})

I added an id to the element to be modifed and in the click listener I used native JavaScript to change the textContent of the element. The code above works as you expect.
Actually I am not giving a solution to this situation but trying to figure out what is missed here. I also checked the devtool. I found that message property was changed immediately when I clicked the button, however it was not rerendered before the beginning of the animation.
I will continue paying attention to this problem. I am not sure if I can work it out later, but I will try.

UPDATE: If I use vm.$nextTick to set the isActive attribute it also works.
new Vue({
  el: '#app',
  data(){
    return {
      message: 'Hello Vue.js!',
      role: null,
      isActive: true,
    }
  },
  methods: {
    handleClick() {
      this.message = 'new message';
      this.$nextTick(() => {
        this.isActive = !this.isActive;
      });
    },
    onBeforeLeave() {
      this.message = 'new message'; // this does not affect the DOM which will fade out
      this.role = 'document'; // this does not affect the DOM which will fade out ---> screenreaders will detect the class-changes and read out the content again :\
    }
  }
})

This is indeed one of the limitations of current transition, I'm not sure if it's something that can be changed.
The current way to deal with this is changing the data used in the template in one function and then, after one tick, change the variable that triggers the animation like @DaKoala showed with nextTick


Rebaseline performance tests

To unblock failing merge queue.

The merge queue build has started. Click here to see all failures if any.

The merge queue build has started. Click here to see all failures if any.


Any idea how I can switch to using glog instead of the default logger?

I am working on a project that uses glog internally. To keeps logging consistent, we'd like to use glog.

Totally necro'ing this thread, but wanted to note that this is possible and @nemith implemented this for a project we're working on.
Apparently you can do it with:
{
    conn, _, _ := zk.Connect(/* ... */)
    conn.SetLogger(&glogLogger{})
}

type glogLogger struct{}

func (l *glogLogger) Printf(fmt string, v ...interface{}) {
	glog.Infof("zk: "+fmt, v...)
}

You have to reinitialize the zk.DefaultLogger variable
E.g.:
zk.DefaultLogger = logrus.StandardLogger()

zk.DefaultLogger = log.New(ioutil.Discard, "[myapp] ", log.LstdFlags)


Various fixes for compiler warnings

review has been finished,
I think that I have found a few minor issues and have one major question
pls, give me an answer to the major question

Acked-by: Mykola Kvach<EMAIL_ADDRESS>

@firscity Good job! LGTM +1, you can add
Acked-by: Leonid Komarianskyi<EMAIL_ADDRESS>

Acked-by: Volodymyr Babchuk<EMAIL_ADDRESS>


feat: Add RESOURCE_EXHAUSTED to retryable error codes in stub settings

Add RESOURCE_EXHAUSTED to retryable error codes in stub settings.
Part of the work for SpanFe flow control propagation.

@Vizerai Do we want to merge this, if so can you help with resolving the conflicts.

@Vizerai Do we want to merge this, if so can you help with resolving the conflicts.

We don't need this PR anymore. The changes were merged when the new version of GAX was integrated.


add Id to created app

Describe your changes
Adding ID to created equipment apps  to have a tracker
What are the steps for a QA tester to test this pull request?
1-Equip a sword
2-Equip the dragon
3-App crashes
mor information in video from from https://github.com/webaverse/app/issues/3400
Issue ticket number and link
#3400
this pr should also fix
#3414
#3419
Screenshots and/or video
fix on #3400
https://user-images.githubusercontent.com/1117257/182197557-31500ef3-439d-48ef-bb07-014a134cc7d2.mp4
fix on #3414
https://user-images.githubusercontent.com/1117257/182204115-1f958a49-4f60-471f-bc67-89075f2f4ada.mp4
fix on #3419
https://user-images.githubusercontent.com/1117257/182197826-7416c180-10ef-4d88-9f3c-e465138650e3.mp4
Checklist before requesting a review

[*] I have performed a self-review of my code
[*] I am not adding any irrelevant code or assets
[*] I am only including the changes needed to implement the change
[*] I have playtested and intentionally tried to find error cases but couldn't

@avaer can you review this please?
This is fixing the following issues and works fine.
https://github.com/webaverse/app/issues/3400
https://github.com/webaverse/app/issues/3414
https://github.com/webaverse/app/issues/3419
https://github.com/webaverse/app/issues/3250

Ok this makes sense to me.
I thought this might need to go in importApp, but it makes more sense to have the id before you import, since the idea is it was a complete well-formed app before you tried to import it.


no-spread-text

Hello! 🖖
I create new rule no-spread-text.
Please, review PR and give me your feedback.

@igorkamyshev Fine, but look: with this rule there are several problems.

It should only apply to <p>.
In most cases, selector p is not used, but classes.
Therefore, we need to find a way to determine that the class is applied to the text section. For example, by the fact that the selector has styles for the font or the size of the text.

However, this can work for Hedging. Therefore, my proposal is an intermediate solution. Any thoughts?

@YozhikM okey 👍. I will add checking for this cases.

@YozhikM hello! I added some heuristics for defining node appointment. Also, add a warning message to readme. What do you think, such rule may useful for community?

@igorkamyshev Sure, I think we can try

Released in 1.1.6. Thx!


Some feature requests

----- Maya-like submenu -----

lets talk about maya's one... Here u can see that "Merge vertecies" has submenus. you hover over it, then it will hide the previous menus and show the submenus. In maya, you can also go back by hovering the mouse on the small dot (it is the place where you started the pie menu actually).
what I think is good:

So you can navigate in the groups like this... just go towards the group, slow down to enter the group, then go towards the funtion in the group. you can also go to the parent group by going back to the direction you came from (sacrificing a part of the pie menu. because at first, you have to memorise and explore, right? it can also be changed to another function when you get used to the hierarchy and confident (which means no going back to parent group))
you may find this useful reference:

from here:
http://www.betriebsraum.de/blog/2009/12/11/extremely-efficient-menu-selection-marking-menus-for-the-flash-platform/
----- Escaping the AutoHotPie -----

You can prevent triggering any funtion by going outside the area. circular area radius is adjustable.
If you don't mind, whenever I get new idea about your amazing creation AutoHotPie, I will post it in feature requests :D

Submenus have been added to the v1.0.3-alpha pre-release:
https://github.com/dumbeau/AutoHotPie/releases
There are three modes of launching functions and activating submenus.

The first is the most common and similar to maya, and time it takes for labels to show can be changed.  The next is for hovering into submenus, don't know why I made this one.  The last one, hover, was added due to the use of external bluetooth controllers (like the Wacom remote) where the software sends both keydown and keyup when you press a button on it assigned to a keystroke.
Editing submenus have an option to add a back function, and the angle of the pie menu will adjust to align the menu to the opposite of it's associated parent menu's submenu function.

I still plan on adding the user-adjustable escape radius and please feel free to give any feedback!

I downloaded 1.0.5 alpha but cannot see the back button option. Is this not in this version?

YOU r AMAZING!
really, going from a AHK script, to a full software :D
the GUI is good!
I will let you know when I get more ideas


Remove quotes from url

Some users (see #52 and #53) use quotes when providing urls. Instead of having a weird error, pmt should handle this case and remove them before continuing.

This has been fixed with the release of<EMAIL_ADDRESS>


Table cell alignment: left, centre and right

I can't seem to align table cells in the online editor :
=begin table
Left         | Centered         | Right
:----------- | :--------------: | -------------------------:
This is left | Text is centered | And this is right-aligned
More text    | Even more text   | And even more to the right
=end table

Perhaps there is a different syntax to markdown ?
Thanks !

Yes, the grammar of tables with formatting has been discussed in the past, and at that time, we came to the following conclusion:

This would probably not be added, as Pod 6 is completely non-presentational.

However, since this is Markdown table syntax and it should work inside a =markdown block, the following construct should work:
=markdown
Left         | Centered         | Right
:----------- | :--------------: | -------------------------:
This is left | Text is centered | And this is right-aligned
More text    | Even more text   | And even more to the right

That said, it’s currently not functioning as expected, which is indeed a bug.
I’ll do my best to look into this issue soon.
Thank you for bringing it to my attention!

implemented

released and available at https://pod6.in/
thank you


fix(connectQueryRules): improve tracked refinement type

The tracked filters assumed a refinement can be a number or a string. It can also be a boolean.
See:

https://github.com/algolia/react-instantsearch/pull/2258/files#diff-61853eb4221589c33badeb16d8725534R12
https://github.com/algolia/angular-instantsearch/pull/483#discussion_r271643098

(looks like tsc doesn't like your change yet)


[FR] Multi-page support

Hello,
it would be really nice to have page break support (i.e. awesomeboxes that can span multiple pages and break very much like mdframes do). As I'm almost null at LaTeX, I've clumsily tried to substitute tabular with longtable in the source – to no avail of course.
Thanks for considering this – and for sharing this awesome package :-)

Thank you for your interest in this package :)
I must admit I never considered multi pages boxes as I always thought them as little advices components. However I may look at it if I got some times for it. I've no idea on how to achieve that for now, thus don't expect a quick answer, but if I found something, I'll let you know.

Thanks for replying!
If that might be of some help, I've been looking at the following (from the mdframed package, that does support page splitting):
\documentclass{scrbook}
\usepackage[framemethod=tikz]{mdframed}
\usetikzlibrary{calc}
\usepackage{lipsum}
\usepackage{fontawesome5}
\usepackage{tikz}

\begin{document}

\tikzset{
  warningsymbol/.style={
      rectangle,draw=red,
      fill=white,scale=1,
      overlay}}
\mdfdefinestyle{warning}{%
 hidealllines=true,leftline=true,
 skipabove=12,skipbelow=12pt,
 innertopmargin=0.4em,%
 innerbottommargin=0.4em,%
 innerrightmargin=0.7em,%
 rightmargin=4em,%
 innerleftmargin=1.7em,%
 leftmargin=0.7em,%
 middlelinewidth=.2em,%
 linecolor=red,%
 fontcolor=red,%
 firstextra={\path let \p1=(P), \p2=(O) in ($(\x2,0)+0.5*(0,\y1)$)
                           node[warningsymbol] {\$};},%
}

\lipsum[1-3]

\begin{mdframed}[style=warning]
\lipsum[2-4]
\end{mdframed}

\huge\faInfoCircle

\end{document}

I get that the symbol stuff belongs to the firstextra, but everything that follows looks very much like Chinese algebra to me. In my tests, I was able to inject in the node[] thing a fontawesome icon, but apparently I'm not able anymore to replicate my findings anymore (too many undo/redo...) – anyway, I was still failing with the positioning, the tikz manual is +1200 pages and definitely way over my head.


Add license information

Hello!
I found this project from https://hackaday.com/2023/04/30/when-your-smart-light-switches-stop-working-build-your-own/
Could you please add information about the license of this repository — is it allowed to copy, change and use the code and design files in any purpose?
It would be great to see any popular open source license.

Thank you for pointing this out.
I have added a license file and adopted the MIT license.
I hope this help you.
Cheers.

The MIT license — awesome!
Thank you!


Add nodes and queues tables

I was going to add a clusters table, but it's a single cluster :smile:


remove any tokens that exist as diamond facets and remove old tokens

Problem is there are now two set of contracts in parallel inside folders : dollar and diamond also there is one diamond deployment and one more advanced with forge script that deploy dollar and all the other contracts
we should also make sure that no tokens exist as a diamond facet and that all tokens uses the diamond as a manager (for access control with separated mint and burn rights)

[x] remove any tokens that exist as diamond facets
[x] have them use a separate manager
[x]  remove the  contracts that exists as a diamond facet from the dollar directory

I put this as urgent because I understand that we can't get the UI stable til we get this fixed.

So I removed all the tokens and put them inside an old folder
I will try to keep some old test for what we have now in production
I have updated the remaining token to connect to the diamond
but now I have to adapt all the test for these tokens to use the diamond
and after that I will adapt the deploy script
I will probably leave some test refactoring for another PR cos this one is already huge

Do you have any updates? @zgorizzo69

Waiting for fam to review pr #600

@zgorizzo69 just try and resolve the identifiers issue to merge and close before the bot rugs you this week lol

@0xcodercrane no payment permit was issued by the bot here. Can you throw an error or provide some type of feedback if it had a problem? Let me know what you think happened here. Thanks!

@0xcodercrane no payment permit was issued by the bot here. Can you throw an error or provide some type of feedback if it had a problem? Let me know what you think happened here. Thanks!

because autoPayMode is false for the repository. we can enable is in .github/ubiquibot-config.yml

Oh interesting that you made a repository wide config. My vision was to have it issue specific. Is that feasible to do in a day? I will re-enable it.

@zgorizzo69 I will manually pay this out. What is your address? Thanks

@zgorizzo69 I will manually pay this out. What is your address? Thanks

0x10693e86f2e7151B3010469E33b6C1C2dA8887d6

https://etherscan.io/tx/0x74ff46854f750cf58aa6d3ab671ee70d57cb7aefd76d34f3e80231a842f9685d


Change extensions npiid

Description
Fixes #772 .
New fixed IIDs are defined for program information and hook extensions. Providers pass program type and attach type as module IDs.
Testing
A new api_test was added to load 2 programs of different types together. Existing tests also provided coverage.
Documentation
ebpfExtensions.md is updated in this PR.

don't delete dependabot.yml in this PR. You can delete it in your fork's main branch but should not be deleted in any PR.

That was unintentional. FIxed.


table_for with no items displays ugly extra []

In a show page for one object, where a table_for is used to display associated items, it displays "[]" instead of just making an empty table.
Source code example, in my cases.rb file:
ActiveAdmin.register Case do

# ...

panel "Notes" do
  table_for(c.case_notes) do |t|
    t.column("Note ID", :id) do |case_note|
      link_to(case_note.pretty_id, admin_case_note_path(case_note))
    end
    t.column("Contact ID") do |case_note|
      contact = case_note.contact
      if contact
        link_to(contact.pretty_id, admin_contact_path(contact))
      else
        "n/a"
      end
    end
    # ...

The associated html is:

Notes

Note ID
Contact ID
CSR
Note

[]

I'm using 0.4.0.
On Tue, Feb 14, 2012 at 5:18 PM, Greg Bell
<EMAIL_ADDRESS>wrote:

What version of active admin are you using? I can't seem to replicate it on master.

Reply to this email directly or view it on GitHub:
https://github.com/gregbell/active_admin/issues/1016#issuecomment-3970876

This happens on ruby 1.9 only because [].to_s returns "[]" on 1.9.

Thanks for fixing
I just want to mention that the behavior difference isn't just for []. It applies to all arrays.
In Ruby 1.8.7:
[1,2,3].to_s #=> "123"

In Ruby 1.9.3:
[1,2,3].to_s #=> "[1, 2, 3]"

Hopefully the code takes this into account.

Change only affects empty arrays.  Arrays should work the same as they always have.

Closed by 2d7019766d7e2be553e1b9fd1464ac0433a0f77a


⚠ Bofrost.nl has degraded performance

In 8379078, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 960 ms

Resolved: Bofrost.nl performance has improved in a43692a.


fix: let dev run lint take in any args

Sets substrate-dev-run-lint to accept any set of args.

@jsdw Added some logic to check for args with spaces, and instead of running the script it will exit with a warning.


Don’t set default options as explicit keys

By setting default values for options explicitly, i.e. using #[]=, it becomes impossible to distinguish beteen explicity-specified options and implicitly-defaulted options. By using Hash#new, it becomes possible to return default values but not have them explicitly set as keys.
For example:
option :a, :animal, 'add animal', default: 'giraffe', argument: :required

run do |opts, args, cmd|
  puts "Animal = #{opts[:animal]}"
  puts "Option given? #{opts.key?(:animal)}"
end

% ./run --animal=donkey
Animal = donkey
Option given? true

% ./run --animal=giraffe
Animal = giraffe
Option given? true

% ./run
Animal = giraffe
Option given? false

See #94.

Marking as WIP because this change causes some pdk tests to fail.

Here’s a fix for pdk: puppet/pdk#674

I've tested this with r10k and it solves my problem


Howto prevent composer autoloader to load => "vendor/guzzlehttp/.../src/functions[_include].php" without using (create instance of) guzzlehttp?

How to prevent composer autoloader  to load the following files (just functions) without using (
create class instance of) guzzlehttp class:
vendor/guzzlehttp/promises/src/functions_include.php
vendor/guzzlehttp/promises/src/functions.php
vendor/guzzlehttp/psr7/src/functions_include.php
vendor/guzzlehttp/psr7/src/functions.php
vendor/guzzlehttp/guzzle/src/functions_include.php
vendor/guzzlehttp/guzzle/src/functions.php

These files use about 40kb Mem? (not very much, but if it can be avoided...)
I want to use guzzlehttp, but not in every request.
Is there any way to prevent autoloader or another way not to load files without creating an instance of guzzlehttp? (composer installation is required)

Would have been better to make these static functions on a class tbh.

Would have avoided needing to load them early.

Composer will load those files whenever composer/autoload.php is required for the first time in any request. I do not believe there is any way to change this behavior short of writing a custom autoloader.

@jeskew : may it be possible to implement an manual loading of this 6 files (fabove), so that   guzzlehttp can be installed via composer, but no files will be loaded until:

functions are required
or
guzzlehttp class is created

@C0DE8 You could make a custom autoloader that does that, though I wouldn't recommend doing so. It would need to be handled in your application, however, as composer packages can't modify composer's generated autoloader in the way you're describing.

There's no way to autoload function as they're required. The only way to do that would be to define dummy functions, which kinda defeats the object somewhat.

You could have an autoloader that uses composer's class map and requires
Guzzle's functions the first time a class in the GuzzleHttp namespace is
loaded. Definitely not something I'd recommend, but not impossible.
On Aug 24, 2016 12:35 AM, "Graham Campbell"<EMAIL_ADDRESS>wrote:

There's no way to autoload function as they're required. The only way to
do that would be to define dummy functions, which kinda defeats the object
somewhat.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/guzzle/guzzle/issues/1561#issuecomment-241981459, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AArD3Bb48KG9lpmxG2gQlKQf1hC21UTYks5qi_RLgaJpZM4JqHCI
.

Closing as this isn't something that can be changed in Guzzle without a BC.

What did you call a BC please ? (I'm french BC Business Continuity ? ^^)
This file is quite annoying for full PSR-4 compliant autoloader. I guess there is no plan to remove it.

Backwards Compatibility.

I guess there is no plan to remove it

No

@mtdowling is this something that could be considered for the next major release then? Autoloading unused files on every request is not ideal when you are serving on the order of thousands of requests per second.

@mtdowling What if we move those functions to static classes and just use them in those functions? I think the memory footprint would be somewhat lower. Not sure if it worth the effort though.


Update URL in IDL preamble following repo transfer

URL used to point at tidoust/reffy-reports. The update makes it point at the new w3c/webref repository.
Update will change all generated IDL files at once. Merge should to be done in sync with @foolip to avoid polluting Web Platform Tests with hundreds of editorial PRs...

I've sent https://github.com/web-platform-tests/wpt/pull/25367 to match this. It looks like I have write access to this repo, so I can merge both when approved.

I've merged the two PRs just now.


[5.1] Check for an empty string in the attributes and make it explicitly null

Currently Illuminate\Database\Eloquent\Model does not convert empty strings to null values. This poses an issue when inserting values through mass assignment in PostgreSQL.
As it stands, if a column is of the type integer and is nullable or default(0), an empty string ('') will caused an exception for the following reason Invalid text representation: 7 ERROR: invalid input syntax for integer: "". Explicitly setting empty strings to null will fix this problem.

This incorrect. Someone might actually want empty string. Infact, there are cases when I often want empty string.

@GrahamCampbell so how do you handle the cases where you actually want null?
This is a type issue that should be addressed somehow.  As a different approach for preparing the data, what about using the casts array to cast an empty string to null when an integer is expected?  For integers, empty strings should always be treated as null, I cannot see any scenario where an integer should be represented as an empty string.

Add the required directive. ;)

That would work but it's an optional relation...


[BUG] Random Cubase CRASHES (high priority...)

Thanks for taking the time to write a bug report! Use the following prompts to help you describe what's going on.  The more info you provide, the easier it'll be to understand how to fix it for you without having to come back and ask you questions.
Describe the bug
Cubase 12, crashes at random times.
To Reproduce
Even when the channels using the plugin are "frozen", Cubase can shut down randomly so there's no certain course to recreate the bug
Screenshots
When I get to reopen Cubase I get an error tab with some available options, I am going to have to screenshot that and post below.
Desktop (please complete the following information):

OS [macOS 11.7.9]
Plugin version [v0.7.8]
VST3
DAW [Cubase 12 (original)]
Audio interface [MOTU Ultralite MK3]
Sample rate [e.g. 44.1 kHz]
Buffer size [buffer size won't matter]

Additional context
Is there like a proper version of NAM for my macOS?

Gonna roll this into #447 (probably the root cause).

It is not quite the same, since I just get Cubase crashed, no warnings or signs like this, I get my error tab when I reopen Cubase. Also it doesn't have to be one hour, it can crash in let's say 5 minutes...


Flow Type

The facebook team mentioned they aren't actively developing propTypes anymore, and are switching everything over to Flow: https://github.com/facebook/react/issues/1833#issuecomment-148297807
I've played around with Flow a bit, but it's not quite there yet (haste on CI?) and, while I think we should switch to it eventually, I think we should do it after it has matured a bit. (v4?)

What about http://babeljs.io/docs/plugins/syntax-flow/ and http://babeljs.io/docs/plugins/transform-flow-strip-types/?

Huge fan of Flow myself, but feel that it should be a low priority for RBP right now.
There will be a lot of churn in the transition away from propTypes (and not restricted to code either: upstream, eslint presets will need to be updated) that can be side-stepped by allowing the dust to settle.
Definitely one to flag as being on the project's radar though.

@7rulnik thanks for the links: hadn't seen the codemix plugin before... looks interesting

100% agree @oliverturner, that's exactly my thinking!

@mxstbr my two cents on this discussion. I think you can also consider TypeScript as an alternative (choice during setup ?), since RBP already uses webpack + ES6 imports it may not be very hard to configure.

@vikrantpogula I agree that TypeScript would be cool, although wouldn't it necessitate tearing out anything Babel-specific? I think it would have to deliver a lot of value in order to justify reinventing (part of) the wheel.

I honestly don't have much experience with either of them. What are the up- and downsides of either of them?

As far as I can tell TypeScript has better tooling at the moment, but Flow has better integration with React, as well as plays "nicely" with Babel (vs TS which has a separate compiler). I've played with both, although admittedly not extensively. They both solve the same problem in similar ways, so I think the comparison isn't so much about the syntax as it is about the developer's experience working with these tools (are they frustrating to install, how much could a problem potentially "blow up" for a newbie, etc.).

+1 for TypeScript
TypeScript has neat autocomplete which really accelerates development.
It also supports of ES6/7 and, according to Microsoft, will continue to grow as a superset of JavaScript.
However, as a downside, not every module has ts.d definitions file. So the autocomplete will not be available for them.

I've been working on a typescript fork/port
I have converted most of the app folder.  appears to build and run correctly. PR's welcome.
Still got a ways to go if anyone's interested.

The pros of flow is that it is a linter, not a compiler. So you can mess around with a feature and forget about the correct typing, since it will still compile correctly. Also if you go with flow, you can still leverage a lot of the tooling of the JS community, like eslint, babel, etc. Also you can get suggestions with flow but this is only supported by nuclide at the moment. Flow has the ability to return a JSON response of all the autocompletion suggestions.

Update: here's a quick demo of the plugin:

@amilajack should check out flow-typed

Yup. https://github.com/gcanti/babel-plugin-tcomb and https://github.com/gajus/eslint-plugin-flowtype are also recommended

I'm implementing Flow in one of my RBP-based projects. I should say it is awesome. Just look at my flow version of asyncInjectors.js file:
// @flow

import createReducer from 'reducers'

/**
 * Validate the shape of redux store
 */
export type Store = {
  dispatch: Function,
  subscribe: Function,
  getState: Function,
  replaceReducer: Function,
  runSaga: Function,
  asyncReducers: Object
}

/**
 * Inject an asynchronously loaded reducer
 */
export function injectAsyncReducer (store: Store) {
  return function injectReducer (name: string, asyncReducer: Function) {
    if (Reflect.has(store.asyncReducers, name)) return

    store.asyncReducers[name] = asyncReducer // eslint-disable-line no-param-reassign
    store.replaceReducer(createReducer(store.asyncReducers))
  }
}

/**
 * Inject an asynchronously loaded saga
 */
export function injectAsyncSagas (store: Store) {
  return function injectSagas (sagas: Array<Function>) {
    sagas.map(store.runSaga)
  }
}

/**
 * Helper for creating injectors
 */
export function getAsyncInjectors (store: Store) {
  return {
    injectReducer: injectAsyncReducer(store),
    injectSagas: injectAsyncSagas(store)
  }
}

And now compare it to the RBP version.
It's so shorter and cleaner. Also it doesn't require lots of dependencies as invariant, warning and a bunch of lodash utils which make all these checks in runtime. So we save a few bytes of bundle size and a few milliseconds of execution time, because Flow checks these things during compilation. And the last but not the least, don't you agree that these warnings are much more helpful during compilation?
Also after this conversion I got 4 broken tests. Guess why? They are not needed anymore!

Now that React team has officially began the deprecation process for PropTypes in 15.5, now is probably a good time to make a decision on this. My vote is for adding support for Flow with a clear opt out documentation.


Error messages when upgrade 1.20.2 to 1.20.3

I just got the following errors when self-upgrade from 1.20.2 to 1.20.3.
Warning: file_get_contents(phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/bashrc): failed to open stream: phar error: "bashrc" is not a file in phar "/usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew" in phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/src/PhpBrew/Command/InitCommand.php on line 116

Warning: file_get_contents(phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/phpbrew.fish): failed to open stream: phar error: "phpbrew.fish" is not a file in phar "/usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew" in phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/src/PhpBrew/Command/InitCommand.php on line 122

This is weird let me see
Mark Wu<EMAIL_ADDRESS>於 2015年12月10日 星期四寫道：

I just got the following errors when self-upgrade from 1.20.2 to 1.20.3.
Warning: file_get_contents(phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/bashrc): failed to open stream: phar error: "bashrc" is not a file in phar "/usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew" in phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/src/PhpBrew/Command/InitCommand.php on line 116
Warning: file_get_contents(phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/phpbrew.fish): failed to open stream: phar error: "phpbrew.fish" is not a file in phar "/usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew" in phar:///usr/local/Cellar/phpbrew/HEAD/libexec/phpbrew/src/PhpBrew/Command/InitCommand.php on line 122
Phpbrew environment is initialized, required directories are created under
—
Reply to this email directly or view it on GitHub
https://github.com/phpbrew/phpbrew/issues/632.

The two files bashrc and phpbrew.fish under .phpbrew/ become empty.

I can confirm the same is happening for me. I am unable to use the switch and use commands with the latest build.
Reproduction steps:
vagrant@vagrant-ubuntu-trusty-64:~$ curl -L -O https://github.com/phpbrew/phpbrew/raw/master/phpbrew
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   130  100   130    0     0    575      0 --:--:-- --:--:-- --:--:--   577
100 1717k  100 1717k    0     0  1688k      0  0:00:01  0:00:01 --:--:-- 2369k
vagrant@vagrant-ubuntu-trusty-64:~$ chmod +x phpbrew
vagrant@vagrant-ubuntu-trusty-64:~$ ./phpbrew init
Checking directory /home/vagrant/.phpbrew
Directory /home/vagrant/.phpbrew is already created.
Checking directory /home/vagrant/.phpbrew
Directory /home/vagrant/.phpbrew is already created.
Checking directory /home/vagrant/.phpbrew/register
Directory /home/vagrant/.phpbrew/register is already created.
Checking directory /home/vagrant/.phpbrew/build
Directory /home/vagrant/.phpbrew/build is already created.
Checking directory /home/vagrant/.phpbrew/php
Directory /home/vagrant/.phpbrew/php is already created.
Creating .metadata_never_index to prevent SpotLight indexing
Initialization successfully finished!
<=====================================================>
PHP Warning:  file_get_contents(phar:///home/vagrant/phpbrew/bashrc): failed to open stream: phar error: "bashrc" is not a file in phar "/home/vagrant/phpbrew" in phar:///home/vagrant/phpbrew/src/PhpBrew/Command/InitCommand.php on line 116
PHP Warning:  file_get_contents(phar:///home/vagrant/phpbrew/phpbrew.fish): failed to open stream: phar error: "phpbrew.fish" is not a file in phar "/home/vagrant/phpbrew" in phar:///home/vagrant/phpbrew/src/PhpBrew/Command/InitCommand.php on line 122
Phpbrew environment is initialized, required directories are created under

    /home/vagrant/.phpbrew

Paste the following line(s) to the end of your ~/.bashrc and start a
new shell, phpbrew should be up and fully functional from there:

    source /home/vagrant/.phpbrew/bashrc

To enable PHP version info in your shell prompt, please set PHPBREW_SET_PROMPT=1
in your `~/.bashrc` before you source `~/.phpbrew/bashrc`

    export PHPBREW_SET_PROMPT=1

For further instructions, simply run `phpbrew` to see the help message.

Enjoy phpbrew at $HOME!!

<=====================================================>

Use phpbrew install 7.0.0 +default to install PHP. Then:
vagrant@vagrant-ubuntu-trusty-64:~$ ./phpbrew list
* (system)
  php-7.0.0
vagrant@vagrant-ubuntu-trusty-64:~$ ./phpbrew use php-7.0.0
Invalid argument php-7.0.0


No Export with create-react-app option in prod release

Options available:

Export into existing project
Export with starter repo

The latter one doesnt give the possibility to create a new project

Unfortunately, we were having problems with running create-react-app consistently in the production version, so we removed it temporarily. We are actively working on a fix and hope to have it re-implemented soon.


[cmake] Improve/fix FindHana.cmake for local builds

I've followed the instruction from http://www.boost.org/doc/libs/1_61_0/libs/hana/doc/html/index.html#tutorial-installation
downloaded the file FindHana.cmake. The file says I only have to specify Hana_INSTALL_PREFIX which is not true since it requires Hana_FIND_VERSION too when I want to build it locally.
The custom build fails with:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Hana (missing: Hana_INCLUDE_DIR) (Required is at least
  version "1.1.0")

Apparently it did not work to ignore the fact that it does not exist locally? Since it comes from these lines:
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Hana
    REQUIRED_VARS Hana_INCLUDE_DIR
    VERSION_VAR Hana_VERSION_STRING
)

and not the later ones.
This is my stuff in CMakeLists.txt:
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")

set(Hana_FIND_VERSION "1.1.0")
set(Hana_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/hana")
find_package(Hana REQUIRED)
include_directories(${Hana_INCLUDE_DIRS})

Commenting out the lines which require Hana_INCLUDE_DIR works. Maybe the file/documentation should also state that I need to use "add_dependencies(mytarget Hana)" to use the custom build successfully.

Actually, Hana should provide a 'HanaConfig.cmake' so find_package(Hana) works without needing to modify the module path. This is the proper way to do this according to cmake documentation. From Config-file Packages:

Config-file packages are provided by upstream vendors as part of development packages, that is, they belong with the header files and any other files provided to assist downstreams in using the package.

And from Find-module Packages

A find module is a file with a set of rules for finding the required pieces of a dependency, primarily header files and libraries. Typically, a find module is needed when the upstream is not built with CMake, or is not CMake-aware enough to otherwise provide a package configuration file. Unlike a package configuration file, it is not shipped with upstream, but is used by downstream to find the files by guessing locations of files with platform-specific hints.

Also. providing HanaConfig.cmake, will allow Hana to export its targets, so users can just do target_link_libraries(myLib boost::hana) and don't need to worry about variables such as Hana_INCLUDE_DIRS and such. You can use BCM to make this simpler with bcm_boost_package function:
bcm_boost_package(hana VERSION_HEADER include/boost/hana/version.hpp)

But if that doesn't fit your flow you will need to do it manually.

@tdauth Thanks a lot for the report.
Paul is right, Hana ought to provide a CMake config file instead. That being said, some kind of script will still be required to pull Hana and install it (after which the HanaConfig can be found), right Paul?

Yes thats write. Cmake's find_package is for package configuration and not package management. So the user will still need to install hana either manually or automatically with cget(with cget install boostorg/hana) or inside cmake with ExternalProject:
ExternalProject_Add(boost_hana
    URL https://github.com/boostorg/hana/archive/v1.1.0.tar.gz
    PREFIX ${CMAKE_CURRENT_BINARY_DIR}/bosst_hana
    INSTALL_DIR <INSTALL_DIR>
)

Alright, got it, thanks. I removed the FindHana.cmake header, which is buggy, and am providing a HanaConfig file instead.

@tdauth Please LMK if that fixes your problem.

Closing this, LMK if you still have trouble.


[FEATURE] add "pareto_optimal" boolean to result data frame of search

The "pareto_optimal" should be added to the result data frame returned by the search.
result = search.search(...)

result["optimum"] # tell to the user the set of optimal points

Done in f95d05c66527e5f2eeb9e5f1ea0fc6a548e83f0b and 8e0467828580395b5da1ef74babc5c9f486edae1.


Trap NA/NaN/-Inf/Inf values in log-lik calc in MCEM

At present, we are not trapping values of model$calculate that cause optim() to fail with this (relatively unhelpful) R error message
Error in optim(par = theta, fn = cCalc_E_llk$run, oldParamValues = thetaPrev,  :
  non-finite finite-difference value [3]

We've gotten two user group messages asking about this, which required in-depth debugging by us.
Trapping this within NIMBLE is tricky because in cases where we have constraints and use L-BFGS-B, we had been catching errors in optim() with try() and when finding them, defaulting back to BFGS because we had determined that when the constraints depend on the values of other parameters that that seemed to help. I wasn't involved in that decision, so I'm not sure of the thought process there.
I've now done this:

As before, we use L-BFGS-B if a user provides boxConstraints or NIMBLE determines there are finite parameter bounds. But now we now longer default back to BFGS if it fails. Instead we stop and give the user an error message. (And we have this same error trap and message when optim() uses BFGS.)
The error message indicates that they can call calculate on the compiled model (which is now accessible from within the uncompiled model they created) to determine which node(s) produce the NA/NaN/-Inf/Inf.
To address the case of constraints depending on other parameters, I added an argument 'forceNoConstraints' that allows a user to go back to the previous behavior of defaulting back to BFGS if L-BFGS-B fails.  This is not exactly as before as it uses BFGS for all iterations, while before it would only start to use BFGS when L-BFGS-B experiences a failure. It may be feasible to mimic previous behavior, but for the moment seems cleanest to me to do this.

@paciorek LGTM.  My only comments would be stylistic.


Update netgeargenie to 2.4.22(2017-1-17)

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[x] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

While there is no Signature Info section in the VirusTotal report, and there isn't a public developer confirmation, the official website (at https://www.netgear.com/home/discover/apps/genie.aspx) provides this download and the checksum is produced from this download. This likely means the app was updated in place.

Turns out the version was changed. I'll fix it and open again.


[Chronicles of Darkness] Added ephemeral being character sheet and fixed Geist2-Geist initive

Changes / Comments
Geist2-Geist is an ephemeral being from the Chronicles of Darkness. But this type of creature is not the only one, and when we wanted to have a game with more complex types of ephemeral beings, we didn't have any sort of character sheet to use. This pull has a sheet that players can use to make spirits, ghosts and angels from the god machine. All condensed on a single ephemeral being sheet.
Ephemeral beings do not use "Dexterity + Composure" on their initiative, because they do not have such attributes. Instead, they are supposed to use Finesse + Resistance, and this is another thing I fixed on the geist character sheet and made it as rule for every ephemeral being.
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
Yes, it is called "Ephemeral Being", it will appear as a selectable sheet on the for the second edition players.
[x] Is this a bug fix?
Not solely, but while I was working on ephemeral beings I fixed the way their initiative is rolled.
[x] Does this add functional enhancements (new features or extending existing features) ?
Fixes the initiative roll for ephemeral creatures.
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[x] If this is a new sheet, did you follow [Building Character Sheets standards]
It is following the same patters that the default chronicles of darkness sheet have
(https://wiki.roll20.net/Building_Character_Sheets#Roll20_Character_Sheets_Repository) ?

If you do not know English. Please leave a comment in your native language.

I'll fix one variable name that another creator told me to fix

I had to push a few things after the initial pull request but that's because me and Primal Zed were adjusting the sheet to follow the same pattern of other chronicles of darkness sheets. Now, after this _"fixed influences being displayed in every sheet"_commit, it is done.


Auto completion broken

When I press Tab to AutoCorrect what I entered at the beginning remains and is not removed but the commands work

You need to fix your locale to one that supports utf8. See the output of locale -a for a list of available locales. Then you can export LANG=your-selected-locale.


Update chrome on android to version 29

We are currently running version 26

@whesse, can we close this?


Hardcoded PHP passwords not found

I did some tests and a number of passwords (e.g. in an array or constant) were not found in a php file:
Array example:
     array (
                                        'host' => self::processHost('database05'),
                                        'database' => 'test',
                                        'user' => 'test',
                                        'password' => 'tzlzhzgpazlvaffudrnkbhlkyawtgzc',
                                ),

Constants:
   const   DB_TEST_PWD = 'jex0`&?c950?\7$ya5',
               DB_PWD = 'plqudzxtlhchccoqfirgmqqzxpyyoik';

I've used the following command: detect-secrets scan > .secrets.baseline

This is better suited for a detect-secrets issue. Please reopen an issue there.


load schema files for pykwalify to avoid global yaml usage

Proposed changes:

pykwalify uses a global ruamel.yaml instance. This instance sets object attributes while reading files (e.g. the YAML schema files itself!) . This can lead to problem when we  have multiple concurrent yaml validations.  Fix: Either load the yaml files for pykwalify (what I did in my PR) or provide the schema files in json

Status (please check what you already did):

[x] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[ ] reformat files using black (please check Readme for instructions)

@alwx Not ready for review yet, I rather want your input before I start making bigger changes

I wonder if this is the best fix? Maybe it would be safer going forward to just stop using multithreading? We could easily run into more issues like this in the future unless we ensure the threadsafety of all the code we write, and all the libraries we use!  We could use multiprocessing instead (should be a very easy change).

@joejuzl Great suggestion! Unfortunately this is not as easy expected.

Pickle error for the local function run: That one was easy to fix
Pickle error for the decorared function as it's a local function as well (all part of create_app)🤯
Pickle error for the request object.

That's the code I used:
def _run_in_process(f, request: Request, *args: Any, **kwargs: Any) -> None:
    # This is a new thread, so we need to create and set a new event loop
    thread_loop = asyncio.new_event_loop()
    asyncio.set_event_loop(thread_loop)

    try:
        return thread_loop.run_until_complete(f(request, *args, **kwargs))
    finally:
        thread_loop.close()

def run_in_thread(f: Callable[..., Coroutine]) -> Callable:
    """Decorator which runs request on a separate thread.

    Some requests (e.g. training or cross-validation) are computional intense requests.
    This means that they will block the event loop and hence the processing of other
    requests. This decorator can be used to process these requests on a separate thread
    to avoid blocking the processing of incoming requests.

    Args:
        f: The request handler function which should be decorated.

    Returns:
        The decorated function.
    """

    @wraps(f)
    async def decorated_function(
        request: Request, *args: Any, **kwargs: Any
    ) -> HTTPResponse:
        with concurrent.futures.ProcessPoolExecutor() as pool:
            return await request.app.loop.run_in_executor(
                pool, functools.partial(_run_in_process, f, request, *args, **kwargs)
            )

    return decorated_function

Do you have an idea? Otherwise I'd suggest to go with the current solution for now. We can still iterate on the solution in case we see threading errors elsewhere

@wochinge ahaa - that's annoying 🤦
Then yeah, let's fix it like this and create an issue to followup.

it was a very nice bug 😄 And now I have more ideas / opinions about our YAML validation.
Follow up issue https://github.com/RasaHQ/rasa/issues/7980


Don't set PO-Revision-Date to POT build time

There are two headers, POT-Creation-Date and PO-Revision-Date, which are set by default to date('c'). Since no PO file created the header is misleading
makepot.php is using date( 'Y') . '-MO-DA HO:MI+ZONE' . The documentation says:

PO-Revision-Date
You don’t need to fill this in. It will be filled by the PO file editor when you save the file.

With a quick search I also stumbled upon "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n", which probably is even better.


axi-crossbar Stefano Toscano

This pull request is for the contribution to the axi-crossbar project.

Merge in branch verify/axi_crossbar_config without review.


Add "FortyEight" option for very high parallelism

For customers with a huge number of accounts, this should save a considerable amount of time
Issue #, if available: #18
Description of changes:
Add an option to run twenty four scans at once.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Updated because, apparently, I can't spell 40 on my first try. https://www.merriam-webster.com/grammar/is-it-forty-or-fourty

Tested this out in our environment. It's awesome to see it scan so many accounts so quickly. :)


Expose port on endpoint for client

Was this causing things to work on Heroku for you? When I tested I just saw a white screen, hence my change here: https://github.com/CleverGameDev/LetterJam/pull/11 but if you had seen it work please LMK and revert that!

No, it was still a white screen. I've been fiddling around with it but still no dice. I've seen documentation around getting socket.io up on Heroku so I feel like other websocket technologies should also work but nothing yet.

Seems like this recent change in geckos.io v1.7 is related https://github.com/geckosio/geckos.io/commit/60841fca0bfc40879f98681d47cd9181c784fb61
Here's the port range for Heroku: https://help.heroku.com/BXGG53I6/what-is-the-range-of-the-dynamic-port-environment-variable

Also potentially a useful guide: https://devcenter.heroku.com/articles/node-websockets


Updates after azure-security-keyvault-jca:2.10.0 released

Description
After azure-security-keyvault-jca:2.10.0 released, merge changes to main branch
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

Hi @g2vinay @vcolin7, could one of you help approve? thanks


Counting JSON nodes

One of the validations for a HTTP JSON request is the possibility to count the number of JSON nodes of a specific kind.
eg.. JsonPath = "$..Contract[16]"
This will verify that the 17th contract has been returned in t he JSON response.

Tested and working.


Feature/fix display rotation

@rderimay - you said the asset PR goes in before this one. This one is going to overwrite some of the other images. Double check everything is good.

Yeah. In fact I thought to have added the right icons to both branches but it seems it was not the case. i'll check