Proposal: Unified Matching in Access Control

The design (https://shorturl.at/gkrM3) proposes to introduce a unified matching API for ext_authz and RBAC filter in order to support many complex access control scenarios and also simplify the matching code in Envoy.
This allows to support the following feature requests:

ext_authz config per virtual host: https://github.com/envoyproxy/envoy/issues/11522
rbac: support mixing allow/deny policies with precedence: https://github.com/envoyproxy/envoy/issues/9376
and more use cases in the design doc.

@mattklein123 @htuch @lizan @rshriram @incfly @liminw , please let me know your thoughts and feel free to comment in the doc, thank you.

@yangminzhu if we have the metadata matcher in ext authz that matches based on all the attributes, then we no longer have to worry about ext authz per host or even per filter metadata for ext authz right? Like RBAC, we could have a rich set of conditions that will decide whether or not the ext authz should kick in (these conditions will include attributes like the virtual host, other http headers, paths, etc.).

if we have the metadata matcher in ext authz that matches based on all the attributes, then we no longer have to worry about ext authz per host or even per filter metadata for ext authz right?

@rshriram  Yes, the proposal adds full matching support to the ext_authz as we already have in RBAC, which allows a much flexible way in configuring the ext_authz to be based on many different conditions (path, header, JWT, x509, source IP, etc.)

I took a look at the proposal. My main comment (which I mentioned in the community meeting) is that I think this proposal needs to also cover TAP and its streaming concepts. Can we take a look at that also please?

Sure and thanks for the comments Matt. I will look into the tap filter and see how can we support it in the proposal, will do some investigations and update the doc.

@mattklein123
I have updated the doc for the support of tap filter and stream-based matching. I also completed a PoC PR here: https://github.com/envoyproxy/envoy/pull/12317, Please let me know your thoughts, thank you.


Upgrade to new Kotlin Analysis API when adding support for Kotlin K2

Resources

https://kotlin.github.io/analysis-api/migrating-from-k1.html#the-conceptual-difference

Completed in v1.1.0.


WARNING Error while collecting events. Trying again... Failed to get harvesters via RPC. Is your farmer running?

I update 1.2.0 and the newest chia-monitor.
throw WARNING Error while collecting events. Trying again... Failed to get harvesters via RPC. Is your farmer running?.
full log:
2021-07-09T06:13:20.416 INFO   🔌 Creating RPC Collector...
2021-07-09T06:13:25.078 INFO   🔌 Creating WebSocket Collector...
2021-07-09T06:13:25.084 INFO   🚀 Starting monitoring loop!
2021-07-09T06:13:25.089 WARNING Error while collecting events. Trying again... Failed to get harvesters via RPC. Is your farmer running?
2021-07-09T06:13:25.098 INFO   ----------------------------------------------------------------
2021-07-09T06:13:25.098 INFO   💾 Current Netspace: 30.926 EiB
2021-07-09T06:13:25.098 INFO   📈 Farming Difficulty: 2288
2021-07-09T06:13:25.098 INFO   🏔  Peak Height: 546093
2021-07-09T06:13:25.099 INFO   🔄 Synced: True
2021-07-09T06:13:25.111 INFO   ----------------------------------------------------------------
2021-07-09T06:13:25.111 INFO   💰 Total Balance: 0.00000 XCH
2021-07-09T06:13:25.117 INFO   ----------------------------------------------------------------
2021-07-09T06:13:25.117 INFO   📶 Full Node Peer Count: 11
2021-07-09T06:13:25.117 INFO   📶 Farmer Peer Count: 1
2021-07-09T06:13:25.117 INFO   📶 Harvester Peer Count: 8
2021-07-09T06:13:26.107 INFO   ----------------------------------------------------------------
2021-07-09T06:13:26.107 INFO   🎰 Challenge Hash: 0x956d3e7589901483b80b4bd859094d5f4e58c0142f74bfdc5938984f4799f1f6
2021-07-09T06:13:26.107 INFO   ⌛ Signage Point: 0xc18fe1bae9be5a88049c28b4bb938bac9f4d806a8a5fdd076d232407cff03988
2021-07-09T06:13:26.107 INFO   🌾 Plot Count: 3953
2021-07-09T06:13:26.107 INFO   🔎 Passed Filter: 10
2021-07-09T06:13:26.107 INFO   ✅ Total Proofs found: 0
2021-07-09T06:13:27.745 INFO   ----------------------------------------------------------------
2021-07-09T06:13:27.745 INFO   🎰 Challenge Hash: 0x956d3e7589901483b80b4bd859094d5f4e58c0142f74bfdc5938984f4799f1f6
2021-07-09T06:13:27.745 INFO   ⌛ Signage Point: 0x13bab5b0b3580305d8884f0c576abc69d474e7b4af572fb6bc9b52406d6e911e
2021-07-09T06:13:27.745 INFO   🌾 Plot Count: 4046
2021-07-09T06:13:27.745 INFO   🔎 Passed Filter: 6
2021-07-09T06:13:27.745 INFO   ✅ Total Proofs found: 0
2021-07-09T06:13:28.700 INFO   ----------------------------------------------------------------
2021-07-09T06:13:28.700 INFO   🎰 Challenge Hash: 0x956d3e7589901483b80b4bd859094d5f4e58c0142f74bfdc5938984f4799f1f6
2021-07-09T06:13:28.700 INFO   ⌛ Signage Point: 0x13bab5b0b3580305d8884f0c576abc69d474e7b4af572fb6bc9b52406d6e911e
2021-07-09T06:13:28.700 INFO   🌾 Plot Count: 3953
2021-07-09T06:13:28.700 INFO   🔎 Passed Filter: 3
2021-07-09T06:13:28.700 INFO   ✅ Total Proofs found: 0
^C2021-07-09T06:13:28.748 INFO   🛑 Shutting down!
2021-07-09T06:13:28.750 INFO   👋 Bye!

Are you sure you ran pipenv install after pulling the latest update? 🤔

Yes of course. I remove old version and clone new version,and run pipenv install.

Resolved. I must run pipenv --rm and pipenv install.


Use chaining for client connection / listener creation

c := neptulon.NewConn(...).UseTLS(...).UseClientCert(...).Dial()
a := neptulon.NewApp(...).UseTCP(...).UseTLS(...).UseClientAuth(clientCA).Run()

Also make all ConnectTLS sort of methods into UseTLS sort of builder methods:
As TLS already runs on TCP so we don't need separate connection methods.

Server/ServerHelper
Listener
Client/ClientHelper
Conn


Refactor AppState initializer

Describe what needs to be refactored
The AppState initializer creates listeners that listen to Firebase but doesn't pull any information from Firebase when it is first called. It also allows non-signed-in users to pull data from Firebase.
Suggest possible ways in which the project could be refactored
The initializer function should be rewritten to block non-signed-in users and do initial pulls for the groups, appointments, and events.
Additional information
See the Good Vibes app for ideas on how to refactor.

Closed by #74


Support 32bit

You can cross-compile from x86_64 to i386 with GHC. Feel free to submit a patch to the CI scripts.


[wip] Replace time.time_ns() with time.perf_counter_ns() where possible

Fix #745

@mshr-h thank you for changing this. The PR is currently labeled draft/PR, but from my pov we might merge quickly as it spans a number of files. WDYT?

@t-vi Thank you for your comment. I made it as wip because I was waiting for the CI pipeline to pass. Marked as ready for review.


Cf demo gates

Basic Info

Info
Please fill out this column

Issue(s) this addresses
-

ROS2 version tested on
Humble)

Aerial platform tested on
Ignition, Crazyflie

Description of contribution in a few bullet points

Add behavior manager to python API
Add behavior manager to keyboard teleoperation
Fix crazyflie platform launcher and odometry publisher
Adjust land speed goal check parameters
Add trajectory generator behavior pause and resume features

Done in pull request #163


Update format workflow to autosuggest changes to PRs

See https://github.com/reviewdog/action-suggester for more information.

@kdheepak can you open the same PR is the other packages please?

Sure. I'll test it here first and if it works well I can open it in other places.


Add a 'best fit' option on Labels and other Control Nodes with text

Godot version:
3.1.alpha.official (did a similar code in 3.0.6)
Minimal reproduction project:
request_textbestfit.zip
This is a Feature Request for controls with text, like Labels.
I was looking for a way to reduce the font size of a Label depending on the text that is automatically loaded by the TranslationServer. As we know, a text in a certain language will probably have a different length comparing with others:

This is a single line of text in a Label with cliptext and wordwrap options checked, so this node doesn't resize to a bigger rect automatically

'pt_BR' locale:

Essa é uma única linha de texto em um Rótulo com as opções corte de texto e quebra de linhas marcadas, para que essa node não se redimensione para um retângulo maior automaticamente

So I created a script (TextHelper.gd) and attached it to a Label with a Custom Font + Dynamic Font, so it runs the following function when it enters the tree (automatically) and when the text changes (manually):

export(int) var max_font_size : int = 40 #setget max_font_size_change
export(String) var textx : String = "" #setget text_change (tool and setters only necessary if testing the actual text string and not the id of the TranslationServer)
func _enter_tree():
thg.add(self) #TextHelperGlobal Singleton, explained below
#Runs the check function entering the tree so the font size is changed
#when we run the game and the text loaded by the TranslationServer is already there
best_fit_check()
func best_fit_check():
print_debug("best_fit_check")
var font = get("custom_fonts/font")
if font == null:
return
font.set("size", max_font_size)
var font_size = max_font_size
print_debug("best_fit_check " + str(get_visible_line_count()) + " " +
str(get_line_count()) )
while get_visible_line_count() < get_line_count():
font.set("size", font_size - 1)
font_size = font.get("size")
pass

This is how it looks in the Editor:

And this is what happens when the best_fit_check() runs entering the tree:

Font size reduces from 38 to 30.
So, I think this essential for a fixed layout with fixed label sizes, and probably should be an option on every Text control.
As we don't have a way to easily check all Label controls (unlike the TranslationServer that has a list hidden somewhere), I create an Autoload Singleton to hold a list of these labels:

extends Node
var labels = []
func _ready():
pass # Replace with function body.
func add(label):
if !labels.has(label):
labels.append(label)
func remove(label):
if labels.has(label):
labels.erase(label)
func best_fit_check():
for node in labels:
if is_instance_valid(node):
node.best_fit_check()

To test changing the language in Runtime, I attached this little script to the main node (not the label):

func _ready():
yield(get_tree().create_timer(5.0), "timeout")
TranslationServer.set_locale("pt_BR")
thg.best_fit_check()

And what happens:

The TranslationServer automatically changes the text based on it's hidden list of label nodes, and the Singleton uses it's own list to run the best_fit_check() and resize the font size if necessary.

So, this works, but... We need the script attached to every Label (or adapt it and attach to a child of the label... you know the drill) and we need the Singleton. What I think it could be done in the engine is:

Add a 'best fit' option in the text control. With both cliptext and wordwrap, it should automatically resize the Dynamic Font size when the text is changed

Expose the list of label nodes in the TranslationServer

Make the TranslationServer auto resize the label's fonts when we call set_locale, assuming the 'best fit' is implemented.

Thanks.

