Implement an AStar path finding library

@wmike1987
This adds a first draft A* path-finding library to utilities. It strives to be totally decoupled from game internals, and it could use a lot more testing. There are a few kinks to be worked out; for instance, it generates a grid every move, because a grid that maintains state results in some weird bugs. But overall I hope it's a good start.

Gonna change the PR to merge into your path finding branch.


KeyError: "The name 'image_tensor:0' refers to a Tensor which does not exist. The operation, 'image_tensor', does not exist in the graph."

When I execute python Object_detection_image.py or the other Object_detection files, I get the following error message:
KeyError: "The name 'image_tensor:0' refers to a Tensor which does not exist. The operation, 'image_tensor', does not exist in the graph."
I get it if I use Edje's prepared version and the one with my own dataset. I also get the same error when I rewrite the Jupyter notebook example for my own data (Original version works perfectly fine.) I use tensorflow 1.5, CPU only, Python 2.7 and Ubuntu 16.04. A higher tensorflow version does not work for me.
Does anybody has an idea how to solve my issue? Evtl the mistake is in the execute_inference_grapf.py file. I called it with the command:
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-6347 --output_file inference_graph/frozen_inference_graph.pb
The original one was:
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-6347 --output_file inference_graph
It did not work for me.
Thanks in advance!

The code stops at this part:
Input tensor is the image
image_tensor = detection_graph.get_tensor_by_name('image_tensor:0')

Problem was solved, because the export_inference_graph.py was updated in the tensorflow model zoo.
I used this code now:
Copyright 2017 The TensorFlow Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================
r"""Tool to export an object detection model for inference.
Prepares an object detection tensorflow graph for inference using model
configuration and a trained checkpoint. Outputs inference
graph, associated checkpoint files, a frozen inference graph and a
SavedModel (https://tensorflow.github.io/serving/serving_basic.html).
The inference graph contains one of three input nodes depending on the user
specified option.

image_tensor: Accepts a uint8 4-D tensor of shape [None, None, None, 3]
encoded_image_string_tensor: Accepts a 1-D string tensor of shape [None]
containing encoded PNG or JPEG images. Image resolutions are expected to be
the same if more than 1 image is provided.
tf_example: Accepts a 1-D string tensor of shape [None] containing
serialized TFExample protos. Image resolutions are expected to be the same
if more than 1 image is provided.
and the following output nodes returned by the model.postprocess(..):
num_detections: Outputs float32 tensors of the form [batch]
that specifies the number of valid boxes per image in the batch.
detection_boxes: Outputs float32 tensors of the form
[batch, num_boxes, 4] containing detected boxes.
detection_scores: Outputs float32 tensors of the form
[batch, num_boxes] containing class scores for the detections.
detection_classes: Outputs float32 tensors of the form
[batch, num_boxes] containing classes for the detections.
detection_masks: Outputs float32 tensors of the form
[batch, num_boxes, mask_height, mask_width] containing predicted instance
masks for each box if its present in the dictionary of postprocessed
tensors returned by the model.
Notes:
This tool uses use_moving_averages from eval_config to decide which
weights to freeze.
Example Usage:

python export_inference_graph
--input_type image_tensor
--pipeline_config_path path/to/ssd_inception_v2.config
--trained_checkpoint_prefix path/to/model.ckpt
--output_directory path/to/exported_model_directory
e.g.:
python export_inference_graph.py
--input_type image_tensor
--pipeline_config_path training/faster_rcnn_inception_v2_pets.config
--trained_checkpoint_prefix training/model.ckpt-6290
--output_directory inference_graph
The expected output would be in the directory
path/to/exported_model_directory (which is created if it does not exist)
with contents:

inference_graph.pbtxt

model.ckpt.data-00000-of-00001

model.ckpt.info

model.ckpt.meta

frozen_inference_graph.pb

saved_model (a directory)
Config overrides (see the config_override flag) are text protobufs
(also of type pipeline_pb2.TrainEvalPipelineConfig) which are used to override
certain fields in the provided pipeline_config_path.  These are useful for
making small changes to the inference graph that differ from the training or
eval config.
Example Usage (in which we change the second stage post-processing score
threshold to be 0.5):
python export_inference_graph
--input_type image_tensor
--pipeline_config_path path/to/ssd_inception_v2.config
--trained_checkpoint_prefix path/to/model.ckpt
--output_directory path/to/exported_model_directory
--config_override "
model{
faster_rcnn {
second_stage_post_processing {
batch_non_max_suppression {
score_threshold: 0.5
}
}
}
}"
"""
import tensorflow as tf
from google.protobuf import text_format
import exporter
from protos import pipeline_pb2

slim = tf.contrib.slim
flags = tf.app.flags
flags.DEFINE_string('input_type', 'image_tensor', 'Type of input node. Can be '
'one of [image_tensor, encoded_image_string_tensor, '
'tf_example]')
flags.DEFINE_string('input_shape', None,
'If input_type is image_tensor, this can explicitly set '
'the shape of this input tensor to a fixed size. The '
'dimensions are to be provided as a comma-separated list '
'of integers. A value of -1 can be used for unknown '
'dimensions. If not specified, for an image_tensor, the ' 'default shape will be partially specified as ' '[None, None, None, 3]`.')
flags.DEFINE_string('pipeline_config_path', None,
'Path to a pipeline_pb2.TrainEvalPipelineConfig config '
'file.')
flags.DEFINE_string('trained_checkpoint_prefix', None,
'Path to trained checkpoint, typically of the form '
'path/to/model.ckpt')
flags.DEFINE_string('output_directory', None, 'Path to write outputs.')
flags.DEFINE_string('config_override', '',
'pipeline_pb2.TrainEvalPipelineConfig '
'text proto to override pipeline_config_path.')
flags.DEFINE_boolean('write_inference_graph', False,
'If true, writes inference graph to disk.')
tf.app.flags.mark_flag_as_required('pipeline_config_path')
tf.app.flags.mark_flag_as_required('trained_checkpoint_prefix')
tf.app.flags.mark_flag_as_required('output_directory')
FLAGS = flags.FLAGS
def main(_):
pipeline_config = pipeline_pb2.TrainEvalPipelineConfig()
with tf.gfile.GFile(FLAGS.pipeline_config_path, 'r') as f:
text_format.Merge(f.read(), pipeline_config)
text_format.Merge(FLAGS.config_override, pipeline_config)
if FLAGS.input_shape:
input_shape = [
int(dim) if dim != '-1' else None
for dim in FLAGS.input_shape.split(',')
]
else:
input_shape = None
exporter.export_inference_graph(
FLAGS.input_type, pipeline_config, FLAGS.trained_checkpoint_prefix,
FLAGS.output_directory, input_shape=input_shape,
write_inference_graph=FLAGS.write_inference_graph)
if name == 'main':
tf.app.run()

CAN U EXPLAIN ?? I HAVE THE SAME ISSUE

I get the same error. I was using originally ssd_inception_v2_coco_2018_01_28' and now retrained with ssd_mobilenet_v2_coco but the same error occurs.
Here's how I load the graph:
def load_graph(graph_file):
    graph = tf.Graph()
    with graph.as_default():
        od_graph_def = tf.GraphDef()
        with tf.gfile.GFile(graph_file, 'rb') as fid:
            serialized_graph = fid.read()
            od_graph_def.ParseFromString(serialized_graph)
            tf.import_graph_def(od_graph_def, name='')
    return graph

Printing the graph I have no clue where to find the name for the tensors. Here's its head:
input
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal/shape
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal/mean
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal/stddev
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal/TruncatedNormal
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal/mul
InceptionV3/Conv2d_1a_3x3/weights/Initializer/truncated_normal
InceptionV3/Conv2d_1a_3x3/weights
InceptionV3/Conv2d_1a_3x3/weights/Assign
InceptionV3/Conv2d_1a_3x3/weights/read
InceptionV3/InceptionV3/Conv2d_1a_3x3/dilation_rate
InceptionV3/InceptionV3/Conv2d_1a_3x3/Conv2D
InceptionV3/InceptionV3/Conv2d_1a_3x3/BatchNorm/Const
InceptionV3/Conv2d_1a_3x3/BatchNorm/beta/Initializer/zeros
InceptionV3/Conv2d_1a_3x3/BatchNorm/beta
InceptionV3/Conv2d_1a_3x3/BatchNorm/beta/Assign
InceptionV3/Conv2d_1a_3x3/BatchNorm/beta/read
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_mean/Initializer/zeros
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_mean
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_mean/Assign
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_mean/read
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_variance/Initializer/ones
InceptionV3/Conv2d_1a_3x3/BatchNorm/moving_variance

Hi All, I'm training custom data set in TF2 and now i have finished training the model. To test my model with the test image what should i do??
I tried to follow the same steps as in Tensorflow1 but i couldn't get the desired output. Also, i'm not able to generate the .pb to run the object detection script.
Any suggestions or help would be highly recommended. thanks in advance. below is the screenshot of the error that i get when i run the object detection script from TF1 version.

Hi Jain
Could you help with a similar issue? I have been trying to do the same thing as you do.
Thanks

This Worked For Me , Your .pb Model Will Created Inside Training/saved_model/saved_model.pb
Just Change --ouput_file to --output_directory=training
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_coco.config --trained_checkpoint_prefix training/model.ckpt-1000 --output_directory=training
#note : You have to use any existing directory like training or object_detection etc

This Worked For Me , Your .pb Model Will Created Inside Training/saved_model/saved_model.pb
Just Change --ouput_file to --output_directory=training
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_coco.config --trained_checkpoint_prefix training/model.ckpt-1000 --output_directory=training
#note : You have to use any existing directory like training or object_detection etc


Tilemap parent collision missing

Godot version
4.0-stable
System information
Windows 11
Issue description
In Godot 3.5 you could set collision_use_parent to true on a tilemap inside of an Area2D node and trigger a event when you enter this area.
I'm not sure if this was removed from Godot, someplace I cant find, or can be replicated using code.
I basically want to be able to use body_entered for a tilemap.
Thanks, Nebelung
Steps to reproduce
This reddit comment sums it up well
Make an area2d node and instead of collision shape as the child, put the tilemap instead. On the tilemap inspector, under collision, use parent collision.

There is no parent collision or  collision_use_parent in the 4.0 docs
Minimal reproduction project
N/A

Just ran into this same problem. It's definitely different because the TileMap node used to be where you would go to set the collision layer and mask. Now it's located in the TileSet itself. Not sure if this is better and I need to get used to it or not. This is how I used to make water or lava, something the player could go inside instead of stand on, but knowing if the player was inside is how I would know to change the gravity (if water) or take damage (if lava).

