HBoxContainer doesn't shrink after child controls shrink

Godot version:
3.1
OS/device including version:
macOS 10.14.4
Issue description:

Setting rect_min_size.x on a button that's in a HBoxContainer to a value larger than the container (and its parent, a PopupPanel) will result in the HBoxContainer keeping that width even after the button is shrunk later on:
extends PopupPanel

func _ready():
    connect("minimum_size_changed", self, "_minimum_size_changed")
    connect("resized", self, "_resized")

    $HBoxContainer.connect("minimum_size_changed", self, "_box_minimum_size_changed")
    $HBoxContainer.connect("resized", self, "_box_resized")

    call_later(self, "_grow", 1)
    call_later(self, "_shrink", 2)
    call_later(self, "_print_sizes", 2.5)

    show()

func _grow():
    log_message("growing")
    $HBoxContainer/Button.rect_min_size.x = 800

func _shrink():
    log_message("shrinking")
    $HBoxContainer/Button.rect_min_size.x = 200

func _minimum_size_changed():
    log_message("PopupPanel.rect_min_size: " + str(rect_min_size))

func _resized():
    log_message("PopupPanel.rect_size: " + str(rect_size))

func _box_minimum_size_changed():
    log_message("HBoxContainer.rect_min_size: " + str($HBoxContainer.rect_min_size))

func _box_resized():
    log_message("HBoxContainer.rect_size: " + str($HBoxContainer.rect_size))

func _print_sizes():
    log_message("final sizes:")
    _minimum_size_changed()
    _resized()
    _box_minimum_size_changed()
    _box_resized()

func log_message(message):
    print(str(OS.get_ticks_msec() / 1000.0) + "s - " + message)

func call_later(call_target, function_name, seconds_as_float):
    var timer = Timer.new()
    timer.connect("timeout", call_target, function_name)
    timer.set_wait_time(seconds_as_float)
    timer.one_shot = true
    timer.start()
    call_target.add_child(timer)

The example is contrived in order to be minimal, but having such a larger size can be possible in intermediate states before coming to a final size, especially when there are other child controls in the HBoxContainer and you don't know their size.
Steps to reproduce:
Run the attached project and wait for it to finish. The expected behaviour is that the HBoxContainer shrinks eventually.
Minimal reproduction project:
size.zip

I think that this pretty much is the "The Expected Behaviour" let me break it down,

The rect_size is increased because of increasing minimum_size obviously(min_size has been less or equal).
Then on decreasing the minimum_size, you don't see a change as the min_size relation is still true. It's still less than the rect_size.

I don't think this is something that devs would intend to add.

Also @clayjohn this would be entirely part of the GUI which is part of the scene and not related to the core is the core tag acceptable/appropriate??

I think that this pretty much is the "The Expected Behaviour" let me break it down,

The rect_size is increased because of increasing minimum_size obviously(min_size has been less or equal).
Then on decreasing the minimum_size, you don't see a change as the min_size relation is still true. It's still less than the rect_size.

I don't think this is something that devs would intend to add.

So is there a recommended way of doing this in that case? Are controls not responsible for managing their size based on their children? Is the user really expected to have to shrink a control after its children change size? :/
For what it's worth, I ended up ditching HBoxContainer altogether and manually positioning items.

@mitchcurtis I would say change the rect_size not the rect_min_size.... :/

@swarnimarun the topic tags don't correspond to those folders in the top level of the repo. In this context 'core' does not mean stuff in the core folder. Also, there is no tag for 'GUI' or 'Scene'.

@mitchcurtis I would say change the rect_size not the rect_min_size.... :/

That goes against the point of having an item manage the size of its children. It's the same in other UI toolkits like Qt: you can't set the width and height of items because the layout engine stores the calculated values in those properties.
https://docs.godotengine.org/en/latest/tutorials/gui/gui_containers.html#container-layout says:

When a Container-derived node is used, all children Control nodes give up their own positioning ability. This means the Container will control their positioning and any attempt to manually alter these nodes will be either ignored or invalidated the next time their parent is resized.

That quote was actually about positioning, but I imagine it's the same for size - after all, what happens if you set the size flags to expand + fill? The size that you specify will be overwritten when the container resizes that item.
https://godotengine.org/qa/23362/buttons-in-vboxcontainer-containers-not-resizable?show=23370#a23370 also mentions it.

Ah. It would make sense for Container nodes. So probably it should be specific to Container Nodes, and it's children. Will look into it, and PR a fix today.

Found this page after I had a similar issue, and can confirm that appropriately setting the size flags does solve it. Shouldn't this bug be closed?

I actually encountered a bug that sounds like this issue.

I add text to label that will expand the container, then undo. The container doesn't return to the original size, but when I save the scene and reload it, the container magically shrinks. I've seen it many times where container has some "internal size" not matching its current size and it fixes itself on scene reload.

What if there was a property on the Container itself for shrinking its size in this case?

A bit late to the party, for future reference for anyone who finds this thread, setting a container's (e.g. HBox or VBox) RectSize to a zero vector will shrink it to the size of the child controls. So the easiest way to achieve this constant shrinking is to just put RectSize = new Vector() into the physics process method of the container.


Fix for alks sessions list issue

This branch fixes an issue with alks sessions list.  Calling alks sessions list twice causes the non-IAM keys to initially be properly listed, then improperly encrypted when being written back out to the DB.  This is because the second call to getKeys called the removeExpiredKeys functionality.
I refactored the removeExpiredKeys into its own function earlier in the callback chain.

Upon further reflection, there are a couple other areas in the code which rely on getKeys() to perform cleanup.  I'll take a second crack at this.


clean build task not working

When trying to run clean I get the following output:
Failed to clean project because the output path overlaps with the current working directory.
The terminal process terminated with exit code: 1
Below is my asconfig file:
{
  "config": "royale",
  "compilerOptions": {
      "debug": false,
      "targets": ["JSRoyale"],
      "source-map": false,
      "js-library-path": [
          "../Spectrum/target"
      ],
      "remove-circulars": true,
      "html-template": "index-template.html",
      "js-compiler-option": [
          "--skip_type_inference"
      ]
  },
  "copySourcePathAssets": true,
  "additionalOptions": "-js-output-optimization=skipAsCoercions  -warn-public-vars=false",
  "files":
  [
      "src/SpectrumBrowser.mxml"
  ]
}

You know, I don't think I tested the clean task with Royale projects. Without looking at the code, I think I already know how to fix it, though.
Thanks!


Implement serialize/deserialize for core::ops::Range

@preston-evans98 Overall, it looks good to me. Could you also add tests and a record to the CHANGELOG file in the root of the project?

Sure thing! Clippy is failing for reasons that look (at a glance) unrelated to this change. Have you encountered those before? If not, I can dig in and debug.

It turned out the clippy issue was just some new lints added since the last pull. I've fixed the warnings and rebased on top.
In case you prefer to keep the PRs separate, I've opened #125. Feel free to close without comment if you'd prefer to merge both changes together.

@preston-evans98 Thanks for the contribution! 🎉

@preston-evans98 borsh 0.10.1 has just been released with this change included!

Amazing, thanks!


Flutter not running on Microsoft Android Emulator

Steps to Reproduce
Tried running a new flutter app on Microsoft Android Emulator

flutter create hello_world
flutter doctor -v
flutter run -v