I think we need two modes of best fit (drop down menu to select mode would be great). One mode of best fit will scale text to fit in text field meanwhile second one will scale text field to not clip text. I'm sure both modes will be very useful in certain situations.
-Garrom

In the interim would adding the recent class_name functionality to your script be helpful for you (as you could then add a, say, TranslatedLabel node directly to a scene)?

Hey, I'm interested in this! Is there any update on the issue?

This is my workaround for a BestFit in C#
This is a critical feature and is impossible to handle really localized games with large texts and dialogs without it. I really wish someone take a look on it soon as possible but this can be done in the meanwhile.
   public override void _EnterTree(){
        font = Get("custom_fonts/font") as DynamicFont;
        originalSize = font.Size;
    }

    public void FitOnBox(){
        font.Size = originalSize;
        if(Autowrap){ // MultiLine Mode check the count of visible lines and real lines
            while(GetVisibleLineCount() < GetLineCount()){
                font.Size -=1;
                if(font.Size <= minSize){
                    font.Size = minSize;
                    break;
                }
            }
        }
        else{ // Single Line Check for the string size at this font
            string text = Tr(Text);
            rectSize = font.GetStringSize(text);

            while(rectSize.y > RectSize.y || rectSize.x > RectSize.x ){
                text = Tr(Text);
                rectSize = font.GetStringSize(text);
                font.Size -=1;
                if(font.Size <= minSize){
                    font.Size = minSize;
                    break;
                }
            }
        }
    }

@vitorbalbio thank you for that piece of code, works great for my purposes. Just a reminder if other people want to use it. Since that code modifies the font resource itself all other labels using that font will also change. Got some rather unexpected results on my first try :-D

@vitorbalbio thank you for that piece of code, works great for my purposes. Just a reminder if other people want to use it. Since that code modifies the font resource itself all other labels using that font will also change. Got some rather unexpected results on my first try :-D

Yeah. Usually i make all labels with unique Font Data using the "Make Unique" function.

Any progress on this feature?

Any progress on this feature?

Any progress on this feature?

As far as I know, nobody is currently working on this feature.

Any progress on this feature?

As far as I know, nobody is currently working on this feature.

Any progress on this feature?

As far as I know, nobody is currently working on this feature.

That feature is something that @bruvzg could take a look? I can't see any of those beautiful improvements he made been used in a real project with localization without a "best fit" option.

Any progress on this feature?

As far as I know, nobody is currently working on this feature.

That feature is something that @bruvzg could take a look? I can't see any of those beautiful improvements he made been used in a real project with localization without a "best fit" option.

