issue_18 Add Ticket Filters

Related Issue
Closes #18
Type of Change
Put x inside the square bracket to specify what type of change your PR is:

[x] New Feature
[ ] Bug Fix
[ ] Code Refactor
[ ] Documentation Update
[ ] Other (please specify):

Description of Change
Adds filters to show tickets based on status (e.g., open, in-progress, closed).
Implementation Details
required changes have been done in app/page.jsx file.
Demo

@disvid There is mistake in description of issue. Actually it should not be open , inProgress, Closed as there are no such options like these in status. Please update it to( All , Not Started , Started ,Done) as per status field.

@iamgoeldhruv Done.

Hi @disvid, we encourage you trying to fix this issue but it would be nice if contributors would first discuss their idea of solution on the issue page before opening a PR.
Unfortunately, your fix doesn’t seem to resolve the issue. Please make sure to thoroughly test your solution locally to confirm it works before submitting a PR. If you need any hints or guidance regarding why it fails, feel free to reach out, we’re happy to help!
Additionally, please avoid committing undesired changes. For example, altering the Dashboard object from an async to a sync function wasn’t necessary in this case. Keeping your PR clean and focused on the issue makes it easier for everyone to review.
Thanks again for your contribution! We look forward to your next update.

@AyushDharDubey really sorry sir, i have made the required changes and the filter is now working.

@disvid would you be able to resolve the merge conflicts ?

@disvid Please resolve conflicts as soon as possible

Hi @disvid,
this is to make you aware that if you are unable to respond or resolve the issue by the day after tomorrow, 2359 hours, unfortunately, we will need to close the PR to give other contributors a chance.
if you require more time feel free to let us know. if you need assistance or will not be able to resolve the merge conflict at all, kindly inform us before 28th Dec, 2359 hours so that we can explore alternative solutions...

@AyushDharDubey @iamgoeldhruv Sir the mergeconflicts have been resolved.

Hi @disvid,
good work, i can see that the PR is capable of fixing the issue and is ready to be merged.
just one suggestion for you, please make sure that your commit message convey precisely the changes you are committing.
thank you.


Generic data tests accept arbitrary configs

What are you changing in this pull request and why?
Closes https://github.com/dbt-labs/docs.getdbt.com/issues/6274
Checklist

[x] I have reviewed the Content style guide so my content adheres to these guidelines.
[ ] The topic I'm writing about is for specific dbt version(s) and I have versioned it according to the version a whole page and/or version a block of content guidelines.
PRE-RELEASE VERSION OF dbt (if so, uncomment):
[ ] Add a note to the prerelease version Migration Guide

🚀 Deployment available! Here are the direct links to the updated files:

https://docs-getdbt-com-git-dbeatty-docs-issue-5548-dbt-labs.vercel.app/reference/data-test-configs

Hey @dbeatty10 When will this be ready for review?

Hey @dbeatty10 When will this be ready for review?

@runleonarun ready for review