Outcome:
Application flashes on the emulator.
Opening it manually on the emulator displays white background
Logs
flutter_run_v.txt
opening_application_in_emulator.txt
flutter_analyze.txt
Flutter Doctor
[√] Flutter (Channel dev, v0.2.2, on Microsoft Windows [Version 10.0.15063], locale en-GB)
• Flutter version 0.2.2 at C:\Flutter\flutter
• Framework revision b9bd51cc36 (11 days ago), 2018-03-13 12:42:29 -0700
• Engine revision e44cd55fc4
• Dart version 2.0.0-dev.35.flutter-290c576264
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at C:\AndroidSetup\android-sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-27, build-tools 27.0.3
• ANDROID_HOME = C:\AndroidSetup\android-sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[√] IntelliJ IDEA Community Edition (version 2017.3)
• IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.3.4
• Flutter plugin version 22.2.2
• Dart plugin version 173.4548.30
[√] VS Code, 64-bit edition (version 1.21.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Dart Code extension version 2.10.0
[√] Connected devices (1 available)
• 5 2 inch Marshmallow 6 0 0 XXHDPI Phone • <IP_ADDRESS>:5555 • android-x86 • Android 6.0 (API 23)
• No issues found!

For more information about diagnosing and reporting Flutter bugs, please see https://flutter.io/bug-reports/.

I have the same issue

Genymotion seems better in this case

also if this helps i recall the first time i installed flutter it worked on Microsoft Android Emulator. this was sometime in January.

Looks like Microsoft has abandoned work on their Android emulator. See here: https://github.com/MicrosoftDocs/visualstudio-docs/issues/748 and this statement posted by Microsoft.

@timsneath But it is still the only emulator which works with hyper-v :(

@timsneath Hi, are there any updates since Build 2018 official Android Emulator with Hyper-V support announcement?
I'm trying to get it working, but I'm having hard times to do it with flutter.

Just installed latest VS Android Emulator and created a KitKat 4VS Emulator I can see the VM instance running:
flutter emulators
Starting the emulator instance give the following error:
flutter emulators --launch Pixel_2_API_28
emulator: ERROR: x86 emulation currently requires hardware acceleration!
I don't see an option in hyperv to enable acceleration. Is there a way to short circuit HW accel using the --enable-software-rendering switch? It doesn't seem to work with the emulators launch commands.
Any other thoughts would be helpful, am trapped like the others with Hyperv/Docker.

I have just tried with the latest Android Emulator (27.3.10) with Hyper-V and Windows Hypervisor Platform enabled, and debugging a Flutter app on the emulator works. Performance is not as smooth as HAXM however.


Added verbose alternative to assert_tokens_eq! and added shields

Also

Wrapped the links in the README in <...>
Added myself as a co-author

Path forward
Possibly later I'll rewrite the macro to enable accepting also an Opts struct. I found that parameterization of assert_tokens_eq! needs a bit more refinement. For example, wrapping the TokenStreams in fn __wrapper() { ... } could be something that many people wouldn't want. Also, my use case of verbosity could be changed to a show_full_left :bool and show_full_right :bool options.

// Supplying the options like this is a bit verbose but
// it was the only *easy* way to preserve the original API.
assert_tokens_eq!(ts1, ts2, opts: opts, "This is a comment");

In theory we can even simplify opts: opts to opts  or any other ident of type Opts by using autoref-based specialization. However, I don't know the implications of this approach well enough.

Hey! Thanks for your contribution! I haven’t used this crate in quite a while so I’m happy to merge what you think is helpful :)
is this feature compete and ready to be merged?

@killercup As much as I tested, yes.


"Too many active WebGL contexts" error

When I put 4 different ngl viewers on the same page, I get the following error. After googling around, it seems that there is a workaround for that problem: https://stackoverflow.com/questions/21548247/clean-up-threejs-webgl-contexts

THREE.WebGLRenderer: Context Lost.
STAGE LOG loaded ''
THREE.WebGLRenderer: EXT_texture_filter_anisotropic extension not supported.
Detached NglViewer
THREE.WebGLRenderer: Context Restored.
WARNING: Too many active WebGL contexts. Oldest context will be lost.

 If I open the example webapp page (1 ngl instance) in firefox and hit refresh 16 times I get the same warning (but the current page works)
There are browser limits for total number of webgl contexts (across all tabs) and total per principal (which I think in this case principal == origin?), the limits are browser and platform dependent but quite low (can't find official documentation but 8 or 16 per principal on desktop looks standard).
So if you've got 5 tabs with 4 NGL instances in each that could more than exhaust the total available and some of those would stop working.

It actually does what it says, i.e. older contexts are lost and only the most recent ones are working.
I understand that there are browser-related limits, however I hope there is a way to work around it. For instance, this post mentions that they were able to solve the issue by using the same renderer for all scenes:
https://stackoverflow.com/a/23201836
As another data point, we are using tens of other WebGL (three.js)-powered viewer on one page, and it does not seem to cause any issues.

Hi, sorry for reopening this issue. I have the same problem loading NGL in a modal window. After close / open the modal a few times I get this error. Is there any way to totally clean the stage after closing the modal?
Thanks.


Can you create a tag from a specific reference please?

Hi,
The one of my old project with using laravel 4.2 has been configured as dev-master.
dev-master version is referenced to 1b85aa6075521549fa8094048c00d5e4dfc5015c, because v0.2.1 version has a few bugs.  I would be happy if it is possible to create  a new tag this reference (https://github.com/jildertmiedema/laravel-plupload/commit/1b85aa6075521549fa8094048c00d5e4dfc5015c) as v0.2.2 or something.
Thanks.

done


Facebook Connector Error!

Rasa Core version: 0.8.2
Python version:  3.5.2
Operating system (windows, osx, ...): Ubuntu 16.04
Issue: I got this error when sending text to my moodbot via Facebook Messenger:
_2018-02-28 10:55:30 ERROR    rasa_core.processor - Encountered an exception while running action 'utter_greet'. Bot will continue, but the actions events are lost. Make sure to fix the exception in your custom code.
2018-02-28 10:55:30 ERROR    rasa_core.processor - send() missing 1 required positional argument: 'messaging_type'
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/rasa_core/processor.py", line 302, in run_action
events = action.run(dispatcher, tracker, self.domain)
File "/usr/local/lib/python3.5/dist-packages/rasa_core/actions/action.py", line 69, in run
filled_slots=tracker.current_slot_values())
File "/usr/local/lib/python3.5/dist-packages/rasa_core/dispatcher.py", line 124, in utter_template
self.utter_response(message)
File "/usr/local/lib/python3.5/dist-packages/rasa_core/dispatcher.py", line 59, in utter_response
message.get("buttons"))
File "/usr/local/lib/python3.5/dist-packages/rasa_core/dispatcher.py", line 95, in utter_button_message
**kwargs)
File "/usr/local/lib/python3.5/dist-packages/rasa_core/channels/facebook.py", line 165, in send_text_with_buttons
{"sender": {"id": recipient_id}})
TypeError: send() missing 1 required positional argument: 'messaging_type'
<IP_ADDRESS> - - [2018-02-28 10:55:30] "POST /webhook HTTP/1.1" 200 122 0.115960
Could you help me out of this issue? Thanks in advance

There was a major update of the fbmessenger library (from 4.x to 5.x).
We have updated the code on master to use 5.x, but that release still uses 4.x so make sure to install that. I just started the release for rasa core 0.8.3 which contains this requirement in the setup.py and should enforce it during installation.

@tmbo  Thanks so much :)


C# [Export] not registering as language keyword, even after Mono->Build

Godot version:

3.0.6
OS/device including version:

Windows 10
Issue description:

using no external editor.
I'm following the First Game Tutorial in C# and I came across the first script. using [Export] it should turn blue along with the brackets just like in the tutorial. Every keyword/reserved word so far has changed color according to what looks to be a color scheme.
I thought, maybe it's just a glitch,
so i saved the scene and saved my script, then I followed the instructions and hit Mono->Build project
this closed down my engine. So I reopened it expecting to see the variable in the inspector, but it wasn't there.
I'm not sure what do at this point since I've spent hours trying to make this work like it does seemingly everywhere else.
this is my script
using Godot;
using System;

public class Player : Area2D
{
	[Export]
	public int Speed = 0;

	private Vector2 _ScreenSize;
    // Member variables here, example:
    // private int a = 2;
    // private string b = "textvar";

    public override void _Ready()
    {
        // Called every time the node is added to the scene.
        // Initialization here

    }

//    public override void _Process(float delta)
//    {
//        // Called every frame. Delta is time since last frame.
//        // Update game logic here.
//
//    }
}

Steps to reproduce:
Minimal reproduction project:

3.0

Are you using 3.0 from January 2018? If so please update to 3.0.6.

3.0

Are you using 3.0 from January 2018? If so please update to 3.0.6.

Sorry, I meant 3.0.6
I downloaded Godot a few days ago.
I thought it was 3.0

Can anyone still reproduce this bug in Godot 3.2.2 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

Closing due to lack of update. Please comment if you can still reproduce this issue in the latest stable version of Godot.


bridge is being tested

please ignore; this is a test of the customer support bridge

hello, please ignore

close

reopening with comment

please ignore, again

please ignore this comment

closing comment


Build a generic data attribute interface which maps 1:1 to the component props

We need to rethink the DOM API for the standalone version. Currently it looks like that:
<div spec="{…}">

But passing JSON as an HTML attribute isn’t as easy as it seems (#104). And it would be nice to add support for all ApiReference props.
WIP: #236

Done in #236


Correcting kmeans documentation

Correcting the documentation of cluster.vq.kmeans as per issue #2279 .

In "Background", "defined as the sum of the squared distances between each observation vector and its dominating centroid" still appears. Shouldn't this be changed, too?

Thanks for your input, you are right about the minimization objective function. It is the sum of the squared distances, not the average distance.
My primary observation was that the second return from kmeans, called "distortion", is neither the "sum of the squared differences", nor the mean squared distance, nor even the RMS. It is the mean plain old non-squared distance. This is demonstrated with the trivial 1D test with 1 cluster shown below.
However, in line with your comment and the documentation, the same test shows that the minimization objective function is the sum of the squared distances.
The example:
>>> set = array([[0., ],
...              [0., ],
...              [3., ]])
>>>
>>> codes, d = kmeans(set, 1)
>>> codes
array([[1.]])
>>> d
1.3333333333333333
>>> vq(set, codes)
(array([0, 0, 0], dtype=int32), array([1., 1., 2.]))

Note that in the terminology of the vq module, "code" means the cluster center. This comes from the information theory jargon, as explained in "Background".
So the center of the single cluster in this example is 1. This is unsurprising, as 1 is the arithmetic mean of the set of observations (0,0,3). This also shows that the sum of the squared distances is used as the minimization objective. If the average distance was used as the minimization objective, the cluster center would be at zero. So far so good.
Now notice that the second return, called "distortion", is 1.3333333333333333. This is nothing else but the mean distance from the observations to the cluster center. The distances (non-squared) are given in the second return from vq(set, codes) in the example. The sum of the squared distances is 6, the mean squared distance is 2, the RMS distance is sqrt(2), while the mean non-squared distance is 1.333...
I observed this consistence of the second return from kmeans with the mean non-squared distance on several real cases in 3D. So I am reasonably confident that this is indeed the definition of this return value.
But I put my correction in the wrong place. In the context of the sentence that I initially corrected, the "distortion" is used to mean the minimization objective function.
I will now push a new commit with my updated proposed corrections. Let me know what you think.
PS. You have probably noticed by now that I use the term "distance" for its plain meaning in the Euclidean space, i.e. the (non-squared) magnitude of the difference of two vectors. The "distance" array returned by the vq function also contains non-squared distances. The corrections in my PR are consistent with this definition.
PPS.  Speaking of the "sum of the squared differences": Note that differences between points in n>1 dimensions are not defined. One might talk about differences of individual coordinates, but that would unnecessarily complicate the explanation. I prefer to say "sum of the squared distances" for the minimization objective function.

@StrahinjaLukic You said "I observed this consistence of the second return from kmeans with the mean non-squared distance on several real cases in 3D. So I am reasonably confident that this is indeed the definition of this return value."
Thanks! The code seems to agree (I trace it below).
But is this what you would want the second output of kmeans to be?
Or would it make more sense for it to be the actual objective function?

The function kmeans says that its second output is distortion (line 375), which is really called best_dist inside the function (464). best_dist is the best value of dist (463), the second output of _kmeans, after _kmeans is run iter times.
The docustring of _kmeans calls the second output avg_dist (279) and defines it as
    avg_dist
        the average distance a observation is from a code in the book.
        Lower means the code_book matches the data better.

So this would be consistent with your findings. As the docstrings are already known to be inconsistent, we'd better look further : ) avg_dist is actually prev_avg_dists[1], which comes from line 311:
prev_avg_dists.append(distort.mean(axis=-1))

So lit looks like it is indeed a mean of something!
distort is the second output of vq (310), which calls its second output dist (186):
    dist : ndarray
        The distortion (distance) between the observation and its nearest
        code.

Depending on the data type, this either comes from _vq (Line 211, imported from another file) or py_vq (212), which calls it (on line 239):
    mind_dist : ndarray
        min_dist[i] gives the distance between the ith observation and its
        corresponding code.

mind_dist comes from taking a minimum over dist (264), which comes from taking scipy.spatial.distance.cdist between the obs and code_book.
So I believe your change is correct, at least if py_vq is called and if there are no mistakes in the code.

@mdhaber , thanks for looking all the way up in the code!
What would I want the second output of kmeans to be? It seems to me that the most useful output (besides the list of centroids) is actually the list of "labels" telling which cluster which observation belongs to. This is, for example, returned by kmeans2. The list of labels can also be calculated by the user, but at the cost of repeating the calculation of distances (squared or non-squared). This consumes CPU time and leads to the creation of excess code.
It is interesting for some use cases to have kmeans return also the value of the objective function. This was proposed in issue #2279.
I am not sure whether the "average distance" that is returned at present is useful at all.
In any case, I would not change the minimization objective function.

I agree.
Regarding returning the value of the objective function: why modify the documentation when we could actually fix the bug? This is what the public documentation says is supposed to happen, so I think it's safe to fix that.
As for returning the list of labels, kmeans2 already does that, so I wonder why that was not part of the original plan for kmeans. I understand that returning a new third parameter could break existing code, but perhaps an optional argument like return_labels (default False) could be set True to get those.
What do you think?
In any case, thanks for your patience and help!

I agree on all points. I will now close this PR. Let me know if I can assist.

@StrahinjaLukic Certainly you're welcome to assist : ) I mean, if you're willing to make the change, I'd be happy to review again. I'd suggest fixing the returned "distortion" in one PR and returning the list of labels in another.

Ok. Will do so.

Ok, looking through the code with the goal to modify it so that it returns the "minimization objective function" value I realized the following: Kmeans does not explicitly minimize any function. It performs the optimization using an algorithm that iterates the following two steps:

Distances of observations from the centroids are calculated and each observation is assigned a centroid it belongs to. For this, vq.vq() is called. We may call this step the membership update.
Each centroid is updated to the mean of the observations currently belonging to the centroid. This is done by calling _vq.update_cluster_means(). We may call this step the centroid update.

1 and 2 are repeated until the (non-squared) average distance is (almost) not changing anymore, i.e. it is stable. Note that the iteration stops when the average distance is stable, but in general this does not happen at a local minimum value of the average distance! The criterion is stability, not minimum. This is the answer why in my trivial example the resulting centroid is not 0 but 1. With the "centroid" at 0, the average distance would be at its minimum. With the "centroid" at 1, it is not, but it is stable over the iterations outlined above.
On the other hand, when the average distance is stable, the sum of the squared distances is at a local minimum, despite the fact that it is not even calculated at any point of the algorithm. This is a simple consequence of two facts:

At convergence, the cluster "membership" of the observation points is stable.  An exception are observation points at nearly the same distance from two or more centroids. Membership update for such points has little influence on the average distance or on the squared distances.
Since the centroid update sets the centroids to the Euclidean mean location of the corresponding cluster, the sum of the squared distances within each cluster is at a local minimum at the end of every iteration of the algorithm. At convergence, the sum of the squared distances of all clusters is also at a local minimum.

A remaining question for this discussion is the following: If we want to return the sum of the squared distances from kmeans(), we need to add an extra calculation step after convergence. I am not sure if it is necessary to add this calculation regardless of the needs of the specific application. If the user needs the sum of the squared distances, they can use vq.vq() to get the array of distances and calculate the sum of the squared distances from it. So with this reasoning, I am inclined to reopen my suggestion to correct the documentation. This time around, I think that the brief description of the kmeans algorithm should also be updated. What do you think?

OK. I agree now that updating the documentation only is appropriate. A reference would be good for "On the other hand, when the average distance is stable, the sum of the squared distances is at a local minimum." but in any case I think it's an improvement.

@StrahinjaLukic The changes look good to me. I agree now with the decision to change only the documentation. The changes to the documentation fix the original issue and also improve it otherwise. I think you've changed the documentation in all the places needed.
@perimosocordiae I see you reviewed this before, so I thought I'd reach out as I'm new to the core team. - should I just click the big green Merge button? : )