I assume that bumping may be frowned upon, but I feel it's the best way for me (after this issue hasn't been touched since summer of 2021) to raise awareness that this is an important feature for game UIs (as automatic scaling of text size generally is for game HUDs, and there currently doesn't seem to be any of it in the engine, at least in 4.0rc3.)
If a PR for this is welcome, I could work on it (unless someone tells me that there's a technical reason why this feature isn't feasible.)

This should be made in a proposal. However, the solution may br hard to implement, as evident from recent attempts to fix various sizing issues with labels.
So a proposal needs to provide a stable and well designed algorithm.


Screen capture/OBS/etc friendly suggestion

I record my invasions with this tool on and its been a great way for me to document what players I've run into and block the cheaters and AFK farmers, but i've had to use a not clean method to display ping info on my recordings.
Was wondering how the display method is done and if there is a way to have an option to ingrain the display info so capture devices can grab it?

To avoid having to modify the game directly, the overlay is implemented as a separate topmost window which is drawn above the game window. Thus you'd have to either capture the entire desktop or (if OBS supports it) the two specific windows. I never used OBS so I'm not sure if the latter is possible.

Gotcha, OBS can only find the first window, but there could be a plug in that will let me capture the second window. A Display capture does work but then the colors become heavily distorted.

Gotcha, OBS can only find the first window, but there could be a plug in that will let me capture the second window. A Display capture does work but then the colors become heavily distorted.

How does OBS's window selector work? Perhaps you would be able to select the overlay if I added an option that prevents it from being hidden when the game is not focused and shows it in the taskbar / alt+tab view.

That would probably help, it only shows active windows as per this screen shot when using the window capture method.

That would probably help, it only shows active windows as per this screen shot when using the window capture method.


fix: Fix Copyright in license

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.24%. Comparing base (3d876be) to head (3239f51).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #17   +/-   ##
=======================================
  Coverage   79.24%   79.24%
=======================================
  Files          60       60
  Lines        4636     4636
=======================================
  Hits         3674     3674
  Misses        962      962

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


No valid target platform for android !!!

I tryed everything in order to solve this problem and now am sure its a bug ,
steps i did is :
-Download android studio
*download sdk platform and sdk tools
*download android build tool and ndk
-set path environment to
* users/name/SDk
*users/name/SDk/ndk
-VS 2017 with android sdk ,
i opened native tool commend VS
go to godot source code that i downloaded from github
tryped scons p=android
and then i get this error
scons: Reading SConscript files ...
No valid target platform selected.
The following were detected:
        windows
        winrt

Please run scons again with argument: platform=<string>
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.

if its not a bug please show me the steps to fix it

did you follow all these steps?
https://docs.godotengine.org/en/3.1/development/compiling/compiling_for_android.html

i go back and check again , now am sure that i did everything right .
accpet for the thing about gradlew i didnt understand what to do with it
if you can please explain more to me,

it mostly is caused with wrong environment settings.
try double check about ANDROID_HOME, ANDROID_NDK_ROOT path.

dude here is an image
https://i.ibb.co/TMPNS5R/Capture.jpg
i tryed alot of differnet enviroment and as you can see
it still doesnt work!

ANDROID_NDK_ROOT looks having space characters. like...
ANDROID_ NDK_ ROOT isn't it?

nope , everything is right!!!
HELPPPPPPPP!!!

OK, so if everything is right I assume it's working fine then ?
Please tone down a little bit if you want to have some help.
Are you sure your sdk and ndk are installed in the right folders (/users/.../SDk and /users/.../SDk/ndk as stated in your environment variables? Please verify this and drop a screenshot or your folder structure.

I don't understand why I got downvote from you.
everything is right then it shouldn't have a problem.

here is screenshots for you:
https://i.ibb.co/Pc2Bs48/53764511-389488761629678-1010792549926830080-n.jpg
https://i.ibb.co/zhb8N1j/Capture.jpg
https://i.ibb.co/nqpykP9/xz.jpg
https://i.ibb.co/0jZYDTr/sa.jpg

I don't understand why I got downvote from you.
everything is right then it shouldn't have a problem.

sorry for downvote i didnt think its bad thing

guys , i dont think they are fix for this , can a someone put it as bug

DId you accepted the licence for the sdk as asked in the tutorial ?
By running ``tools/bin/sdkmanager --licenses`

yes i did , and after i read you comment i checked again and yes i did.
this so so bad i did everything right , i tryed to fix this error for the last 2 weeks!!

There is a space is ANDROID_NDK_ROOT. Look at your own screenshot it is very clearly there
ANDROID_ NDK_ROOT
ANDROID_NDK_HOME
Due to the font rendering it's not as pronounced as here but you can clearly see it.

I Fix it, by downloading all the extra tools in android studio and it worked, that maybe because scons didnt detect the NDK that i downloaded , and android studio didnt allow me to download older version.
The version that scons work with is NDK R13  for some reason it didnt work with newer one.
I hope this topic help anothers who have same problem.
And Thanks.
(btw, for the space in the screen shot it maybe because of low resulotion i checked it again and it doesnt have this space )
Thanks again


Show subtechniques under parent techniques

As a user, I want to be able to see the subtechniques of a technique when on the technique page.

Closing because it has been implemented on the subtechniques branch.


Windows App download is showing as having an unknown publisher.

The windows desktop download when run is showing as an unknown publisher. This is causing issues with our corporate security and makes it hard to certify that the publisher is who they say they are.

Windows builds are now signed (2.1.0). Is it any better now?

Windows builds have been signed since 2.1.0.


Add RequestCentext assessor

Hello.
Would like to introduce functionality to add a request context to the browser creation process.

Hello @Wiks00 👋
Thanks for your Pull Request. It looks like this may be your first contribution to an OutSystems Open Source project. Before we look into your contribution, we need you to accept the 📝 OutSystems Contributors License Agreement.
After you read and accept the terms of the agreement, reply to this message saying I read, understood and accept the OutSystems CLA.

I read, understood and accept the OutSystems CLA

@joaompneves, @dmitry-azaraev Could anyone take a look ?
Thanks.

@dmitry-azaraev Could anyone take a look ? Thanks.

I'm not an owner of this repository, nor functionality of changed codepaths. CefGlue lives only in https://gitlab.com/xiliumhq/chromiumembedded/cefglue and actually i'm care only about Xilium.CefGlue assembly. Everything else is out of my scope.

@dmitry-azaraev Could anyone take a look ? Thanks.

I'm not an owner of this repository, nor functionality of changed codepaths. CefGlue lives only in https://gitlab.com/xiliumhq/chromiumembedded/cefglue and actually i'm care only about Xilium.CefGlue assembly. Everything else is out of my scope.

Got it, sorry for the confusion.
Anyway thanks for reply.

Thank you for your contribution. This will be available in nuget version 106.5249.4

Thanks for the help.


restic -x (one-file-system) stats all entries of mountpoints which contain a new directory

Output of restic version
restic 0.12.0 compiled with go1.15.8 on linux/amd64
How did you run restic exactly?
    export AWS_ACCESS_KEY_ID='user'
    export AWS_SECRET_ACCESS_KEY='password'
    export RESTIC_PASSWORD='aeskey'
    export RESTIC_REPOSITORY='s3:http://<IP_ADDRESS>:9199/kvm-01'
    strace -o /run/shm/restic.log -f restic -q backup -x / > /dev/null

What backend/server/service did you use to store the repository?
    minio

Expected behavior
    I expect that restic does not traverse into nfs mounted filesystems.

Actual behavior
    While restic does not backup the files in nfs mounted directories, it
    stats them and also complains when one of them disappear during backup.

(tomcat-06) [/run/shm] mount | grep /gcl
<IP_ADDRESS>:/srv/gcl/export on /gcl type nfs (rw,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=<IP_ADDRESS>,mountvers=3,mountport=59574,mountproto=udp,local_lock=none,addr=<IP_ADDRESS>)
(tomcat-06) [/run/shm] grep '"/gcl/' restic.log | wc -l
636408
(tomcat-06) [/run/shm] grep '"/gcl/' restic.log | head
12496 newfstatat(AT_FDCWD, "/gcl/100002_VOLVO_7098824_1414664811204.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_MERCEDES_7548233_1419801055271.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7097724_1419797980090.gcl", {st_mode=S_IFREG|0644, st_size=166550, ...}, AT_SYMLINK_NOFOLLOW) = 0
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7097771_1420839619094.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7097771_1421359438826.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7097771_1421359438992.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7097774_1419795217437.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100003_VOLVO_7299419_1419795675524.gcl", {st_mode=S_IFREG|0644, st_size=152619, ...}, AT_SYMLINK_NOFOLLOW) = 0
12496 newfstatat(AT_FDCWD, "/gcl/100005_AUDI_7297656_1417526673521.gcl",  <unfinished ...>
12496 newfstatat(AT_FDCWD, "/gcl/100005_VOLVO_7192404_1417782787885.gcl",  <unfinished ...>
Steps to reproduce the behavior
    Mount a filesystem via nfs and run 'restic -q backup -x /'

Do you have any idea what may have caused this?
    It appears that restic stats every entry in a directory on the first
    level befor it decides to skip the filesystem using rejectbydevice function.

Do you have an idea how to solve the issue?
    Mount points need to be identified before traversing into them and skip them entirely.

Did restic help you today? Did it make you happy in any way?
    I use restic every day to backup my systems since 3 years ago when I switched from bobackup to restic.
    My main system gets backuped by restic every hour. I use restic to backup VMs as well as complete
    systems as well as important directories.  I'm very happy with its deduplication and performance. For
    example I backup 200 GBs of virtual machines within 10 minutes every day.

This should only happen when backing up the root directory /. The archiver currently first expands all paths in the root directory (https://github.com/restic/restic/blob/6d8ceefd672217179d182638f79685cc5cacd094/internal/archiver/archiver.go#L699) which are then assembled into a https://github.com/restic/restic/blob/master/internal/archiver/tree.go . The latter doesn't track whether the elements were were expanded or a root paths specified by the user.
We'll probably need to track explicitly whether a path was already expanded once and thus should be affected by excludes.

I just dug into the issue, it's something different. We've recently changed the exclude logic so that the mountpoints themselves (/gcl in your case) are included even if --one-file-system was specified, so that on restore you'll get an empty directory /gcl. In order to do that, the internal functions will include /gcl into the backup, but exclude everything below it, similar to what happens if you specify --exclude '/gcl/*'. Unfortunately that means that restic descends into the mount points and lists them, only to discover that everything in the mountpoint is excluded.
Sample:
$ mkdir /tmp/testdir
$ mkdir /tmp/mountpoint
$ sudo mount -t tmpfs tmpfs /tmp/testdir/mounted-fs
$ touch /tmp/testdir/test.txt
$ touch /tmp/testdir/mounted-fs/{foo,bar}
$ mkdir /tmp/testdir/mounted-fs/subdir
$ touch /tmp/testdir/mounted-fs/subdir/test2.txt

$ tree /tmp/testdir
/tmp/testdir
├── mounted-fs
│   ├── bar
│   ├── foo
│   └── subdir
│       └── test2.txt
└── test.txt

2 directories, 4 files

Then run restic with strace:
$ strace -f -e newfstatat restic backup -x -f /tmp/testdir
[...]
[pid 151384] newfstatat(AT_FDCWD, "/tmp/testdir/mounted-fs/bar", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 151384] newfstatat(AT_FDCWD, "/tmp/testdir/mounted-fs/foo", {st_mode=S_IFREG|0644, st_size=0, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 151384] newfstatat(AT_FDCWD, "/tmp/testdir/mounted-fs/subdir", {st_mode=S_IFDIR|0755, st_size=60, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 151384] newfstatat(AT_FDCWD, "/tmp/testdir/mounted-fs", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=100, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 151384] newfstatat(AT_FDCWD, "/tmp/testdir/test.txt", {st_mode=S_IFREG|0644, st_size=4, ...}, AT_SYMLINK_NOFOLLOW) = 0
[pid 151391] newfstatat(AT_FDCWD, "/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=560, ...}, 0) = 0
[...]

You can see that restic descends into /tmp/testdir/mounted-fs but not further (into /tmp/testdir/mounted-fs/subdir).
For a proper fix, we'll amend the function used for exclusion to signal "this dir is included, but its content is excluded".


Feature request: Add parameters for outside config

Would be nice if could do something like new Middlewares\Shutdown($isShutdown) so that if $isShutdown === true then it will execute, if false, does nothing.
This way users can configure $isShutdown wherever in their own config files.

Why don't use a simple if on create the dispatcher?
$middlewares = [];

if ($isShutdown) {
    $middlewares[] = new Middlewares\Shutdown();
}

$dispatcher = new Dispatcher($middlewares);

So you don't have to instantiate a middleware that is not going to be used.
Other option is use something like this: https://github.com/northwoods/conditional-middleware

You're right. That's faster.


0000-01-02-BerlinChristel.md

layout: slide
title: "Welcome to our second slide!"
Your text
Use the left arrow to go back!

layout: slide
title: "Welcome to our second slide!"
Your text
Use the left arrow to go back!

BerlinChristel's file


no-relative-imports does nothing on --fix flag

Bug Report

tslint-microsoft-contrib version: 6.2.0
TSLint version: 5.11.0
TypeScript version: 3.1.6
Running TSLint via: CLI / VSCode

TypeScript code being linted
import TestIndexPage from "./test-index-page";

with tslint.json configuration:
{
  "extends": ["tslint:latest", "tslint-react", "tslint-config-prettier"],
  "rulesDirectory": ["node_modules/tslint-microsoft-contrib"],
  "rules": {
    "no-unused-variable": true,
    "no-submodule-imports": false,
    "no-implicit-dependencies": false,
    "jsx-no-lambda": false,
    "no-relative-imports": true
  }
}

Actual behavior
It shows warning that local import is used - but running from CLI with --fix --force - nothing happens, even though baseUrl is set in tsconfig.json :
node_modules/tslint/bin/tslint src/test-file.tsx --fix --force

no-unused-variable is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.
Warning: The 'no-unused-variable' rule requires type information.

ERROR: src/test-file.tsx[1, 1]: Imported module is being loaded from a relative path. Please use an absolute path: import TestIndexPage from "./test-index-page";

Expected behavior
After funning tslint with --fix flag - file should be updated with fullpath in import statement.

☠ It's time! ☠
Per #876, this repository is no longer accepting feature pull requests. TSLint is being deprecated and we recommend you switch to https://typescript-eslint.io.
Thanks for open sourcing with us, everyone!

This is not a bug because it works as expected: this rule never had fixer implemented. This is because depending on your configuration of baseDir, path etc., project conventions there might be several options how to set path to file.


Data files

What data files is it necessary to include in the Github/Zenodo package? In the @georgyfalster code, I see there are download.file(url) statements, but the "iso2k1_0_0.RData" file has also been added to this repo. Is the latter necessary, or could you simply give e.g. the doi http://doi.org/10.25921/57j8-vs18  (in a "Data Availability" statement)?

@nickmckay

Thanks for the bump - classes started this week so I've been a bit distracted on this. Georgy wrote her code to get all the files from the internet, which is a great idea, and I modified it so that when it downloads them it puts them into a data folder, which then got added to the repository. So in this case it's both. I liked this solution because it's traceable and reproducible, but also convenient to have the data locally. There is a limit to data size we can put on Github though, so this may not work with the model data.

I see .RData has been added to .gitignore.  You could do the same with other data files e.g. .nc, .mat, etc so they don't get tracked through the commits.

Right, good idea. Please feel free to add any data types that you're
working with that we shouldn't track and I'll do the same.
On Wed, Aug 30, 2023 at 9:17 AM Mattriks @.***> wrote:

I see .RData has been added to .gitignore. You could do the same with
other data files e.g. .nc, .mat, etc so they don't get tracked through the
commits.
—
Reply to this email directly, view it on GitHub
https://github.com/nickmckay/iso2kNatureGeoscience2023/issues/2#issuecomment-1699474355,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACXPOZ3G5SDEFM3LICU25LLXX5RPHANCNFSM6AAAAAA4BTFBLM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Outdated version

Heya I was wondering for which version of the game this tool is?
Because it seems pretty outdated, but already got the new DH Params, and created a new patcher for it (using probabilities), new packet handler (supports Lz4, and multi/split-packets), and got the packets extracted by modding the game, which hooks into the registration functions before the initialization.

Hey, the project itself was written several years ago (before the git repo), but I know it's still working and is still used.
I believe the main issue is that whenever there is a game update, the key need to be updated, but that should be as simple as running the following command once a process of Ge.exe is started:
> python tools\dump_key.py

For the packet, it usually update without issue, though I always dump the new structure, python tools\packet.py and diff them with the existing one to try to detect what moved or changed if anything. In some cases that means, I need to adapt the code/client/opcodes.h definition. They use to often re-order stuff, so there is an helper script at tools/update_opcode.py, but it mostly to batch update when everything was offset by a certain number.

new packet handler (supports Lz4, and multi/split-packets)

Do you mean support for the FileSrv protocol? I'm not sure what you mean by Lz4 and multi/split-packets, but that can potentially be useful.
In general, this custom client saw very little developer usage and almost only by me, so there is missing a ton of stuff.

I use this project all the time, and it's used for the kamadan bot. I've branches it though, and keep the version bumped up when I can but that's pretty much the only change I've made.
The one thing we're missing is automated checking of gw.exe via the file server to automatically keep the public key updated. These days the only reason the client version changes is to keep it in sync with the server version, so packet header changes are rare

Ah this project is for Guild Wars and not Guild Wars 2?
That's why nothing matched up. ^^'
Nah Guild Wars 2 is using lz4 compression, and multiple packets are sent in one tcp packet or span multiple packets. But interesting that the encryption is nearly identical, except the hashing method.

Ah this project is for Guild Wars and not Guild Wars 2?

Indeed!

Nah Guild Wars 2 is using lz4 compression, and multiple packets are sent in one tcp packet or span multiple packets. But interesting that the encryption is nearly identical, except the hashing method.

Interesting that they use compression, I really don't know much about Gw2 except that it shares a lot in common with Gw. What might interest you is client/portal, I believe Gw2 uses it as well.

... multiple packets are sent in one tcp packet or span multiple packets

That would be just the same with Gw, shouldn't be too hard to find that out looking at code/client/network.c.

Ah thanks, I'll take a look ^^
I already ported most things to Rust for Gw2, https://github.com/valaphee/guilded/tree/main/src/bin
But then this issue can be closed.

Very nice! I'll have a look :)


Fix access token issue on some public endpoints (#24194)

Backport #24194 by @harryzcy

[x] Identify endpoints that should be public
[x] Update integration tests

Fix #24159

🤖 🎺


Added banner stating community maintainers

Still a little new to github, as far as I know the only way to add to your fork is to clone it and make a PR. After this your fork should be merged as per this PR.

Thanks @Kurren123!


Allow using WOFF fonts in DynamicFont

This is already supported by FreeType, but it wasn't exposed.
Adding support for WOFF2 would require linking a Brotli decompression library in Godot, so only WOFF1 is exposed here.
WOFF support is already exposed in master, so this PR is only relevant for 3.x. See discussion in https://github.com/godotengine/godot-docs/pull/5194.
Preview
TTF font on the top, WOFF font on the bottom (with different modulation to distinguish it):

The fonts render exactly the same, but the TTF file weighs 213 KB wheras the WOFF file weighs only 132 KB.
Testing project: woff.zip

PostScript Type 1 fonts (.pfb, .pfm) should also work perfectly with existing code.

I'm not sure how common these font formats are in the wild. I've never seen those personally :eyes:

I'm not sure how common these font formats are in the wild.

It's not common and have no upsides, it is a format from 1984, a bunch of old TeX and PostScript printer font are still out there. Adding extensions to the list cost nothing anyway, but doing anything extra definitely not worth it.


umbrella header not found for static library

I'm not quite sure, if this issue is related to ResponseDetective or CocoaPods. See related Issue at CocoaPods here.
Report
What did you do?
pod install

Moved ResponseDetective.h to Public in Header Build Phase of ResponseDetective Target stackoverflow
set -o pipefail && xcodebuild -workspace ./staticLibrariesTest.xcworkspace -scheme staticLibrariesTest -destination 'generic/platform=iOS' -archivePath /Users/stephanlerner/Library/Developer/Xcode/Archives/2018-05-30/staticLibrariesTest\ 2018-05-30\ 12.19.17.xcarchive archive | tee /Users/stephanlerner/Library/Logs/gym/staticLibrariesTest-staticLibrariesTest.log | xcpretty

What did you expect to happen?
Succeeding build, since project builds fine in Xcode itself.
What happened instead?

CocoaPods Environment
Stack
   CocoaPods : 1.5.3
        Ruby : ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin17]
    RubyGems : 2.6.14
        Host : Mac OS X 10.13.4 (17E202)
       Xcode : 9.3.1 (9E501)
         Git : git version 2.15.1 (Apple Git-101)
Ruby lib dir : /Users/stephanlerner/.rvm/rubies/ruby-2.4.1/lib
Repositories : accengage - https://github.com/Accengage/ios-pod-specs.git @ d460bd659b14a17647ac91f0d1883f5adf971fa6
               bitbucket-alpodspecs - git@bitbucket.org:lb-lab/alpodspecs.git @ 64255e8d818a9f2456cecba94eb8b6f00d71d9dc
               bitbucket-alpodspecs-1 -<EMAIL_ADDRESS>@ 64255e8d818a9f2456cecba94eb8b6f00d71d9dc
               bitbucket-lb-lab-alpodspecs - https://bitbucket.org/lb-lab/alpodspecs @ 64255e8d818a9f2456cecba94eb8b6f00d71d9dc
               bitbucket-lb-lab-aplprogresskringel - https://bitbucket.org/lb-lab/aplprogresskringel @ f1475980ce47de9f020c53906207382299cfbe46
               master - https://github.com/CocoaPods/Specs.git @ 95c1a9cfce9808cd373c99eb16479bad45ecaac2

Installation Source
Executable Path: /Users/stephanlerner/.rvm/gems/ruby-2.4.1/bin/pod

Plugins
cocoapods-deintegrate : 1.0.2
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.3.0
cocoapods-try         : 1.1.0

Podfile
# Uncomment the next line to define a global platform for your project
platform :ios, '11.0'

target 'staticLibrariesTest' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks

  # Pods for staticLibrariesTest

  pod 'ResponseDetective'

  target 'staticLibrariesTestTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'staticLibrariesTestUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Project that demonstrates the issue
https://github.com/apploft/staticLibrariesTest

Hi, I know it's late. This sounds like a bug in CocoaPods. I'm closing this for now, if you believe this should not be closed, feel free to reopen.


MP3 sounds discontinuous

When we test the basic example under extras, we notice the problem as the title describes.
We just play a MP3 song close to the webcam(with a mic), and hear discontinuous music from a headset(without a mic).
Is there any way to solve it?

Sure, you have to disable echoCancellation in constraints when you make the getusermedia.
ex: {"audio":{"optional":[],"mandatory":{"echoCancellation":"false"}}

Thank you. @kekkokk
If I disable echoCancellation in constraints, meanwhile, I need echo cancellation, I have to turn to third-party software, right?

Sorry I can't understand your question. You think at your audio stream as a tunnel. in this tunnel flows every audio packet you send. if you want that audio to arrive at the other end "as is" you need to turn echo cancellation off (is on by default). so if you pass an mp3 all frequencies arrive at the other end untouched. If you turn echocancellation on, chrome will cut off lots of frequencies. this is very useful for voice stream but an mp3 will not sound like the original.
You have to choose what you want more

@kekkokk thank you again. Actually, I thought if echoCancellation in constraints made audio discontinuous, I could find a software to do echocancellation which wouldn't make audio that discontinuous. I know your meaning and after your comment it seems that I know what echocancellation does to the audio and I thought in a wrong way.


How to get the regression matrix of 4 parameters？

Do you want to get parameters ，such as M、C、G、Yr？ Maybe you can try this code。
`#打印观测矩阵Yr
print('观测矩阵Yr查看：')
print(rbt.Hb_code)
print('\n')
打印参数项 M、C、G
print('参数项M、C、G查看：')
print(rbt.M_code)
print(rbt.C_code)
print(rbt.g_code)`


HTTP logging regression

I've cloned the gatling-sbt-plugin-demo project and enabled logging for ALL HTTP request and responses:
However, the HTTP requests and responses are not logged to the console.
I've reverted to the previous commit (i.e. 2.1.7):
$ git reset --hard 77f9c67d25b6bcc9
And again enabled trace logging. The request and responses are now logged to the console.

Just the logback.xml that wasn't up to date. Thanks for reporting.

Probably need also to update the README:

SBT 0.13.8 => 0.13.11
testOnly computerdatabase.BasicSimulation => gatling:testOnly computerdatabase.BasicSimulation
test => gatling:test ?

Indeed. Thanks!


APIs for reversed binary operators

To enable statements such as 1 - intColumn

Ok, can be reviewed now.

Can be reviewed. This is much better than the previous version.

https://github.com/dotnet/corefxlab/issues/2749 can be fixed only after this goes in.

Rebased on top of master


Send contact is not defined

I download the library and run with >node debug.js and i get the error:
sendContact is not defined.
What i'm doing wrong?

@andretasty  It's not defined yet, became necessary improve my instance backend. Do you alredy create something to PR?

I am also the same error

Comment that out, and it will.work

It's inside controllers/api.js

ok thanks

Comment that out, and it will.work

ok thanks

I will prepare an update allowing to send contact information, soon will be available

This route is now available! Please check new version,
Thank You.


Friday Announcements 2021 06 25

Please remember to

[x] Give the PR a meaningful title -- it will be shown in the release notes

@marians , please add for UIs and Docs :)

Please ignore the validate / front-matter check. I'll have to mute the Each page should have a description check for the entire changes section.


Problem with using useRouteMatch in storybook

Issue:
Which version are you using?
"storybook-react-router": "^1.0.8",
Are you using storybook-router with a react based project or a vue one?
react
Please describe the problem:
It shows the following error when I use useRouteMatch hook:
TypeError: Cannot read property 'match' of undefined
    at useRouteMatch (http://localhost:6007/vendors~main.44791deccf2e14082e5e.bundle.js:138564:78)
.
.
.
    at StoryRouter (http://localhost:6007/vendors~main.44791deccf2e14082e5e.bundle.js:145079:7)

Couldn't get unoptimized version because of this issue on storybook, https://github.com/storybookjs/storybook/issues/8062
Please explain how to reproduce the issue or (better) provide an example to do it.
const CompanyDetailsPage = () => {
  const { path, params } = useRouteMatch();
  const to = pathToRegexp.compile(path)({
    ...params,
    someparameter: 'someparameter',
  }),

  return (<Link to={to} >Link</Link>)
};

should raise mentioned error.

Any updates on this issue?


redirect me after login to original url

If users click "Reset password" or "Edit password" in chobby. they are redirected to browser urls:
https://server4.beyondallreason.info/forgot_password
and
https://server4.beyondallreason.info/teiserver/account/security/edit_password
By default nobody is logged in on teiserver, so login window shows up and after login the main menu is shown, not our already told direct link. https://server4.beyondallreason.info/
So in general, remember the original target during login window and redirect me to it once logged in.

I thought it was already doing this but it appears something changed and it stopped, this is a good issue to raise thank you :)

I did fix the issue, but only for non liveview code in https://github.com/beyond-all-reason/teiserver/pull/309 I believe. Didn't touch any liveview stuff


Compute the collatz sequence in the compute example

These changes were made at the behest of @raphlinus.
The expected values can be found at https://oeis.org/A006577
Should we rename the example to compute_collatz?
I'm also planning on integrating the overflow detection from wgpu. We also should insert the timing queries into this example, since wgpu now supports them.

I will change the SpirvBuilder invocation to only use the vulkan version which they need - i.e. make only the compute example use vulkan 1.1.
I'm also not sure whether the  dummy bind group still needs to exist,  and ideally I'd remove the new unsafe code (i.e. using flat_map core::Array::IntoIter on char::to_ne_bytes().
Additionally, now that multiple things are async it might be worth threading that through further.
I should also create a CPU runner, because this shader is simple enough that the naïve implementation of that would work fine (it seems to me that the CPU runner could live in examples/shaders/compute/main.rs, but I'm not certain). Putting it in with the existing CPU runner would be fine, although the dependencies thereof are a bit heavy weight, since this runner doesn't need any capabilities apart from stdout access.
I found the change/run/execute cycle to be excruciatingly slow - am I missing some tricks I can use to get it faster? For reference, my current invocation is:
$ cargo run -p example-runner-wgpu -- --shader Compute

If these performance counters are done correctly, then we should also add them to the other examples https://github.com/EmbarkStudios/rust-gpu/pull/259
I have also only now realised that I have inadvertently duplicated https://github.com/EmbarkStudios/rust-gpu/pull/360. I was just trying to show @raphlinus that rust-gpu can be used to make compute shaders 😅


OpenAI embeddings: text-embedding-3-large

Would be good to be able to have the option to use OpenAI's new 'large' embedding model. Would be interesting to see whether using more (3072) dimensions gives better retrieval of niche/unusual words.
https://openai.com/blog/new-embedding-models-and-api-updates

https://github.com/weaviate/Verba/discussions/130

Great idea! We'll look into that for the next update 🚀

We added all OpenAI Embedding models in the newest release


Improved efficiency in forward passes + removed deprecated pinocchio signatures

This PR removes the useless extra if-loop due to the feasibility or step-length status in FDDP and Box-FDDP. It also removes an useless line in the Box-DDP forward pass.
On the other hand, it removes the deprecated Pinocchio signatures in Python code. Finally, it fixes an issue in the frame trajectory display when there is not contact (fly phases).

This PR removes the useless extra if-loop due to the feasibility or step-length status in FDDP and Box-FDDP.

It appears that the if is still there - now just outside the loop. I.e. before: if inside the for loop. Now two for loops in if-else. Correct? Or was there something else to it?
What was the gained efficiency improvement?


[BUG] examples/digital-signature fails with --features=risc0-zkvm/metal

Bug Report

When running the digital-signature example with feature risc0-zkvm/metal, it fails with
Running `/risc0/examples/target/release/digital-signature 'This is a signed message' --passphrase=passw0rd`
thread 'main' panicked at /risc0/risc0/zkvm/src/host/recursion/prove/exec.rs:158:17:
index out of bounds: the len is 1179 but the index is<PHONE_NUMBER>
...
  20: digital_signature::sign
             at ./src/lib.rs:57:19
  21: digital_signature::main
             at ./src/main.rs:37:27
...

https://github.com/risc0/risc0/blob/83cf6867025846cd8ec91d9776ef8fb6c74b3b88/examples/digital-signature/src/lib.rs#L57
Steps to Reproduce

Clone risc0 at 83cf6867025846cd8ec91d9776ef8fb6c74b3b88 and perform setup procedure.
Go to examples/digital-signature.
Run cargo run --release --features=risc0-zkvm/metal -- "This is a signed message" --passphrase="passw0rd.

Expected behavior

Should succeed.
Observations:

Runs fine without metal feature.
Test runs fine with metal feature.

Your Environment

risc0-zkvm version: 83cf6867025846cd8ec91d9776ef8fb6c74b3b88
Rust version: 1.73.0
Platform/OS: macOS 14.2.1, M1 Pro

I'm on 859b11867cffe3a985841a23d0b9b1c6395ec6b9 and I'm unable to reproduce this. I'm using 14.3.1 M1
% cargo run --release -F metal -- "This is a signed message" --passphrase="passw0rd"

....

     Running `/Users/erik/risc0/examples/target/release/digital-signature 'This is a signed message' --passphrase=passw0rd`
Inputs
        message: "This is a signed message"
Commitment:
        message: Digest(55256ea6467b849cd2985241d6333e6d14c6e1198903ee5d690b24b1084d0fe3)
        identity: Digest(2f9095c070680fc3435f4a68d21cdb05feb0ec1c20edad1ef6dcd9c1541b2904)
Integrity Checks:
        message: valid
        receipt: valid

Here's release-0.21 branch on 4afa9d39b2d8e37e2bee9173552efc1653e101e4:
% cargo run --release -F metal -- "This is a signed message" --passphrase="passw0rd"

...

     Running `/Users/erik/risc0/examples/target/release/digital-signature 'This is a signed message' --passphrase=passw0rd`
Inputs
        message: "This is a signed message"
Commitment:
        message: Digest(55256ea6467b849cd2985241d6333e6d14c6e1198903ee5d690b24b1084d0fe3)
        identity: Digest(2f9095c070680fc3435f4a68d21cdb05feb0ec1c20edad1ef6dcd9c1541b2904)
Integrity Checks:
        message: valid
        receipt: valid

Can confirm that it now works for me on e37f5be4e95ca05c85e3c32f5c5a50943ac0abb5.


luci-app-shadowsocks-libev: add package

This adds support for configuring shadowsocks-libev
Signed-off-by: Jian Chang<EMAIL_ADDRESS>

@jow- Hi, can you handle this PR?

Thanks


Use bundle ids in dependency lists

This is documented as item 7, but is not shown in examples.html.
It appears to fail for me, as it tries to load the bundle name via http.
So I check if my mistake by running examples. The examples run, but they don't show above documented use case.
so this modified example fails but is documented as working.
  // compose more complex dependency lists
  loadjs('assets/file1.js', 'example7a');
  loadjs(['example7a', 'assets/file3.js'], 'example7b');

  // wait for multiple depdendencies
  loadjs.ready(['example7b'],
               function() {
                 log('Load by bundle');
               },
               function(depsNotFound) {
                 throw "Load should succeed";
               });

For error callbacks you need to use the more advanced syntax (define success/error functions in an object argument). Here's an example that mixes and matches bundles and urls:
https://jsfiddle.net/muicss/ts5fv67L/

It is not related to error handling. It is related to using bundle ID. Here is the bug reproduced:
<EMAIL_ADDRESS>'bundle2', {
success: foo,
async: false,
error: function() {alert('not an error, bundle is defined')}
})
	setTimeout(function(){
		loadjs(['//code.jquery.com/jquery-3.3.1.min.js'], 'bundle1')
		}, 1000
	)

	function foo() {
		alert('success')
	}

The way complex scripts get loaded and bundles defined can get complex. The page for me needs a success function and has different team working on it.
So the bundle1 gets loaded a bit later. Since loadjs does not see, it assumes it is a lib.
So an bug.
One way to fix is to be able to define a bundle, but don't load. This way I can declare the bundle and dependencies, and then just ask for something later.
(also it be nice to be able to load an image)

In your example, bundle1 gets defined after you list it as a dependency so loadjs isn't aware that it is a bundle name and treats it as a url instead. To change that behavior, loadjs would have to make assumptions about urls and bundle names which might cause problems for some developers.
One way to execute code only after a bundle has been defined is to use the .ready() method:
loadjs.ready('bundle1', function() {
<EMAIL_ADDRESS>function() {
    alert('success');
  });
});

setTimeout(function() {
  loadjs(['//code.jquery.com/jquery-3.3.1.min.js'], 'bundle1');
}, 1000);

One drawback of the code above is that it will load the files in series. If you want to load the files in parallel but you don't know if your colleague's code has executed yet then you can use .isDefined() to execute different code paths:
if (loadjs.isDefined('bundle1')) {
  loadjs(['bundle1'<EMAIL_ADDRESS>{
    success: function() {alert('success');},
    error: function() {alert('error');},
    async: false
  });
} else {
  loadjs(['//code.jquery.com/jquery-3.3.1.min.js'<EMAIL_ADDRESS>{
    success: function() {alert('success');},
    error: function() {alert('error');},
    async: false
  });
}

Please note that in order for async: false to work with the first conditional code block above your colleague must have defined bundle1 with async: false as well.
If loadjs were to support images, do you have any suggestions for the syntax?

Yes we use code work arounds now. The idea is to make it opposite of 'code splitter'.  The uses is in pug/jade you do include ../parts/Footer to make html or you do:

so hard to know easily what gets run first.

A ideal solution would be to declare a few bundles, BUT NOT load them.  For example in head define the few basic bundles. And then when you need them included, execute. Ex:
loadjs.define(.....) and loadjs.execute(....). Maybe introduce new method signatures. That was what I suggested above "declare the bundle but not execute"

Your idea of determining if it is an asset/resource or a 'bundle' would also work: Bundle never contain a ".". asset and resource always do: ex: main.js.

thx for heads up on async. A feature request would be that if anywhere in chain is async false: it is false.

the image is not a must have like above.  above lets you work on a complex project with a large and unwieldy remote teams. But it be nice to load media just like we load css with no changes in syntax. So lets say - before I make some div visible: I finish loading css, needed .js, SVG, and the background video. (we even use google fonts via google webfont.js so it does not block parallel load of css, but webfont likely can't be a part of load js)

Can you explain the problem you are trying to solve in more detail? If I can understand your problem better then maybe I can suggest a different solution.

I think it is quite a bit of low detail is given. Maybe higher level as a  different POV?
A large distributed team on complex pug project that tried webpack code splitting
Now using loadjs instead, works much much better. Lots of things required jquery and such, and we also use pug includes a lot. We use work around for async loads of bundles. Some things like fullpage.js requires jq and another lib BEFORE it is loaded. But that is not needed on each page.
Also, we check load times a lot view browser tools to check time to screen. If we can get rid of workarounds and just be able to declare few basic bundles that others devs can 'extend' or depend on, that would be nice. So in pug we can say loadjs([baseBundle, fpBudnle, myeffect.js] function(//unhide div). This all works, but is not elegant. If you add some more bundle features, code would look nicer.

Ok, thanks for the overview. I think loadjs has the basic primitives you need and it's just a matter of figuring out where to use them.
Based on your description I would define the bundles in the <head> to take advantage of the browser's built-in parallel load/sequential execution mechanism:
<head>
  <script src="/path/to/jquery"></script>
  <script src="/path/to/baseBundle"></script>
  <script src="/path/to/fpBundle"></script>
  <script>
    // manually declare bundles
    loadjs.done('jquery');
    loadjs.done('baseBundle');
    loadjs.done('fpBundle');
  </script>
</head>

And then wrap your code with .ready() to ensure that the code won't execute until the dependencies have been met:
loadjs.ready(['baseBundle', 'fpBundle'], function() {
  loadjs('/path/to/myeffect.js', function() {
    // unhide div
  });
});

In general, .ready() and .done() can be used together for more fine grained control over bundle definition and execution times.

Does not help. No worries. It is Open source, when it hurts enough we'll
fork source.
On Sat, Mar 10, 2018 at 5:52 PM Andres Morey<EMAIL_ADDRESS>wrote:

Ok, thanks for the overview. I think loadjs has the basic primitives you
need and it's just a matter of figuring out where to use them.
Based on your description I would define the bundles in the  to
take advantage of the browser's built-in parallel load/sequential execution
mechanism:

And then wrap your code with .ready() to ensure that the code won't
execute until the dependencies have been met:
loadjs.ready(['baseBundle', 'fpBundle'], function() {
loadjs('/path/to/myeffect.js', function() {
// unhide div
});
});
In general, .ready() and .done() can be used together for more fine
grained control over bundle definition and execution times.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/muicss/loadjs/issues/60#issuecomment-372073708, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AeT3VFXpu09iS62s7sBX4XGCH-57bC2sks5tdFkwgaJpZM4SjipS
.

You should be able to implement complex dependency chains in a simple way by wrapping your code in .ready() and using .done() for execution. For example, here are three bundles and a plugin ("bundle1a.js", "bundle1b.js", "bundle2.js", "effect.js") where one bundle depends on another and all depend on jquery:
// bundle1a.js
loadjs.ready('jquery', function() {
  // bundle1a code goes here...

  loadjs.done('bundle1a');
});

// bundle1b.js
loadjs.ready('bundle1a', function() {
  // bundle1b code goes here...

  loadjs.done('bundle1b');
});

// bundle2.js
loadjs.ready('jquery', function() {
  // bundle2 code goes here...

  loadjs.done('bundle2');
});

// effect.js
loadjs.ready(['bundle1b', 'bundle2'], function() {
  // effect code goes here...
});

Once the files have been implemented in this way you can load them into the DOM in order you want, synchronously/asynchronously, with/without loadjs and in javascript or in html.

Thank you for doing this example. It perfectly illustrates what the problem is.  Lets take a look at first part:
	loadjs.ready('jquery', function() {
	  // bundle1a code goes here...

	  loadjs.done('bundle1a');
	});

What you did is // // bundle1a code goes here... where there is  more load js code.
Clever. But our developers include graphic designers. HTML people. Art directors and creatives. jR jquery developers and such.  The nesting is complex code for than - and this is just 3 levels deep you showed with majority of code you did as //write code here.
If you did add code, it would look quite confusing to a CSS person. We need code that makes the user feel more confident. I need them focused on building the site and making the site look nice. This example is not for those developers, it takes away from their work focus.
What we need is a more syntax sugar that make is look easy to use bundles to control delayed loading.

Would it help to be able to define a bundle inline?
// bundle1a.js
loadjs.ready('jquery', 'bundle1a', function() {
  // bundle1a code goes here...
});

// bundle1b.js
loadjs.ready('bundle1a', 'bundle1b', function() {
  // bundle1b code goes here...
});

// bundle2.js
loadjs.ready('jquery', 'bundle2', function() {
  // bundle2 code goes here...
});

// effect.js
loadjs.ready(['bundle1b', 'bundle2'], function() {
  // effect code goes here...
});

I think you are saying your done is 'auto'.
It may be more readable if it was  different order, done as last
	loadjs.ready(['bundles1', 'bundle2'], function() {
			// more code and loadjs

		}, 'bundles3'
	)

I think an improvement for ready.
But still as soon as I define a bundle it loads. If I can define a bundle that is lazy.
loadjs.define( ...) that waits till it sees a ready().

How would the wrapping ready know when some loadjsit is wrapping in 'code' is done?
I don't think that you can implement that.

But still as soon as I define a bundle it loads. If I can define a bundle that is lazy.
loadjs.define( ...) that waits till it sees a ready().

Have you tried using RequireJS?

How would the wrapping ready know when some loadjsit is wrapping in 'code' is done?
I don't think that you can implement that.

Internally, loadjs will call .done() after the wrapped function is executed.

@uptimestar This issue came up in another thread (https://github.com/muicss/loadjs/issues/62). Here's some custom code that you can use to implement a lazy loader with loadjs:
var bundles = {
  'bundle1': ['file1', 'file2'],
  'bundle2': ['file3', 'file4']
};

function require(bundleIds, callbackFn) {
  bundleIds.forEach(function(bundleId) {
    if (!loadjs.isDefined(bundleId)) loadjs(bundles[bundleId], bundleId);
  });
  loadjs.ready(bundleIds, callbackFn);
}

require(['bundle1'], function() { /* bundle1 loaded */ });
require(['bundle2'], function() { /* bundle2 loaded */ });
require(['bundle1', 'bundle2'], function() { /* bundle1 and bundle2 loaded */ });

Thank you for keeping it in consideration. Does the last 3 lines see the bundle id that is in closure in first 4 lines?
It be nice to add some syntax sugar for the 'diverse' .js developers to make it easier to read.

Yes, the require() method has access to the bundles object. Here's a working version:
https://jsfiddle.net/muicss/4791kt3w/
You can modify this code to change the syntax. Let us know when you find a syntax you like.

Thx again. I think loadjs.require(....) is fine sugar.
I think of this more as a better/manual webpack code splitting w/ CDN than requirejs.  I can now  'loadjs.require()' css, image and .js before I $.show() a div or such.

Ok, if you want to add this to your implementation you can attach require to loadjs:
loadjs.require = function(bundleIds, callbackFn) {
  bundleIds.forEach(function(bundleId) {
    if (!loadjs.isDefined(bundleId)) loadjs(bundles[bundleId], bundleId);
  });
  loadjs.ready(bundleIds, callbackFn);
}

@cekvenich I added support for image loading to the loadjs:img branch of the repo:
https://github.com/muicss/loadjs/tree/img
Here are links to loadjs payloads with the new code:
https://cdn.rawgit.com/muicss/loadjs/img/examples/assets/loadjs/loadjs.js
https://cdn.rawgit.com/muicss/loadjs/img/examples/assets/loadjs/loadjs.min.js
It passed these tests in modern browsers and IE9+:
https://github.com/muicss/loadjs/blob/img/test/tests.js#L352-L467
Let me know if you notice any issues with the new features.

I'll test! Is 'require' sugar included?

Sorry, the require method is not in the library. You can copy the code to add it to your site.

@cekvenich Have you had a chance to try out the img loading feature?

It is on my list - during week I am busy and will be out of town for a few. Don't worry!

Ok, no worries. It's pretty well tested and backwards compatible so I think I'll push to master soon.


Rewrite Ballerina Library Release Pipeline with Ballerina SwanLake

Purpose
Fixes: #6457
This will;

Migrate the release script to Ballerina SwanLake
Improve the dependency graph generation to include the Ballerina extended modules
Fix some known issues in the dashboard generation and release workflows

Waiting for the GitHub connector fix #6456


help develop QQE indicator

hi, i see a QQE indicator is nice :
https://www.tradingview.com/script/IYfA9R2k-QQE-MT4/
i converted it to python, can you see and show me your idea
https://pastebin.com/upES9U3A
	def qqe_pd2(self, rsi_period2: object, rsi_period: object, rsi_smooth: object, qqe_factor: object, array: object = False) :

		close = pd.Series(self.close)
		open = pd.Series(self.open)
		high = pd.Series(self.high)
		low = pd.Series(self.low)

		if not rsi_period: rsi_period = 14
		if not rsi_smooth: rsi_smooth = 5
		if not qqe_factor: qqe_factor = 4.236

		rsi_period2 = 14

		wilders_period = rsi_period * 2 - 1

		rsi = talib_pd.rsi(close, rsi_period)
		rsima = talib_pd.ema(rsi, rsi_smooth)
		atrrsi = abs(rsima.shift(1) - rsima)
		maatrrsi = talib_pd.ema(atrrsi, wilders_period)
		dar = talib_pd.ema(maatrrsi, wilders_period) * qqe_factor

		deltafastatrrsi = dar
		rsindex = rsima

		longband = rsindex.replace(rsindex.tolist(), 0)
		shortband = rsindex.replace(rsindex.tolist(), 0)
		trend = 0

		newshortband = rsindex + deltafastatrrsi
		newlongband = rsindex - deltafastatrrsi

		# longband := rsindex[1] > longband[1] and rsindex > longband[1]?max(longband[1], newlongband): newlongband
		if (rsindex.shift(1) > longband.shift(1)) and (rsindex > longband.shift(1)):
			longband = np.maximum(longband.shift(1), newlongband)
		else:
			longband = newlongband

		# shortband := rsindex[1] < shortband[1] and rsindex < shortband[1]?min(shortband[1], newshortband): newshortband
		if (rsindex.shift(1) < shortband.shift(1)) and (rsindex < shortband.shift(1)):
			shortband = np.minimum(shortband.shift(1), newshortband)
		else:
			shortband = newshortband

		# trend := cross(rsindex, shortband[1])?1: cross(longband[1], rsindex)?-1: nz(trend[1], 1)

		if talib_pd.cross(rsindex,shortband.shift(1),above=True):
			trend = 1
		elif talib_pd.cross(rsindex,shortband.shift(1),above=False):
			trend = -1
		else:
			trend = 0

		# fastatrrsitl := trend == 1? longband: shortband
		if  trend == 1:
			fastatrrsitl = longband
		else:
			fastatrrsitl = shortband

Hello @cbogithub,
QQE looks interesting. How is it looking visually compared to data in TradingView? Relatively close? We can add it no problem. I do not have a timeframe yet of when I will implement it as I am in the middle of fixing and adding another indicator currently.
Keep me posted.
Thanks,
KJ

Hi @cbogithub,
I finally had some time to work on QQE. It is largely completed, but there is some additional cleanup to do before I put it on the development branch. Hopefully not later by the end of this week.
Here is a screenshot:

versus TradingView:

Thanks for your patience.
Regards,
KJ

👍 .thanks

@cbogithub,
It is ready on Github:
$ pip install -U git+https://github.com/twopirllc/pandas-ta

Let me know how it works for you. Thanks for your patience.
Thanks,
KJ


Logical Data flow editor should allow deselection of non-concrete nodes (but not re-selection)

Caused by migrating historic mappings to non-concrete DT's

595


[BUG] @tsed/platform-expres

Information
TSED  version : 6.11.3

Version: 6.11.3
Packages: @tsed/platform-express

When using a version 6.7 (@tsed/platform-express ) and the others 6.11.3 is working fine. I know the documentation says that is recommended to use every library with the same version but in this case I had to apply this fix to make it work.
Error:
Class 'PlatformExpressApplication' incorrectly implements class 'PlatformApplication<Application, Router>'. Did you mean to extend 'PlatformApplication<Application, Router>' and inherit its members as a subclass?
 node_modules/@tsed/platform-express/lib/services/PlatformExpressApplication.d.ts(17,22): error TS2720: Class 'PlatformExpressApplication' incorrectly implements class 'PlatformApplication<Application, Router>'. Did you mean to extend 'PlatformApplication<Application, Router>' and inherit its members as a subclass?
remote:          Property 'useContext' is missing in type 'PlatformExpressApplication' but required in type 'PlatformApplication<Application, Router>'.
remote:        node_modules/@tsed/platform-express/lib/components/PlatformExpress.d.ts(9,46): error TS2315: Type 'PlatformBuilder' is not generic.
remote:        src/index.ts(14,20): error TS2339: Property 'listen' does not exist on type 'PlatformExpress'.
remote: npm ERR! code ELIFECYCLE

Example
index.ts
import {$log} from "@tsed/common";
import {PlatformExpress} from "@tsed/platform-express";
import {Server} from "./server";
const config = require("dotenv").config({path: "./.env"});

async function bootstrap() {
  try {
    $log.debug("Start server...");
    const platform = await PlatformExpress.bootstrap(Server, {
      DATABASE_URL: process.env.DATABASE_URL || config.DATABASE_URL
    });

    await platform.listen();
    $log.debug("Server initialized");
  } catch (er) {
    $log.error(er);
  }
}

bootstrap();

server.ts
import {Configuration, Inject, PlatformApplication} from "@tsed/common";
import * as cors from "cors";
import * as bodyParser from "body-parser";
import * as compress from "compression";
import * as cookieParser from "cookie-parser";
import  "@tsed/platform-express";
import * as methodOverride from "method-override";
import "@tsed/typeorm";
const config = require("dotenv").config({path: "./.env"});

const rootDir = __dirname;

const whitelist = ['<IP_ADDRESS>:80']
const corsOptions = {
  credentials: true,
  origin: function (origin, callback) {
    console.log(origin)
    if (whitelist.indexOf(origin) !== -1 || !origin) {
      callback(null, true)
    } else {
      callback(new Error('Domain not allowed by CORS'))
    }
  }
}

@Configuration({
  rootDir,
  debug: process.env.PORT === undefined, // to check if it is dev
  port: process.env.PORT || 8080, // Because heroku automatically sets port.
  acceptMimes: ["application/json"],
  mount: {
    "/api": [`${rootDir}/controllers/*.{ts,js}`] // using componentScan
  },
  componentsScan: [
    `${rootDir}/services/**/*.{ts,js}`,
  ],
  typeorm: [
    {
      name: "default",
      synchronize: true,
      type: "postgres",
      url: process.env.DATABASE_URL || config.DATABASE_URL,
      ssl: process.env.DATABASE_URL ? true : false,  // If env var is not set then it is dev
      "entities": [
        `${rootDir}/**/*.entity.js`,
        `${rootDir}/**/*.entity.{ts,js}`
      ],
      "migrations": [`${rootDir}/migrations/**/*.js`],
      subscribers: [
        `${rootDir}/subscriber/*.js}`
      ]
    }
  ]
})
export class Server {
  @Inject()
  app: PlatformApplication;

  @Configuration()
  settings: Configuration;

  /**
   * This method let you configure the express middleware required by your application to works.
   * @returns {Server}
   */
  public $beforeRoutesInit(): void | Promise<any> {
    this.app
      .use(cookieParser())
      .use(compress({}))
       .use(cors(corsOptions))
      .use(methodOverride())
      .use(bodyParser.json())
      .use(bodyParser.urlencoded({
        extended: true
      }));
  }
}

Thanks in advance!
Acceptance criteria

[ ] Criteria 1

Have you the same version for all @tsed package?

The issue was a tsed dependency with the newest version that I didn't detected. My bad, thank you for the answer.

No worries @yaritaft ^^


Add a script to make your catkin workspace from other directories using the CATKIN_WS environment variable

It was really annoying to keep a terminal open in my catkin directory so I made a script that just runs catkin_make from the root catkin directory using the CATKIN_WS environment variable

You might be better served switching to catkin_tools, which has this feature, among many others.
See: http://catkin-tools.readthedocs.org/en/latest/

Sorry, I haven't had time to review this.
As @mikepurvis pointed out catkin_tools has this feature, but catkin build (command in catkin_tools) works fundamentally different from catkin_make, see: http://catkin-tools.readthedocs.org/en/latest/mechanics.html#legacy-catkin-workflow
I'll also put the disclaimer on catkin_tools that it is still in beta, and even though we're making progress towards being able to recommend it over catkin_make or catkin_make_isolated, it isn't quite there yet.

I am not sure if this feature justifies add a new script into catkin. As the previous comments mentioned catkin_tools provides it out-of-the-box. And it is also very easy to create an alias for this (since the -C option is there) which is not much different from needing to set the environment variable.

Since there was no further comment on this for over a month I will close it for now.


Edit pass on server timeout section in Monitor Query README

Update the https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/monitor/Azure.Monitor.Query#increase-query-timeout section of the Azure Monitor Query SDK README to:

Set the appropriate LogsQueryOptions property.
Mention the service's default and maximum timeout values.

Fixes: https://github.com/Azure/azure-sdk-for-net/issues/22127


Missing actor event response "run_command"

run_command is experimental and is being deprecated for queue_command

Indeed, just linking it here:
https://www.minecraft.net/en-us/article/minecraft-preview-1-20-60-20
Will update soon
Entity event response run_command has been renamed to queue_command and has been released out of experimental. Commands run via queue_command may be deferred until the next tick. If the entity is removed before the command is run, the command will not execute. Content using run_command under experimental will still work for now but the experimental feature is now considered deprecated

Completed


PRNG using Multiply With Carry

Motivation
Using keccak256 to generate pseudorandom numbers can be quite expensive and thus not feasible for some applications. Although cheaper MWC generators are not cryptographically safe, they provide suitable alternatives for many use-cases.
Implementation Summary

Rename the old library implementation PRNG -> CSPRNG
Implement an 128bit MWC generator in the PRNG library
Adapt the PRNG testing suite to cover multiple similar implementations
Extend the testing suite by a

Monobit frequency test
Monobit cusum test

Nice!!! Thank you! This will take a bit of time to review thoroughly, but I'm excited :)

Is there a way to mark *CSPRNG.sol as being renamed instead of entirely new files?

Unfortunately no. Git interprets it as a new file because I also slightly changed its content (PRNG -> CSPRNG).

Done.


Black screen if activated

normaly screen should look like this ... but just a bit more greenish:

added some debugs...color seems to go at least to the execute.

found a Issue with the shader itself:

updated shader... screen still black if active

still not working...startet rework

<EMAIL_ADDRESS>Need to check this out

https://catlikecoding.com/unity/tutorials/


Undefined uuid.CleanHyphen build error

I get below error when build journey from source:
# github.com/kabukky/journey/database
database/initialization.go:146: undefined: uuid.CleanHyphen
database/insertion.go:29: undefined: uuid.CleanHyphen
database/insertion.go:31: undefined: uuid.CleanHyphen
database/insertion.go:51: undefined: uuid.CleanHyphen
database/insertion.go:84: undefined: uuid.CleanHyphen
database/insertion.go:117: undefined: uuid.CleanHyphen
database/insertion.go:131: undefined: uuid.CleanHyphen

Golang version: 1.7.5 linux/amd64

Thank you for reporting.
This is due to breaking changes in the uuid library I am using. See #90.
It will be fixed by #93 and #94.

I have a same problem. I tried in v0.1.9 and v0.1.8
go version go1.8.1 darwin/amd64.


Bolt Looping over Errors

Describe the bug
Bolt gets stuck in Loops when attempting to Fix an AppWrite Network Auth Issue.
"Auth check error:"{name: "AppwriteException", code: 0, type: "", response: ""}
at checkAuth (/src/store/authStore.ts?t=1729745759211:66:15)
Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-kdarhn?autoAuth=true
Steps to reproduce

Expected behavior
Error should be fixed, and user should be able to be created via AppWrite.
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 126436583,
  "usedJSHeapSize": 123506935,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = Midas-Coin
Chat ID = 9de1149e518a

Additional context
No response

This is burning my credits, whilst it is just looping over and not fixing the issue. Please refund my credits/ tokens to the original amount.

@Midas-Coin tips on error resolution and token usage efficiency have been collected in #678
Please reach out to<EMAIL_ADDRESS>with a specific request around tokens/credits and we will address there, thanks!


Doc Feedback: "Configuration Catalog" in APIM 3.1.0

Location : https://apim.docs.wso2.com/en/3.1.0/reference/config-catalog/
The configurations related to applying the synapse log handlers is not mentioned in the APIM-3.1.0 official documentation.
In order to include these details, shall we add the below points to the 'Configuration Catalog' documentation as per the reference[1]?
Engaging custom synapse log handler

Add the below lines to the top of the 'deployment.toml' file.
enabled_global_handlers= ["<Custom_Logger_Name>"]
Include the below configurations to the 'deployment.toml' file.

[synapse_handlers]
<Custom_Logger_Name>.name= "<Log_Handler_Class_Name>"
<Custom_Logger_Name>.class= "<Fully_Qualified_Log_Handler_Class_Name>"

[1] - https://medium.com/api-integration-essentials/wso2-api-manager-3-0-how-to-add-a-custom-synapse-log-handler-to-log-api-related-transactions-24c418f03303

Fixed with https://github.com/wso2/docs-apim/issues/2018

Below information should be added to the document[1]; without having these it won't work in expected way.

This won't work if we are not placing enabled_global_handlers= ["<Custom_Logger_Name>"] line at the top of the deployment.toml line.(as the verify first line)
There are two default synapse handlers named "external_call_logger", "open_tracing". These default handlers will not be added if we are not including those under enabled_global_handlers element. It should be corrected as the below.
enabled_global_handlers= ["<Custom_Logger_Name>", "external_call_logger", "open_tracing"]

[1] https://apim.docs.wso2.com/en/latest/reference/config-catalog/#synapse-handlers


sticky matColumnDef don’t work so good

What is the expected behavior?
A simple table whose first column is sticky should work.
What is the current behavior?
Does not work good:

A the column that are initially hidden have missing styles
If more than half the table is hidden, then the first column gets pushed out of the way.

What are the steps to reproduce?
Just create a table, as simple as can be, with the first column being sticky:
https://stackblitz.com/edit/angular-sticky-column-bug?file=src/app/app.component.ts
https://angular-sticky-column-bug.stackblitz.io/
Screenshots:
Initial state:
Start scrolling:
Scroll some more:
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
At least 7.3.6.
Is there anything else we should know?

I did some more investigating. This only happens if:

You use "component-based" material tables (aka <) rather than attribute based (,  etc...)
You give your columns a min-width

Just umping in to say that I think the "attribute-based" <table mat-table> is the preferred alternative since it has been available.
If you can use the table native element, I reckon you should go for it. It also lets you painlessly use the overflow properties to enable scrolling, and probably lets you avoid a few other quirks I don't know of.
Disclaimer: I'm not denying there's a problem 🙂

If I recall correctly, this was expected about the flexbox-based table, but it was supposed to be documented. @andrewseguin was that right?

I am trying to use the material table with 4 sticky columns, 2 of them to left and 2 of them to right. The problem is that the offset is calculated wrong by sticky and stickyEnd attributes from angular material. Does anyone have the same issue?

Same problem!

Same problem

"@angular/material": "^8.2.3",
"@angular/core": "~8.2.14",

Issue still exists.

I did some more investigating. This only happens if:

You use "component-based" material tables (aka <mat-table>, <mat-header-cell>) rather than attribute based (<table mat-table>, <th mat-header-cell> etc...)
You give your columns a min-width

Thank you for pointing that out. I was able to workaround the issue by giving the table a minimum width instead.


Fail to receive data from nginx

I'm trying to put teeproxy between two nginx servers:
                             /- nginx prod:2030
nginx:80 ---> teeproxy:8080 <
                             \- nginx dev:2031

but it's failing miserably:
Failed to receive from <IP_ADDRESS>:2031: persistent connection closed
Failed to receive from <IP_ADDRESS>:2030: persistent connection closed

Using directly curl teeproxy:8080 works fine.

A workaround seems to be defining http Connection "" header:
  location / {
    include proxy_params;
    proxy_pass http://teeproxy;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
  }


Deletes Medicinal Seeds From Seed Servitor

About the PR

Deleted the medicinal seeds from the seed servitor.
Why / Balance

Botany basically never actually interacts with cargo besides slinging them bounties. This should encourage them to interact with cargo a bit more.
Technical details

This is a webedit, but I have no reason to believe this will break anything.
Media

Not applicable?
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[ ] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

:cl:

remove: Removed medicinal seeds from the seed vendor, order them at cargo instead.

It broke somehow. Will try later unless I forget

bro webedited so hard the pr time travelled

god struck them down for webediting so hard that they're now in groundhog day


typos

"retry_attemptsis int" => "retry_attempts is type int"
"retry_intervalis int" => "retry_interval is type int"

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

ID: 571ba504-da27-884c-e533-e4671b00ad66
Version Independent ID: 87f89fc3-ba62-66ff-5651-3a8091ee6a3e
Content: sp_add_jobstep (Transact-SQL) - SQL Server
Content Source: docs/relational-databases/system-stored-procedures/sp-add-jobstep-transact-sql.md
Product: sql
Technology: system-objects
GitHub Login: @stevestein
Microsoft Alias: sstein

Fixing with PR 10511:
https://github.com/MicrosoftDocs/sql-docs-pr/pull/10511

Fixed.
@cmmizer Hi, Thank you for bringing this issue to our attention. Obviously tipped by this Issue 2245, I found several more occurrences of the same two problem occurrences that you reported in the original description, and I fixed them too.
Customers such as you have the authority to edit our documentation, by clicking the 'Edit-pencil' icon at the top-right on the document's webpage. We encourage customers to use the Edit approach (as an alternative to this Issue approach) whenever they know the needed textual fix. Feel free to use the Edit option in cases where you are comfortable with it.
Thanks again for creating this Issue 2245.
I am now Closing this Issue 2245.


Stapler regression

Fixes regressions with XML serialization as reported in https://issues.jenkins-ci.org/browse/JENKINS-33546

@ExportedBean/@Expoerted annotations not read on Collection classes
Plural to Singular renaming fails for nested classes

Memo of the discussion:

array state handling looks strange.
test case needs to have all the property names plural to be able to detect when exactly toSingular happens

Reverted array singularization logic, added tests. All looks good now.


Add prod overlay

/hold
Please hold to merge, need double check if something is missing

/approve


Make it possible to evaluate expressions over (ITF) traces

Often, it is difficult for humans to evaluate or inspect a counterexample and mine it for information.
This is mainly due to the fact that invariants, for which counterexamples are found, are often sizeable and made up of numerous sub-components, or the states themselves contain a large number of variables.
We propose the following feature: Given an ITF trace and a collection of labeled (named) state-level TLA expressions , have Apalache output a mapping over the trace, where the expressions are evaluated at each state.
Example:
Assume a specification over two Int variables, x,y and an invariant x < 10 /\ y < 10 produced a trace
(x=1,y=2) -> (2,2) -> (4,2) -> (4,6) -> (10, 6)
Invariant violation: x >= 10 \/ y >= 10

If we want to evaluate the expressions A: x + y, B: x > y and C: y < 10 over the trace, we should see:
(A: 3, B: FALSE, C: TRUE) -> (4, FALSE, TRUE) -> (6, TRUE, TRUE) -> (10, FALSE, TRUE) -> (16, TRUE, TRUE)

or
A: 3 -> 4 -> 6 -> 10 -> 16
B: ...
C: ...

@konnov @shonfeder @thpani @bugarela thoughts?

As an idea: This also has flavor of runtime monitoring.

adding @tesnimab to follow up on the discussion of input/output

Currently, this issue in the bugfixing milestone. If it's more than a week of work, we should probably make a separate milestone for it. @Kukovec what do you think?

Done! :tada:


Add async URLSession methods

Thanks to @b1ackturtle for providing the foundation of this work in #4705!
This PR implements the remaining async URLSession methods and the URLSessionTask.delegate property, allowing a delegate to be set in the async methods (or in a non-async context before resumption). URLSessionTask.delegate returns the explicitly set delegate if present, otherwise returns the session delegate as? URLSessionTaskDelegate. It's now used wherever we previously casted the session delegate to URLSessionTaskDelegate. To accompany this change, functions in extension URLSessionTaskDelegate (which are called if not implemented by the task's delegate) now check if the session's delegate implements it and call the session's delegate if that's the case.