FirefoxNoTouch & ``FirefoxTouch` jobs are flaky

I had to rerun these jobs a bunch of times today — they seem to be extra flaky lately. Worth investigating.

Example failed job: https://github.com/Leaflet/Leaflet/actions/runs/3107063425/jobs/5034728955

Or https://github.com/Falke-Design/Leaflet/actions/runs/3107093741/jobs/5034793690
Firefox 104.0 (Ubuntu 0.0.0) Popup "before each" hook in "Popup" FAILED
	done() called multiple times in hook <Popup "before each" hook in "Popup">; in addition, done() received error: Error: TypeError: el is undefined (src/LeafletWithGlobals.js:2538)

Most of the failures seem to be related to popup code for some reason. Here's another:
Chrome Headless 105.0.5195.102 (Linux x86_64) Popup L.Map#openPopup should not be closen when dragging map FAILED
	Error: Uncaught TypeError: Cannot read properties of undefined (reading '_leaflet_pos') (src/LeafletWithGlobals.js:2538)

Another common error looks like this:
Firefox 104.0 (Ubuntu 0.0.0) Popup L.Map#openPopup should not be closen when dragging map FAILED
	TypeError: el is undefined (src/LeafletWithGlobals.js:2538)

The intermittent failures are getting really bad, to the point that nearly any PR or commit will likely fail, so we have to do something about it. @Falke-Design @jonkoops any idea when it started doing this and how we can go about tracking this down?

Yeah, this is getting quite excessive. We'll have to get this stabilized ASAP.

It's possible that this is related to #8464 and could be fixed by #8478 🤞 At least all the tests surprisingly pass in that PR.

Looks like it's stable again now after #8478. Will reopen if it still happens

What a strange bug, I wonder why these animations impact the tests so much.


Fix another case of ws offramp not reconnecting.

Pull request
Description
When using websocat as server and terminating with Ctrl-C we trigger a connection termination without the required close frame being exchanged. This was triggering and error in the connection loop which left the connection unusable and did lead to stalls on new requests. With this PR the task handling connection will only terminate when there is a serious error in async channel comminucation, hinting at the runtime having a bigger problem, so terminating is ok.
No CHANGELOG entry as there is already one for another case, which got fixed.
Tested by using the workshop example where the error occurred (not ideal, i know).
Related
Checklist

[x] The RFC, if required, has been submitted and approved
[x] Any user-facing impact of the changes is reflected in docs.tremor.rs
[x] The code is tested
[x] Use of unsafe code is reasoned about in a comment
[x] Update CHANGELOG.md appropriately, recording any changes, bug fixes, or other observable changes in behavior
[x] The performance impact of the change is measured (see below)

Performance

Coverage increased (+0.01%) to 83.824% when pulling 51d352a0b75bb36632f4445198ed1c606b45a427 on ws-sink-errors into f3d0bc6a5d11097ba1cf4de7a860588aaa5e1a84 on main.


apa102: add new benchmarks for raster refactor

Pulling these out of https://github.com/google/periph/pull/254 per review comment.

gohci

Thanks!


RuntimeError: Exporting/importing meta graphs is not supported when eager execution is enabled. No graph exists when eager execution is enabled.

(tfjs) ➜  ~ tensorflowjs_converter \
    --input_format=tf_hub \
    'https://tfhub.dev/google/imagenet/mobilenet_v1_100_224/classification/1' \
./test
Loading the module using TF 1.X interface from /var/folders/63/ffmcnx4933gbk9z_7fllm2zw0000gn/T/tfhub_modules/cc14ad57953629a2bbc0ffe52de5afb5518150b2.
WARNING:tensorflow:From /anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/control_flow_ops.py:3632: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING: Logging before flag parsing goes to stderr.
W0810 00:45:09.462952<PHONE_NUMBER> deprecation.py:323] From /anaconda3/lib/python3.7/site-packages/tensorflow/python/ops/control_flow_ops.py:3632: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
2019-08-10 00:45:12.864207: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2019-08-10 00:45:12.882761: I tensorflow/core/common_runtime/process_util.cc:71] Creating new thread pool with default inter op setting: 4. Tune using inter_op_parallelism_threads for best performance.
Creating a model with inputs ['images'] and outputs ['module_apply_default/MobilenetV1/Logits/SpatialSqueeze'].
WARNING:tensorflow:From /anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py:385: convert_variables_to_constants (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.compat.v1.graph_util.convert_variables_to_constants
W0810 00:45:14.082165<PHONE_NUMBER> deprecation.py:323] From /anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py:385: convert_variables_to_constants (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.compat.v1.graph_util.convert_variables_to_constants
WARNING:tensorflow:From /anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/graph_util_impl.py:245: extract_sub_graph (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.compat.v1.graph_util.extract_sub_graph
W0810 00:45:14.082515<PHONE_NUMBER> deprecation.py:323] From /anaconda3/lib/python3.7/site-packages/tensorflow/python/framework/graph_util_impl.py:245: extract_sub_graph (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.compat.v1.graph_util.extract_sub_graph
Traceback (most recent call last):
  File "/anaconda3/bin/tensorflowjs_converter", line 10, in <module>
    sys.exit(main())
  File "/anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/converter.py", line 597, in main
    strip_debug_ops=FLAGS.strip_debug_ops)
  File "/anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py", line 430, in convert_tf_hub_module
    quantization_dtype, skip_op_check, strip_debug_ops)
  File "/anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py", line 397, in convert_tf_hub_module_v1
    graph=graph)
  File "/anaconda3/lib/python3.7/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py", line 140, in optimize_graph
    graph_def=graph_def, graph=graph)
  File "/anaconda3/lib/python3.7/site-packages/tensorflow/python/training/saver.py", line 1546, in export_meta_graph
    raise RuntimeError("Exporting/importing meta graphs is not supported when "
RuntimeError: Exporting/importing meta graphs is not supported when eager execution is enabled. No graph exists when eager execution is enabled

$ pip freeze > log
tb-nightly==1.14.0a20190301
tensorboard==1.14.0
tensorflow==2.0.0a0
tensorflow-estimator==1.14.0
tensorflow-estimator-2.0-preview==1.14.0.dev2019080900
tensorflow-hub==0.5.0
tensorflowjs==1.2.6
termcolor==1.1.0
tf-estimator-nightly==1.14.0.dev2019030115
tf-nightly-2.0-preview==2.0.0.dev20190808

When I use tfjs-converter, I had tried in TF 1.14.1, 2.0.0b, a version. but not work.

@graykode Unfortunately you cannot use Hub modules with eager mode at this point of time. We are working on TF2 support, including Eager mode, in time for the TF2.0 release (not preview). SOrry for the inconvenience.

@gowthamkpr Is it worked on TF 1.x?..

Hi Tae-Hwan,
the tfjs converter should support both old hub modules and new SavedModel 2.0.
Please note:
tensorflowjs 1.2.6 has requirement tensorflow==1.14.0, but you'll have tensorflow 2.0.0a0 which is incompatible.

Still the command you gave works for me at:
tensorflow==2.0.0a0
tensorflowjs==1.2.6
tensorflow-hub==0.5.0

Can you try a clean install, with something like:
pip uninstall tensorflow tensorflow_hub tensorflowjs
pip install tensorflow==2.0.0a0 tensorflow_hub==0.5.0 tensorflowjs==1.2.6

@graykode Did you try clean install as recommended by @vbardiovskyg ? Are you still facing the issue?

@gowthamkpr No It's working now! I think.. it was some tfjs dependency twist in my Mac.. Thanks for helping I'll close this issue.

tensorflow==2.0.0a0 tensorflow_hub==0.5.0 tensorflowjs==1.2.6: Doesn't work for me. Got the same error

import tensorflow.compat.v1 as tf #To make tf 2.0 compatible with tf1.0 code, we disable the tf2.0 functionalities tf.disable_eager_execution()
This helps.

@vishalmhjn a small change in the code ,it's changed from tf.disable_eager_execution() to  tf.compat.v1.disable_eager_execution()

import tensorflow.compat.v1 as tf
#To make tf 2.0 compatible with tf1.0 code, we disable the tf2.0 functionalities
tf.disable_eager_execution()
This helps.

It works for me. Thank you.

import tensorflow.compat.v1 as tf
tf.compat.v1.disable_eager_execution()
in all the py files fixed this eager execution meta graphs, variable_scope, and reset graph errors from some old v1 tensorflow code.

import tensorflow as tf import tensorflow_hub as hub tf.compat.v1.disable_eager_execution() embed = hub.Module(r"D:\nlp\model")
it works for me

you can also use tf.compat.v1.disable_v2_behavior()  to stop all tensorflow2 behaviours.

import tensorflow.compat.v1 as tf
#To make tf 2.0 compatible with tf1.0 code, we disable the tf2.0 functionalities
tf.disable_eager_execution()
This helps.

It works for me. Thank you.

also works for me!

a

Does it support TF2 now?

It should if you use a model in TF2 format (the format is shown in tfhub.dev UI). In TF2, the reusable TF hub models are just regular TF SavedModels. The converter should be able to handle them. If there are any issues with the conversion, tensorflowjs repo might be a better place to ask for assistance.

Works fine with this.

import tensorflow_hub as hub
import tensorflow as tf
tf.compat.v1.disable_eager_execution()

C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Scripts\python.exe C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\detection.py
2023-12-28 19:42:48.851071: I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable TF_ENABLE_ONEDNN_OPTS=0.
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\keras\src\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead.
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\facenett\facenet.py:21: The name tf.disable_eager_execution is deprecated. Please use tf.compat.v1.disable_eager_execution instead.
2023-12-28 19:43:01.407185: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE SSE2 SSE3 SSE4.1 SSE4.2 AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\align\detect_face.py:250: The name tf.variable_scope is deprecated. Please use tf.compat.v1.variable_scope instead.
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\util\dispatch.py:1260: div (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Deprecated in favor of operator or tf.math.divide.
2023-12-28 19:43:01.548681: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:388] MLIR V1 optimization pass is not enabled
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\align\detect_face.py:172: The name tf.nn.xw_plus_b is deprecated. Please use tf.compat.v1.nn.xw_plus_b instead.
Model directory: models
Metagraph file: model-20180402-114759.meta
Checkpoint file: model-20180402-114759.ckpt-275
WARNING:tensorflow:From C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\facenett\facenet.py:384: The name tf.train.import_meta_graph is deprecated. Please use tf.compat.v1.train.import_meta_graph instead.
Traceback (most recent call last):
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\framework\importer.py", line 511, in _import_graph_def_internal
results = c_api.TF_GraphImportGraphDefWithResults(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'gradients/InceptionResnetV1/Bottleneck/BatchNorm/cond/FusedBatchNorm_1_grad/FusedBatchNormGrad' has an _output_shapes attribute inconsistent with the GraphDef for output #3: Dimension 0 in both shapes must be equal, but are 0 and 512. Shapes are [0] and [512].
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\detection.py", line 132, in
run('models', 'models/facemodel.pkl')
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\detection.py", line 97, in run
face_recognition = Recognition(model_checkpoint, classifier)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\facenett\face_contrib.py", line 31, in init
self.encoder = Encoder(facenet_model_checkpoint)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\facenett\face_contrib.py", line 71, in init
load_model(facenet_model_checkpoint)
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\facenett\facenet.py", line 384, in load_model
saver = tf.compat.v1.train.import_meta_graph(os.path.join(model_exp, meta_file), input_map=input_map)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\training\saver.py", line 1583, in import_meta_graph
return _import_meta_graph_with_return_elements(meta_graph_or_file,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\training\saver.py", line 1604, in _import_meta_graph_with_return_elements
meta_graph.import_scoped_meta_graph_with_return_elements(
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\framework\meta_graph.py", line 785, in import_scoped_meta_graph_with_return_elements
imported_return_elements = importer.import_graph_def(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\util\deprecation.py", line 588, in new_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\framework\importer.py", line 407, in import_graph_def
return _import_graph_def_internal(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Choso\PycharmProjects\AttendanceSystemDemo\venv\Lib\site-packages\tensorflow\python\framework\importer.py", line 516, in _import_graph_def_internal
raise ValueError(str(e))
ValueError: Node 'gradients/InceptionResnetV1/Bottleneck/BatchNorm/cond/FusedBatchNorm_1_grad/FusedBatchNormGrad' has an _output_shapes attribute inconsistent with the GraphDef for output #3: Dimension 0 in both shapes must be equal, but are 0 and 512. Shapes are [0] and [512].
how fix this


Exercise M4.04 demo of LinearRegression on repeated features is unstable

Originally posted here in the forum. Ridge regression with alpha=1.0 leads to same result as the ordinary linear regression depending on the machine. This is possibly an Issue worth looking at from scikit-learn, but we may alternatively avoid this demo on the MOOC.
Reproducer from OP here: https://gist.github.com/qdpham/21b30181a8e0dd50cfcbba57b61e9b70

The problem is not with Ridge which always behaves as expected on both machines but rather that LinearRegression does not always fail as we expect it to fail depending on the machines.


SQLiteConnectionString with encryption pragmas doesn't work

When trying to set pragmas to control the encryption I get error CS1739:
The best overload for 'SQLiteConnectionString' does not have a parameter named 'preKeyAction'
Code:
var options = new SQLiteConnectionString(databasePath, true,                 key: password,                 preKeyAction: db => db.Execute("PRAGMA cipher_default_use_hmac = OFF;"),                 postKeyAction: db => db.Execute("PRAGMA kdf_iter = 128000;"));
I looked at SQLiteConnectionString definition and preKeyAction, postKeyAction doesn't appear there:

Installed package: sqlite-net-sqlcipher -Version 1.5.231

@galit1993 that ctor is in pre-release. You can find the ctor here (https://github.com/praeclarum/sqlite-net/blob/master/src/SQLite.cs#L2164). Install the latest beta version 1.6.258-beta from nuget

Thank you! :) 👍


Protobuf related changes due to using protobufjs objects

protobuf.js instances use prototype construction and properties will be searched up the prototype chain.  We must add validation to ensure the property is on the instance and not the prototype.

Coverage increased (+23.1%) to 39.395% when pulling 26629d84af6c4efbc39e1af564fa9942850a99d5 on tpw/protobuf-instance-compat into e778235087e91b0b0fb737df63ca2560b4e74273 on master.


Flake.nix

flake.nix seems to be outdated

seemingly unneeded ${system}s sprinkled around (already taken care by flake-utils)?
old flake.lock seems to cause cache-misses (or maybe I'm doing smth wrong)
nix show fails trying to evaluate non-native system's attributes

Quick question: how much would you happen to know about flake-utils itself?

@shadowrylander not much at all! I used it a couple of times to reduce the boilerplate and seem to be making guesses that work for my small needs.
In particular, I'm still unsure about mechanics of flattenTree on the flake's interface, because with it we seem to need to evaluate the contained expressions

Ah; was wondering if you could help me configure it for use with the nixosConfigurations set instead of packages! 😅
And regarding flattenTree, apparently packages needs to be passed a, well, flattened tree of packages, according to the flake-utils section on the function.

apparently packages needs to be passed a, well, flattened tree of packages

Yeah, the idea is that outputs.${system}.packages must have a type "list of derivations". This is opposed to e.g. nixpkgs having attributes like texlive which aren't derivations but attrsets wrapping other derivations and functions (e.g. texlive has an attribute combine used to construct a texlive with a subset of LaTeX packages; it's attributes like texlive that flakes must have legacyPackages output). This is needed so that flakes can be efficiently and deterministically inspected without checking out the code and evaluating things. So that's what flattenTree apparently does: it traverses the tree at produces the list of those its leaves that are derivations.
By the way, since we seem to be both just trying to navigate in flakes, I'll leave some links I found useful (although you're likely already aware of those):

Community-maintained wiki: https://nixos.wiki/wiki/Flakes
Eelco's own writings:

https://gist.github.com/edolstra/40da6e3a4d4ee8fd019395365e0772e7
https://github.com/NixOS/rfcs/pull/49
Tweag series: https://www.tweag.io/blog/2020-07-31-nixos-flakes/

Flakes in Serokell team on recent nixcon2020: https://youtu.be/7sQa04olUA0?t=9116

Ah; was wondering if you could help me configure it for use with the nixosConfigurations set instead of packages

I'd be glad if I could be of any help. If you're talking about the use-case you described in https://github.com/DavHau/mach-nix/issues/153 though, I haven't read it thoroughly yet, it's quite an amount of information

Thanks for the detailed explanation! I've found most of the links myself as well except for the video, but I'll go through them again anyway!
Regarding using flake-utils to build nixosConfigurations, here's an issue I created in their repo: https://github.com/numtide/flake-utils/issues/10

Hi!
I came across this by chance. I work as SRE for Serokell.
You might find some of our recent work switching all of our infrastructure code to flakes interesting. The documentation could use some work, and much is WIP, but perhaps it can serve as an example of how to do things with flakes.
Flakes are a very experimental feature, some things are broken in nix itself, and the only real documentation is the closed RFC. You'll almost certainly want a more recent build of nix than is available in nixpkgs at any given time.
https://github.com/serokell/deploy-rs
https://github.com/serokell/serokell.nix
https://github.com/serokell/pegasus-infra
Some of us hang out on IRC in #nixos on Freenode, in case you have questions.


Fix build errors - Add required bootutil dependency to a few apps

This PR modifies two apps:

bleuart
bsnprph

These two apps depend on boot/split, which requires the bootloader API.  This PR satisfies this requirement by adding the boot/bootutil package to both apps' dependency lists.

Ah, I see what you mean... boot/split already has the requirement... well, I add @mcuboot/boot/mynewt" to my boot` targets...