@mdhaber Thanks for pinging me on this. I left some very minor comments, but overall I'm +1 to merge.
I typically go with the "Squash and merge" option, but if the PR author has been careful to keep a tidy commit history with meaningful messages I'll use the "Rebase and merge". I don't think we've standardized on an approach.

I made the changes that @perimosocordiae suggested.
Some of my commit messages refer to sentences I added and then deleted as I learned details about the algorithm along the way. Perhaps those messages are not very useful for the history...

@StrahinjaLukic That's fine, the "Squash and merge" option makes it easy for us to merge a single coherent commit, regardless of the state of the actual commits in this PR.

Thanks all!


IOU - Payment turns into Submitted expense for a short time

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.76-5
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Log in as a Gmail account
Navigate to FAB - Pay someone
Enter any amount
Enter a new Gmail address without an Expensify account
Create the IOU

Expected Result:
It should remain as a paid IOU
Actual Result:
Payment turns into Submitted expense. It reverts back in a few seconds if you open the IOU or refresh the page
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/180de32b-e892-497d-97f1-407b3d0f470b
View all open jobs on GitHub

@greg-schroeder  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
The problem we are trying to solve here is that sometimes when we "Pay Someone" with an email account that is not registered with Expensify, we run into a bug that causes the text to say owes instead of paid after some time.
What is the root cause of that problem?
The root cause of this problem is that the latest report data is not being read from the Onxy data store. The report read from the allReports here is outdated when read, saying the Onxy report has a statusNum: 1 (open), and thus rendering the default text of iou.payerOwes. However, the latest stored data in the Onxy report is statusNum: 4 which causes the ReportUtils.isSettled function to return true, and thus returns the correct iou.payerPaid text here.
What changes do you think we should make in order to solve the problem?
In order to solve this problem, we just need to read the latest Onxy report data when checking if the report isSettled here. Once we have the latest data from the Onxy store, the statusNum will be 4 and will equal REPORT.STATUS_NUM.REIMBURSED, and the correct paid text will show on the UI.
What alternative solutions did you explore? (Optional)
I explored changing the isSettled to also check if report.statusNum == REPORT.STATUS_NUM.OPEN, but that doesn't seem to make logical sense to see if a report is settled.
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

Pretty sure this is a BE issue as the IOU displays correctly initially and then turns into the submitted expense once the SendMoneyElsewhere call completes. SendMoneyElsewhere returns an onyx update that sets the report to submitted:
{
"stateNum": 1,
"statusNum": 1,
}

Ah, fair enough. Okay I will move Internal then

Updated

Waiting for an internal engineer to grab this

Same as above

Same as above

No updates here yet

Still waiting for an engineer to pick this up as it's internal

Issue not reproducible during KI retests. (First week)

Issue not reproducible during KI retests. (Second week)

I'm going to close this as not reproducible, but please reopen if you disagree.


Rewrite rebuild_pipreinstall_and_testexamples.sh in python

rebuild_pipreinstall_and_testexamples.sh does not work in windows land. cmd does not have shell (I am referring to local windows machines, not powershell)
A similar script written in python should work on all systems as python is the only prerequisite required to run the whole show.

Agreed, I want travis CI and github actions on par.
This can indeed by either 3 or N python commands or 1 python script running those same python commands.

There are some actions in that one script that should maybe live in more than one.  On a normaller work I might do it all with a makefile.  There are individual recipes in there that I may want to call individually or altogther.
Sadly make is a missing from window cmd as sh is.
Investigating python equivalents:
https://pypi.org/project/py-make/


IRGen: Shuffle self value for witness method partial applications

• Explanation: Partial applies of generic witness methods resulted in a compiler crash. We needed to splice self inbetween the polymorphic arguments and the error argument but before the self metadata and witness table arguments.
• Scope of Issue: Partial applications of generic witness calls are affected.
• Origination: This probably never worked.
• Risk: Low.
• Testing: A regression test was added. The project that reported the issue compiles successfully.
• Directions for QE: Verified by regression test added.
rdar://problem/28302820

@swift-ci  Please test

@slavapestov Can you review this change?

Looks good.

@swift-ci Please test os x platform

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 1c22ab6d371f3a458367279ce485549b2ec285ce
Test requested by - @aschwaighofer

@swift-ci Please test OS X platform

@swift-ci Please test os x platform


Add very basic instructions in README

Something is better than nothing...
Signed-off-by: Kevin Petit<EMAIL_ADDRESS>

Thanks @kpet this is indeed sorely needed.
Maybe include a link to the tutorial repository as well:
https://github.com/Kerilk/OpenCL-Layers-Tutorial


[Feature] Pre filtration for K_SHORTEST_PATHS

I need to calculate shortest paths with conditions (conditions may be very hard). I've tried next sample query but it takes me a lot of time
FOR p IN ANY K_SHORTEST_PATHS
'graph_vertices/1' TO 'graph_vertices/2'
graph_edges
OPTIONS {
    weightAttribute: 'weight',
    defaultWeight: 1
}
FILTER p.edges[*]._key NONE IN ['736023', '659112', '695090', '731912', '680907', '699903']
LIMIT 3
RETURN {name: CONCAT_SEPARATOR(' -> ', p.edges[*]._key), weight: sum(p.edges[*].weight)}

I can't use traversal because I don't know about length of path and also I need shortest paths according to weights.
It would be greate to make pre filtration. I mean filter edges collection and then start finding shortest path.

Tobias in Slack:

We have such a feature on our radar and would like to implement it at some point. However, it has not made it onto our roadmap yet.


Krausest Benchmark Implementation

Specific Demand
I’m currently shopping Rust WASM web frameworks. Dioxus is very appealing for its multi platform approach.
One of my considerations is web interaction performance. WASM in theory definitely has a lot of potential, but I’ve heard in informal conversations that actual implementation can yield surprising results and I’ve seen even strong Rust advocates fallback to React after some initial attempts to build their UIs with WASM (specifically Yew).
As a shopper of WASM frameworks, it would be great to see more WASM representation on recognized benchmarking suites. For instance, it’s encouraging to see Yew climb the ranks of the Krausest benchmarks. Compare the current results to these results from 2018.
Implement Suggestion
I’ve not implemented the benchmarks from any framework myself and it seems knowledge of the framework would be desirable to represent the framework well, but at the same time, table row updates, swaps, and additions don’t seem too complicated to implement.
Is Dioxus interested in representation on the Krausest benchmarking results? Is this something a core Dioxus contributor would take up? If not, why and what alternative benchmarks would you suggest I consider?

There are a few examples called "js framework benchmark" that implement this particular benchmark. However, I have had issues with integrating Dioxus with the benchmarking tool itself - the tool stalls even when Dioxus updates the page properly. If you're interested, maybe try taking the existing example benchmark code and try to get it working in the benchmark rig?