@swift-ci please test


Make changes to the GUI

Design UI to meet the basic commands

Tasks can now be color coded

GUI is modified to fit task manager


PO Extractor - allow to import multi-lines msgstr

this change should support when POT files contain multiline strings as msgstr
for example:
msgid "Hello"
msgstr "Hello string"

msgid "Multiline"
msgstr "Multiline string \n"
"Another line"

thanks @vi0dine, fyi I don't have write access so I can not merge it.


Ambiguous catalog matching when analysis + model have same name

Describe the bug
After running dbt docs [generate|serve] <options>, the resulting generated documentation shows inconsistent information between the different tables. Certain tables are missing almost all of the table details (ex. owner, package, row count, etc.) and only includes a subset of the columns that are actually produced. This has been narrowed down to only occur when there is a file in the analysis/ directory with the same name as one in either of the models/ or snapshots/ directories.
Steps To Reproduce

Create a file models/foo.sql with the following SELECT statement

select '1' as id, 'foo' as first_name, 'bar' as last_name

Run the model and materialize in Data Warehouse (Redshift)
View the documentation by running dbt docs [generate|serve]. The full details for the foo model will be displayed
Create a new file with the same contents as step 1, but under analysis/foo.sql.
Repeat step 3, but this time, the documentation will be missing almost all of the important information