Thanks, @utzig.  Hopefully we'll get the Mynewt boot loader and MCUboot consolidated soon.


Free classloaders as soon as they are no longer used

Gradle currently holds some reflection-related data in a cross-build cache, which keeps all values from the current and the previous build session. This is generally a good idea, as it means that we can avoid redoing a lot of costly reflection when no classloader changed. However, it also means that when e.g. buildSrc is changed, the next build will need memory to accommodate both the old and new data. The old classes will only be GCed at the end of the build, even though the classloader has already been invalidated and is no longer used by Gradle. This can be confusing to users, as it can lead to OOMEs that only occur on buildSrc changes.
There are several options to solve his:

allow listeners on our classloader cache so that we can invalidate cached state when a classloader is released
store the reflection data directly in the ASM-generated sublcasses, so it can be collected together with the class
put the derived data into the classloader cache, so it can be cleared when the classloader is released

I'm leaning towards number 3, as it provides the clearest lifecycle and very little overhead. I'm parking this for now, but will revisit for 4.7.

This came up years ago when doing the “new model” work because that involved so much reflection on user types and in a few different places. The consensus intent then was to do something like your option 3, in provide some service for storing information about a class that was aware of its loader origin and tied the lifecycle of that information to the loader.
https://github.com/gradle/gradle/blob/25cabfda24a2b01bf184c06584b02a28a7fcb347/subprojects/core/src/main/java/org/gradle/api/internal/AbstractClassGenerator.java#L69 does a similar thing, but uses weak references.
There's another weak ref map here: https://github.com/gradle/gradle/blob/1e1dd280e467a450e0aa1e366c4e1f076635d0a5/subprojects/base-services/src/main/java/org/gradle/internal/reflect/JavaReflectionUtil.java#L43
I'll bet there are others.


installer: Resolved issue with wizard in safari

The right column's background did not have the same height as the content in Safari. Removing
height: 100% from the style solves this issue and works in Chrome and FireFox as well.
Screenshot in safari:

ping @jvatic

What issue? The commit message body should describe what was fixed and how.

PR body updated :)

Thanks! Next time please put that detail in the commit message.

Will do. Wanted to ammend the commit but somehow I cant force push the changes:
$ git push -f arekkas installer-safari
error: src refspec installer-safari does not match any.
error: failed to push some refs to 'https://github.com/arekkas/flynn.git'

What is the name of the local branch? It's complaining about that.
git push -f arekkas LOCAL_BRANCH:installer-safari

Ah great, thanks :)

LGTM


Make connectedCallback, readyCallback, disconnectedCallback less surprising

I've recently realized two important points about connectedCallback:

It may be invoked more than once, even if it's just rendered once
It may be called once the node is actually not connected

This is because connectedCallback will always be invoked when the element is added to the document, not when it is actually rendered; so a framework that creates the element, adds it to another element, and the moves it somewhere else, for whatever reason, will trigger this.)
Similarly, disconnectedCallback may also be called multiple times.
More details on MDN.
The recommended approach is to check Node.isConnected for the node's current status. We also have .isReady which is set to true after readyCallback is run from ThreeElement's connectedCallback.
So, we need to make this more stable, and less surprising.

528201e0463e56939ec282ecb5b625fee445e4c3 (shipping with 0.3) has stabilized things significantly, making use of queueMicrotask at the right places, and introducing the mountedCallback and removedCallback callbacks. Closing this for now.

528201e0463e56939ec282ecb5b625fee445e4c3 (shipping with 0.3) has stabilized things significantly, making use of queueMicrotask at the right places, and introducing the mountedCallback and removedCallback callbacks. Closing this for now.


Airgapped Systems can not install telegraf due to hard coded archive url

Describe the Bug
When running in an airgapped environment the main class fails, when managing telegraf due to hardcoded internet URL for telegraf archive loaction.
Expected Behavior
I am able to provide an telegraf archive3 location to fetch the arcive from a local web server
Steps to Reproduce
No internet connection, add puppet_operational_dashboards class
Environment
Any

We have a PR i think solves this, its blocked by some upstream work in a dependant module, does this solve this situation
https://github.com/puppetlabs/puppet_operational_dashboards/pull/75/files

@MartyEwings upstream telegraf was released with the required patches. #75 will fix this issue.


feat(component)!: add idiomatic HTTP wrappers

Feature or Problem
This PR seeks to greatly simplify the experience of writing components that use HTTP (incoming and outgoing.) The syntax for the macro was pulled from the wasi-http 0.3 draft, and once<EMAIL_ADDRESS>lands I plan to deprecate the macro entirely. Same thing for the fork of reqwest, once the upstream PR lands to support wasm32-wasip2 we'll drop the fork from our dependency list & use upstream directly.
As per the Rust Overriding Dependencies section, I've chosen to submit an upstream feature and would like for this crate (and users of the wasmcloud_component crate) to be able to take advantage of this feature today, and then switch the dependency to the upstream released version when available
In addition to simplifying the experience of using HTTP, additional requirements taken into account are:

The resulting component must use wasi-http directly, no wasmCloud specific interfaces
The forked crates must have a path to upstream
The wrappers included must not completely obfuscate the wasi-http types (for example, the Request object has a into_inner() method that converts the wrapper back into the wasi::http::types::IncomingRequest

This PR adds:

A macro wrapper export! for implementing the wasi:http/incoming-handler trait, replacing it with a simpler HttpServer trait that can be implemented
Wrapper Request and ResponseBuilder types that can be constructed & returned from the HttpServer trait instead of using wasi-http types directly
A dependency on reqwest-wasmcloud so that the wasmcloud_component crate can be published & consumed today

TODO:

[ ] After settling on this, release the reqwest-wasmcloud crate and dependents to remove the git dependencies present in the PR
[x] Audit wasmcloud_component public members from the http wrapper module to ensure visibility is set correctly
[ ] Additional functionality in upstream reqwest like json() requests, and the wrapper http module.
[x] Remove the example implementations from the http-hello-world component

Related Issues
Makes Rust viable for #3233
Release Information
wasmcloud_component 0.2.0
Consumer Impact

Testing

Unit Test(s)

Acceptance or Integration

Manual Verification
I manually verified that each of the examples in the http-hello-world component worked as expected, whether you read bytes fully into memory or take advantage of streaming. I tested that streaming an incoming HTTP request body back to the response and streaming an incoming HTTP response body to the response worked as intended.

For the CI openssl issue - could we use rustls in reqwest to fix it and remove the dep?

The dog-fetcher is actually going to fail the build until https://github.com/wasmCloud/wasmCloud/pull/3371 merges, so I might back out the dog-fetcher change from this PR if it becomes a blocker

Hey @brooksmtownsend this can be closed right?


response.contentType() ignores parameter

based on my experience with https://www.wikidata.org responses failing to parse, now they parse with this patch

Thanks @elf-pavlik!


feat(publish): dist tag option

I haven't created a ticket and couldn't find any. I hope it is still ok to submit this small PR, which fits my needs.
This PR adds a new option to wasm-pack publish for publishing tagged releases.
See dist-tags on NPM for further explanation of distribution tags.

Hey, I added a paragraph in the docs. Is this ok?

looks great to me! thank you!


[Pass] SimplifyNormInference

This PR adds a new pass SimplifyNormInference to unpack the norm operator into a sequence of operators, which is same as the pass SimplifyInference in Relay

cc @MasterJH5574


[assimp] fix linux build

Set necessary linux libraries

similar issue as #5625? Please try out commit https://github.com/Microsoft/vcpkg/commit/0b5a5767d066cc3f84598435d46400555acb0e77
should be solved by an updated #5543 in the future


winapi32 needs to be ignored on other

winapi32 needs to be ignored on other operating systems than windows

This is still an issue, can't make warnings for windows and compile to linux at the same time. The compiler will complain about the packages. I might need to find another way of notifying the user with warnings.
Help from outsiders is appreciated

Solved by moving win32api to gobek-example project. Also note project is renamed to gobek from go-local-web-gui


Ihs 129 setup perfomance framework

@bradsawadye one more thing i noticed was the naming of the performance directory is incorrect


[OptionsSelector] The cursor moves to the start of the input making typing hard

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

Coming from here
Action Performed:

Tap + > Request money
Type a contact name fast
Notice that the cursor moves to the beginning and end of the text, making typing random

Expected Result:
User should be able to type without issues
Actual Result:
Typing is erratic because the cursor changes position
Workaround:
Type slowly
Platform:

Where is this issue occurring?

iOS
Android
Mobile Web

Version Number: 1.2.5-0
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @luacmartins
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1663949837316499
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I can reproduce locally and reverting https://github.com/Expensify/App/pull/11036 fixes it.

This is done. Closing!

hello @luacmartins @rushatgabhane  am I eligible for reporting this issue as I have posted this issue in slack first here but somehow got missed and also I have mentioned this might be a deploy blocker  https://expensify.slack.com/archives/C01GTK53T8Q/p1663824664105649

@dhairyasenjaliya of course! Sorry that we missed your posting on Slack. I'm gonna reopen this issue and assign a contributor manager to process the payment. Thanks for bringing this up.

@dhairyasenjaliya will you apply here? I'l hire and pay out the reporting bonus!

@adelekennedy job seems to be "Only invited users can find, view and apply to the job"

Updated and refreshed @dhairyasenjaliya!

Done  @adelekennedy

@dhairyasenjaliya @adelekennedy can we close this issue?

@luacmartins applied to the job , yet to be accepted @adelekennedy

done!

Offer accepted

Paid


[BUG for developers] Docker file gives error

Describe Your issue
A clear and concise description of what the bug is.
Steps To Reproduce
Steps to reproduce the bug:

Clone the repo
Run docker build .

Screenshots
If applicable, add screenshots to help explain your problem.
Browser Info

accessed on Desktop
OS: Windows (WSL)

What were you trying to do
Run the app using docker
Additional context
The docker file causes an error: failed to compute cache key: "/public" not found: not found

hey @YahyaFazlani we are not setting docker up on this repo it was the initial idea but since deployment was already done and a rewrite is coming there was no point...and there are many things that are not correctly setup in this repo that is causing issues in dockerizing this repo...

hey @YahyaFazlani we are not setting docker up on this repo it was the initial idea but since deployment was already done and a rewrite is coming there was no point...and there are many things that are not correctly setup in this repo that is causing issues in dockerizing this repo...

Ok, I didn't know that. But if you would not like docker then why not just delete the dockerfile since it may give people the wrong idea.

Ok, I didn't know that. But if you would not like docker then why not just delete the dockerfile since it may give people the wrong idea.

Ok thanks

Ok thanks


Use right caller for isapplicable usage

Originally I was thinking something like:
        # 1. Check if function is inactive
        @show fargs
        @show argtypes
        inactive_arginfo = ArgInfo(nothing, pushfirst!(copy(argtypes), Core.Const(EnzymeRules.inactive)))
        inactive_atype = Tuple{typeof(EnzymeRules.inactive), atype.parameters...}
        @show inactive_arginfo
        @show inactive_atype
        inactive_meta  = @invoke Core.Compiler.abstract_call_gf_by_type(
            interp::AbstractInterpreter,
            EnzymeRules.inactive::Any,
            inactive_arginfo::ArgInfo,
            si::StmtInfo,
            inactive_atype::Any,
            sv::AbsIntState,
            max_methods::Int,
        )

        if Core.Compiler.nmatches(inactive_meta.info) == 0

E.g. doing an abstract call against the rules function and checking how many matches we would get,
this ought to do the edge handling for us. But this change is more minimal.

Doesn't help as much as I hoped. So maybe I do have to try the other variant.

x/ref https://github.com/EnzymeAD/Enzyme.jl/issues/2152

profile.pb.gz
profile data

okay changing the inner isactive part to the native interpreter brings "indirect function call return type analysis" back to 7s from 54s

I am not sure I follow?

Before this PR the "indirect function call return type analysis" test ran in ~7 seconds. With this PR it runs in ~54 seconds. Changing
      inactive_meta  = @invoke Core.Compiler.abstract_call_gf_by_type(
            interp::AbstractInterpreter,
            EnzymeRules.inactive::Any,
            inactive_arginfo::ArgInfo,
            si::StmtInfo,
            inactive_atype::Any,
            sv::AbsIntState,

to
      ni = NativeInterpreter(interp.world)
      inactive_meta  = @invoke Core.Compiler.abstract_call_gf_by_type(
            ni::AbstractInterpreter,
            EnzymeRules.inactive::Any,
            inactive_arginfo::ArgInfo,
            si::StmtInfo,
            inactive_atype::Any,
            sv::AbsIntState,
            max_methods::Int,
        )

reduces it back to ~7s

However regardless independent of the native interpreter stuff (not pushed) this PR breaks invalidations, per CI:
has_frule     |   10     10  0.0s
autodiff(Forward, ...) custom rules: Test Failed at /home/runner/work/Enzyme.jl/Enzyme.jl/test/rules.jl:62
  Expression: (autodiff(Forward, (x->(#= /home/runner/work/Enzyme.jl/Enzyme.jl/test/rules.jl:62 =#
                f(x) ^ 2)), Duplicated(2.0, 1.0)))[1] ≈ 832.0
   Evaluated: 32.0 ≈ 832.0

Stacktrace:
 [1] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:672 [inlined]
 [2] macro expansion
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:62 [inlined]
 [3] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
 [4] top-level scope
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:61
autodiff(Forward, ...) custom rules: Test Failed at /home/runner/work/Enzyme.jl/Enzyme.jl/test/rules.jl:70
  Expression: res[1] ≈ 80032.0
   Evaluated: 32.0 ≈ 80032.0

Stacktrace:
 [1] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:672 [inlined]
 [2] macro expansion
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:70 [inlined]
 [3] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
 [4] top-level scope
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:61
autodiff(Forward, ...) custom rules: Test Failed at /home/runner/work/Enzyme.jl/Enzyme.jl/test/rules.jl:71
  Expression: res[2] ≈ 80096.0
   Evaluated: 96.0 ≈ 80096.0

Stacktrace:
 [1] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:672 [inlined]
 [2] macro expansion
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:71 [inlined]
 [3] macro expansion
   @ /opt/hostedtoolcache/julia/1.10.7/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
 [4] top-level scope
   @ ~/work/Enzyme.jl/Enzyme.jl/test/rules.jl:61
Test Summary:                       | Pass  Fail  Total  Time
autodiff(Forward, ...) custom rules |    3     3      6  2.5s
ERROR: LoadError: Some tests did not pass: 3 passed, 3 failed, 0

I also think inference time is not fixed yet =/


Add BigQuery storage implementation

What this PR does / why we need it:
Moves the BQ storage code to the storage module. I've manually tested this one, but no automated tests yet.
Note that the current interface isn't conducive for service loading yet, so initialization of each retriever/writer still has to be done in code.

/retest

/lgtm


Replace mkdocs with mdbook

Advantages

Syntax highlighting
Better handling of small windows. I always have docs on my portrait window and the navigation is hidden when I do this. I can fix this by moving it onto my large monitor but I didnt realize that was actually an option, I assumed it was just always bad.
Removes a python dependency from our development workflow.
Consistent theming in production and local development. For some reason the mkdocs theme we use is not available on my machine and it falls back to something that looks completely different.

Netlify compatibility
https://rsapkf.xyz/blog/deploying-mdbook-site-netlify
Priority
Even given all these advantages I would only consider it low priority as:

swapping shouldn't require any restructuring of our docs
what we have now mostly works
we need to get @benbromhead  to fiddle with netlify stuff or otherwise give out access and someone else learns how it works.

mdbook will let us include data from external files which looks extremely valuable for some docs improvements I want to make https://rust-lang.github.io/mdBook/format/mdbook.html?highlight=%23include#including-files
So ill go ahead and investigate switching to it.


OCR Issue

Hi I was trying to ocr some lightnovel screenshots, however none of the images I used came back with decent results, instead a random Japanese sentence that wasn't in the text came up. Any way to fix this? Thanks.

You might post some examples of this issue, but I'm guessing you're trying to OCR too much text at once. manga-ocr works best for small chunks of text and is a bit worse on horizontal text than on vertical. You might use it for light novels, but you need to select small chunks of text (like 2-3 words).


potentially speed up hyphenating style names

This works by:

avoiding work if not needed
lower casing individual upper case characters instead of entire strings

I discovered this could be faster when playing around in a repl and measuring the time taken to hyphenate a roughly 66% mix of camelCase names and 33% all lowercase (backgroundColor vs color etc.) (percentage taken from a large-ish project that uses styled-components).
Unscientific perf test
The repl shows it can be around 20 - 80% faster depending on the environment, but is there a way to show this more conclusively?
(in the repl above I got:
255ms vs 143ms
but running in node 12.14.1 I got
162ms vs 124ms, so less dramatic
)

@willheslam can you merge master? should get the actions running

@probablyup Done!


Create an interactive to change the background colour of the page

Small little addition for the hex code curiosity in section <IP_ADDRESS>

Started working on this, should be finished this week :) Intial commit is here


[AKS] rename admin k8s context so it won't overwite user context

Fixes an issue where az aks get-credentials didn't distinguish between the admin and user versions when merging into ~/.kube/config.
Before:
$ rm -f ~/.kube/config
$ az aks get-credentials -g aztest -n aztest
Merged "aztest" as current context in /Users/matt/.kube/config
$ az aks get-credentials -g aztest -n aztest --admin
Merged "aztest" as current context in /Users/matt/.kube/config
$ kubectl config get-contexts
CURRENT   NAME      CLUSTER   AUTHINFO                     NAMESPACE
*         aztest    aztest    clusterAdmin_aztest_aztest

After:
$ git checkout rename-admin-k8s-config
Switched to branch 'rename-admin-k8s-config'
$ rm -f ~/.kube/config
$ az aks get-credentials -g aztest -n aztest
Merged "aztest" as current context in /Users/matt/.kube/config
$ az aks get-credentials -g aztest -n aztest --admin
Merged "aztest-admin" as current context in /Users/matt/.kube/config
$ kubectl config get-contexts
CURRENT   NAME           CLUSTER   AUTHINFO                     NAMESPACE
          aztest         aztest    clusterUser_aztest_aztest
*         aztest-admin   aztest    clusterAdmin_aztest_aztest

cc: @slack

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

Codecov Report

Merging #6529 into dev will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff         @@
##           dev   #6529   +/-   ##
===================================
  Coverage    0%      0%
===================================
  Files       11      11
  Lines      133     133
  Branches     9       9
===================================
  Misses     133     133

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 a0023c7...67d32e0. Read the comment docs.

Given #6497 I assume I'll have to update HISTORY.rst in this PR before it can be merged.

Rebased to fix merge conflict.

Ok. I'll merge it now.


modify url in .rockspec

Current repo name is torch-decisiontree, not decisiontree.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[5.8] Make LengthAwarePaginator respect distinct columns

Overview
This PR demonstrates the bug that was reported in #21242. There have been many previous PR attempts (#18186, #21899, #23209, #23214, #23255, #25126, #25973, #26014, #27107) to solve this issue, however, none succeeded.
Reproduction
When using paginate on a Builder instance that has a distinct column, the actual amount of results from $query->get()->count() differ from $query->paginate()->total().
The issue has also been reproduced in tests/Integration/Database/EloquentPaginateTest.php.
Proposed Solution
In #26014 it was proposed to allow to specify which columns the distinct should be on, and this PR implements that proposal. This solution gives a flexible way of building the query while not breaking existing behaviour.
The distinct property on Builder now can be a boolean or an array. When an array is passed, these denote the columns to be used in the distinct. If an argument is omitted or true is passed, the original behaviour should be used.
Considerations

One other solution considered was to pass the columns from $query->select() to be directly passed to getCountForPagination, however, this would break existing behaviour and not work in SQLite when passing a wildcard or multiple columns to the select.

$query->paginate(15, ['users.*'])
// Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1 near "*": syntax error (SQL: select count(distinct "users".*) as aggregate from "users" inner join "posts" on "posts"."user_id" = "users"."id")

If you use the splat operator instead of using func_get_args(), an IDE won't shout at you if you pass multiple arguments.
/**
 * Force the query to only return distinct results.
 *
 * @param array|mixed $columns,...
 * @return $this
 */
public function distinct(...$columns)
{
    $columns = count($columns) === 1 ? $columns[0] : $columns;
    $this->distinct = $columns;
    return $this;
}

This should work with all ('foo'), ('foo', 'bar') and (['foo', 'bar']).

Needs a very thorough explanation of why this is different from all other broken PRs on this issue.

@stancl

If you use the splat operator instead of using func_get_args(), an IDE won't shout at you if you pass multiple arguments.

I'd rather have the developer pass the columns as an array, but provide the func_get_args() as a legacy way to support the behaviour like in select.
@taylorotwell

Needs a very thorough explanation of why this is different from all other broken PRs on this issue.

I have provided multiple tests that show it 1. doesn't break any current normal behaviour (without distinct), 2. that it still supports the currently broken behaviour (difference between get()->count() and paginate()->total()) and 3. the behaviour we would like to see (uniform counts). What other proof would you require that it doesn't break?

This is pretty good overall. It doesn't break the test added on https://github.com/laravel/framework/pull/23259 and it nicely implements the idea from @stayallive [https://github.com/laravel/framework/pull/26014]. We will probably need a good documentation to explain why ->get()->count() will differ from paginate()->total(), but since this bug is a few years old, I think it was a nice alternative to not change the behavior if anybody is relying on the broken behavior for some unknown reason. "An old enough bug is a feature" 🤣
The only thing I'm unsure about is how SELECT DISTINCT(one_column), another_column plays on a MySQL environment with strict enabled. I know for Group By MySQL will scream at you saying that you are retrieving something outside of the aggregation clause.
Aside from that I think this is pretty neat.
@taylorotwell the biggest difference here from all other proposed solutions is the fact that distinct is no longer a boolean. It now carries over the columns which you want to specify as DISTINCT, which allows the paginator to count distinct values based only on the specified columns.

There are some changes to property types and method signatures that would qualify as breaking changes. Are you sure this should target the current release and not the next one?

Since the methods aren't typed and this change is backward compatible I don't see why you would qualify this as a breaking change.

It's a breaking change when you override the distinct() method in your own query builder.

The PR was proposed before 5.8 release and 5.8 was released yesterday. I think it's fine to land this on 5.8.

@staudenmeir since it's not typed it won't break. The current implementation expects a boolean and this change still supports that. It would be more constructive if you could give an example of a piece of code that works right now but would break with this change.

namespace App;

class Builder extends \Illuminate\Database\Query\Builder {
    public function distinct() {
        //
    }
}

(new \App\Builder(\DB::connection()))->distinct();

Declaration of App\Builder::distinct() should be compatible with Illuminate\Database\Query\Builder::distinct($column = true)

@deleugpn If it is merged, it merges into a released branch. The important part here isn't the state when the PR started, but the state when the PR is merged.

This definitely counts as a breaking change atm.

@driesvints it feels kind of silly to wait 6 months for 5.9 to release this bug fix. But if you insist on not shipping this until the next version we could change the distinct method to:
public function distinct()
{
    $args = func_get_args();

    if (count($args) === 0) {
        // Current behavior
        $this->distinct = true;
    } else {
        // New behavior
        $this->distinct = is_array($args[0]) || is_bool($args[0]) ? $args[0] : $args;
    }

    return $this;
}

And then we can change the function signature for 5.9.

@rovansteen
It feels very wrong to have most of the method's behavior depend on the arguments while not expecting a single one.
What benefit is there to using func_get_args in PHP 7, when you can use the splat operator?
Your snippet will work exactly the same if you remove the $args = func_get_args() line and add an ...$args argument.
I agree that it feels silly to wait 6 months to ship this.
Since this is a bug fix and 5.8 is only like two days old, the upgrade guide could have a section for upgrading from 5.8.0 to 5.8.x.
The 5.6 upgrade guide does this https://laravel.com/docs/5.6/upgrade.
However that is a security release and this is just a bug fix. Depends on how important this bug fix is deemed.

@stancl
I think the entire point of @rovansteen was to prevent changing the signature of the distinct method. Adding the ...$args will still cause a conflict when someone is extending the Builder class.

@stancl this PR is about fixing an issue with distinct in combination with the paginator, let's stay on topic. I would suggest opening a PR yourself to change func_get_args to the splat operator in the codebase so we can separate the discussions.

That was only one point of mine, the second was about when to release this. And thanks for the clarification @erikgaal about not changing the signature of the distinct method, I misunderstood @rovansteen's comment. I thought he meant shipping his snippet in 5.9.

We've had this problem for a long time now. If this solution is accepted by it's merits, I don't think we should wait 6 months to get this fix just because of 2 days of Laravel 5.8 release. I doubt somebody rushed into overriding this method between the release of 5.8 and now.
If the problem is the breaking change, we can open 2 PRs: one with @rovansteen's solution for 5.8 and re-target this PR to 5.9.

I doubt somebody rushed into overriding this method between the release of 5.8 and now.

Was the method changed between 5.7 and 5.8? While it's unlikely that someone rushed into extending this method in the last 2 days, it's possible that someone extended it in previous versions and updated to 5.8 in the last 2 days.
I think there's no reason to make an unexpected (however minor) breaking change if there is a backwards-compatible solution (@rovansteen's).