@jkelleyrtp Thanks, I wasn't aware of that example. Long weekend coming up, so I may try to set it up. That said, the hardware differences won't give a complete picture until we get the authors of the benchmark to include it, so ideally, we can make an overture over there at some point.

Also I believe the implementation currently found here https://github.com/DioxusLabs/dioxus/blob/master/examples/framework_benchmark.rs does not conform to the benchmark spec.    Specifically, the line: https://github.com/DioxusLabs/dioxus/blob/fe1279a1c591a9ba57feb82a5162e076c940817b/examples/framework_benchmark.rs#L55
replaces the last word with !!! when it should be appending it instead.
I don't know if that could be the problem with why the bench harness doesn't work with dioxus. Also normally the harness prints out the errors for why it didn't work at the end.

And lastly the counter here:
https://github.com/DioxusLabs/dioxus/blob/fe1279a1c591a9ba57feb82a5162e076c940817b/examples/framework_benchmark.rs#L20
should be a global counter, not one that is reset everytime a new list is created.

Ok, I'm having a few issues getting the framework benchmark to compile.

Running cargo run --example framework_benchmark in webview, I get:

                 //Unhandled Promise Rejection: SyntaxError: Unexpected token '?'
                  } else {
                    // @ts-ignore
                    contents.values[name] =
                      element.value ?? element.textContent;
                  }

Following the web platform instructions it doesn't seem entirely straightforward how I would run the framework benchmark through Trunk, as I take it trunk expects a binary Cargo package setup? Should I set this up as a separate package rather than an example?

Ok, I'm having a few issues getting the framework benchmark to compile.

Running cargo run --example framework_benchmark in webview, I get:

                 //Unhandled Promise Rejection: SyntaxError: Unexpected token '?'

                  } else {

                    // @ts-ignore

                    contents.values[name] =

                      element.value ?? element.textContent;

                  }

Following the web platform instructions it doesn't seem entirely straightforward how I would run the framework benchmark through Trunk, as I take it trunk expects a binary Cargo package setup? Should I set this up as a separate package rather than an example?

Can you trying forking the example projects repo and getting the folder working? There's a folder in that repo Dioxuslabs/example-projects that has jsframework benchmark but it's just not working.

OK I think what I'll do is create a separate standalone project that works with trunk serve (we're good on that front). Once I get the benchmark framework working I'll share the results here (probably just comparing to Yew on my local MBP), give you the opportunity to make any adjustments, and then open an MR with a working setup in https://github.com/krausest/js-framework-benchmark.

I've come close to getting everything queued up for a benchmark run; I ran npm run isKeyed -- keyed/dioxus and addressed all of the issues, but Selenium decided to crap out on my machine before actually running the check again.

Click to toggle contents of `code`
```
$ npm run isKeyed -- keyed/dioxus

<EMAIL_ADDRESS>isKeyed ~/Code/open_source/js-framework-benchmark/webdriver-ts
cross-env LANG="en_US.UTF-8" ts-node src/isKeyed.ts "keyed/dioxus"

args.framework undefined true
Frameworks that will be checked dioxus-v0.19.3-keyed
ERROR running dioxus-v0.19.3-keyed WebDriverError: unknown error: net::ERR_CONNECTION_REFUSED
(Session info: chrome=102.0.5005.61)
at Object.throwDecodedError (~/js-framework-benchmark/webdriver-ts/node_modules/selenium-webdriver/lib/error.js:522:15)
at parseHttpResponse (~/js-framework-benchmark/webdriver-ts/node_modules/selenium-webdriver/lib/http.js:549:13)
at Executor.execute (~/js-framework-benchmark/webdriver-ts/node_modules/selenium-webdriver/lib/http.js:475:28)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async Driver.execute (~/js-framework-benchmark/webdriver-ts/node_modules/selenium-webdriver/lib/webdriver.js:735:17)
at async runBench (~/js-framework-benchmark/webdriver-ts/src/isKeyed.ts:264:7) {
name: 'WebDriverError',
remoteStacktrace: '0   chromedriver                        0x00000001010612c9 chromedriver + 5120713\n' +
'1   chromedriver                        0x0000000100fefe33 chromedriver + 4656691\n' +
'2   chromedriver                        0x0000000100bdf158 chromedriver + 393560\n' +
'3   chromedriver                        0x0000000100bd8e75 chromedriver + 368245\n' +
'4   chromedriver                        0x0000000100bca81d chromedriver + 309277\n' +
'5   chromedriver                        0x0000000100bcb5cd chromedriver + 312781\n' +
'6   chromedriver                        0x0000000100bcaa87 chromedriver + 309895\n' +
'7   chromedriver                        0x0000000100bc9ff7 chromedriver + 307191\n' +
'8   chromedriver                        0x0000000100bc8efa chromedriver + 302842\n' +
'9   chromedriver                        0x0000000100bc92a2 chromedriver + 303778\n' +
'10  chromedriver                        0x0000000100be0c6a chromedriver + 400490\n' +
'11  chromedriver                        0x0000000100c446df chromedriver + 808671\n' +
'12  chromedriver                        0x0000000100c31482 chromedriver + 730242\n' +
'13  chromedriver                        0x0000000100c43f41 chromedriver + 806721\n' +
'14  chromedriver                        0x0000000100c31373 chromedriver + 729971\n' +
'15  chromedriver                        0x0000000100c07609 chromedriver + 558601\n' +
'16  chromedriver                        0x0000000100c08635 chromedriver + 562741\n' +
'17  chromedriver                        0x0000000101033b1d chromedriver + 4934429\n' +
'18  chromedriver                        0x0000000101038295 chromedriver + 4952725\n' +
'19  chromedriver                        0x000000010103d3cf chromedriver + 4973519\n' +
'20  chromedriver                        0x0000000101038cba chromedriver + 4955322\n' +
'21  chromedriver                        0x000000010101337c chromedriver + 4801404\n' +
'22  chromedriver                        0x0000000101052c68 chromedriver + 5061736\n' +
'23  chromedriver                        0x0000000101052def chromedriver + 5062127\n' +
'24  chromedriver                        0x00000001010685e5 chromedriver + 5150181\n' +
'25  libsystem_pthread.dylib             0x00007fff5897e2eb _pthread_body + 126\n' +
'26  libsystem_pthread.dylib             0x00007fff58981249 _pthread_start + 66\n' +
'27  libsystem_pthread.dylib             0x00007fff5897d40d thread_start + 13\n'
}
</details>

So... Here is a link to the repo; I may raise an issue in the js-framework-benchmark repo to deal with Selenium, but at the least it's close.

Here are the results I've run locally.
JsFrameworkResults.pdf
The metrics where Dioxus stands to improve the most are:

Swap rows
Select row
Partial update
Clear rows
Total kilobyte weight

Yew performed ok and even better than React on some of these metrics, so there's definitely potential for Rust WASM to perform on par or better than the JS frameworks.
If you want to take a crack at optimizing any of this, feel free to leave notes here or submit an MR to: https://github.com/krausest/js-framework-benchmark, though the purpose of the benchmark is to benchmark idiomatic rather than optimized code.
In any case, I hope this is useful to you. This framework looks awesome and with some well directed optimizations and support for keying, I will definitely consider it in the future.
System:

Node v16.10
MacOS 10.14.6
2.5GHz Intel Core i7
16 GB 1600MHz DDR3

If the keyed behavior isn't directly supported by Dioxus, then I'll submit the benchmark implementation as non-keyed.

It seems like dioxus does support keyed https://github.com/DioxusLabs/dioxus/blob/fe1279a1c591a9ba57feb82a5162e076c940817b/packages/core/src/diff.rs#L618

@lukechu10 thank you, I stand corrected. Looks like the original implementation didn't set the key on the tr element. I've made that update in my implementation here. The compiled application now passes the isKeyed test. Here is a comparison of results of a select few keyed frameworks.
WRT the Total Kilobyte Weight, I'm not familiar with Trunk. Is there some way I can build a compressed binary that isn't so large?

You need to enable wasm-opt and release mode.
https://trunkrs.dev/assets/
https://github.com/DioxusLabs/docsite/blob/17a393ed9bf8ec301ff2b01d02c202a45f2f83cc/index.html#L48

I made 4 PRs that include various different optimizations (release flags, wasm-opt, interning, etc)
https://github.com/erichulburd/js-framework-benchmark/pulls

@jkelleyrtp great i will take a look over the next few days, run locally, and share results here.

Amazing - optimizations made a huge difference. If these results look good to you and you've got no other downstream changes to make, I'll go ahead and get these into https://github.com/krausest/js-framework-benchmark
One QQ - it seemed this OTHER variable was undefined, so I just removed it. Let me know if there was an intention there I missed.

I just realized that this implementation of TodoMVC is not actually how you'd want to do lists like this in Dioxus. You would really want to use components for rows, not rebuilding them each frame :)
I'm going to submit another patch to your branch and you should see some really big speedups.

Some marginal improvements, nothing major.
FYI I also had to fix the keying in the implementation: https://github.com/erichulburd/js-framework-benchmark/commit/8074e07f78a60526d80afc5c2ce40406fc805c4f#diff-6d6648df2ce8e85df39edea0925e0da0c5b6f6be50731d280e58259826f1704f
I've open a PR to add our implementation to the official benchmark: https://github.com/krausest/js-framework-benchmark/pull/1061


Gigasecond Improvement

While working on Gigasecond exercise, as part of #473, I noticed two things:

The exercise is not documented in the exercises page;
The function name fromDay may be confusing for beginners since it doesn't take a day, but rather a UTCTime. What about simply from or fromUtcTime ?

Perhaps this repository is not responsible for 1 and it should be raised in exercism.io instead?

The exercise is not documented in the exercises page;

Because it is deprecated in this repo, and deprecated exercises intentionally do not show up in the list.

The function name fromDay may be confusing for beginners since it doesn't take a day, but rather a UTCTime. What about simply from or fromUtcTime ?

Sure, either seems reasonable. I guess it was called fromDay because despite taking in a UTCTime, the time always had the hour/minute/second set to zero, but that is caused by the tests, not the function - the function would reasonably be able to accept any UTCTime, not just those at 00:00:00

Do we want to cover deprecated exercises too as part of #473?

I think this can be closed now following https://github.com/exercism/xhaskell/issues/473#issuecomment-285916374


Add configurable options to seqeval metric

Right now load_metric("seqeval") only works in the default mode of evaluation (equivalent to conll evaluation).
However, seqeval library supports different evaluation schemes (IOB1, IOB2, etc.), which can be plugged in just by supporting additional kwargs in Seqeval._compute
https://github.com/huggingface/datasets/blob/85cf7ff920c90ca2e12bedca12b36d2a043c3da2/metrics/seqeval/seqeval.py#L109
Things that would be relevant are, for example, supporting mode="strict", scheme=IOB2 to count only full entity match as a true positive and omit partial matches.
The only problem I see is that the spirit of metrics seems to not require additional imports from user. seqeval only supports schemes as objects, without any string aliases.
It can be solved naively with mapping like {"IOB2": seqeval.scheme.IOB2}. Or just left as is and require user to explicitly import scheme from seqeval if he wants to configure it past the default implementation.
If that makes sense, I am happy to implement the change.

Hi @marrodion.
Thanks for pointing this out. It would be great to incorporate this metric-specific enhancement.
Another possibility would be to require the user to input the scheme as a string mode="strict", scheme="IOB2" and then dynamically import the corresponding module using Python importlib:
if scheme:
    scheme = importlib.import_module(f"seqeval.scheme.{scheme}")

Feel free to create a Pull Request to make this contribution.


Error: account balance too low

transfer dot error:
Error: 1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low
fromAddress has amount 1dot
// params= > fromkey, toaddr,<PHONE_NUMBER>0 - 154000000)
async function test_sendDotWithRpc(fromKey, toAddr, amount) {
    await api.isReady;
    let keyring = new Keyring();
    let suri = fromKey;
    let pair = keyring.addFromUri(suri);
    // single
    let transfer = api.tx.balances.transfer(toAddr, amount);
    let txhash = await transfer.signAndSend(pair, { nonce: -1 }).catch(console.error);
    console.log('txhash->', txhash.toHex(), amount);
}

could I get any more information for what happened?
why this error

You need to have funds to pay pay the fees. After application of the fees, the balance cannot be below the existential amount - which is 1 DOT.
So to transfer you need to have at least existential + fees available. (1 DOT + fees)

You need to have funds to pay pay the fees. After application of the fees, the balance cannot be below the existential amount - which is 1 DOT.
So to transfer you need to have at least existential + fees available. (1 DOT + fees)

thanks, get it


Stop requiring the FreeBSD source code for FreeBSD13+

Since https://github.com/freebsd/freebsd-src/commit/1f6612b444e3fc54697a4ef3167efdddff6944ea
the dtrace.h header is installed to /usr/include so we no longer
need to have the full source code installed just to find the headers
that we need to build the cython extension.

looks good, thanks!


Action based message extension with SSO

I'm implementing an action-based message extension (three dots on the message in a chat).
How can I add SSO in order to get the user token in the TeamsActivityHandler methods?
The example for search-based message extension shows how to do it (handleTeamsMessagingExtensionQuery and handleMessageExtensionQueryWithSSO), but there are no examples on how to do it with action based methods (handleTeamsMessagingExtensionSubmitAction).
Thanks!

Hi @jamzi thanks for you feedback.
The SSO work flow has limitation on Teams Message Extension. For link unfurling and Search Commands, it follow the silent auth work flow, you may use handleMessageExtensionQueryWithSSO and handleMessageExtensionQueryWithSSO to do SSO. But for 'action based` message extension, the silent auth workflow is not natively supported.
You may reference this wiki for more detail.