Expected behavior
The full documentation should be displayed, regardless of whether a file in the [models|snapshots]/ and analysis/ directories have identical names. Analysis is only used for local debugging purposes, and should not affect documentation, which typically reflects the remote production state.
Screenshots and log output
Screenshot showing the missing details

System information
Which database are you using dbt with?

[ ] postgres
[x] redshift
[ ] bigquery
[ ] snowflake
[ ] other (specify: ____________)

The output of dbt --version:
installed version: 0.17.2
   latest version: 0.18.1

Your version of dbt is out of date! You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation

Plugins:
  - bigquery: 0.17.2
  - snowflake: 0.17.2
  - redshift: 0.17.2
  - postgres: 0.17.2

The operating system you're using:
Mac
The output of python --version:
Python 3.7.3

Thanks for writing this up after our conversation in slack, @prithvisathiya! The underlying issue here is that dbt associates catalog entries with analyses rather than models if they have the same name. We should fix that; since dbt does not materialize analyses in the database, I think it could exclude them from catalog matching altogether.
I believe the relevant bit of code is here:
https://github.com/fishtown-analytics/dbt/blob/fec0e31a25d5b922cb1833cffcb5095eb4ee642b/core/dbt/task/generate.py#L98-L122

It's probably fair to say that only refable nodes should be matched up to catalog objects. So this could be as simple as filtering the node_map used here.
(That would exclude tests stored in the database, newly viable for cataloging in v0.20.0—but tests aren't exactly documented today as it is, and I don't think database metadata about tests persisted as objects is particularly interesting.)
With that direction in mind, I'm going to call this one a good first issue.