I know everyone seems convinced this is finally the pr that's going to work, however this problem has always been in the framework and every pr to fix it has eventually been reverted. As devs have worked around this for years, any fix could cause problems with existing code. To me, it makes more sense to merge into 5.9 and give it the opportunity to be used and tested thoroughly before we go live with it. As the framework has always had the current behavior, there is no reason to rush it through and break apps.

Hmm, I have to admit on reviewing the code I don't see a way this can break existing applications other than the signature change. If we want to do it on 5.8 I think the safest route for us is probably to not change the signature and use func_get_args() to inspect the arguments that are passed in. On 5.9 we can clean that up explicitly add the argument.

I have never had any trouble, but when using LengthAwarePaginator I use getPdo(). Which is probably better anyway if using LengthAwarePaginator.

I also believe that the change of type of the $distinct property is a breaking change. This can probably be circumvented by having a new property for the array with column names.
Using func_get_args here to avoid an signature change would be like telling people to turn off warnings. It will hide the problem, but still cause breaking changes. A composer package that fully supports 5.8 will need similar hacks to handle the documented change in behavior of the method. The method signature alone is only a part of the problem. As an extreme example; if we document that the distinct() method will play a small song on the pc speaker, then it would be a breaking change because everyone that is overriding the method needs to change their published code to match these new expectations, even if the signature itself didn't change.
The code implies that I should be able to call ->distinct('title', 'user_id') to have the result distinct by two fields, but there's no tests that checks this. When I try I get a SQLSTATE[HY000]: General error: 1 row value misused (SQL: select count(distinct ("title", "user_id")) as aggregate from "posts"). I think this is an easy fix, the paranthes for distinct shouldn't be  there. It should be select count(distinct "title", "user_id") ...