@wenytang-ms Thanks for a quick answer. Is there a way to workaround this limitation?
I was thinking something like this, either:
a) Use some kind of methods from 'botbuilder-js' to achieve basically what handleMessageExtensionQueryWithSSO is doing?
b) Is there an example on how to create a token from the available data and send it to 3rd party BE?

Sorry for the late reply.
since the SSO only work for query or link unfurling, if you want to do auth flow in action based, you may return a composeExtension object directly as auth flow, you may refer the following snippites.
composeExtension: {
    type: "auth",
    suggestedActions: {
      actions: [
        {
          type: "openUrl",
          value: signInLink,
          title: "Message Extension OAuth",
        },
     ],
  },
},


Get-Content -ReadCount 0 does not respect -TotalCount

Get-Content -ReadCount 0 is a convenient way to request that all lines be read at once, into an array and to have that array be output as a single object to the success stream.
If the intent is to read all lines into memory anyway, this can greatly speed up the command.
-TotalCount <n> allows you to limit the overall number of lines to be read from the file to a given number.
It's reasonable to expect that -ReadCount 0 also respects that number and therefore returns an <n>-element array.
Currently, -ReadCount 0 effectively ignores -TotalCount and always returns all lines in the file as an array.
By contrast, a specific number - e.g, -ReadCount 2 to read the file as a stream of 2-element arrays - does respect -TotalCount.
Steps to reproduce
1..10 > temp:/$pid.txt

(Get-Content temp:/$pid.txt -TotalCount 3 -ReadCount 0).Count | Should -Be 3

Remove-Item temp:/$pid.txt

Expected behavior
The test should pass.
Actual behavior
The test fails:
Expected 3, but got 10.

That is, all 10 lines were read, even though only 3 were requested with -TotalCount
Environment data
PowerShell Core 7.0.0-preview.4

Does -TotalCount 3 -ReadCount 2 work well?

Good question - yes, it does; I've added that fact to the OP.

In the case we have a bug. Simple for hacktoberfest.

I would like to work on it.

Have at it! 😄


refactor: expose IsolatedDatabaseTransaction for modules

Today we wrap IsolatedDatabaseTransaction inside DatabaseTransaction and only expose DatabaseTransaction to the modules. This has some downsides, such as the fact that commit_tx is exposed as a possible function for the modules to call. This should not be allowed though, since modules should not be allowed to commit to the database because the fedimint server is responsible for managing the lifetime of a database transaction. Today if this happens, commit_tx will panic.
This PR is a refactor to expose IsolatedDatabaseTransaction to the modules and add the public facing database transaction API to IsolatedDatabaseTransaction, but removed the functions that modules should not be allowed to call. This allows us to keep the wrapper functionality that we have introduced in previous PRs, but also address the issue of not exposing the full database transaction API.
Fixes: https://github.com/fedimint/fedimint/issues/1729

Codecov Report
Patch coverage: 80.32% and project coverage change: -0.08 :warning:

Comparison is base (90ad568) 63.78% compared to head (3d3c338) 63.71%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1811      +/-   ##
==========================================
- Coverage   63.78%   63.71%   -0.08%
==========================================
  Files         126      126
  Lines       25285    25470     +185
==========================================
+ Hits        16128    16228     +100
- Misses       9157     9242      +85

Impacted Files
Coverage Δ

modules/fedimint-dummy/src/lib.rs
0.50% <0.00%> (-0.03%)
:arrow_down:

fedimint-core/src/db/mod.rs
86.91% <75.72%> (-1.71%)
:arrow_down:

fedimint-client/src/sm/executor.rs
83.25% <83.33%> (-0.09%)
:arrow_down:

fedimint-core/src/module/mod.rs
75.57% <87.50%> (+0.45%)
:arrow_up:

modules/fedimint-mint/src/lib.rs
78.97% <95.23%> (+0.05%)
:arrow_up:

modules/fedimint-ln/src/lib.rs
75.33% <96.00%> (+0.19%)
:arrow_up:

modules/fedimint-wallet/src/lib.rs
79.68% <97.05%> (+0.12%)
:arrow_up:

fedimint-client/src/sm/state.rs
91.79% <100.00%> (+0.31%)
:arrow_up:

fedimint-core/src/core/server.rs
92.51% <100.00%> (+0.29%)
:arrow_up:

fedimint-core/src/module/audit.rs
95.23% <100.00%> (ø)

... and 16 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Seems to me that a proper way to handle this is to have have separate newtype that just doesn't expose commit_tx.
This way user (module developer) code is not tied to a concrete type and an implementation detail.

Seems to me that a proper way to handle this is to have have separate newtype that just doesn't expose commit_tx.
This way user (module developer) code is not tied to a concrete type and an implementation detail.

But the implementation details of IsolatedDatabaseTransaction are hidden right? I believe the only public functions are get_value, insert_entry, insert_new_entry, remove_entry, find_by_prefix, and remove_by_prefix. I don't think the modules can call the raw functions, which is where the details on how the prefix is appended/prepended are handled.

Needs rebase after #1810

Though my main concern is just avoiding tying the type we use in the module API to any concrete implementation, as in the future we might want to add some other functionality etc. that would be otherwise invisible to the user.

Ok I'm decently happy with the most recent renames. Here is a description of each type and its purpose:
DatabaseTransaction: existing public type, used for atomic db transactions across modules
ModuleDatabaseTransaction: new public type, cannot commit to db, doesn't contain implementation details on isolation
IsolatedDatabaseTransaction: existing private type, contains implementation details on prepending/striping prefixes
CommitableIsolatedDatabaseTransaction: renamed private type, used for atomic db transactions within a module. This type will always be wrapped inside DatabaseTransaction so modules aren't aware of it.
Comments in code have been updated


Add cmd option --install-android-template to enable fully headless custom android build

This PR enables a fully headless custom android build with f.e. the following command:
godot --path /path/to/project --export-debug <preset-name> --install-android-template /path/to/android/template
The additional parameter --install-android-template executes the code from the editor menu button "Project -> Install Android Build Template" before exporting the project with the given preset. This is useful for Android build presets with the "Custom Build" option enabled, since these require the user to click the previously mentioned menu button to execute additional tasks before the export is successful.
In detail:

If --install-android-template is provided without one of the --export options, it is ignored
If --install-android-template is provided without a path to an android template, the default path from the editor menu button will be used (f.e. linux: ~/.local/share/godot/export-templates/<godot-version>/android_source.zip)
If --install-android-template is provided with a path, that will be used to export the android project
If --install-android-template is not provided, but the android presets "Custom Build" option is enabled, the error message "Android build template not installed in project. Install it from project menu." appears (same as before)

Solves https://github.com/godotengine/godot/issues/38327
This is the master version of the PR #63389.

Fixed the clang-format issues.