50% performance / throughput degradation after upgrading from 1.0.0 to 1.3.5

We recently upgraded the version of redis-py-cluster used by one of our services from 1.0.0 to 1.3.5 and saw a large performance hit. The following graphs show what happened when we reverted back to 1.0.0:

CPU usage increased by 10% and Memory usage increased by 40%. This graph shows what happened when we reverted back to 1.0.0:

Throughput of the service decreased by 50% (again, graph shows performance improve after reverting)

The team working on this has not had time to profile the code further yet. I asked them to run their code under cProfile but AFAIK that only provides CPU stats and not memory stats. We'll see what they come back with.
I know you mentioned the pipeline class got a major rewrite in 1.3.1, do you think that might have contributed to it?

Interesting indeed. If you have data on the usage patterns of what commands you are using mostly it would help to narrow down the code paths you are using the most.
I checked the diff between 1.0.0..HEAD and what i found out was that i would not be super surprised about the 10% cpu increase. There was some work done mainly in the execute_command function that could cause that increase. There is also some additional code in the nodemanager and connection classes that could help to contribute to things. Nodemanager.encode() could be it as well.
If you are using pipelines in that dataset you posted above, i am sure that some of the cpu increase is from the big rewrite that took place a while back.
But i am more interested in the memory problem you are seeing. An 40% increase with the same code is a major bump in the overhead. I would try to focus on this part to see where the difference is. But same here, i would need to have a narrow down of what types of commands you are using and to what scale you are using them as that could help me to look into the code on my end as well to see if there is some major issue or major new object allocation that is happening.