@sisve Are you sure there is a problem with distinct?  If people write a query, and don't use
distinct correctly, of course it seems like there's something wrong.  Anyway it works correctly using getPdo().

As mentioned, the bug has existed for years. There's no reason to shoehorn it into the framework with hacks to try to avoid breaking changes. Also, because we've worked around this bug for years, some apps are bound to have unexpected breaks either way. To me, it makes sense to merge a clean version, without any tweaks to avoid breaking changes, into 5.9, giving us 6 months to uncover any issues.

Here's a larger query for a report, you only need to count once, if you use session to store count.
    public function report()
    {

        $page = Request::input('page', '1');
        $bdate = Request::input('begindate');
        $edate = Request::input('enddate');

        $perpage = "10";
        $offset = ($page - 1) * $perpage;

        if (!$page === '1') {
            Session::get('kount');
        } else {
            $krows = "SELECT COUNT(*) AS kount FROM ";
            $krows .= "(SELECT distinct `account_types`.`AccountType` AS `AccountType`,`accounts`.`AccountNumber` AS `AccountNumber`,`accounts`.`AccountName` AS `AccountName`,sum(`transactions`.`Expense`) AS `Sum_Expense`,sum(`transactions`.`Income`) AS `Sum_Income` from ((`account_types` join `accounts` on((`account_types`.`AccountTypeID` = `accounts`.`AccountTypeID`))) join `transactions` on((`accounts`.`AccountID` = `transactions`.`AccountID`))) where (`transactions`.`TransactionDate` Between '$bdate' and  '$edate') group by `account_types`.`AccountType`,`accounts`.`AccountNumber`,`accounts`.`AccountName`) as t1";
            $sthk = DB::getPdo()->prepare($krows);
            $sthk->execute();
            $quyk = $sthk->fetch(\PDO::FETCH_OBJ);
            $numrows = $quyk->kount;
        }

        if ($page = '1') {
            Session::put('numrows', $numrows);
        }

        $numrows = Session::get('numrows');

        $pagingQuery = "LIMIT {$offset}, {$perpage}";

        $sql = "select distinct `account_types`.`AccountType` AS `AccountType`,`accounts`.`AccountNumber` ";
        $sql .= "AS `AccountNumber`,`accounts`.`AccountName` AS `AccountName`,sum(`transactions`.`Expense`) ";
        $sql .= "AS `Sum_Expense`,sum(`transactions`.`Income`) AS `Sum_Income` ";
        $sql .= "from ((`account_types` join `accounts` on((`account_types`.`AccountTypeID` = ";
        $sql .= "`accounts`.`AccountTypeID`))) join `transactions` on((`accounts`.`AccountID` = `transactions`.`AccountID`))) ";
        $sql .= "where (`transactions`.`TransactionDate` Between '$bdate' and  '$edate') ";
        $sql .= "group by `account_types`.`AccountType`,`accounts`.`AccountNumber`,`accounts`.`AccountName` ";
        $sql .= $pagingQuery;

        $sth = DB::getPdo()->prepare($sql);
        $sth->execute();
        $quy = $sth->fetchAll(\PDO::FETCH_OBJ);
        $report = new LengthAwarePaginator($quy, $numrows, $perpage);
        $pagelinks = ['bdate' => $bdate, 'edate' => $edate, 'page' => $page];

        $title = 'Monthly Report';
        return view('account.report', compact('report', 'title'));
    }

If folks would just use PDO getPdo() with LengthAwarePaginator.
And view:
@php echo str_replace('/?', '?', $report->appends($pagelinks)->render())  @endphp

Just that easy.

@sisve I'm not sure I quite follow. If I'm a package that is choosing to override the distinct method, I've already chosen to ignore whatever the framework is doing, including any improvements or changes it might make, right?

@taylorotwell It's true that the implementer steps away from the framework's code (ignoring calls to parent::distinct(...)), but they are still expected to follow the documented behavior and signature of the method. These changes imply a documentation change stating that the method can be passed additional arguments to do something more than the usual stuff. People will start using this, and then file bug reports to package developers that state their packages fully support 5.8 doesn't work as expected. This is because the framework has changed the expectations of the method, during the lifetime of the release.
I understand that my view on this is rather strict. This is a breaking change, but I want to be clear that solely being a breaking change will not stop it from being merged into an active release. Many bugfixes will contain breaking changes in some form; and in some cases people are depending on the bugged result. If this is merged, make sure we document it in the changelog to let package developers know about changes. Slightly relevant xkcd: https://xkcd.com/1172/
Regarding the exception when doing ->distinct('title', 'user_id'), it's the new code in this PR that adds the erroneous parentheses in the compileColumns method. The parentheses after the distinct keyword isn't an invocation, but affects the argument, similar to $var = ('string'). Having two values within them does not work. The correct syntax is COUNT(DISTINCT col1, col2, ...)

You folks aren't going to mess up the length aware paginator so it won't work with regular queries are you.

toArray() works with both and there is a separate thread (#27722) to discuss that.

So there is still a problem with distinct in this PR?

@sisve
You're describing two different things there; distinct without parameters means something else than with parameters. See the tests below.
https://github.com/laravel/framework/blob/1ea14eeb198489b3037466bcfa16702b11f57cd8/tests/Database/DatabaseQueryBuilderTest.php#L115-L127
If you want to distinct on all columns, you should call distinct without parameters. Not all DMS's support COUNT(DISTINCT (col1, col2)), that's true, but some like Postgres do. If you're using distinct with multiple columns when your DMS doesn't support it then that's your own fault.

@erikgaal

Not all DMS's support COUNT(DISTINCT (col1, col2)), that's true, but some like Postgres do.

Ah, so here's a very important thing; the syntax differs between engines. Postgresql requires the parameters, mysql does not support them. I was only testing on mysql and made the assumption the syntax for multiple columns wasn't tested.
// postgresql:
SELECT COUNT(DISTINCT (col1, col2)) FROM tbl

// mysql:
SELECT COUNT(DISTINCT col1, col2) FROM tbl

// sqlite, sql server:
(not supported)

So, to me, this looks like it's generating bad sql for mysql. The query grammar for mysql needs to override compileAggregate to remove those parentheses.

@erikgaal: any thoughts on @sisve's latest comments?

@sisve
I've digged into the syntaxes for distinct queries a bit more and came to the following conclusions.

Only Postgres supports distincting on a subset of columns from those that are selected. Which raises the the question if we should still allow the Builder to be passed a set of columns, even though this behaviour is only supported in Postgres? Must it be ignored in other grammars?

$query->distinct('title')->from('posts')->get();

-- Postgres
select distinct on ("title") * from "posts";

-- MySQL
select distinct * from "posts";

In the case for aggregates, MySQL and Postgres (and other grammars) share the syntax as far as I know.

$query->distinct('title')->from('posts')->count();

-- Postgres and MySQL
SELECT COUNT(DISTINCT "title") FROM "posts";

I've made some changes to make sure the queries are correct for the used grammars.

The Builder is essentially a wrapper around SQL and it's very likely that there's combination of features that would result in an invalid SQL statement. As long as it doesn't silently fail, I think we're good.
I think for MySQL users the wish is exactly to use distinct with count, an aggregator, which is the whole point of providing this to fix the Paginator

Hi @taylorotwell and team,
What's the direction you would like to see this PR go to?

So there is still a problem with distinct in this PR?

I agree with @sisve and see this as a breaking change. Should be rolled out in 5.9.

Since we're about 3 months to 5.9, is have to assume that is the plan.

@devcircus probably 5 months because it's likely we'll launch in september. Also see: https://blog.laravel.com/laravel-release-schedule

Can this be re-targeted to 5.9?

@taylorotwell Fine by me

Well here we go 😆 ❤
@erikgaal hopefully you are the lucky winner to solve this! :)