My project also had an Area2D containing a TileMap with Use Parent enabled to get area events for physics bodies. I used it to detect when bodies enter and exit water. It looks like the feature doesn't exist any more, and the workaround would be to create separate Area2Ds by hand. That'd be fine for big blocks of the map, or for well defined-entry and exit points, but not so great for irregular shapes where you can enter and exit anywhere along the perimeter.
Maybe this is a job for the TileSet editor in some future version. It'd be really useful if you could paint an attribute on the TileSet to specify that some tiles have area collision shapes instead of solid ones. TileMap could provide the area signals instead of having to put it in an Area2D.

Related: #66879

I've made an analogue of this feature just by checking collision shapes of each tile, then adding it to the Area2D node.
extends TileMap

@onready var area = $Area2D

func _ready():
	var cells = get_used_cells(0)
	var layer = 0
	for c in cells:
		var data = get_cell_tile_data(layer, c)
		var points = data.get_collision_polygon_points(0, layer)
		var collision_shape = CollisionPolygon2D.new()
		collision_shape.polygon = points
		collision_shape.position = c*cell_quadrant_size + Vector2i(cell_quadrant_size, cell_quadrant_size)/2
		area.add_child(collision_shape)

I've made an analogue of this feature just by checking collision shapes of each tile, then adding it to the Area2D node.
extends TileMap

@onready var area = $Area2D

func _ready():
	var layer = 0
	var cells = get_used_cells(layer)

	for c in cells:
		var data = get_cell_tile_data(layer, c)
		var points = data.get_collision_polygon_points(0, layer)
		var collision_shape = CollisionPolygon2D.new()
		collision_shape.polygon = points
		collision_shape.position = c*cell_quadrant_size + Vector2i(cell_quadrant_size, cell_quadrant_size)/2
		area.add_child(collision_shape)

I think this would only work if the quadrant size is equal to the tile size. Also, the TileMap layer is a different thing than the physics layer.
If we only wanted to grab the first polygon of the first physical layer the code would be:
extends TileMap

@onready var area = $Area2D

func _ready():
	var layer = 0
	var cells = get_used_cells(layer)

	for c in cells:
		var data = get_cell_tile_data(layer, c)
		var points = data.get_collision_polygon_points(0, 0)
		var collision_shape = CollisionPolygon2D.new()
		collision_shape.polygon = points
		collision_shape.position = c * tile_set.tile_size + tile_size / 2
		area.add_child(collision_shape)


Redirect to nice error pages on invitation failure.

Summary:

What: redirect to pretty error pages on invitation code expiration

Notes:
Unfortunately auth0 sends the same error message to our backend if an invitation has already been used, never existed, or has expired 😭 We may want to update the text on the "already used" error page to reflect the fact that we have no way to differentiate what happened. I think we can basically redirect to a "something went wrong with your invitation" page and a general "something went wrong and we don't know what" page.
Checklist:

[ ] I merged latest <base branch>
[ ] I manually verified the change
[ ] I added labels to my PR
[ ] I tested in multiple browsers
[ ] I added relevant unit tests
[ ] I have notified others of changes they need to make locally (migrations, jobs, package updates, etc)

Design and Prod should look at writing a generic message if we can't specify why it failed. The suggestions above work, but I wonder if we can provide some small troubleshooting to the user.


Standalone installation of batmon-ha  not coming up after power fail reboot

My recent install of batmon-ha on a standalone Raspberry Pi is working reliably but doesn't survive a reboot after a power fail.
Logging on to the Pi and running:
sudo systemctl status batmon.service
gives
=================================================================
● batmon.service - Batmon
Loaded: loaded (/etc/systemd/system/batmon.service; enabled; preset: enabl>
Active: active (running) since Tue 2023-11-28 13:07:12 SAST; 1h 49min ago
Main PID: 522 (python3)
Tasks: 2 (limit: 3912)
CPU: 4min 25.494s
CGroup: /system.slice/batmon.service
└─522 python3 main.py
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
Nov 28 14:57:07 rpib env[522]: 14:57:07 WARNING [mqtt_util] mqtt publish RevovA>
My HA on another Pi is not receiving data
On the command line I enter:
sudo systemctl  stop batmon.service
sudo systemctl start batmon.service
and then a minute or so later my HA starts receiving data. I can then logout of my Pi, but next time there's a power fail (often, this is South Africa and we have load shedding which occasionally causes my inverter to trip my earth leakage) then I have the same issue and have to manually restart as above.
Any ideas what I should be looking for?
Thanks

did you systemctl enable batmon.service ?

Yes, after getting it working a while back. This worked fine until the first power fail/reboot.
Does it matter if you sudo the systemctl or do it from normal user login?

systemctl usually needs root permissions and tells you if it it fails

Try to add this in the [Unit] section:
After=network-online.target
Wants=network-online.target

OK, added the:
After=network-online.target
Wants=network-online.target
to batmon.service, copied the file, then did:
systemctl enable batmon.service
again, then an sudo reboot and it looks like it's running just fine after coming up again. Hope it's fixed!  I'll wait for the next trip to confirm all is well.
Thanks for rapid feed back....

good, i"ve added these lines to the Standalone readme file

https://www.geewiz.co.za/stand-alone-inverters/22813-mecer-axpert-3000va3000w-24v-pure-sine-wave-solar-invertercharger-1200w-pwm.html
It's not quite bottom of the range, but close!
A lot of people I know have gone the Sunsynk inverter route, usually 5 or 8 kw versions. My 3000W inverter is adequate but "cheap", and it's not really expandable. If I did it again, I'd get the more feature rich Sunsynk 3.6k or 5 kw version and bite the bullet on cost.
My problem with the Mecer is that it doesn't directly talk to the batteries, even if they had an accessible bms like the Pylontech. The Sunsynks do, and seem to have an excellent monitoring setup, and are good at hybrid mixes of solar+utility.


Dropping to Script Editor is broken if scrolling past end of file is enabled

Godot version
3.5 beta3
System information
Windows 10 x64
Issue description
When you enable text_editor/cursor/scroll_past_end_of_file in editor settings and try to drop a file into the script, dragging over the area under the script will cause scrolling down and makes the editor unusable:

Does not happen on master.
Steps to reproduce

Enable scroll past end of file
Open some script that can scroll
Try dropping some file

Minimal reproduction project
No response

I can confirm the regression in 3.5 beta 2, 3.5 beta 3 and latest 3.x.
It doesn't happen in 3.4.4-stable or 3.5 beta 2, so the regression happened between beta 2 and beta 3.

I haven't tested but from reviewing the changelog I have a hunch that it might be because of #55355. CC @ConteZero

Yes, the problem is in the following code:
		if (drag_action && can_drop_data(mm->get_position(), get_viewport()->gui_get_drag_data())) {
			drag_caret_force_displayed = true;
			Point2 mp = get_local_mouse_position();
			int row, col;
			_get_mouse_pos(Point2i(mp.x, mp.y), row, col);
			cursor_set_line(row, true);
			cursor_set_column(col);
			if (row <= get_first_visible_line()) {
				_scroll_lines_up();
			} else if (row >= get_last_full_visible_line()) {
				_scroll_lines_down();
			}
			dragging_selection = true;
			update();
		}

But I don't know how to fix it.

The easiest "fix" would be removing this part:
if (row <= get_first_visible_line()) {
	_scroll_lines_up();
} else if (row >= get_last_full_visible_line()) {
	_scroll_lines_down();
}

It would disable scrolling when dragging at the edges, but it's better than breaking the editor. From my experience, most dragging happens on a single screen.

Fixed by #61980.


Failed Install

Hello, I have a problem installing this plugin. i am using laravel 11 and filament 3. Please help.

you just need to run this
php artisan vendor:publish --provider="Laravelcm\Subscriptions\SubscriptionServiceProvider"

please follow install docs

what's worng?


fbp-generator: fix kw warning

Suspicious dereference of pointer 'value_data'
Signed-off-by: Bruno Dilly<EMAIL_ADDRESS>

+1.
And kw is happy again.

Thanks, Anselmo


Set use_inc to default true

Now INC will be the default quantization tool, instead of HQT

https://github.com/huggingface/optimum-habana/pull/1142


[Marker.io] Padding under phone

Can we add some padding under the phone here please?

Reported by: Holly Anthony<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://wf-b.stg.prezzee.com/en-us/smart-card
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size2048 x 1152OSOS X 14.7.1Viewport Size2037 x 941Pixel Ratio@2x

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io


Fix slash to backslash conversions in url hashes for opening links in incognito

…nito links
Pull request checklist:

[x] CHANGELOG.md was updated, if applicable

Description
Bugfix for https://github.com/Chatterino/chatterino2/issues/4279
Link was being passed to startDetached function as part of the command string. I suspect somehow this is what is causing / to be changed to \ on windows. Passed the link as part of the arguments and the issue went away. Tested on chrome and firefox.

@askepticaldreamer Thanks for your contribution! As a first second-time contributor, you can now add yourself to the contributors list that's shown inside the application.
To do so, open a new PR where you modify the resources/contributors.txt file and add yourself to the list. Make sure to read the comments at a top for instructions.


Incorrect file name mangling with dual extensions files

The file name is foo.nii.gz and pocketbase turn it to foo_nii_0123456789.gz with<PHONE_NUMBER> is the random bits.
Even though this is technically correct, .nii.gz is the defacto format for working with NIfTI files.
So I'm asking for a way to whitelist .nii.gz or allowing to change the download filename somehow because most software would expect .nii.gz extension

I'll investigate it more details tomorrow and eventually will consider preserving double extensions.

@ganigeorgiev thank you for your quick response. In the meantime, I've found the code snippet for changing the filename on the fly using hook in https://github.com/pocketbase/pocketbase/issues/306#issuecomment-1214146730
I'm trying to translate it to Javascript without success.
This is what I had so far:
onFileDownloadRequest((e) => {
  fs = $app.newFilesystem();
  fs.serve(e.httpContext.response(), e.servedPath, "test.zip");
  fs.close();

  return __hooks.StopPropagation;
});

Any tips?

I've pushed a fix in master to take double extensions in consideration and it will be available with the next minor v0.22.10 release (most likely tomorrow or the day following it).
Regarding the hook, __hooks is a string and doesn't have StopPropagation field. To stop the hook chain in the JSVM you need to either throw an error OR return false (note that the hooks will slightly change with the refactoring).


Loading Saved queries isn't working properly with new Polymer desktop app

I have a bunch of queries I saved previously before the app was updated to be a desktop app. When I load a new query while I'm in the app, it brings up the title of the new saved query but leaves the URL and all the query parameters populated with whatever query I was looking at before. I have to choose a saved query, then close the app, then re-open it to actually get the right URL/parameters.
Expected outcome
When I change queries during a session, it should load the URL and parameters for my new saved query. There is even an animation suggesting it's loading the new saved data.
Actual outcome
When I switch queries via the Saved menu, it changes the title of my query, but not the host/path/parameters
Versions
App: <IP_ADDRESS>-stable
Chrome: 49.0.2623.112
Platform: Mac OS X (10_10_5)
Steps to reproduce

Save more than 1 query in the Saved list (I didn't save them to Google Drive and this might only occur with queries that were saved before the app was updated)
Open the app and load one query
Close the app and reopen
With the first saved query loaded, go to the Saved menu again and select a different saved query
Observe that only the title changes but none of the parameters or URL updates to reflect the newly selected saved query.

Hi,
Thank you for your issue report.
Is this happening when you have detailed view opened?
Thanks.

Yes,
When I first open the app, it loads the URL and params for a saved query (it starts me on the "Request" menu item in the left sidebar).
Then, I choose "Saved" in the left sidebar, choose a different query from the original one, and click "OPEN" on the right side of the "Saved" window.
This takes me back to the "Request" view, and the title at the top reflects the new Saved item I chose, but the URL and params still show the same ones as the first request that loaded when I opened the app.

Thanks for clarification @jaydude5
I already have fixed this issue. After I test the update I'll publish it. Should be done in coming days.

It was released in stable channel. You can adjust timeout in settings.


Charm++ scatter(v) collective interface

Original issue: https://charm.cs.illinois.edu/redmine/issues/1248

Charm++ currently lacks a proper Scatter(v) collective routine. Vipul has defined the interface for this, and is working on the implementation.

Original author: Vipul Harsh
Original date: 2017-01-29 00:58:54

Naive point to point implementation: https://charm.cs.illinois.edu/gerrit/#/c/2083/


fix(tag): convert strings to numbers for tag current value

Pull Request
🤨 Rationale
https://dev.azure.com/ni/DevCentral/_workitems/edit/2523337
👩💻 Implementation

Apply TagDataSource.convertTagValue() to current value results

🧪 Testing

Added auto test covering all tag types

✅ Checklist

[x] This PR has a title that follows the commit message format.

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

v3.1.1
GitHub release

Your semantic-release bot :package::rocket:


fix(entrypoint) pass parameters when preparing the prefix

fixes #317 the problem was introduced here.

@zffocussss the entrypoint needs to be adjusted in the official images as per the PR above by @hutchic . Once that is merged I think it might take another day to get the images available.
afaik it will be retagged, so you can use the same reference, but need to pull the image again to get the update local.

This fix hasn't been deployed to 2.0.2 version, all latest images on Docker Hub still miss this change.

@Jeiwan I confirmed the issue, created a new one in #353. Thx for the report.


chunks that are not persisted yet can be cleared

this code section does not account for the chunk not being persisted yet, when it clears.
the less chunks we keep in memory, the more likely this becomes.
specifically i think for some rollup data we only want to keep 1 chunk in memory.
		if len(a.Chunks) < int(a.NumChunks) {
			log.Debug("adding new chunk to cirular Buffer. now %d chunks", a.CurrentChunkPos+1)
			a.Chunks = append(a.Chunks, NewChunk(t0))
		} else {
			chunkClear.Inc(1)
			log.Debug("numChunks: %d  currentPos: %d", len(a.Chunks), a.CurrentChunkPos)
			log.Debug("clearing chunk from circular buffer. %v", a.Chunks[a.CurrentChunkPos])
			a.Chunks[a.CurrentChunkPos] = NewChunk(t0)
		}

This is quite relevant to another problem i have been thinking about.
When we add multi-node support, we need a way to persist older chunks that have not already been persisted before persisting newer chunks.
I think the answer to both these problems is to:

when persisting a chunk, first check that the previous chunk has been persisted. This logic will then cascade through all chunks ensuring that all chunks have been persisted.

I believe this no longer is a problem: we now call persist() before clearing a chunk, and even when we clear a chunk (which doesn't really clean anything up) and reuse the slot for a new chunk, the CWR keeps a reference to the old chunk.


Check the availability of the example data sets for users after installation

When people want to start using Niche, the availability of the example data sets to the users is essential to get them quickly started. These data sets should not be included somewhere hidden where pip puts them, but on any location the user want to work.
@johanvdw, make sure this is possible. Options are: (1) providing a specific download of the example data using a link; (2) making sure the data can be accessed, independent from installation location,... (3) ...

I would improve the current description as follows:

Provide not just the link to the source:

explain shortly that thet should download the most recent zip on the releases page
make sure people are linked to (have knowlegde of)the correct files inside the docs-folder: getting_started.ipynb, floodplain.ipynb and advanced_usage.ipynb.
make sure people do understand the data sets are in the testcase folder, from which it can be retrieved as well

I believe all comments are covered in the current version.


How do i create a control

I'm trying to reset PWD in AD while honoring password history. I'm using this article as reference. AD requires that I pass a control (1.2.840.1135<IP_ADDRESS>9 or 1.2.840.1135<IP_ADDRESS>6) with the modification for a reset (replace not delete/add - no original pwd).
My first question is do I use a regular Control or ServerSideSortingRequestControl? I'm guessing the later, either way when I try to create the control i get various errors.
The latest error is 'Missing required key: attributeType'
//var pwdhint = new ldap.Control({
var pwdhint = new ldap.ServerSideSortingRequestControl({
    type: "1.2.840.1135<IP_ADDRESS>9",
    criticality: false,
    value: value
});
client.modify('CN=Test,OU=Users,DC=Domain,DC=com',
    new ldap.Change({
        operation: 'replace',
        modification: {
            unicodePwd: encodePassword(newPassword)
        }
    }), pwdhint, function(result, error){
        if (error) (console.log(error));
        console.log(result);
    });

And my second question is how do I create the "value" parameter. No matter how I create I get a TypeError. This says it should be a byte array and the previous article I referenced said the value should be "0x1"
If I pass the control without specifying the value it appears that the control is ignored. As PWD history is ignored and the ModifyResponse.controls is empty
Would appreciate some help

Have you had any luck with this? I too am trying to do a password reset tool that respects the password history rules

I was never able to successfully create the control so I took a different approach.
First i prompt user for there existing password and if they have it i do...
	client.modify(usrRes[0].distinguishedName, [ 		new ldap.Change({ 			operation: 'delete', 			modification: { 				unicodePwd: encodePassword(oldpwd) 			} 		}), 		new ldap.Change({ 			operation: 'add', 			modification: { 				unicodePwd: encodePassword(newpwd) 			} 		}) 	], function(err){ error handler} 	});
Second, which is very hacky, I prompt for some other method to authenticate them. Then I generate a password set it and set it as I do above. Then I change it using below
	client.modify(usrRes[0].distinguishedName, [ 		new ldap.Change({ 			operation: 'replace', 			modification: { 				unicodePwd: encodePassword(newpwd) 			} 		}), 		new ldap.Change({ 			operation: 'replace', 			modification: { 				lockoutTime: 0 			} 		})		 	], function(err){ error handler} 	});
Now if you have policy for max password change in x days, you will have to set it to 0 or alternatively  have to do this which again is very hacky.
	client.modify(usrRes[0].distinguishedName, [ 		new ldap.Change({ 			operation: 'replace', 			modification: { 				pwdLastSet: 0 			} 		}) 	], function(err){ error handler} 	});