One thing I realized is that we bumped both redis-py (2.10.3-->2.10.6) and redis-py-cluster (1.0.0-->1.3.5) and also added hiredis (None-->0.2.0), so we need to isolate whether it's truly in redis-py-cluster.
Let me do some further black box testing to see which version bumps it before diving into the actual code.

@jeffwidman Any update on this issue?

Closing due to long term inactivity. I personally do not have sucha production envrionment setup like you have here @jeffwidman so i can't really test this out myself either. If you ever find out what the issue is and what is causing this behaviour, please either reopen this issue, or open a new issue with new information about the issue.

My apologies, I am no longer supporting this particular team, so can't repro it. I kept meaning to get back to this, but was unable to.

@jeffwidman Do you remember anything about the general usage pattern that you wore doing? Was it mostly simple get/set operations, how many ops? general size of the cluster and how much data in it? I might be able to setup and test it myself if i get the general parameterrs of the problem.

To be honest, it was/is a complete mess... so many levels of wrapping in that code that when the team told me the only perf degradation was flipping between the versions, I didn't exactly believe them--too easy for there to be other side effects. That's why I was planning to directly experiment myself, as well as use pyspy to track where the time was actually being spent. It's not worth it... the better thing is to just do some various tests and see where pyspy shows time being spent and see if anything jumps out at you.