@AntonioDell It looks like this pull request was closed because of a rebase error (your fork's branch has 0 commits that differ from master).

Oh noo, I made a mistake when tackling a different issue. Sorry about that.
But I think it doesn't really matter, because the PR https://github.com/godotengine/godot/pull/50264 did a better job than me on this issue and should be merged instead.


request failed: raw post

Trying to execute a createOne:
request failed: raw post: Post "http://localhost:38321/": dial tcp <IP_ADDRESS>:38321: connect: connection refused

My code:
_, err := m.store.dbClient.PonosJob.CreateOne(
		db.PonosJob.ID.Set([]byte(job.ID)),
		db.PonosJob.Payload.Set(job.Payload),
		db.PonosJob.Queue.Link(db.PonosJobQueue.ID.Equals([]byte(job.QueueID))),
		db.PonosJob.ScheduledAt.Set(time.Now()),
		db.PonosJob.CreatedAt.Set(time.Now()),
	).Exec(m.store.ctx)

Let me know if you need anything else

This doesn't seem related to the query but rather something is wrong with the query engine, as it looks like it crashed. Can you be more specific about where/when/how this happens? Prisma version, the OS/deployment tool, what database, and especially if there are any more logs (there should be in theory).

Sure.
This happens both with Mojave OSX, Ubuntu Linux.
MariaDB database: Server version: 10.5.8-MariaDB Homebrew
I have an API that when it gets hit, it executes that prisma insert.
For now, no deployment.  Running locally.
How do I get logs?  You want me to panic ?

Please provide more info, otherwise I can't help. How and Where you deploy your code, your prisma Schema, the go and prisma-client-go version, and any additional helpful information.

Can you please run it with PHOTON_GO_LOG=info and check the output directly after you run your app/call prisma.Connect()? Thanks

That looks fine to me. Can you check if you're accidentally calling Disconnect() before executing your actual failing query?

 I called a defered function to disconnect, in an other function, that ends right after connecting. This caused prisma to disconnect. Strangely creating new rows worked didn't throw errors.

I have made this more clear via #634


Azure DevOps error when restoring Microsoft.Health.Dicom.Client

Describe the bug
When building using Visual Studio, I can add Microsoft.Health.Dicom.Client as a dependency and build my solution.
Build pipeline in Azure DevOps worked fine till July 6th. From this date on, We get a lot of errors that look like this:
Retrying 'FindPackagesByIdAsync' for source 'https://microsofthealthoss.pkgs.visualstudio.com/7621b231-1a7d-4364-935b-2f72b911c43d/_packaging/a60b7c8b-c6ae-4a8e-bd15-a526b603a1f2/nuget/v3/flat2/mediatr.extensions.microsoft.dependencyinjection/index.json'.
Response status code does not indicate success: 401 (Unauthorized - No local versions of package 'mediatr.extensions.microsoft.dependencyinjection'; please provide authentication to access versions from upstream that have not yet been saved to your feed. (DevOps Activity ID: E5E44E9D-EC8B-4D9D-8C42-EA51C1E2F4FE)).

our nuget.config file hasn't changed
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear />
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json"/>
        <add key="Public" value="https://microsofthealthoss.pkgs.visualstudio.com/FhirServer/_packaging/Public/nuget/v3/index.json" />
    </packageSources>
</configuration>

Another developer seems to have the same issue: https://stackoverflow.com/questions/76640185/azure-devops-response-status-code-does-not-indicate-success-401-unauthorized
To Reproduce
Steps to reproduce the behavior:

Create a project that references Microsoft.Health.Dicom.Client.
Create an Azure DevOps pipeline
Run the pipeline
It fails when trying to restore dependencies

Expected behavior
It should restore dependencies without errors
Actual behavior
It does not restore dependencies and throw errors

Yes, confirming the same issue happened to us. I posted my comment in above mentioned SO link: https://stackoverflow.com/a/76662452
Note:
if you use their CI feed, seems it works fine: https://microsofthealthoss.visualstudio.com/FhirServer/_artifacts/feed/CI/connect/nuget.exe
`

`

Thanks for the heads up. We'll check to see if anything changed with the feed configuration.

Any update on this? Running into this issue as well and the package, "Microsoft.Health.Dicom.Client," no longer is in the CI feed?

@haywoodIII - Are you still encountering this problem? I was able to successfully perform a dotnet restore after referencing the package Microsoft.Health.Dicom.Client via the Public feed in a new dev environment. But perhaps I unintentionally included some additional authentication.

I'm going to close the issue for now pending other users that may report issues


Update functions-dotnet-class-library.md

grammar typo

@piotrgo : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


Source brew-cask and hub completions

Found in /usr/local/etc/bash_completion.d/
Source in bashrc like brewcomp

Technically included already...


add the auxn implementation

hi! I've been working on a reimplementation of uxn in rust with the added feature of it being able to run as a VST3 or CLAP audio plugin, i added it to the misc. section altough im not sure if that category is right. maybe should i move it to desktop? thanks

Very cool! Are you thinking about making audio reactive uxn programs? I'd love to see that

thanks. yes, im thinking of getting to run piano.rom completly inside a DAW, then implement a midi device (which i think is something already in progress for what i saw in XXIIVV) and finally create a custom device for audio input in uxn.


Investigate the possible flow for a Create Environment command

This would be taking the ideas from WWBD and bringing them here.

flowchart TD
    start([start])

    has_interpreter{Interpreter selected?}
    has_env_selected{Environment selected?}
    has_python{Is Python installed?}
    select_newest[Select newest Python]
    has_venv{Has `venv`?}
    create_env[`python -m venv .venv`]

    has_pip{"Has `pip`?"}

    has_requirements{Has requirements files?}
    select_requirements[/Select requirements files/]
    install_requirements["`python -m pip install -r requirements.txt`"]

    has_pyproject{Has a `pyproject.toml`?}
    select_extras[/Select extras/]
    install_extras["`python -m pip install -e .[extras]`"]

    error((Notify user of problem))

    finished([end])

    start --> has_interpreter

    subgraph Create Environment

    has_interpreter -- yes --> has_venv
    has_interpreter -- no --> has_env_selected

    %% error
    has_env_selected -- "no (nothing selected)" --> has_python

    has_python -- yes --> select_newest
    %% error

    select_newest --> has_venv

    has_venv -- yes --> create_env
    %% error
    end

    subgraph Installation
    create_env --> has_pip

    has_pip -- yes --> has_requirements
    %% error

    has_requirements -- yes --> select_requirements
    select_requirements --> install_requirements
    %% finished
    has_requirements -- no --> has_pyproject

    has_pyproject -- yes --> select_extras
    select_extras --> install_extras
    %% finished
    end

    has_venv -- "no (Debian)" --> error
    has_python -- no --> error
    has_env_selected -- yes --> error
    has_pip -- no --> error

    error --> finished
    install_extras --> finished
    has_pyproject -- no --> finished
    install_requirements --> finished

Asked for feedback at https://twitter.com/brettsky/status/1557850636611268609 .

If we are triggering environment creataion, we should probably skip the popup that we show when we detect env creation.

If we are triggering environment creataion, we should probably skip the popup that we show when we detect env creation.

We should probably skip it regardless and just select the environment with an option to turn off automatic environment detection/selection.

3. Install any packages.

Which install scenarios are supported?

Which install scenarios are supported?

requirements.txt or pyproject.toml directly under the workspace directory is supported.


fix(gnss_poser): fix tf transform

Description
fix tf transform.
Isuee link https://github.com/autowarefoundation/autoware.universe/issues/3640

Tests performed
LSim works.
confirmed that the TF transformation is correct. https://github.com/autowarefoundation/autoware.universe/issues/3640#issuecomment-1943243471

Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@FranzAlbers I have created a pull request to fix https://github.com/autowarefoundation/autoware.universe/issues/3640

@YamatoAndo  - san, thank you for your work. I encountered the same issue and successfully addressed it with this PR. Could you please take a look, @kminoda  - san? This PR might be urgent for the correct transformation calculation.

@ismetatabay Thank you for ping. But it may be better to ask someone else from localization/mapping team in TIER IV.
@YamatoAndo Would you assign someone else for this PR?


Destination address for alexa SampleApp

Hello,
it maybe not a bug but:
Is there any simple way to get destination from sampleApp?
Im thinking about use cases like:
"Alexa where is the nearest Mcdonalds?"
-And i get the location in repsonse
or "Where is the nearest petrol station?"
Feature should be able to react to my current position.

You can use whatever case you want, Alexa always points you to your destination. But I don't about the SampleApp thing.

You can use whatever case you want, Alexa always points you to your destination. But I don't about the SampleApp thing.

Hi @LotrForTheWin thanks for posting.
It is possible to set your devices location through the companion app.
https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/set-device-location.html
With this the cases you asked should be possible.

Hi @LotrForTheWin thanks for posting.
It is possible to set your devices location through the companion app.
https://developer.amazon.com/en-US/docs/alexa/alexa-voice-service/set-device-location.html
With this the cases you asked should be possible.

Let me change my question:
I did develope some application on Raspberry pi that I want to use with RADIO in my CAR.
At the end of development proces (integration of UI, managing audio routing etc) I wanted to extend my alexa by navigation functionalities. NOW I have discover "alexa car SDK". I'm afraind that it is a little bit late for changes.
In my app I want:

Automatically update my location during the drive
Ask alexa for new destination (like "hey alexa, where is the nearest Mc'donalds" or petrol station etc.) and get location coordinates in return, so I can update my (already implemented) external navigation services.

What I want to avoid:
Extend/change my "Alexa SDK" for "alexa car SDK"

Let me change my question:
I did develope some application on Raspberry pi that I want to use with RADIO in my CAR.
At the end of development proces (integration of UI, managing audio routing etc) I wanted to extend my alexa by navigation functionalities. NOW I have discover "alexa car SDK". I'm afraind that it is a little bit late for changes.
In my app I want:

Automatically update my location during the drive
Ask alexa for new destination (like "hey alexa, where is the nearest Mc'donalds" or petrol station etc.) and get location coordinates in return, so I can update my (already implemented) external navigation services.

What I want to avoid:
Extend/change my "Alexa SDK" for "alexa car SDK"

Hi @LotrForTheWin
Unfortunately we do not have realtime location features in the device SDK, I recommend you to use the Auto SDK (https://github.com/alexa/alexa-auto-sdk).

Hi @LotrForTheWin
Unfortunately we do not have realtime location features in the device SDK, I recommend you to use the Auto SDK (https://github.com/alexa/alexa-auto-sdk).

@alexandrekm-amzn
Thanks for help.


Release CLI v0.6

Description
This is the list of the issues to test. You can download the binaries from the artifacts section here:
New features:

[ ] Support shared workspaces. Issue #76 and #105
[ ] Support Tower Agent. Issue #91
[ ] New environment variable TOWER_OUTPUT_FORMAT. Issue #183
[ ] Add container registry credentials. Issue #190
[ ] Add --wait option at compute-env creation and pipeline launch. #12
[ ] Custom run name #200 #150
[ ] Force delete a run #197

Improvements:

[ ] Clear error messages. Issue #194 #181 #182 #187
[ ] Remove --no-max pagination option. #221
[ ] Allow to add a collaborator to a workspace #202
[ ] Change HTTP Agent Header #192
[ ] Updte dependencies and GraalVM #186
[ ] Non-ASCII characters bug #161

I wonder if TOWER_OUTPUT_FORMAT is too vague and should be TOWER_CLI_OUTPUT_FORMAT.
Following on from this I think this would be a good time to standardise all CLI specific environment variables to have the TOWER_CLI_* prefix?

Ok, this is the first CLI specific environment variable. So for me make sense to always use TOWER_CLI_... prefix.

Then should not we use TW_xxx prefix?

Dunno about TW_xxx. Think TOWER_CLI_xxx is more explicit? May not be immediately obvious what the difference between TW and TOWER_CLI but as long as we are consistent I guess it doesn't matter.

Given that the other Tower variables they start with TOWER I prefer TOWER_CLI because it is more explicit and if you list or grep them you get all of them together. I mean at the end TOWER_ACCESS_TOKEN and TOWER_API_ENDPOINT are also Tower CLI config variables. To add the CLI suffix is only to stress that they apply only at the CLI.

@abhi18av reported error has been fixed. You can download new artifacts from here.

Nice! Thanks @abhi18av !


data-role="switch" idea

Hi Olton!
What do you think of the possibility of being able to define instead of the classic on/off switch, a switch made with icons or images?
For example:
<input id="FLAG" name="flag" type="checkbox"
       data-role="switch"
       data-icon-check="mif-lock fg-red"
       data-icon-uncheck="mif-unlock fg-green" checked />

A red closed lock would appear in the field space and clicking on it would be replaced by a green open lock.
Thank's!

Added in 4.5.0
https://codepen.io/olton/pen/dyOZZbV?editors=1100

If it doesn't show like this, clear your browser cache.

Awesome! Thank's!


text fields and text areas do not take value

users in android are reporting that the value of a text field is not kept.
so, when they go to open a review to edit it, it's empty. works in ios.
will come up with sample code soon.

so, actually, it does seem that both work on Android (and fail in iOS) https://jasonbase.com/things/kW7
the reason there is an issue here is my app uses something different with $set based on this advice.
i will have to come up with an example for that.


crosswalk-23: [Android] Use depfiles when generating projects and AARs

Contrary to what one would expect, having a dependency on a shared
library target such as libxwalkcore does not cause an action to be
re-run whenever the aforementioned shared library changes -- the .ninja
file only depends on the library's .TOC file, so the action is called
only if the library's symbol list changes.
In practice, this means rebuilding libxwalkcore.so would not cause
xwalk_core_library and its respective AAR to be regenerated, leading
to all sorts of problems.
We work around the issue by adding depfiles to the GN actions, and
then adding those native libraries (as well as some other files like the
.js ones in xwalk_core_library) to them. GN can then use their contents
and trigger the actions when the files there change (in addition to the
ones regularly tracked by the build system).
BUG=XWALK-7433
(cherry picked from commit 0556777edf280ef272a8b894122489cf67781bdd)

r=me


Add script for creating nuget package

For creating nuget package run create-nuget.ps1 in PowerShell. Its build project in release configuration and create nuget packge file with description from package.nuspec (eg PressureTransientAnalysis.1.0.0.nupkg). This file need to push in nuget.org.  From visual studio this package will be shown as in the screenshot.

I could send the package myself but i'm not main maintainer.

Also you can add travis-ci to run your test for all pull request (https://travis-ci.org/)

Hi GSTQ, thanks for the first ever pull request to this project.
I have added the Cake build script to the development branch. It includes build, tests and pack tasks.
I will add CI later, once there are meaningful functionality and tests in the projects, now it is still mock stage.


Merge develop to main

Renames "Studio Loopback Volume" to "Studio Echo Volume"

Requires updates in docs at the same time


[schedy] Reschedule room temperature after window is closed with delay

Hello, I have this config for my rooms, and the fact that it reacts immediately when window is open - is awesome!
But, I want it to start heating the room again with delay, only after 5-10 minutes that window has been closed, not immediately.
How can I do that?
  rooms:
    bedroom:
      schedule:
      - x: ("OFF") if is_on('input_boolean.schedy_off_with_windows') else Skip()

Hi,
That's not that easy to acomplish.
You could do the following:
Don't watch the window sensor via watched_entities and instead create an automation in HA that fires a schedy_reevaluate event when the window is opened and another when it's closed for N minutes. However, the disadvantage is that when the schedule is re-evaluated after the window was closed but before the event was fired, the temperature is reverted to the scheduled value anyway. Schedules are re-evaluated from time to time, e.g. when another watched entity changes its state or at the start/end times of the rules in the schedule. You can't and don't want to prevent that in general.
I'm closing this, because it's not a bug.
Best regards
Robert

I see, you're using an input_boolean somehow. Can't you just change the automations in HA that toggle this input_boolean to wait N minutes after closing the window before turning it off?

And, it would be better to use the OVERLAY marker as shown in the docs for open window detection for the reasons mentioned there.

I don't want to create more automations in HA, but will check OVERLAY. That was marked as advanced and I skipped it :)

By the way, what is proper approach to discuss questions, is it on home-assistant forum for schedy?


915resolution: 0.5.2 -> 0.5.3

Motivation for this change
Update
Things done

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

[x] NixOS
[ ] macOS
[ ] Linux

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

I do not have this video card to test this update


Laravel Snappy

How to export to pdf without using laravel/snappy ? is it possible?

Yes it's possible. You can use dompdf or any supported PDF generator on Laravel Excel package. See their docs for ref.
For more advance solution, you can override public function pdf() function and write your own PDF exporter.


fix(core): exporting types in package.json #2198

closes #2198

v13.4.1 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


building for x86_64 / amd64 ?

I see the config file only specifies other targets. I don't see amd64. Is this not possible?
# If target name is set, set relevant variables as appropriate
export XC_TARGET_NAME=${XC_TARGET_NAME:-}

if [ ! -z ${XC_TARGET_NAME} ]; then
  if [ "${XC_TARGET_NAME}" == "rpi1" ] || [ "${XC_TARGET_NAME}" == "rpi2" ]; then
    export XC_TARGET="arm-unknown-linux-gnueabihf"
    export XC_KERNEL_TARGET="arm"
  fi
else
  # Target architecture for the toolchain. Depending on the architecture, you
  # may need all parts of the triplet (e.g. for a Raspberry Pi you should set
  # XC_TARGET to "arm-unknown-linux-gnueabihf").
  export XC_TARGET="mips-linux"

  # Kernel target architecture. The kernel has slightly different names for its
  # targets, e.g. for a RPi you shoud set this to "arm"
  export XC_KERNEL_TARGET="mips"
fi

It may be possible - the targets listed are ones that I have tried myself. I've never tried building a cross-compiler which targets amd64 because that's usually my host system.
I'm about to rewrite the part of the script which deals with handling targets, once that's done I'll test for an amd64 build.

I've just tried with XC_TARGET set to x86_64-linux and XC_KERNEL_TARGET set to x86 and got the following error:
In file included from /home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/include/errno.h:28:0,
                 from rpc_main.c:37:
/home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/include/features.h:392:23: fatal error: gnu/stubs.h: No such file or directory
compilation terminated.
Makefile:165: recipe for target '/home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/tmp/build-glibc/sunrpc/cross-rpc_main.o' failed
make[2]: *** [/home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/tmp/build-glibc/sunrpc/cross-rpc_main.o] Error 1
make[2]: Leaving directory '/home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/tmp/glibc-2.23/sunrpc'
Makefile:214: recipe for target 'sunrpc/install-headers' failed
make[1]: *** [sunrpc/install-headers] Error 2
make[1]: Leaving directory '/home/paul/gcc-cross-compiler/xc-x86_64-linux/x86_64-linux/tmp/glibc-2.23'
Makefile:9: recipe for target 'install-headers' failed
make: *** [install-headers] Error 2

I'm not sure if x86 is the correct kernel target - I will have a closer look next week to see if I can fix this problem.

Closing this as I'm afraid I haven't had time to work on this project for a long time and I don't want to give the impression that it's still actively maintained.


Dev Scripts

Renamed scripts/ to dev_scripts/ to make it a tad more clear that these are not intended for users
Updated the scripts to use the env.ini
Fixed some imports
Added a README and a print statement to each script to make it even clearer that these are not intended for users

@jammont Looks good, thanks for the update! Merging.


Docker-ENV

Set up environment variables in Dockerfile at this link
Create Docker Image
Print the environment variables values using echo in containers.

Can I work on this?

Ofcourse, @JasonSarwar
Do work on it and feel free to contact if you face any issue.

Thank you!

Thanks @JasonSarwar for solving this issue.

Thank you very much! Glad to finally be part of the open source community!

Your welcome 😄
Feel free to query about any problems you might face in the future.
My mail is on my profile 👍


分析实况详情没有结果

@philiahe 可以通过agent日志 simluator.log发现

并发上去确实会报错：
2021-10-20 16:03:14 INFO  log server changed to connect host <IP_ADDRESS>:29900. 2021-10-20 16:03:22 INFO  log server is busy <IP_ADDRESS>:29900. attempt to choose another log server. 2021-10-20 16:03:22 INFO  log server changed to connect host <IP_ADDRESS>:29900. 2021-10-20 16:03:24 INFO  log server is busy <IP_ADDRESS>:29900. attempt to choose another log server. 2021-10-20 16:03:24 INFO  log server changed to connect host <IP_ADDRESS>:29900. 2021-10-20 16:03:32 INFO  log server is busy <IP_ADDRESS>:29900. attempt to choose another log server. 2021-10-20 16:03:32 INFO  log server changed to connect host <IP_ADDRESS>:29900. 2021-10-20 16:03:34 INFO  log server is busy <IP_ADDRESS>:29900. attempt to choose another log server. 2021-10-20 16:03:34 INFO  log server changed to connect host <IP_ADDRESS>:29900.
surger也会报错
2021-10-20  16:04:11.938 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.suppliers.nettyremoting.NettyRemotingSupplier - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.939 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.runtime.processor.DefaultProcessor - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.939 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.suppliers.nettyremoting.NettyRemotingSupplier - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.939 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.runtime.processor.DefaultProcessor - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.939 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.suppliers.nettyremoting.NettyRemotingSupplier - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.941 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.runtime.processor.DefaultProcessor - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.941 [NettyRemotingServerCodecThread-%d-6-8] ERROR io.shulie.surge.data.suppliers.nettyremoting.NettyRemotingSupplier - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.970 [NettyRemotingServerCodecThread-%d-6-2] ERROR io.shulie.surge.data.runtime.processor.DefaultProcessor - trace-logringbuffer remaining capacity:5193 total capacity:32768 2021-10-20  16:04:11.970 [NettyRemotingServerCodecThread-%d-6-2] ERROR io.shulie.surge.data.suppliers.nettyremoting.NettyRemotingSupplier - trace-logringbuffer remaining capacity:5193 total capacity:32768


Accelerate major axis sequence slicing for compressed sparse matrices.

Indexing a CSR matrix with a slice such as X[[1, 100, 105], :] is
between 2x and 75x faster, with the greater performance improvements
coming when the size of the indexing list is small. This performance
improvements also apply to slicing a CSC matrix with a sequence of
columns.
Tests were added to ensure correct sequence slicing behavior.
This is my resolution to #4573. I incorporated @jaimefrio's suggestion, which did lead to significant performance increases.

Several test failures

Interesting. The test_csr_getrowsequence failure was a dumb typo of mine that I added right before pushing. I fixed that with 4dc2d54.
The test_base failures aren't happening on my Python 2.7 install,

I

I've been comparing performance to Scipy 0.14 this whole time rather than the current 0.16dev. Although the code in this PR now works, it offers at most a 2x performance improvement (when selecting small numbers of rows) and at worst runs about 10% slower than 0.16dev, all at the cost of significant additional complexity.
I don't think this code is worth merging in, so I'm going to close this PR. I'm going to submit another PR shortly that special cases indexing X[:, seq] and X[seq, :] to avoid an unnecessary copy.


"update path on file move" refactoring not working for node

From @g3offrey on July 6, 2018 9:18

Hi folks 👋
First of all thank you for your hard work. Each month I'm amazed how Code is becoming an unique awesome piece of software 😄
I'm opening a ticket because I encounter an issue with "update path on file move" refactoring.
Here's are information about it :

VSCode Version: 1.25.0
OS Version: MacOS 10.13.4

Steps to Reproduce:

clone https://github.com/g3offrey/example-node-repository
try to move file from folder1 to another folder or to the root
check if the require path in index.js is updated

Does this issue occur when all extensions are disabled?: Yes
If I can do something to help, don't hesitate to ask me.
Thank you 👍
Copied from original issue: Microsoft/vscode#53681

@andy-ms Looks like getEditsForFileRename does not work for require?

@mjbvz The following fourslash test already passes:
/// <reference path='fourslash.ts' />

// @allowJs: true

// @Filename: /folder1/file1.js
////module.exports = { a: 0 };

// @Filename: /index.js
////const { test } = require('./folder1/file1');

verify.getEditsForFileRename({
    oldPath: "/folder1/file1.js",
    newPath: "/file1.js",
    newFileContents: {
        "/index.js": `const { test } = require('./file1');`,
    },
});

The problem seems to be that when file1.js doesn't contain the export keyword anywhere, vscode never makes a getEditsForFileRename request. In the example repository, if you add export const y = 0; to the bottom of file1.js, vscode will start making the request and the rename will work.

Hi @mjbvz, @andy-ms 👋
I'm the little guy who opened the issue on Code repo.
After I read your message @andy-ms I explored the repos and thanks to your help I found this commit : https://github.com/Microsoft/vscode/commit/1ee1759e02e343d580acde78238db3acbad8a13d
I guess the issue is here.
Maybe it's finally linked to Code and not Typescript.
Should I update the ticket on Code side ?
I guess the solution would be to change the regex from \bexport\b to \bexports?\b (so it handle module.exports). I'm creating a PR for that 😄


Limit access to authenticated users

Create, Change, Delete for Dancers and Couples

Closed with pull request #63


Kinesis / GetShardIterator: input declaration has invalid shape for Timestamp field

Hi,
According to GetShardIterator API documentation, the Timestamp member of the request is a number.
Yet, in the file botocore/data/kinesis/2013-12-02/service-2.json, the Timestamp member of the GetShardIteratorInput type is declared as a Timestamp, and according to parse_datetime(), this would accept multiple formats, some of them as strings.
Based on actual calls to the API, I believe the documentation is correct, and this is not a timestamp but an Epoch, an Integer. I updated Paws (an AWS SDK for Perl generated from botocore) to use an Integer for this field (analysis) and the API works after the update to a number. I tried all formats of date as strings (including the ones mentioned on parse_datetime above) without success.
The API currently only accepts an Integer, with an Epoch.
Thank you,

We're working on getting that updated, in the mean time you can safely assume that rest-json protocol defaults to unix timestamps. Since this doesn't impact botocore, I'm closing out this issue.


chore: Loosened the azuyalabs/yasumi dependency

Usually on packages, dependencies should not be pinned to a specific version as it would block dependency bumps on applications.

Can we have a new tag for this change please?
Or is it ok for me to create the tag?

@brunogaspar yes please do :D


preprocess.sh should not require "./" prefix on output directory

If that is not included it fails.

I received the following email from mahima1127.mt [at] gmail

Hello
I want to use your table-extract code from GitHub. But can you please tell me how should I run this code :
./preprocess.sh ./my_doc_processed ./my_doc.pdf
python do_extract.py ./my_doc_processed
Hope will hear from you soon.

I presume it is related to this issue.


Updated year on License

Can one of the admins verify this patch?

I signed it!

Thanks for the contribution!  IANAL, but I don't think this is needed -- you have to maintain at least the copyright year of the first distribution (2015).  Some resources online say it is okay to update on major updates / releases though, but I'd rather just keep the original year unless lawyercats suggest otherwise.   git history is a more accurate source of truth than what we put in this file anyway ;)
@martinwicke might know some lawyercats who say otherwise, so we can re-open if needed.


Add scoping action

About the PR

Added Scope component, which adds an action to use optics.
Added Scope component to CMM42ASniperRifle

Why / Balance

Feature exists in CM13.
Still TODO - not planned in this PR:

Ability to toggle between different zoom values
Support for bigger zoom values, right now recommended maximum is ~1.25

Technical details

For toggling partially reused the shield (BlockingComponent) code.
Spawns invisible CMScopingChunkLoader for PVS subscription to load far chunks.
Reuses currently unused CameraRecoilComponent.BaseOffset for client eye offset.
Offset and zoom are set on the server and then autonetworked to the client, to try ensure that chunk loading and perspective setting happen simultaneously. - Is there a better solution?
Media

https://github.com/CM-14/CM-14/assets/171753363/2021947c-5c21-4a8c-b4b5-f86fa0e09796

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Added ability to scope in with M42A rifle

One issue with how this works is that it allows you to see through walls since the FOV is not drawn from your player but from new viewpoint. I have no idea how we would fix this but I will try to figure it out.
https://github.com/CM-14/CM-14/assets/10968691/bbd2630f-1880-4438-82e2-2e98896b79c2

I have fixed the issue above now with 4acf4be (#2426), but there is one remaining bug that if positioned correctly, the user can see past their PVS range and not see any entities loaded.
https://github.com/CM-14/CM-14/assets/10968691/f005ac4f-ddd7-4ebd-b41a-d166f619fe28
That should be fixed by https://github.com/space-wizards/RobustToolbox/pull/5228 eventually but for now I'm going to slightly lower the offset until that is fixed.
The zoom value and offset will need to be adjusted once that is fixed anyways, since the real values from CM13 are an 11 tile offset and 24x24 view in 4x, and a 6 tile offset and normal view in 2x. Right now we are doing a mix of both and only one setting.

Maybe scoping.EyeOffset = targetOffset; and _contentEye.SetZoom(user, Vector2.One * scope.Comp.Zoom, true); for enabling the scope should be performed on the server's side only, in order to avoid a visual bug on client's side, where unloaded chunk is displayed.
Presumably the new chunk loads with the same datapacket as the update to offset and zoom variables on the client's side.


Fix back button so that it triggers a full page reload when forceRefresh is enabled

https://github.com/ReactTraining/history/issues/638

Wasn't "really" sure how best to describe the fix in CHANGES.md but fixing that was my major goal so I described it that way. Let me know if I can state it a better way.

/cc @mjackson?

Is it possible to merge this change? I have the same issue @reywright has in https://github.com/ReactTraining/history/issues/638

This PR is 2 months away from its one year anniversary. I'd solve the diff the here but no one has communicated anything about wanting to get this in, and I'm not going to resolve the conflicts just so it can sit here another year unfortunately.

The above is a screenshot of the diff, if anyone's actually interested in getting this in.


Security issue in Pydanic

Upgrade Pydantic to 1.8.2 to resolve the security issue.
See
https://pydantic-docs.helpmanual.io/changelog/
and
https://github.com/samuelcolvin/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh

Released as part of 1.16.1


added hdr toggle sandcastle example

For #8102
Added a toggle for HDR in sandcastle. Includes a dazzling view of the grand canyon and a milk truck.

Thanks for the pull request @IanLilleyT!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

Can you rename the example to High Dynamic Range?

@IanLilleyT there are some eslint errors that caused CI to fail.

Looks good, thanks @IanLilleyT


All links have target=_blank set

This is a user experience wish
However, I'd prefer to have that attribute not set, for the following reason:
When I click on a link, I have left over the "New Tab" tab, which I don't need anymore. So I need to go back to clean up an non-needed tab, if I want to keep my tab list clean.
After all, I can always get to that page again simply by pressing C+T

Hey 👋,
Now that I think about it, you're right. I remember in the initial development of this project I kept the target=_blank for debugging purposes. It's best if it is removed now.
I'll not be able to work actively on this project anytime soon this week, so if you can create a PR of the same, I'll be happy to review and merge it 👍.
Thanks,
Mihir

@plibither8 any news on this?

Hi @johannes87, super sorry about the delay, I didn't get time to use GitHub this entire month. I'll merge the PR right now, and upload the updated version on the Chrome Webstore - I'll notify you once I do.
Thanks a lot for your patience, sorry again :grimacing:!

Hey, I've just published the updated version on the Webstore. The changes will take upto 60 minutes to appear, so wait for the automatic update or manually check an hour or two later. Thanks :)

@plibither8 Amazing, thank you :-). No worries for the dalay!