Thanks for the quick feedback. I kind of like your 'hacky' method. Its simple and achieves the desired result. Cheers.

This project appears to be abandoned, which is a shame with no real alternatives to LDAP for nodejs.

It is disappointing that neither the docs nor the issue tracker appear to have a working example of a Control.

I tried all kind of ways to use controls but none of them worked so far.
could you please provide a working example?

I tried all kind of ways to use controls but none of them worked so far.
could you please provide a working example?

It's not possible to help you if you do not give any indication of what you are attempting what the result of the attempt it. As stated above, https://github.com/ldapjs/node-ldapjs/issues/381#issuecomment-525503221 is a pretty good explanation. What about it does not work for you?

this is my code:
import { Control } from "ldapjs";
const myControl = new Control({
    type: "1.2.840.1135<IP_ADDRESS>3",
    criticality: true,
  });

but this doesn't work with error:
'Control' only refers to a type, but is being used as a value here.

54   const myControl = new Control({

so I changed my import to
import { Control } from "ldapjs/lib/controls/";
const myControl = new Control({
    type: "1.2.840.1135<IP_ADDRESS>3"
  });

import works but when I tried to give it value
const myControl = new Control({
    type: "1.2.840.1135<IP_ADDRESS>3",
    value: "cn"
  });

it gives me error:
AssertionError [ERR_ASSERTION]: undefined (buffer) is required
    at new Control

I cannot help you with transpiled code.
The final error is stating that you have not given the control a valid value.

could you please provide an example of how to use control with value?
like server side sort base on field 'cn' descending?

I have never directly crafted a control as I have never had a need to do so. You should look through the source code and the tests. Notice that this issue has a "help wanted" label on it.

Probably this is a bug in library.
here is the spec of how it should work https://tools.ietf.org/html/rfc4511#section-4.1.11

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


Update to ChartJS v2 and ES6

[ ] Update to use ChartJS v2 API
[ ] Update to ES6 syntax
[ ] Update to React 14

Sorry, didn't mean to open the pull request here. Will reopen when I've made the updates on my fork.


[2215] Check details page needs to show collapsed version of apply draft sections

Context

This trello ticket

Changes proposed in this pull request

Changed the check-details page to be like prototype; the key difference being that 4 forms (personal, contact, diversity, degrees) are coupled into a new higher-order form called Trainee Data
I changed this form to behave a little more dynamically, and so it now works with the progress/status/fields that are required for a form to have if it wants to work with the ProgressService among other things.
The view for check-details/show is now using partials to render seperate pages, one for normal draft trainees and one for apply draft trainees

Guidance to review

Find an Apply Draft Trainee
Click on the Check Details at the bottom of the review draft page
You will be directed to the check details page.
Here, you will see the blue inset text box for the trainee data form with the status text of the form.

 [S] Check details page needs to show collapsed version of apply draft sections

nice! working as expected for me :)


INFO - Message: Unable to install RHEL 8 userspace packages

Uploading centos2alma_feedback.zip…
Describe the bug
A clear and concise description of what the bug is.
Feedback archive
Please attach a feedback archive to the bug report.
You could create it by calling centos2alma --prepare-feedback.
The archive will help us investigate the problem better and faster.

Could you please upload a feedback archive?

I should did, I wish I didn't do the upgrade, server crashed and downtime for a tourism company, I am building a new server now :(

The issue is the server rebooted and stopped on boot, so I am trying to fix it on rescue mode, it seems it did soem steps of the upgrade and wasn't complete for a reason, so now it's broken on boot with some errors on services.

Uploading centos2alma_feedback.zip…


Remove all logging information during test runs and/or devstack

ETA: 2022Q4
When running locally, the logs are virtually unusable. Just a wall of meaningless text. Need to improve.
Further, we do a lot of OpenTelemetry stuff - we should detect and turn that off (with no errors) when running DevStack.

I don't find the logging too hard to interpret, can you give some specific examples of things that we should change please?

@aronchick What would improve this for you? The logging seems to be useful in debugging situations, but I agree there is a lot of it. Would you prefer logs to only be shown if tests fail?

I'm closing this as I don't think we've reached a consensus on whether a change is required. Please re-open with more details if necessary!


Enable AzureOp packaging

Enable Azure Ops to be built in packaging pipelines by a control flag
Implement Azure invokers for text endpoints

Overall, it looks good to me. Did you try to run the pipeline with BuildAzureOp=1

Yes, it builds fine with minor things to follow up with.


Screen Blinks at VideoGallery on Safari (IPad)

I have created an app using CallWithChatComposite.
A user of iPad (iOS14, safari) reported that VideoGallery blinks at high speed.
It seems that the number of tiles repeats 2 and 4. ControlBar buttons are also difficult to press.

Hi @strawhat-shima
Thanks for reaching out to us.
To understand the issue better, would it be possible to provide screenshots/videos of how the app renders on the device mentioned?

Thank you for your reply. I'm sorry, it was a report from a user, so I don't have an environment where I can check it at the moment. I'll try to reproduce it, but I feel it's difficult to take a snapshot of the phenomenon.

If we do get to reproduce this, it would be good to get the package versions used for @azure/communication-react and @azure/communication-calling.

@strawhat-shima have you had any more reports of this issue? If so could you let us know the versions of @azure/communication-react and @azure/communication-calling your application is using

Sorry for the late report. I can confirm the phenomenon with some other iPads, but not with some others, so I'm guessing that it's probably an iOS version issue. I will report again when I can confirm the improvement by updating the version of the terminal where the phenomenon has been confirmed.

I report the situation after that. The phenomenon definitely occurs in iOS14.4 and does not occur in 14.7 or later. We encourage users to update their iOS to the latest version.


Build repository search engine

we use algolia https://www.algolia.com/doc/ to build search engine.


Fix for MSVC

The example doesn't compile in MSVC:
1>\crow\examples\example_vs.cpp(96): error C2838: 'POST': illegal qualified name in member declaration
1>\crow\examples\example_vs.cpp(96): error C2065: 'POST': undeclared identifier
1>\crow\examples\example_vs.cpp(125): error C2838: 'DEBUG': illegal qualified name in member declaration
1>\crow\examples\example_vs.cpp(125): error C2065: 'DEBUG': undeclared identifier

This PR fixes it.

I encounter this bug today and solve this by your method. Good job!!!


Willing to Contribute Great Ad Copy to the TastyIgniter Site Homepage

Hi,
My name is Phil and I am a professional copywriter.
I'd like to contribute to the Tasty project by creating informative, captivating and enticing content for the website homepage.
I have done this for many other projects here on GitHub and I believe my copywriting contributions will be immensely beneficial to the TastyIgniter Project
In this vein, I'll also be submitting other contributions for the website such as ...
Homepage content
FAQ page content
Wiki content
Press releases/ blog posts
Tutorials on How to use TastyIgniter effectively
...and other content as required by the POs.
Such content will undoubtedly improve return traffic to the website and ultimately convince more site visitors to download and install the app, thereby increasing the popularity of the app in the long run.
Now...
Can I go ahead and create the content?
Also, will the contributions be merged to the master repository?
Please let me know asap, so I could get started immediately.
I know that I probably don't need to do this but I believe that getting your permission before going ahead is indeed the right thing to do.
Thanks for taking the time to read this as I readily await your positive response

Hi Phil,
Welcome to the TastyIgniter community.  Your contributions will definitely be beneficial to the project.
I'll go straight to answering your questions.
I'm assuming you're referring to the demo.tastyigniter.com website, not tastyigniter.com
Yes, feel free to create the content, and all contributions will be merged to the master repository. (Using the Git-Flow branching model)
Also, you can join the project team on Slack.

Thanks for your positive response...
Getting to it now.


decode encrypted root.App.main.context.dispatcher.stores

WIP decryption code for issue #1246
However this doesn't fix the issue completely, since QuoteSummaryStore is not found in the decrypted data - probably the data is now stored in some other place.

I was using an incorrect ticker value - with correct ticker value scraping seems to work without problems (for my limited use-cases).

But there seems to be some small differences - for example, if previously yfinance.Ticker("^IXIC").info["regularMarketPrice"] returned the value directly, now it returns a dict {'raw': 10705.414, 'fmt': '10,705.41'}.

Confirming that i loaded this into my environment with pip install 'yfinance @ git+https://github.com/ranaroussi/yfinance.git@refs/pull/1253/head'
It is working but agreed, I had to define ['raw'] in a decent number of places.

pycryptodome is now a dependency as well.

pycryptodome is now a dependency as well

I'm not sure where to add it, so I need some help from the maintainers (maybe in setup.py? but what version boundary should I use?).

This looks great. I'll handle the rest.

Ah, so the "raw" troubles were due to me deleting bunch of code that was actually needed. Sorry about that.

I've just pushed a change to fix returned data structure, now the tests are passing. No worries @Rogach
Minimum version should be 3.6.6 or later because older contain a AES decryption bug. I'll update setup.py etc, then give others a chance to question.

One more thing @Rogach . This also needs to be backported to branch release/0.1. I don't mind doing this, I just want to give you chance in case you want to be in commit log. You will still get full credit in PRs and release notes.

Regarding cryptography vs pycryptodome, is there any strong argument to choose one over other? cryptography has the high-level interface and larger community, but pycryptodome has been free of known CVEs for longest time. @fredrik-corneliusson

Many thanks guys, this is much appreciated.
Is a new 'fixed' release is expected soon, or should we manually update a specific file on our local setup?

Wait for a fix, it will come soon. We just need to decide with crypto module to use.

Regarding cryptography vs pycryptodome, is there any strong argument to choose one over other? cryptography has the high-level interface but this solution requires the low-level; it has larger community but pycryptodome has been free of known CVEs for longest time (unless pycryptodome has more unknown CVEs from less eyes). @fredrik-corneliusson

Sorry for causing confusion, I worked on this fix before I saw @Rogach already had PR.
I only made my version as I had issues installing the crypto lib I thought the code in the comment used (required compiling).
But now that @Rogach has a working PR and pycryptodome seems to install on windows without issues my branch can be scrapped if there is no other compelling reason to use cryptography lib.
I committed the code anyway in my repo but I was not planning to make a PR for it, forgot how good GitHub is at sniffing out commit messages in forks.

I decided to put both in the code but defaulting to cryptography just so I can get a release out. Will tidy when I get a good answer.

@ValueRaider Sorry, was away from computer. Thanks for backporting the code!


Reduce number of Screens for RDP?

Hey,
First of all: Good job!
This is less an Issue, but more of a Request. I use a setup with 3+ screens and would like to RDP to a machine without using ALL my screens for that session, but still more than one. Is there a way to expand rdpwrap to enable such a configuration?

This should be configured at the client side.

@JasterX 3rd party tools or try to tweak the RDP client (which is really hard to do that, example: setting resolution for RDP that will count 2 or more monitors but not all).
Issue/request should be closed as not related to the main feature of software.
If needed I can bring some sources for that.

Closed as solved. If not - reopen it.


[3.x] Fix regressions caused by recent particle spread refactor

Caused by https://github.com/godotengine/godot/pull/47310
Fixes https://github.com/godotengine/godot/issues/51043
Fixes https://github.com/godotengine/godot/issues/51424

For reviewers, to see the changes aside from the whitespace change: https://github.com/godotengine/godot/pull/51553/files?w=1

Thanks!


Sync api error handling

Currently if you use shopware sync api and send multiple items per request you don't know on which entities error appeared.
For example if you send array with content, where first and third products are not valid

the response looks like this:

So there is no information or id of the entity on which error occurred.
Maybe it is possible to add the id of the entity to the response, not only the error code to detected on which products error happened.

You have in the error the pointer. It says the third row productNumber is empty. does that not help?

@shyim Hey, yes you are right at that point. I will try to provide better example, i think there is issue if you send not only the product as entity, but also product-translation and if there is also error in the same request than the error message is ambiguous. If i can reproduce it, i will upload example here. thanks


Show authentication errors to the user

Error examples

Azure error responses
Inability to create new TeamCity user as a result of auth scheme configuration

shown all plugin specific errors
Inability to create new TeamCity user as a result of auth scheme configuration - fix will be available with TC 9.0.3


Update ActionBar structs

Mapped out the following structs in much more detail: AddonActionBarBase, AddonActionBarX, AddonActionBar, AddonActionCross, AddonActionDoubleCrossBase. Also identified a number of vfuncs for these addons.
There are still a few stray fields I have been unable to identify, but by and large these structs are nearly complete.
Other notes:

Renamed the file for AddonActionCross for consistency (AddonActionBarCross isn't a thing)
Renamed a few fields in AddonActionCross for clarity (obsoleted old names with warnings)
Cut down on some of my more verbose summaries
Bonus: identified a couple functions the game uses to write numbers as special/boxed characters.

I've commented out this member function declaration for now; CExporter is not a fan of it, but I'm a little confused because it seems like other member functions in CS are declared similarly without issue. Could the out param be throwing a wrench in the works, or did I goof something else up?
///
/// Accepts a value representing the Expanded Hold Controls or WXHB configuration, and converts that value into the corresponding hotbar ID and a bool indicating which half of the bar to reference.
///
/// <param name="mapValue">A value from 1-20.
1-16 represent each half of the eight Cross Hotbar sets.
17-20 represent the Cycle Up/Down options.</param>
/// <param name="useLeftSide">True = left side of target bar, False = right side of target bar</param>
/// <returns>The hotbar ID (<see cref="AddonActionBarBase.RaptureHotbarId"/>) of the action set assigned to this input.</returns>
[MemberFunction("E8 ?? ?? ?? ?? 8B D0 83 F8 12 74 38")]
public static partial int GetBarTarget(int mapValue, out bool useLeftSide);

CS8795: Partial method 'AddonActionCross.GetBarTarget(int, out bool)' must have an implementation part because it has accessibility modifiers.
CS0759: No defining declaration found for implementing declaration of partial method 'AddonActionCross.GetBarTarget(int, bool)'

Here's the build attempt with the errors
It's a static function, but I intended to include it with AddonActionCross because the client only ever calls it in regard to Cross Hotbars.

EDIT: I think I can confirm that using either an out or ref parameter is in fact the cause of the error.

yes, the generator does not support out/ref arguments but you can use a pointer (instead of ref bool arg make it bool* arg)

Ah, terrific, thank you!

Seems this line needs to be obsoleted as well, since the vector essentially does what the span did.


Can the editor support shortcut key paste function to help me quickly upload image resources?

Is your feature request related to a problem?
When editing a memo, if I need to insert an image, I have to manually upload it which interrupts my workflow.
Describe the solution you'd like
When I use the "paste" command(such as Command + V), the contents of the clipboard will be uploaded to a remote OSS service.
Additional context
No response

This should have been already implemented. You can paste your image in the editor with cmd/ctrl + v.

This should have been already implemented. You can paste your image in the editor with cmd/ctrl + v.

okay.
The reason for the previous failure was that the image was too large(300kb) when using R2.


Or 1327 titan canyon update op e2e bridge test.go

Update test for op-e2e/bridge-test.go
Setup: read README
Test: cd op-e2e and:

go test -run TestETHBridgeDeposits
go test -run TestNativeTokenBridgeDeposits

Thank you!

Thank you always! Can you check it the target branch? 🙇🏼♂

Thank you always! Can you check it the target branch? 🙇🏼♂

Thank you, let me set target branch is OR-1257


PHP Bucketlock samples and tests

[x] Sample review
[x] Samples with test

[x] Defining a retention policy
[x] Remove a retention policy if not locked
[x] Lock a retention policy
[x] Get retention policy
[x] Set temporary hold
[x] Release temporary hold
[x] Set event-based hold
[x] Release event-based hold
[x] Get default event-based hold
[x] Set default event-based hold
[x] Release default event-based hold
[x] Get object metadata

[x] Update CLI for sample
[x] Updated README.md

@grayside could you help review these PHP samples?

@grayside there is also version difficulties with the composer.lock file. We aren't sure how to fix this issue. Any tips would be awesome.

cc: @chingor13 will help review.

@chingor13 do you have input on how to fix the composer.lock? There's a mismatch of versions.

@frankyn It looks like storage/composer.lock was removed upstream causing the conflict. composer can resolve the dependencies from scratch without it.

Something is up with travis.

Chatted with @bshaffer, looks like Travis CI requirement is a bug. He was trying to remove Travis CI but he's no longer able to remove it. We are technically blocked until this is resolved.

Nvm, unblocked.


[v1.2] Updated Developer's Guide to explain Cloud Storage

Pull Request Test Coverage Report for Build 92

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

Totals

Change from base Build 90:
0.0%

Covered Lines:
1682

Relevant Lines:
1822

💛  - Coveralls


[SHIRO-627] Determine missing bean based on name rather than type

Closes SHIRO-627

Closing, breaking change. @aesy Feel free to comment on this issue and we can reopen it!


Static analysis quirks

Hi all. I ran into a little quirk while doing an analysis of a horizontal axis multistage pump. I wanted to use the run_static method to produce reaction forces for bearing loads. A colleague of mine pointed out that the sum of reaction forces did not add up to the shaft weight + disk mass. It turns out that when I put a disk element in a node where I put a bearing-element, the disk element is not included in static analysis.
Attached is my rotor as a TOML-file (had to name it .zip to upload)
LeifParr_rotor_TOML.zip
Here is a test script:
import ross as rs

# set plotly to render default in browser or spyder
import plotly.io as pio
pio.renderers.default='browser'  # 'browser' for browser, 'svg' for spyder

# load rotor from file
path = 'LeifParr_rotor_TOML.zip'
rotor = rs.Rotor.load(path)
# print total rotor mass and gravity force
print(f'Rotor mass (rotor.m): {rotor.m:.1f} kg, total rotor gravity force (rotor.m * 9.8065) {rotor.m*9.8065:.0f} N')
# plot rotor
rotor_plot_fig = rotor.plot_rotor(nodes=40)
rotor_plot_fig.update_layout(title=path)
#rotor_plot_fig.show()
# run static analysis
static_results = rotor.run_static()
print('static results, bearing forces')
a = static_results.bearing_forces
total_force = 0.0
for el in a:
    total_force += a[el]
print(f'static results, sum of bearing forces {total_force:.1f} N')
print(f'Difference: {rotor.m*9.8065 - total_force:.1f} N')
print(static_results.bearing_forces)

# make list of bearing nodes
bearing_nodes = []
for elem in rotor.bearing_elements:
    bearing_nodes.append(elem.n)
# sum all disk element masses which are also bearing nodes
disk_element_mass_bearings = 0.0
for elem in rotor.disk_elements:
    if elem.n in bearing_nodes:
        disk_element_mass_bearings += elem.m
print(f'Sum of all masses of disk elements which are also bearing nodes: {disk_element_mass_bearings * 9.8065:.1f} N')

# Also, the quirk is also present in plotting, disk elements are plotted as negative bearing reaction forces:
static_results.plot_free_body_diagram().show()

Here is the output:
runfile('C:/Leif/github/Rotordynamics/static_bug.py', wdir='C:/Leif/github/Rotordynamics')
Rotor mass (rotor.m): 175.1 kg, total rotor gravity force (rotor.m * 9.8065) 1717 N
static results, bearing forces
static results, sum of bearing forces 1627.1 N
Difference: 90.2 N
{'node_17': 260.1, 'node_51': 116.9, 'node_88': 539.0, 'node_138': 711.1}
Sum of all masses of disk elements which are also bearing nodes: 90.3 N
Here are rotor plot and free body diagram.

I think the bug lies in the run_static method in rotor_assembly.py, but I haven't found a quick way to fix it yet. It seems that in collecting bearing and disk forces, it is either a bearing force, or a disk force, can't be both.:
  # locate and collect bearing and disk forces
  aux_df = aux_rotor.df.loc[
      (aux_rotor.df["type"] != "ShaftElement")
      & (aux_rotor.df["shaft_number"] == i)
  ]
  for j, row in aux_df.iterrows():
      if row["n"] == n_max:
          force = -np.round(elm_forces_y[-1, 1], 1)
      else:
          force = np.round(elm_forces_y[int(row["n"]) - n_min, 0], 1)

      if row["type"] == "DiskElement":
          DskForce_nodal["node_" + str(int(row["n"]))] = force
          DskForce_tag[row["tag"]] = force
      elif row["type"] == "BearingElement":
          BrgForce_nodal["node_" + str(int(row["n"]))] = force
          BrgForce_tag[row["tag"]] = force
          if not pd.isna(row["n_link"]):
              BrgForce_nodal["node_" + str(int(row["n_link"]))] = -force

Suggestions for a quick (and lasting) fix?

Hi @LeifParr
Thank you for the detailed report.
I will try to look at it as soon as possible and will let you know if I find a solution.

I was able to come up with a temporary work-around. It took some time for me to wrap my head around the code, especially the concept of having several shafts. Anyway, here is a temporary work-around (only for free-body-diagram) for a one-shaft situation:
# -*- coding: utf-8 -*-
"""
Created on Tue Nov 16 07:08:54 2021
Test script for static analysis
@author: lpa
"""

import pandas as pd
import ross as rs
from collections import Counter
import numpy as np
from scipy import linalg as la

# load rotor from file
path = 'c:/data/rotordyn/LeifParr_rotor_TOML.zip'
rotor = rs.Rotor.load(path)
# make a new dummy rotor:
aux_brg = []
for elm in rotor.bearing_elements:
    aux_brg.append(rs.BearingElement(n=elm.n, kxx=1e14, cxx=0))
aux_rotor = rs.Rotor(rotor.shaft_elements, disk_elements=rotor.disk_elements, bearing_elements=aux_brg)
# print total rotor mass and gravity force
print(f'Rotor mass (aux_rotor.m): {aux_rotor.m:.1f} kg, total rotor gravity force (aux_rotor.m * 9.8065) {aux_rotor.m*9.8065:.0f} N')
#

# plot rotor
rotor_plot_fig = aux_rotor.plot_rotor(nodes=40)
rotor_plot_fig.update_layout(title=path)
# rotor_plot_fig.show()

# copy static analysis method from rotor.assembly.py:
aux_K = aux_rotor.K(0)

# gravity aceleration vector
g = -9.8065
grav = np.zeros(len(aux_rotor.K(0)))
grav[1 :: aux_rotor.number_dof] = g

# calculates u, for [K]*(u) = (F)
disp = (la.solve(aux_K, aux_rotor.M() @ grav)).flatten()
gravity_force = aux_rotor.M() @ grav

# calculate forces
nodal_forces = rotor.K(0) @ disp

reaction_forces = nodal_forces - gravity_force

reaction_forces_y = reaction_forces[1 :: aux_rotor.number_dof]
# print(reaction_forces_y)

# make dict of bearing forces
bearing_force_nodal = {}
for bearing in aux_rotor.bearing_elements:
    node = bearing.n
    force = reaction_forces_y[node]
    bearing_force_nodal[f'node_{node:d}'] = force
print(bearing_force_nodal)

# make a dict of disk forces
disk_force_nodal = {}
for disk in aux_rotor.disk_elements:
    node = disk.n
    force = disk.m*g*-1.0
    disk_force_nodal[f'node_{node:d}'] = force
print(disk_force_nodal)

# calculate total shaft weight for plot, assume only one shaft
shaft_w = 0.0
for shaft in aux_rotor.shaft_elements:
    shaft_w += shaft.m * g * -1.0
w_shaft = [shaft_w,]

# make nodes and nodes_pos arrays
nodes =[aux_rotor.nodes,]
nodes_pos = [aux_rotor.nodes_pos]

# initalize a dummy set of static results for plotting:
static_results = rs.StaticResults(deformation=None, Vx=None, Bm=None, w_shaft=w_shaft,
                 disk_forces=disk_force_nodal,
                 bearing_forces= bearing_force_nodal, nodes=nodes,
                 nodes_pos=nodes_pos, Vx_axis=None)

fig = static_results.plot_free_body_diagram()
fig.update_layout(title = 'Grane WIP. Static bearing load. 2021-11-16')
fig.show()

Great to hear that @LeifParr.
As you noticed, the if block to check for DiskElement or BearingElement breaks the code.
I will try to use your code as a base to fix this.
Regarding your comment:

It took some time for me to wrap my head around the code, especially the concept of having several shafts.

We were trying to run an analysis on coaxial rotors and we tried to change some parts of the code to deal with that, which definitely complicates the code a lot.
My opinion today is that we should have dealt with the coaxial case in a separate function, and even though we would have some code repetition there, we would be able to keep the main code more simple. Maybe in the future I can find some time to refactor that as well.

Hi @LeifParr. I have merged a PR with some code based on your approach.
I have also released the v1.1.0 version with the updated code.
I will close the issue for now. Let me know if you have any problems.


Advice page - redesign

Design changes to the advice page - we need to choose what to do first, what is the easiest to do?
Input
Ilse wrote on July 22:
We currently have the following advice in the Liquid Prep app:

To water or not, if water, how much --> can we improve with mm? Inches?
Soil moisture is low, medium, high - we probably need to also indicate the % as measured. Would this indicator of low, med, high be influenced by the need of the crop? Yes
Next watering - is there information on why they should water then… does it make sense to have this if we already provide them watering advice for now? Yes
Also, in the new design direction, we want farmers to indicate if they actually gave water. This was for later on the roadmap, but that should feed into the ML model.
Another idea we had was that this advice page needs to have - clickable/selectable elements, so users can go deeper and see more details. What kind of information on why a certain advice is given can be provided by the ML output?
Can the ML model provide “Predicted soil moisture”? Yes
Can the ML model provide “Expected harvest date”? Yes
Fearghal answered:
The short answer is that for Texas pilot we can do all these things. Since we have relatively detailed information on the crop planting,  harvesting,  and management scheduling.  We are currently developing a reinforcement learning model for crop management that identifies appropriate management actions (when to water and how much, when to apply fertilizer, etc.) We can output these decisions for liquidprep to use. The challenge there is that the more sophisticated machine learning models are pretty data hungry when we try to move to different locations.
We need to balance here the data that's coming from the farmer (e.g. crops planted, planting time, etc) that are then fed to the ML model to generate predictions (probably of soil moisture but not sure if more is needed), and consequently inform crop management.
The prototyping of this is pretty advanced,  the key challenge will be the automated deployment to different regions that we need to consider

@ilsebreedvelt to organize meeting for brainstorming

Ilse to set up another review - meeting needed on August 23rd

Meeting on August 26th to discuss all the designs and finish the details

Still work in progress.

@max-arbezcheung is the design complete or still work in progress for the advice page? Thanks

@ilsebreedvelt @ilfreedom
Hi, here are the design elements for the Farm dashboard & Crop advice page:

UI screens: https://ibm.box.com/s/apjuhgijxylqps8wycs7rbcqx85oobdl
My crops + test sensor image: https://ibm.box.com/s/4q4ov6y5iau28q3aqt863fn0aw5cwtc9
Soil moisture + watering advice images: https://ibm.box.com/s/0yvrlx6e6rdgftw9pckcgsn5lxsy8fx5


Improved logging verbosity when loading predictors

Issue #, if available:
Description of changes:

Changed predictor loading so it doesn't alter logger verbosity by default.
Previously TextPredictor would forcibly change root logger to verbosity 3 when loaded, now it can be controlled (and by default it won't change logger on load).

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-981-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-981/1/index.html

Apart from the change, would it make sense to also change logger = logging.getLogger()  # return root logger to logger = logging.getLogger(__name__)? So that each predictor module will use its own logger.

Apart from the change, would it make sense to also change logger = logging.getLogger() # return root logger to logger = logging.getLogger(__name__)? So that each predictor module will use its own logger.

Probably yes, although we'd want to do that post release since I think its a bit complicated.


bug: TRPCClientError: Unexpected non-whitespace character - NextJS 14 App router

Provide environment information
System:
OS: macOS 13.4
CPU: (10) arm64 Apple M1 Pro
Memory: 45.86 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
Yarn: 1.22.19 - /opt/homebrew/bin/yarn
npm: 8.6.0 - /opt/homebrew/bin/npm
Browsers:
Chrome: 120.0.6099.199
Safari: 16.5
npmPackages:
@tanstack/react-query: ^4.36.1 => 4.36.1
@trpc/client: ^10.43.6 => 10.44.1
@trpc/next: ^10.43.6 => 10.44.1
@trpc/react-query: ^10.43.6 => 10.44.1
@trpc/server: ^10.43.6 => 10.44.1
next: ^14.0.3 => 14.0.4
react: 18.2.0 => 18.2.0
typescript: ^5.1.6 => 5.3.3
Describe the bug
This issue i'm facing came out of nowhere, I've looked through past 20-30 or so commits to see what changed in configuration but nothing. I have NextJS app running in AWS using OpenNext (lambda, cloudfront, s3). I've started to see this error pop out:
Error fetching statement data: TRPCClientError: Unexpected non-whitespace character after JSON at position 1

The underlying functions and data fetching all is working as expected no issues except when it gets to frontend. When inspected, the payload looks fine in proper json format but response and preview has an unexpected numerical values invalidating json:
5 da{
    "0": {
        "result": {
            "data": {
                "json": {
                    "url": "https://test-bucket.s3.us-east-1.amazonaws.com"
                }
            }
        }
    }0

This effected my entire application not just the last few features I've been working on. I attempted reverting back to last working state which the issue persisted. Upgraded my lambda runtime form 18 to 20 which didn't seem to fix the issue.
Reproduction repo
https://github.com/akumotech/truck-kun
To reproduce
Unfortunately, the repo is private but I can try to paste my config here:
import { initTRPC, TRPCError } from "@trpc/server";
import superjson from "superjson";
import { ZodError } from "zod";
import { auth } from "@/server/auth";
import { db } from "@/server/db";

export const createTRPCContext = async (opts: { headers: Headers }) => {
  const session = await auth();

  return {
    db,
    session,
    ...opts,
  };
};

const t = initTRPC.context<typeof createTRPCContext>().create({
  transformer: superjson,
  errorFormatter({ shape, error }) {
    return {
      ...shape,
      data: {
        ...shape.data,
        zodError:
          error.cause instanceof ZodError ? error.cause.flatten() : null,
      },
    };
  },
});

const enforceUserIsAuthed = t.middleware(({ ctx, next }) => {
  if (!ctx.session || !ctx.session.user) {
    throw new TRPCError({ code: "UNAUTHORIZED" });
  }
  return next({
    ctx: {
      // infers the `session` as non-nullable
      session: { ...ctx.session, user: ctx.session.user },
    },
  });
});
export const protectedProcedure = t.procedure.use(enforceUserIsAuthed);

Additional information
react.tsx
"use client";

import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { loggerLink, unstable_httpBatchStreamLink } from "@trpc/client";
import { createTRPCReact } from "@trpc/react-query";
import { useState } from "react";

import { type AppRouter } from "@/server/api/root";
import { getUrl, transformer } from "./shared";

export const api = createTRPCReact<AppRouter>();

export function TRPCReactProvider(props: {
  children: React.ReactNode;
  cookies: string;
}) {
  const [queryClient] = useState(() => new QueryClient());

  const [trpcClient] = useState(() =>
    api.createClient({
      transformer,
      links: [
        loggerLink({
          enabled: (op) =>
            process.env.NODE_ENV === "development" ||
            (op.direction === "down" && op.result instanceof Error),
        }),
        unstable_httpBatchStreamLink({
          url: getUrl(),
          headers() {
            return {
              cookie: props.cookies,
              "x-trpc-source": "react",
            };
          },
        }),
      ],
    })
  );

  return (
    <QueryClientProvider client={queryClient}>
      <api.Provider client={trpcClient} queryClient={queryClient}>
        {props.children}
      </api.Provider>
    </QueryClientProvider>
  );
}

server.ts
import "server-only";

import {
  createTRPCProxyClient,
  loggerLink,
  TRPCClientError,
} from "@trpc/client";
import { callProcedure } from "@trpc/server";
import { observable } from "@trpc/server/observable";
import { type TRPCErrorResponse } from "@trpc/server/rpc";
import { cookies } from "next/headers";
import { cache } from "react";

import { appRouter, type AppRouter } from "@/server/api/root";
import { createTRPCContext } from "@/server/api/trpc";
import { transformer } from "./shared";

/**
 * This wraps the `createTRPCContext` helper and provides the required context for the tRPC API when
 * handling a tRPC call from a React Server Component.
 */
const createContext = cache(() => {
  return createTRPCContext({
    headers: new Headers({
      cookie: cookies().toString(),
      "x-trpc-source": "rsc",
    }),
  });
});

export const api = createTRPCProxyClient<AppRouter>({
  transformer,
  links: [
    loggerLink({
      enabled: (op) =>
        process.env.NODE_ENV === "development" ||
        (op.direction === "down" && op.result instanceof Error),
    }),
    /**
     * Custom RSC link that lets us invoke procedures without using http requests. Since Server
     * Components always run on the server, we can just call the procedure as a function.
     */
    () =>
      ({ op }) =>
        observable((observer) => {
          createContext()
            .then((ctx) => {
              return callProcedure({
                procedures: appRouter._def.procedures,
                path: op.path,
                rawInput: op.input,
                ctx,
                type: op.type,
              });
            })
            .then((data) => {
              observer.next({ result: { data } });
              observer.complete();
            })
            .catch((cause: TRPCErrorResponse) => {
              observer.error(TRPCClientError.from(cause));
            });
        }),
  ],
});

shared.ts
import { type inferRouterInputs, type inferRouterOutputs } from "@trpc/server";
import superjson from "superjson";
import { type AppRouter } from "@/server/api/root";

export const transformer = superjson;

function getBaseUrl() {
  if (typeof window !== "undefined") return "";
  if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`;
  return `http://localhost:${process.env.PORT ?? 3000}`;
}

export function getUrl() {
  return getBaseUrl() + "/api/trpc";
}

export type RouterInputs = inferRouterInputs<AppRouter>;
export type RouterOutputs = inferRouterOutputs<AppRouter>;

Have a pretty similar setup on node 18 -- your repro repo is 404'ing fyi. Seems to only be happening with OpenNext. Just doing a raw build + start works
the response in the network tab seems to have random gibberish in it.
3d
{"0":{"result":{"data":{"json":{"error":"No guest found"}}}}

1
}
0

really strange

Fix for me was to enable streaming with open next (I was using SST)
https://docs.sst.dev/constructs/NextjsSite#experimentalstreaming
Don't think this is related to T3 app at all

Has this been solved? I am experiencing the same error. The response is 200 and looks completely normal, but i am getting TRPCClientError: Unexpected non-whitespace...

Yes sorry this has been resolved, you can find more info here:
https://github.com/RJPearson94/terraform-aws-open-next/issues/15

Amazing, thanks so much for the quick response this fixed it!

I have the same issue on NextJS when publishing to Vercel, have anyone face this and manage to solved it?


filetype of Image Captcha can be specified

Although JPEG compression is a loss compression and PNG is non-lossy, the loss of image captcha quality is bearable. The size of JPEG image captcha after default compression by PIL can be much more smaller than PNG. So I suppose add a parameter 'format' which equals to 'jpeg' by default in the function generate & write of class _Captcha can be better. (If someone still want to use PNG or other filetypes……)

Coverage decreased (-1.69%) to 95.61% when pulling 34d3306eeafd90db11f8e9daa13ec7c4b28697da on Silence-WWT:master into b11f6db86ca00166b41531d8aeabd15a26a50ec7 on lepture:master.

Coverage remained the same at 97.3% when pulling b1030cacab5d45778210bb1a57013143ba33d833 on Silence-WWT:master into b11f6db86ca00166b41531d8aeabd15a26a50ec7 on lepture:master.

Coverage remained the same at 97.3% when pulling b1030cacab5d45778210bb1a57013143ba33d833 on Silence-WWT:master into b11f6db86ca00166b41531d8aeabd15a26a50ec7 on lepture:master.

Coverage remained the same at 97.3% when pulling b1030cacab5d45778210bb1a57013143ba33d833 on Silence-WWT:master into b11f6db86ca00166b41531d8aeabd15a26a50ec7 on lepture:master.

I've already used png as default value. Is it time to merge my pull request? Thank you~

@Silence-WWT Hi, it is merged into https://github.com/lepture/captcha/commit/4e8d6c7cbb6674b72c99f5b0b80e4e37a6a6536a


Remove as Parser type param

I think we can simplify the type signature a little bit wdyt?

Codecov Report

Merging #134 (ca2941c) into main (ef350e0) will increase coverage by 0.00%.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##             main     #134   +/-   ##
=======================================
  Coverage   94.74%   94.74%
=======================================
  Files           7        7
  Lines         875      876    +1
  Branches       78       74    -4
=======================================
+ Hits          829      830    +1
  Misses         46       46

Impacted Files
Coverage Δ

core/shared/src/main/scala/cats/parse/Parser.scala
94.97% <50.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ef350e0...ca2941c. Read the comment docs.

Codecov Report

Merging #134 (ca2941c) into main (ef350e0) will increase coverage by 0.00%.
The diff coverage is 50.00%.

@@           Coverage Diff           @@
##             main     #134   +/-   ##
=======================================
  Coverage   94.74%   94.74%
=======================================
  Files           7        7
  Lines         875      876    +1
  Branches       78       74    -4
=======================================
+ Hits          829      830    +1
  Misses         46       46

Impacted Files
Coverage Δ

core/shared/src/main/scala/cats/parse/Parser.scala
94.97% <50.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ef350e0...ca2941c. Read the comment docs.


coordinate input dialog does not fit in landscape mode

Is it possible to use a different layout when the device is in landscape mode? The dialog is a bit to high on my HTC Legend then (the "finished" button text gets cut somehow).

Either that, or we could give it the ability to scroll by putting it into a ScrollView.

If that's easier, I would be fine with such a solution too.


feat: 3.x migrate to "lcobucci/jwt" v5

feat: add support for psr/clock
To be honest i do not have much knowledge about this topic.
I just followed this mirgration guide https://lcobucci-jwt.readthedocs.io/en/latest/upgrading/
V5 does use psr/clock, instead of v4 with there own clock implementation.
As this is a new major version, i see no need to support versions <5
I added this PR for 3.x Branch as well. But could be a seperate PR if you want to.
https://github.com/lexik/LexikJWTAuthenticationBundle/pull/1155

First run failed beacause of missing psr/clock implementation. I just added this to the dev section and let the users decide, which to use. I am not sure for runtime checks if the users to not have an implementation installed.
PHP 8.2 failed becase of https://github.com/lexik/LexikJWTAuthenticationBundle/issues/1152
PHP 8.3 fails because lcobucci/jwt does not allow PHP 8.3 at the moment.

Can the fix from https://github.com/lexik/LexikJWTAuthenticationBundle/pull/1119/files or 2.x merged upstream for 3.x?

I just noticed that @maxhelias used an different approach for 2.x https://github.com/lexik/LexikJWTAuthenticationBundle/pull/1125

Hi @Chris53897, 2.x should be merge on 3.x to correct compatibility

After that is done, we could discuss what are the best options.

Keep support of version 3 and 4?
Use jwt/clock as hard requirement or let the user decide which implementation of psr/clock the use?

@Chris53897 Thanks for the PR, I'm gonna review and merge soon. I'd plan to finish and release v3.0 somewhere around 2024' first quarter.
Also I'd like to backport this to the 2.x branch with backward compatiblity layers for the older versions of lcobucci/jwt that 2.x supports today. If you feel brave enough to do so, additional PR welcome :)

Thanks. The chance for additional PRs for the tasks is not so high. My actual main focus is on PRs to support symfony 7 and php 8.3 for repos.

That's fine, thanks for telling me.


west: runners: uf2: Add more fstype check for is_uf2_partition.

The current check code checks the partition type by hard-coding it.
During testing it was found that if the partition type was displayed as msdos it could not be detected correctly, so this partition type determination was added.

However, maybe a better approach is to refer to the code at microsoft/uf2 to avoid hard-coding and additional partition type checking.
If you think the code in the link is a better fit, I'm more than happy to continue updating the current detection logic.

Hi @swinslow @carlescufi @mbolivar-nordic, Do you have any thoughts? 😀

@ihidchaos could you address the compliance checks? You can refer to the contribution guidelines if you need help there. Thanks!

@ihidchaos could you address the compliance checks? You can refer to the contribution guidelines if you need help there. Thanks!

I updated the signature information and the check now shows "Run compliance checks on patch series (PR) Expected - Waiting for status to be reported", Is that right?

I see the workflow:
Run compliance checks on patch series (PR) Expected - Waiting for status to be reported Required
Scan code for licenses Expected - Waiting for status to be reported Required

It's been stuck for a long time, do these jobs need to be triggered manually?

@kartben
All checks have passed. Can you help merge this request? Thanks a lot.

Hi @mbolivar-nordic ,Can you help merge this PR?😊


ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized

Are you aware of some latest changes in Flutter that could render you plugin unusable? I follow the example to the letter but I always get the usual long message (ServicesBinding.defaultBinaryMessenger was accessed before the binding was initialized. If you're running an application and need to access the binary messenger before runApp() has been called (for example, during plugin initialization), then you need to explicitly call the WidgetsFlutterBinding.ensureInitialized()` first.).
When you start to use defaultBinaryMessenger in line 152 of handled_isolate.dart, it's null.

I was not aware of this, thank you for letting me know, I will look into it!

This should be fixed now.
I created a custom class with the ServicesBinding mixin to call ensureInitialized() on since WidgetBinding instances can't be run in an isolate due to lack of window, rendering and painting bindings.
Thanks again for bringing this bug to my attention.

Can this change be seen in the source here? I'd be itching to try it out.

OK, I see the comments. I'll try and report back,

Can this change be seen in the source here? I'd be itching to try it out.

Yes it can, I also updated the pub.dev package. :) You can ensure you get it by using:
dependencies:
    isolate_handler: ^0.1.2+formatfix

in your pubspec.yaml file.

Very nice, the platform calls are coming through now loud and clear. Thanks.
I'll have another very small suggestion, I'll open another issue to keep things organized.


interceptor function

I want to implement the interceptor function in Thrift, for example, adding a link traceId. How should this be implemented? Can you provide some guidance?

Can you explain more about what you're trying to do? Where would this value be added?

Can you explain more about what you're trying to do? Where would this value be added?

I want to implement a trace capability, where the trace ID can be passed down the RPC chain and printed in the log. I've noticed other RPC frameworks have this kind of feature, usually implemented based on interceptors. So, how should we implement this functionality in our drift?


Delete zero length wal-log

When you use recovery.conf with standby_mode = off, pg move recovery.conf to recovery.done when there is no new wal-logs. But if we get zero length wal-log, pg shutdown with error:
wal_e.blobstore.s3.s3_util WARNING MSG: could no longer locate object while performing wal restore
DETAIL: The absolute URI that could not be located is s3://my-db-backups/db03.myhost.com/wal_005/00000001000000120000005F.lzo.
HINT: This can be normal when Postgres is trying to detect what timelines are available during restoration.
STRUCTURED: time=2015-03-06T13:08:49.191749-00 pid=27624
2015-03-06 13:08:49 UTC FATAL: archive file "00000001000000120000005F" has wrong size: 0 instead of 16777216

So we should exit with non-zero exit code and delete zero-length wal-log file. This works for me and helps automatically restore backups by cron.

@hblanks,  I think, it's related to https://github.com/wal-e/wal-e/pull/144
May be i should fix do_lzop_get method, but i just make workaround for me, i'm not a python programmer, but mostly ops and ruby programmer in the past.

I think we can push this one down to do_lzop_get as you suggest. Given that this code path is not under the management of the Prefetch system, the comments about AtomicDownload appear to be misinformation to me, and thus removed.
Basically, any failure should probably have its file cleaned up.  This is not safe under situations involving a system crash, but then again, the standby_mode=off contract makes the performance cost of fixing that too high.

Hello,
I have a branch that somewhat more thoroughly treats the problem by deleting any created file when an exception is raised.
The branch is here, can you give it a try:
https://github.com/fdr/wal-e/tree/delete-on-error

Thanx, @fdr!
I'll look at the end of the week

Poke. Had a chance to see if it is an improvement? :)

@fdr, i'll setup db recreation with new wal-e, but it works at night, so i'll answer tomorrow

You branch has the same problem as a master :disappointed:
2015-04-28 20:30:15 UTC FATAL:  archive file "000000010000006400000047" has wrong size: 0 instead of 16777216
2015-04-28 20:30:15 UTC LOG:  startup process (PID 19883) exited with exit code 1
2015-04-28 20:30:15 UTC LOG:  terminating any other active server processes

I just know that this branch is works for me https://github.com/evtuhovich/wal-e.git

Okay, I think I know the root cause: it's because 404s are caught and not interpreted as raised exceptions in quite the same way. I'll work up an enhancement to get that case too.

@evtuhovich Okay, I believe the latest branch has a fix for this. It does uglify the design somewhat but this'll delete partial files in practically any case one could imagine they should be deleted:
https://github.com/fdr/wal-e/tree/delete-on-error (same as before)
Would you be so charitable to see if it helps you?

I'll test it at night and answer you tomorrow morning

Cool, it's works! :+1:

On Tue, May 12, 2015 at 11:23 PM, Ivan Evtuhovich<EMAIL_ADDRESS>wrote:

Cool, it's works! [image: :+1:]

Awesome, thanks for verifying.  I'll squash some commits and do a last once
over and get this out the door.

Committed in https://github.com/wal-e/wal-e/commit/d84ff02a0cbc17d42b3f075c6f3d978223abf799


Corrected Form Validation class errors in user guide

Fixed documentation error in Form Validation that stated set_checkbox() utilizes the array form (i.e. colors[])for the field name instead of the straight form (i.e. colors).

Just looking through this it may in fact be a bug if it is not working with the array keys.
For example I would think it should work this way:
<input type="checkbox" name="mycheck[]" value="2"  />
<input type="checkbox" name="mycheck[gender]" value="m"  />

That might make sense, too.
What is the logic behind using empty brackets?  Is there no reason why we can't test for arrays using is_array() instead?
The brackets in your first example seem extraneous to me whereas they do not in the second.

Empty brackets represent the next element of an indexed array.

@narfbg I know that's true for setting operations, but since we're iterating over the data I don't see the point.
Correct me if I cam wrong, but my understanding of the situation is that using mycheck[] will check if the value is present in the array 'mycheck' whereas mycheck[gender] will check for the value in 'mycheck[gender]'
If I'm right, that seems mighty inconsistent.

@brodkin I haven't really looked at how the validation would handle mycheck[], but I would expect it to do something like this:
array_walk($_POST['mycheck'], 'user_defined_function');

... or if it's called multiple times, it can iterate:
set_checkbox('mycheck[]', 'foo'); // results in $_POST['mycheck'][0] = 'foo';
set_checkbox('mycheck[]', 'bar'); // results in $_POST['mycheck'][1] = 'bar';

... while mycheck[gender] is the same as gender, only it's put into another array - nothing special about it.

I guess that my argument is that we should stick to 'mycheck' and
'mycheck[gender]' or, alternatively, 'mycheck[]' and 'mycheck[gender][]'
On Friday, January 13, 2012, Andrey Andreev <
<EMAIL_ADDRESS>wrote:

@brodkin I haven't really looked at how the validation would handle
mycheck[], but I would expect it to do something like this:
array_walk($_POST['mycheck'], 'user_defined_function');
... or if it's called multiple times, it can iterate:
set_checkbox('mycheck[]', 'foo'); // results in $_POST['mycheck'][0] =
'foo';
set_checkbox('mycheck[]', 'bar'); // results in $_POST['mycheck'][1] =
'bar';
... while mycheck[gender] is the same as gender, only it's put into
another array - nothing special about it.

Reply to this email directly or view it on GitHub:
https://github.com/EllisLab/CodeIgniter/pull/572#issuecomment-3483512

--
Ryan Brodkin
Managing Partner/Web Guru
+1.877.620.4522 x101
G LAB Studios
Creative Marketing and Design Firm
glabstudios.com | +1.877.620.4522

Wow, I think you just went through the full life cycle of that pull request with me  in a single comment.
Apparently we fixed this somewhere along the way then.  I haven't used set_checkbox() since so I wouldn't know personally.
I guess I can close this then.
Sent from a mobile device.
On Jan 13, 2012, at 5:33 PM, Andrey<EMAIL_ADDRESS>wrote:

Those are simply seen as different variable types in an HTML form:

mycheck results in (string) $_POST['mycheck']
mycheck[gender] results in (string) $_POST['mycheck']['gender']

(note that those were strings, and the following are not)

mycheck[] results in (array) $_POST['mycheck']
mycheck[] results in (array) $_POST['mycheck']['gender']

... and the last two are indexed arrays, just like if you had done this:
$_POST['mycheck'] = array();
$_POST['mycheck'][] = '1';
$_POST['mycheck'][] = '2';
var_dump($_POST['mycheck']); // shows array(0 => '1', 1 => '2');
Of course, that's how it typically works, but now that I look at set_checkbox() ... the following would happen:
set_checkbox('mycheck', 'value');
// Actually does:
if ((is_array($_POST['mycheck']) && in_array('value', $_POST['mycheck']))
OR $_POST['mycheck'] == 'value')
... and this is the same for mycheck[], mycheck[gender], mycheck[gender][]:
set_checkbox('mycheck[]', 'value');
// Actually does:
if ((is_array($_POST['mycheck[]']) && in_array('value', $_POST['mycheck[]']))
OR $_POST['mycheck[]'] == 'value')
It really treats them as strings ... so, it does work as you've initially thought and the example should say mycheck instead of mycheck[] in order for it to work (current version of it already does that btw, somebody has got in front of you on this one as well).
Only ... everybody must read the example before realizing how it works and if I had tried to use it - I'd first try with mycheck[], then swear because it won't work, look at the code, swear again and then say I'll never use set_checkbox() again and write it on my own. :)

Reply to this email directly or view it on GitHub:
https://github.com/EllisLab/CodeIgniter/pull/572#issuecomment-3489557


Filter by developer badges

Developers can now have up to two badges on their profile: recently active and source contributor. It makes sense to be able to filter by these when searching.
A PR addressing this issue should:

[ ] Add a new filter option with a checkbox for each badge

The new filter option should be placed in between the search and role level filters and match the UI and UX of the other checkboxes. It should initially be expanded.
Two implementation details to watch out for:

Make sure the filtering works across desktop and mobile.
Make sure clicking the label toggles the associated checkbox on desktop and mobile.

Also, I'm not interested in caching the recently active status. This will occur in #758.

Hi @joemasilotti I would like to work on this feature... Can you please assign it to me?

Sure thing - thank you!

Closed via #763.


Disable repping bots and reset cooldown on failed rep attempt

This PR disables the ability to rep bots and resets command cooldown if rep was not given successfully (e.g. you tried to rep yourself)

This PR has been tested :catvibe:


fix: 4466 - icons for list page popup items

What

Now the popup items have a similar display.
More specifically, icons have been added to menu popup items.

Screenshot

before
after (light)
after (dark)

Fixes bug(s)

Fixes: #4466

Codecov Report

Merging #4515 (d4ed349) into develop (439aeb4) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           develop    #4515      +/-   ##
===========================================
- Coverage    10.32%   10.32%   -0.01%
===========================================
  Files          296      296
  Lines        15296    15298       +2
===========================================
  Hits          1579     1579
- Misses       13717    13719       +2

Files Changed
Coverage Δ

...pages/product/common/product_list_popup_items.dart
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thank you @g123k for your review.
As far as I'm concerned, this PR can be merged. Not sure though because it's Monday.


Clarify definition of "went to a bar in the last 10 days"

Describe the bug
Risk profile for "nearby people" who "Went to a bar in the last 10 days" is displayed as 20,000 microCOVIDS (when I look at San Francisco on 9/3/21)
However, the risk estimate for the scenario "Going to bar" is 7,000.
Link to microCOVID scenario
If applicable, please copy-paste the URL to the scenario that you modeled on the calculator, so we can easily reproduce it.
Scenario where I observed the dropdown for Risk Profile

Risk estimate for "going to bar" default scenario

Expected behavior
The Risk Profile for someone who "went to a bar in the last 10 days" should match the risk estimate for going to a bar, or at least be lower than that. If "went to a bar in the last 10 days" means something else, it should be described more clearly.
Beyond this specific scenario, it would be helpful to know if the risk profile estimates are hard-coded or update dynamically (perhaps that is in one of the white paper or About pages, in which case shame on me for not reading closely...).
Is this a regression?
Don't know - hadn't looked at this previously.

Did you change the values in the second screenshot from what the default selections were?
The "went to a bar in the last 10 days" risk profile in the spreadsheet assumes that the person spent 2 hours within approximately 6 feet of 14 people, unmasked and talking loudly, and that all 14 people were "average residents" of your area. It assumes vaccination status and calculates risk based on whatever the averages are in your area. In this case, it looks like it's likely assuming the person is not fully vaccinated, or is some percentage of the risk of an unvaccinated person based on the vaccination rates in your community.

In your second screenshot above, it seems that you're calculating a scenario where a fully vaccinated person is doing the same thing, but with 15 people within 6+ feet instead of 14.
The big difference is that your risk of catching COVID as a fully vaccinated person going to a bar is substantially less than the risk of catching it and being contagious to others as an "average person" who is likely not fully vaccinated. So calculating the same scenario for yourself as a fully vaccinated person vs. for an "average person" in your area is going to be a quite different risk level.


Update release notes

Some releases are lacking release notes:

3.0.5
2.5.2
2.5.1

@alshakero can you pls update?

Closing as done.

Perfect, thank you!

More than welcome.


[0.9.4] Nested dom-if templates show invalid content

Consider the following case: http://jsbin.com/biquxakiqi/1/edit?html,output
After clicking the steps one by one, you will see that WORLD is shown even though the value of the world property, used in the inner dom-if template, is still false.
Result (tested on Chrome):

Adding restamp to the inner dom-if template fixes the issue, as seen in this sample: http://jsbin.com/ducakepone/1/edit?html,output

Will be resolved in PR https://github.com/Polymer/polymer/issues/1635.


Update select-examples-transact-sql.md

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

Docs Build status updates of commit 6c4ab8b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/queries/select-examples-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@VanMSFT
Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

Docs Build status updates of commit 6c4ab8b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/queries/select-examples-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix go-inferences report

Migrate this from svn

Here is the diff of the current ontology https://build.berkeleybop.org/job/build-go-ontology-inferences/18/artifact/target/go_inferences.diff/view/

Some things perhaps requiring attention:
 id: GO:0002213 ! defense response to insect
-is_a: GO:0098542 {is_inferred="true"} ! defense response to other organism **CHECK ME**
+is_a: GO:0006952 {is_inferred="true"} ! defense response

 id: GO:0002215 ! defense response to nematode
-is_a: GO:0098542 {is_inferred="true"} ! defense response to other organism  **CHECK ME**
+is_a: GO:0006952 {is_inferred="true"} ! defense response

 id: GO:0009600 ! detection of nematode
-is_a: GO:0098543 {is_inferred="true"} ! detection of other organism  **CHECK ME**
+is_a: GO:0098581 {is_inferred="true"} ! detection of external biotic stimulus

 id: GO:0009601 ! detection of insect
-is_a: GO:0098543 {is_inferred="true"} ! detection of other organism  **CHECK ME**
+is_a: GO:0098581 {is_inferred="true"} ! detection of external biotic stimulus

...

 id: GO:2000068 ! regulation of defense response to insect
-is_a: GO:0002831 {is_inferred="true"} ! regulation of response to biotic stimulus
 is_a: GO:0031347 {is_inferred="true"} ! regulation of defense response
-is_a: GO:0032101 {is_inferred="true"} ! regulation of response to external stimulus
-is_a: GO:0043900 {is_inferred="true"} ! regulation of multi-organism process

The technical part is done. If someone can check the differences that were introduced during the no-report interregnum (see job above) we can close this

fixed my issue in todays load..

Partial fix in #13489
But full fix requires this BFO import to be setup, as requested in #12946
This will pull the BFO hierarchy, removing redundant inferences.  It should also pull disjointness axioms so that we get basic error checking.   @cmungall  - can this be made a priority?

@ukemi - ignore the non-GO ones
@dosumis - I will do this next week.

@dosumis
Is this done?

@dosumis
Is this done?

Looks like it.  Both dependent tickets fixed.  Do you still see inferences to BFO?