Yeah what i guessed is that it can't only have been you guys that noticed that major of a slowdown, it should have been reported plenty more by other people with sucha big degredation of performance. But a performance degredation is what you go in for when you go into a redis cluster by default, there will be overhead that you can't avoid, but there has always been more and more complexity and more calls on the stack for each release so i am not surprised in reality, just the severity of the reported problem was schocking. But unless there will be some other reports with more data to dig deeper into, i will not think about it really.


MSSQL connector TLS support has undergone security review

AC:

[ ] the security architect has reviewed the code changes

@andytinkham we don't have the right kind/ label for this kind of card - any ideas for what the right one would be? Maybe we need to add one?

@andytinkham we don't have the right kind/ label for this kind of card - any ideas for what the right one would be? Maybe we need to add one?

Sounds like the case, yes. I'll get one added.

Outcome of review
We talked through the STRIDE model and identified potential attacks in Information Disclosure and Denial of Service.
Information disclosure

[ ] Check the log messages we write out to make sure we don't explicitly write out sensitive info
[ ] Check the issues on the main go-mssqldb project to see if there are any information leakage issues known
Long term - obfuscating known sensitive data including  error messages echoed from the server is worth exploring across all connectors

Denial of Service

What is the overhead of a go channel? Given Secretless creates a go channel for each connection, could Secretless or the target server be DoS'd by maliciously or accidentally creating a large number of connections at once? Also, if Secretless doesn't close out connections after set amount of inactivity, is it possible to consume all available open connections and DoS Secretless?

{TODO: add response here}

What (if any) garbage collection occurs during the process of transferring data back to the client app? For example, if a query returned GBs of results, would Secretless choke and die, essentially DoSing itself?

{TODO: add response here}

Long term - a solution might be to introduce a worker pool into Secretless across all connectors to effectively provide a throttle/load balancer effect but that's out of the scope of this effort.

Summary
Other than addressing the 2 immediate actions and getting more info on the open questions, we didn't see anything else that needs handling right now.

Check the issues on the main go-mssqldb project to see if there are any information leakage issues known

Searching through the existing go-mssqldb issues, I didn't see any that would be cause for concern on our part from a security or functionality standpoint.

All questions have been responded to, so I'm closing this issue now.


Docker epic checkboxes and goal

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

completed. Closing this


Extend monitor diagnostics with multi-dataset plots

Description

This PR adds a new monitoring diagnostic: monitor/multi_datasets.py. This diagnostic produces three plot types (time series, maps, and vertical profiles). For each of them, multiple datasets can be shown in one single plot, which allows a direct comparison to a reference dataset.
In addition, this PR restructures the documentation of the monitoring diagnostics, which makes adding doc for new monitoring diagnostics much easier.

Example plots:

Link to documentation: https://esmvaltool--2657.org.readthedocs.build/en/2657/recipes/recipe_monitor.html

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Code is written according to the code quality guidelines
[x] 🛠 Documentation is available
[x] 🛠 Tests run successfully
[x] 🛠 The list of authors is up to date
[x] 🛠 Any changed dependencies have been added or removed correctly
[x] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[x] 🧪 Recipe runs successfully
[x] 🧪 Recipe is well documented
[x] 🧪 Figure(s) and data look as expected from literature
[x] 🛠 Provenance information has been added

To help with the number of pull requests:

🙏 We kindly ask you to review two other open pull requests in this repository

Yes, that's a good idea, I will put this diagnostic in a separate recipe!


Add folder for Julia submissions.

🚀 Feature
(A clear and concise description of what the feature is.)
Have you read the Contributing Guidelines on Pull Requests?
Yes, indeed.
Motivation
Add folder for Julia submissions.
Pitch
Julia is a high-level language that is great for scientific computing. I believe that it would be a great addition to have algorithms in Julia as well.

@VijayaGB98 Can I work on this issue?