Add a blurb about GPkit to the Wikipedia page on GP?

What do you think? It might be fun and allow more people to discover the awesome power of GPs! Let me know if I'm crazy.

Done! Feel free to edit.
On Tue, 2 May 2017 at 15:39 Berk Ozturk<EMAIL_ADDRESS>wrote:

What do you think? It might be fun and allow more people to discover the
awesome power of GPs! Let me know if I'm crazy.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hoburg/gpkit/issues/1089, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIp8XqE_pfrFcl2EPIXBY1uFjw7i7VF6ks5r14Z7gaJpZM4NOlze
.

 Wooohooo, I can't believe we haven't done this earlier!

:globe_with_meridians:

bqpd, please let us know if this results in more clones of GPkit! btw, is there a way for us to see this data. I'm just curious...

There's public data in the graphs of the github, but the docs analytics are using my private account...we could create a shared lab gmail account to share analytics access?

Though we can't track clones, I've seen two visitors coming to the repo
through wikipedia.


Animation and transition types

Hi. I've added comments to the diff.
In addition could you:

add a quick test to InlineTest or something, to ensure the DSL works and the output is as expected (and that it stays that way).
once you're done, please squash your commits.

Cheers

Hey @Starzu, I'm not sure if you're finished working on this but Travis is failing. Just let me know when you're ready for me to take another look at this - I don't get notifications when you change a PR's commits.

@japgolly
The reason of build fail is interesting:

[info] Fast optimizing /home/travis/build/japgolly/scalacss/core/target/js/scala-2.11/core-test-fastopt.js
No output has been received in the last 10 minutes, this potentially indicates a stalled build or something wrong with the build itself.

Whole "test" process takes about 240s on my local machine with JDK8. It is similar on master branch.
Do you have any idea what is wrong?

@Starzu I just checked out your branch and did a clean test. Finished in 28s without any problems - all tests passed - I don't know what's wrong with Travis.
Ok, I'm heading out now - will merge this tomorrow

Sorry - I forgot to mention this before - could you please also update the changelog and squash the commit again?

@japgolly Done :)

Thanks1


Export encounters

Could you add a bit to export the encounters we create, so that we can share them with others? Obviously they'd need D&D Beyond, and the plugin, and access to all of the monsters in the encounter, but I think it could be useful even with all of those requirements.

On the past I thought about this feature. Export all and allow to import all is indeed easy.
Basically from DDB the extension saves the monster name, the monster "id" (not the real id, but the term that references to the monster page) and an hp (that could be or not the monster default hp). But I am not sure if legally I can allow users that do not have a certain monster to see his default hp after importing an encounter. And to check if the user has or not the monster is kind of hard. Maybe I may ask a mod from DDB if it is ok, since is only the hp and may not even be the default one (if was created with random for example).  Anyways I will consider to do this one as soon I get some free time.
Thanks for the feedback!


event in onreadystatechange callback is undefined

This simple example
XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
xhr = new XMLHttpRequest();
xhr.open('GET', 'https://github.com');
xhr.onreadystatechange = function (event) {
  console.log(event);
};
xhr.send();

outputs
undefined
undefined
...
undefined

I tried this with both https and http urls. I am using node v0.12.7.

I get the same thing. :+1: I need a fix to this.

+1 to this request.  In the meantime @flububb's patch worked well for me too, as I only needed event.target for testing


Adding translation is broken

E.g. we have a problems with language selector, it's rerendering when you click on dropdown:

Fixed via #843


Link interface should not be defined for each distribution

Links should be parameters

This will likely cause type instability slowing almost one order of magnitude the estimation process


Update releases

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


mod_fastcgi fails with httpd22

I was following @alanthing's tutorial here:
https://echo.co/blog/os-x-1010-yosemite-local-development-environment-apache-php-and-mysql-homebrew
I was unable to get the above tutorial working and found it had something to do with mod_fastcgi, which I found was not installed - installation resulted in this error:
/usr/share/apr-1/build-1/libtool: line 1111: /Applications/Xcode.app/Contents/Developer/Toolchains/OSX10.10.xctoolchain/usr/bin/cc: No such file or directory apxs:Error: Command failed with rc=65536
More can be fond here: https://gist.github.com/anonymous/d7233d69948ca3fe4ab6

https://github.com/Homebrew/homebrew-apache#troubleshooting explains how to solve this.
You shouldn't be seeing this message if you're following my blog post, you should be using --with-brewed-httpd22, like: brew install -v homebrew/apache/mod_fastcgi --with-brewed-httpd22

You're correct, I didn't have the version flag.  My apologies and thanks.

No worries, you're welcome


Dashboard-React Perspectives: JSON editor doesn't save multiple edits

Realized after making a lot of edits to perspectives inside the JSON editor that it only saved the last edit I made. It's probably a useEffect issue or something. Don't want to spend a lot of time on this because I think you said that the JSON editor was temporary. Let me know if not.

I figured this out the hard way as well. Sorry I didn't mention it to you earlier.
Yes, I still hope the JSON Editor is temporary. Though I do wonder if we will want a way to summarise the differences between the Perspective settings?


Wrong struct sizes

I noticed my sdkgen has this problem where my class generator prints structs with miss matching sizes which fucks up classes. I can't figure it out for the life of me so I tried your gen, and it has the exact same problem. Did offsetof to verify that it is indeed the wrong size, it's off by 4 bytes.
One might assume its the bitfield for the unsigned longs, but NetworkSyncSettings is at the correct offset in the RBActor_TA class which shows all the bools before it are correct. I don't know why the size of the bitfield would change once its in a struct, if that were the case.

and yet they still haven't fix the error...

dang rip


ENH: allow user to select for real or virtual tags

Use Case
Please provide a use case to help us understand your request in context
Allow user to select virtual tags or real tags, useful for cases where there is both a real and a virtual tag for a measured quantity
Solution
Please describe your ideal solution
Have a virtual=True kwarg in select_objs
Alternatives
Please describe any alternatives you've considered, even if you've dismissed them
Add another attribute? Like tag_virtuality?? tag_type is already taken

This should already be possible by passing obj_type=VirtualTag or obj_type=Tag into select_objs so I don't think that a separate flag would be useful. If that solution doesn't work or you think that it would be more elegant to have a separate flag then please let me know of course!


Loading two versions of braintree/browser-detection

General information

SDK version: 3.16.0
Environment: All
Browser and OS: All

Issue description
braintree-web requires braintree/browser-detection#1.3.0
braintree-web dependency restricted-input requires braintree/browser-detection#1.1.0
Can you update your dependencies so we are not loading two different versions of browser-detection? Thanks!

Thanks for the report. This is because one of our dependencies is using v1.1.0 https://github.com/braintree/restricted-input/blob/master/package.json#L37
We'll get that fixed in the next release.
We'll write a test that makes sure we don't duplicate these dependencies in the future.

Is there a reason why you are using github dependencies rather than using regular version numbers? I updated braintree-web to 3.17.0 to pick up the fix, but now it's just downloading two versions of browser-detection#1.4.0 (I'm guessing because they are github dependencies):
Duplicate module browser-detection
        ./node_modules/braintree-web/node_modules/browser-detection
        ./node_modules/braintree-web/node_modules/restricted-input/node_modules/browser-detection

browser-detection is a github dependency because it is specific to Braintree's browser detection needs and not intended for wide use. Therefore, we haven't published it to npm.
We're talking internally about moving it to a scoped package, which would still allow us to designate it as recommended for Braintree's use only, but would alleviate the double dependency problem.

Sure, that makes sense. A scoped package would be great! +1

Just published https://www.npmjs.com/package/@braintree/browser-detection
This will actually be resolved in the next release. Thanks for bringing it up!
I wasn't aware that Github dependencies behaved differently than npm dependencies.
Gonna re-open this issue until the release happens.

Duplicate dependencies gone! Thanks!

:+1:


add mathjax and update pictures

Codecov Report

Merging #68 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #68   +/-   ##
=======================================
  Coverage   55.52%   55.52%
=======================================
  Files          63       63
  Lines        3485     3485
=======================================
  Hits         1935     1935
  Misses       1550     1550

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 4bcfc5f...a521fdf. Read the comment docs.


CSIP100 specification may be wrong

The description of this specification does not seem to match the cardinality. Am I misunderstanding something or is this an error?

The cardinality is coming from that there is a possibility to only transfer metadata in a package which means that there in that case is nothing else.
When there is schemas part of the package the file group needs to be referenced in one fpt for each fileGrp that contains documentation. Observe that there can be more than one fileGrp with attribute USE specified as Schema.


PETR metric issues under version mmdetection3d-1.1.0

I trained PETR 24epoch through A800, but I cannot achieve the accuracy you announced.
The metric I received is：
mAP: 0.3131
mATE: 0.9197
mASE: 0.2800
mAOE: 0.6155
mAVE:0.8982
mAAE:0.2354
NDS: 0.3616
Can you publish the training log？？？

Here's my training log: 20221224_160645.log

There is a problem with the Petr in the current mmdet3d-1.1.0 version, which may cause errors during runtime.  You can use this version of code to run and test it; I made some minor corrections to the errors that occurred during the operation and conducted training, but the results were much worse than the ones you trained last year. Here is my training log：
20230509_123941.log，
Can you use this version for retraining at your convenience and submit the log for comparison? Thank you

Here's my training log: 20221224_160645.log

Could you please list the changes and errors? Unfortunately, I don't have the computation source to retrain PETR right now. However, you might be able to use the same version of this PETR implementation that I committed.

@xiaowuge1201 The links of the log and model have been uploaded in README.md in dev-1.x branch.

Hi! I also experience issues with reproducing the reported metrics. For reference, I get the following metrics when running a test on nuScenes validation split (with the config and model in the README):
mAP: 0.3829
mATE: 0.7376
mASE: 0.7096
mAOE: 0.4803
mAVE: 0.8703
mAAE: 0.2040
NDS: 0.3913

As you can see, the metrics differ from the reported ones, especially for mASE (and in turn NDS).
The log you refer to seems to be from a much older state of the repo (it contains the now removed LidarBox3dVersionTransfrom for instance). It seems plausible that something has gone wrong when adapting the code for the coordinate system refactoring.
Did you run any model training and/or testing related to the following commits?
https://github.com/open-mmlab/mmdetection3d/commit/952a59235771c9226b8f5016d3d8e615b8eb298b
https://github.com/open-mmlab/mmdetection3d/commit/12c3b19d8c788111bf66a375400e768c2790b3a1


create and write markup for Hero component

There wasn't a comment for the  element but I thought if we are making this component more reusable, maybe we should get the image url via props as well. I might be getting ahead of myself here, so please feel free to correct me if I'm missing something.

There wasn't a comment for the <img /> element but I thought if we are making this component more reusable, maybe we should get the image url via props as well. I might be getting ahead of myself here, so please feel free to correct me if I'm missing something.

From the figma it looks like it will always be the skyline icon, but I'd rather error on the side of making the component reusable so good call on that.


Add Antialiasing to the custom icons of terminals

Description of the new feature/enhancement
Add an "anti-aliasing-icon" feature or something like that.

Proposed technical implementation details (optional)

Add an "anti-aliasing-icon" feature or something like that.

Thanks for the suggestion! Please make sure to search for duplicates when filing new issues. This is already being tracked by another issue on our repo - please refer to #6787 for more discussion.
/dup #6787

Oh, whoopsie, thanks anyways


simple format updates to config.go and updated depdency to latest yam…

As requested and promised (issue #124), this is a simple formatting update to config.go. The YAML dependency was also updated to the latest revision. Build and tests completed successfully.

Thank you very much @jacec!


Add new messages in cfg_val and add support for NavHpPosLlh

This PR adds support for more messages for CFG-VAL-SET, and also add a handler for UBX-NAV-HPPOSLLH for high precision positioning.
I also added a helper for CfgValSetBuilder since it wasn't very obvious how to use it before, and some examples in the README. The cfg_val! macro now also supports documentation comment.
I'm not sure it was a good idea to add both cfg_val and NavHpPosLlh modifications in a single PR, I can split it up if it makes more sense.

CI failure looks like an issue with CI, you can ignore that.


[WIP] added declared_only validator #810

Only allow declared parameters as proposed in #810.
Works like this:
params do
  optional :beer
  optional :wine
  optional :juice
  declared_only
end

Now if there is a parameter present that is not beer, wine or juice a validation exception will be thrown.
Also tested for nested parameters.
It is not quite finished yet:

I plan on adding a except option to skip the validator for some parameters. Especially in combination with the bug described in #1050 / #1085 , a param that is accepted on every endpoint would have to either be declared in every params block or will throw an exception with this validator
Not tested/tried it for Arrays yet.
Some feedback on the name of declared_only would be nice. I not sure if it fits in well.

I like it. I think that the DSL could be clearer and be on params, maybe turn it around, for example params undeclared: :error do .... I think that if a param is accepted with every endpoint it should be in a helpers ... and reused via use, introducing except will defeat the purpose of this IMO.
I think I would like to be able to turn this globally on for my entire API.
I'd like a way to turn this on gradually, we have 400 endpoints in a project and we would love to make params declared only, so maybe something like params undeclared: :warn?

Something that's not declared is smuggled? Should undeclared be smuggled? j/k

Great, I would also prefer to have it on params, but decided to follow the conventions of the existing validator (even though it works somewhat different than the other validators).

@dblock

I'd like a way to turn this on gradually, we have 400 endpoints in a project and we would love to make params declared only, so maybe something like params undeclared: :warn?

I've put it in there now, but it isn't easily testable and I haven't really found any similar behaviour in grape yet.

I really like this. I think it needs README and CHANGELOG and it would be good to go. Testing via expecting a warning is good AFAIK.

I had to change a bit more, to get the validation for generic hashes working in an expected way.
E.g.:
params undeclared: :error do
  optional :config, type: Hash
end

If you only specify the type Hash, you probably want to allow any Hash.
In contrast, if you declared you Hash with a block like
params undeclared: :error do
  optional :config, type: Hash do
    requires :language
  end
end

you have a strict expectation of how the Hash should look like.
As for the warning test, I tried my best (even ugly stuff like expect_any_instance_of) but didn't manage to get a correct expectation running.

When trying to integrate it into our own API I noticed that it failed when a Hash had more than one nested parameter defined.
This is now fixed but requires more involved Hash inclusion checking for the declared params. On the other hand this opens up the possibility to expand given blocks to work with nested blocks like:
params do
  optional :a, type: Hash do
    optional :b
  end
  given :a => :b do
    requires :c
  end
end

Maybe there's a simpler implementation here that calculates a hash difference (only caring about keys), I haven't dug into things like https://github.com/liufengyun/hashdiff or others, but it sounds like a good way to abstract the problem, no?

Yes, having declared_param? accept a path as array of keys might make things simpler. I'll look into it, but might be a week until I have the time.

What is the status on this? Is there anything we can do to help?
This seems to be a quite important feature to me. Especially with being able to turn that on by default ('strict mode') for the whole API.

I sadly won't have time to work on it in the forseeable future, sorry.
I have no problem if anyone picks up where I left off and submits a new PR.

I am still very interested in this, it's a super useful feature. Was thinking maybe we should have strict: true on params as a more rigid DSL, undeclared:  still feels odd to me. Looking for someone to finish this PR!


[Bug]: Cannot enable plugin on Android

What happened?
I cannot activate plugin on my android mobile after plugin update.
Steps to reproduce
Install new version of plugin 1.0.3 press to activate plugin
Version
1.0.3
Obsidian Version
1.5.12
What platform are you seeing the problem on? (Can be multiple)
Android
Relevant log output (Ctrl + Shift + I)
app.js:1 Plugin failure: grind-manager ReferenceError: global is not defined
    at anonymous (plugin:grind-manager:15:14458)
    at e.<anonymous> (app.js:1:2226260)
    at app.js:1:237056
    at Object.next (app.js:1:237161)
    at a (app.js:1:235879)

Code of Conduct

[x] I want to work on this issue

This issue was solved by 8a7b7d404036f964a7a4e126a22e1b5b49ef1fcb and available from 1.0.5


Fix dir for dataframe objects

Filter column names to ensure attributes are valid identifiers. Fixes #1189.

+1


feat: add option to partition by keys when blocking

What this PR does / why we need it:

Add option to partition by keys when blocking
Add support for passing in iterators
Add unit test for block

Which issue(s) this PR addresses (if any):

Addresses #79
Special notes for your reviewer:
Does this PR introduce a user-facing change?

- Add option to partition by keys when blocking

Addressed all comments.


Docker image

Please provide a Docker image, where you can interact with the SDK.  Dependency issues make installation difficult.

# We are going to use an official Node runtime as a parent image
FROM node:14-alpine

# Set the working directory in the container
WORKDIR /usr/src/app

# Copy package.json and package-lock.json into the root directory of our container
COPY package*.json ./

# Install app dependencies
RUN npm install

# Bundle app source
COPY . .

# Define the command to run our app
CMD [ "npm", "start" ]

I tried this stock nodejs Dockerfile, but it has issues.

Hey @0xStuart if you'd like to create a Docker image and feel like it could benefit other users, you're more than welcome to do so and submit a PR! At the moment we need to evaluate user base's needs & demand to justify we can maintain the Docket image.
re: I tried this stock nodejs Dockerfile, but it has issues.
Please try node version about 18.0.0, let me know if it works for you!