[misc] Rename Is*Ready() to Is*Valid()

Potential functions to be reviewed:
bool IsWindowReady(void);                           // Check if window has been initialized successfully
bool IsShaderReady(Shader shader);                  // Check if a shader is ready
bool IsImageReady(Image image);                     // Check if an image is ready
bool IsTextureReady(Texture2D texture);             // Check if a texture is ready
bool IsRenderTextureReady(RenderTexture2D target);  // Check if a render texture is ready
bool IsFontReady(Font font);                        // Check if a font is ready
bool IsModelReady(Model model);                     // Check if a model is ready
bool IsMaterialReady(Material material);            // Check if a material is ready
bool IsAudioDeviceReady(void);                      // Check if audio device has been initialized successfully
bool IsWaveReady(Wave wave);                        // Checks if wave data is ready
bool IsSoundReady(Sound sound);                     // Checks if a sound is ready
bool IsMusicReady(Music music);                     // Checks if a music stream is ready
bool IsAudioStreamReady(AudioStream stream);        // Checks if an audio stream is ready

That makes sense. I had originally named them Is*Ready() because I thought it matched a similar pattern in the old IsAudioDeviceReady().

@RobLoach Actually I think it makes sense for IsWindowReady() and IsAudioDeviceReady() (@RenzoRomeo) but I still have doubts if it should be reviewed for all the other data structures. In any case, it's a breaking change and I'm considering it carefully...

Why change something inconsequential that breaks compatibility rather than adding prefixes?

With what Riley said, adding prefixes is much more important of a compatibility break than renaming Ready to Valid as there are so many namespace collisions with winapi. Although, I think that if one is considered, then the other should be equally important.

@krisvers Sorry, no plans to add prefixes to raylib functions.

@krisvers That's a separate issue. For a discussion about it, see https://github.com/raysan5/raylib/issues/1217 .

I understand that, but if a compatibility change for functions is being considered then it makes sense to also consider other sensible function name changes like using a prefix to prevent namespace collisions.

@krisvers Simbol collisions can already be avoided. I can consider slightly renaming some functions added 6 months ago but not the full library. If anyone really has that need can fork the project.

@krisvers

if a compatibility change for functions is being considered then it makes sense to also consider other sensible function name changes like using a prefix to prevent namespace collisions.
This argument completely disregards all of the code in existing raylib apps out there that will suddenly not compile with such a gigantic breaking change, forcing untold amounts of work.   That's not even concerning what has to change on the raylib wiki and other documentation.  Whatever the @raysan5 rational for non-prefixing is, I support the conclusion.

@raysan5 @krisvers

@krisvers Simbol collisions can already be avoided. I can consider slightly renaming some functions added 6 months ago but not the full library. If anyone really has that need can fork the project.

Unless there is some hideous embedding of raylib inside of a considerable Windows app, my (limited) experience is that dependencies on platform functions that require windows.h can be isolated in safely named functions compiled from separate source files that #include windows.h and are statically linked with the raylib app.   That turns out to be a clean way of platform-dependency isolation.

many function names being the same as in other mainstream libraries like the winapi

@krisvers This is not true. Afaik, only 2 function names could potentially collide and it can be avoided.

Iirc, it was more than two, also including starts like Rectangle which share function names.

Anyway, this is a pointless discussion, this is my final message on the topic.
If you have some complaint, probably better direct them to Microsoft and Winapi than raylib.

Anyway, this is a pointless discussion, this is my final message on the topic.
If you have some complaint, probably better direct them to Microsoft and Winapi than raylib.

What? Raylib colliding with Winapi is not a problem with Winapi, but instead Raylib lol. Though there are annoying things like near, far covered by defining the lean and mean macro. Considering how you are against breaking compatibility, what do you think would happen if Winapi changed to suit a C game library. This isn't exactly a pointless discussion but I will yield.

Stop diluting this issue. I've created a discussion for windows.h conflicts at https://github.com/raysan5/raylib/discussions/3945 . Feel free to discuss naming conflicts there.

Potential functions to be reviewed:
bool IsWindowReady(void);                           // Check if window has been initialized successfully
bool IsShaderReady(Shader shader);                  // Check if a shader is ready
bool IsImageReady(Image image);                     // Check if an image is ready
bool IsTextureReady(Texture2D texture);             // Check if a texture is ready
bool IsRenderTextureReady(RenderTexture2D target);  // Check if a render texture is ready
bool IsFontReady(Font font);                        // Check if a font is ready
bool IsModelReady(Model model);                     // Check if a model is ready
bool IsMaterialReady(Material material);            // Check if a material is ready
bool IsAudioDeviceReady(void);                      // Check if audio device has been initialized successfully
bool IsWaveReady(Wave wave);                        // Checks if wave data is ready
bool IsSoundReady(Sound sound);                     // Checks if a sound is ready
bool IsMusicReady(Music music);                     // Checks if a music stream is ready
bool IsAudioStreamReady(AudioStream stream);        // Checks if an audio stream is ready

This is a good idea to make the API more intuitive, however it would break compatibility with many existing projects. I just don't see the point of breaking thousands of projects with these renames. I believe the function/enums naming should be well considered before they are pushed into master. It seems to late to fix it now. The only solution I see is to keep the old functions and add new ones that call the old ones:
void newFunctionName() {
    oldFunctionName();
}

void oldFunctionName() {
    // DO STUFF
}

This way there wouldn't be the need to break already existing projects, while improving the API clarity. However just like Ray said on Discord, [that's]

too much hassle

@luis605 The functions mentioned in this issue were added on latest release, a few months ago and they don't seem to be key functions that many users could use. I think we are still on time for a quick rename with not much pain involved. Renaming all Image*(), Text*(), Mesh*(), Wave*()... functions it's a completely different issue and yes, it's too much hassle.

@raysan5 Then I suppose you should rename the functions for better clarity, because the API naming lacks some clarity in my opinion.

because the API naming lacks some clarity in my opinion.

Please, could you ellaborate why IsTextureReady() is so confusing in comparison to IsTextureValid()? Because, sincerely, I don't see that much difference...

like this?
When you use "IsReady()" to check the status of an object, like "IsModelReady()", it implies that the object is fully prepared and operational for use. However, in some cases, the object might be valid (initialized) but not necessarily ready for usage. For instance, in the context of a model, all pointers might be initialized (valid) but not fully ready for usage (ex. if the vertices count is different than the actual number of vertices in the model).
Therefore, renaming the function to "IsValid()" would better reflect its purpose, indicating that it simply checks if the object is in a valid state, regardless of its readiness for use. This change in semantics would make the function's purpose clearer and more aligned with its actual behavior.

When you use "IsReady()" to check the status of an object, like "IsModelReady()", it implies that the object is fully prepared and operational for use. However, in some cases, the object might be valid (initialized) but not necessarily ready for usage. For instance, in the context of a model, all pointers might be initialized (valid) but not fully ready for usage (ex. if the vertices count is different than the actual number of vertices in the model).
Therefore, renaming the function to "IsValid()" would better reflect its purpose, indicating that it simply checks if the object is in a valid state, regardless of its readiness for use. This change in semantics would make the function's purpose clearer and more aligned with its actual behavior.

however it would break compatibility with many existing projects.

For backwards compatibility of function names in projects, defines are an option. While raylib may not prioritize backwards compatibility, it can still be accomplished in other means...
#define IsModelReady IsModelValid

@luis605
I agree that the name should reflect what is actually determined.
On the other hand, I am unclear what the user action is expected to be on !IsValid and how this could matter.  It seems from the example about vertex counting that IsComplete or Is*Prepared might be preferable terms, and I still am unclear what action an application can take in a releasable app.
I think it might also be important to be clear what the operational behavior will be when a -operation is attempted when !IsValid.

@orcmid Precisely, when an object is not valid, the best thing to do is not to use it and, if possible, reload it. Otherwise you might get into undefined behavior, segfaults, etc. which may crash the application or make it unusable. It would also be nice for this functions to have a logging mechanism to alert the developer/user what the problem is, so he/she can further troubleshoot.

@luis605 the logging mechanism has been there for many years, when a resource loading fails it is logged.

When you use "IsReady()" to check the status of an object, like "IsModelReady()", it implies that the object is fully prepared and operational for use.

Yes, and that's the case. We can split the loading-initialization-dataValidation in as many states as desired but it doesn't mean one syntax is better than another. What about an object that IsValid() but it's !IsReady() to use (i.e. Compressed Texture not supported by GPU but loaded successfully). What would happen in that case? Would be the syntax good enough for users?

@luis605 > It would also be nice for this functions to have a logging mechanism to alert the developer/user what the problem is, so he/she can further troubleshoot.
I can't imagine this being expected of and meaningful for a game's end-user.   The closest I can think of is a AAA game reporting that something is wrong and it is closing, with a location of a  log that can be used in messaging the game developer's support location.  In advanced cases, submission of the log can be an option in the error dialog.
If it's a debug provision, or tied into an assert, I think the !Valid case should always be treated as fatal.  This does not seem to be part of the conceptual model for raylib.  I don't think I have anything useful to offer about that.

its ok to do breaking changes
sdl3 is renaming many functions that existed in sdl2
its not that difficult for a developer to do a global replace of the 10 different functions that might be affected
sure, more than 10 functions are being renamed -- but how many are actually used in a single project
so rename everything, fix and be consistent

@jamesl-github @raylib
There were major breaking changes between Python 2 and Python 3, just as there will be for SDL3 versus SDL2.  And in both cases, the earlier progressions persist for some time and continue to have updates.  I haven't followed closely enough to know if Python 2 is deprecated.  SDL2 is definitely alive and well.  We also have the lessons of Windows major releases (even 11 versus 10) and overlapping support periods, as in end-user Linux distributions.
So, if we are talking about a raylib 6 here, certainly.  A 5.1 with that many breaking changes and taking over the progression seems sketchy to me.   It is understandable that there are no patch releases in raylib, and there is no backporting from -dev version.  That makes breaking changes more difficult though, especially if that's also the only way to get important bug fixes.

I think this is a difficult issue because the Is*Ready() functions are really validity checks, such as IsTextureReady() below, but when used I expect that they're primarily applied as readyness checks. I think the question is partly about their use case, and that whilst using Ready is closer to what people may primarily use them for I think Valid is a much more clear indicator of their actual use case and the depth of the checks they perform (such as checking that texture's have a non-zero width and height). Overall I think that renaming them to Is*Valid() is the right action for most cases, as it better explains the function behaviour and prevents confusion.
https://github.com/raysan5/raylib/blob/6ec925554cc5c5297d74b9867331fae421966519/src/rtextures.c#L3963-L3967
Perhaps off-topic but if they are renamed I would support changing their definition to also return the reason for failure, though maybe that's out of scope and makes the API change more severe.

@Fhoughton @raysan5
I am still having difficulty with "Valid."  And if these really are failure cases, we need to know that trying again doesn't change anything.  So I agree, "Ready" is not very indicative.
I think "Usable" is more pertinent.  "Available" is too ambiguous.

I initially put these functions in place to allow checking the failure state of the Load() functions without having to go into the internals of the struct itself...
Shader shader = LoadShader(0, "reload.fs");
if (!IsShaderReady(shader)) {
    // Failed to load shader
}

I named them IsReady() to align with the naming convention of the two other Ready functions at the time:
IsWindowReady()
IsAudioDeviceReady()

I don't think there is a need to complicate it more than is needed. The real goal of these functions was for an easy way to check against the fail-state of the load functions. IsLoaded() is another option.

@RobLoach Thanks for the clarification, I'm still not decided on the naming, some of those function do not only check if the data is properly loaded but also if it is valid (i.e. parameters are correct for raylib use) and if it is ready (data has been uploaded to GPU and a valid id has been retrieved).
With latest commit https://github.com/raysan5/raylib/commit/4c9282b09025677a90e5e54ffe142824560163b6, an additional system has been added to allow loading some data (i.e Font) with no GPU involved, so data has not been uploaded to GPU and it's not ready to be used by raylib... still data is valid from a pure loading point of view.
So, again, not that simple to find the proper terminology for those assets-loading functions. That was the reason they did not exist in the first glance, instead of probading a function that could be confusing, just let the users check the values required to be checked for the specific use case; after all, all raylib structures are transparent.

I finally implemented the rename to Is*Valid(), some functions were updated to reflect the check, also the comments of the functions to get an idea of what data is validated by every function. Note that some validations could be further improved.

Thanks for the valid update :wink:


tensorflow/core/framework/op_kernel.cc:1318] Not found

What is the reason this error is happening ?
WARNING:tensorflow:From /home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/util/tf_should_use.py:118: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use tf.global_variables_initializer instead.
2018-06-23 21:43:50.471573: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2018-06-23 21:43:50.471640: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-06-23 21:43:50.471665: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0
2018-06-23 21:43:50.471684: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N
2018-06-23 21:43:50.471857: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10654 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:04.0, compute capability: 3.7)
2018-06-23 21:43:55.304510: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2018-06-23 21:43:55.304589: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-06-23 21:43:55.304618: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0
2018-06-23 21:43:55.304636: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N
2018-06-23 21:43:55.304812: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10654 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:00:04.0, compute capability: 3.7)
Epoch 1/25
2018-06-23 21:44:00.405493: W tensorflow/core/framework/op_kernel.cc:1318] OP_REQUIRES failed at resource_variable_ops.cc:389 : Not found: Resource localhost/RMSprop/iterations/N10tensorflow3VarE does not exist.
Traceback (most recent call last):
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1322, in _do_call
return fn(*args)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1307, in _run_fn
options, feed_dict, fetch_list, target_list, run_metadata)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1409, in _call_tf_sessionrun
run_metadata)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable RMSprop/lr from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/RMSprop/lr/N10tensorflow3VarE does not exist.
[[Node: training/RMSprop/ReadVariableOp_4 = ReadVariableOpdtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
[[Node: training/RMSprop/gradients/add_9/add_grad/Shape_1/_1445 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_2193_training/RMSprop/gradients/add_9/add_grad/Shape_1", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "train.py", line 161, in
callbacks=[TensorBoard(log_dir='./log')])
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training.py", line 1598, in fit_generator
initial_epoch=initial_epoch)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training_generator.py", line 191, in fit_generator
x, y, sample_weight=sample_weight, class_weight=class_weight)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/engine/training.py", line 1390, in train_on_batch
outputs = self.train_function(ins)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/keras/_impl/keras/backend.py", line 2824, in call
fetches=fetches, feed_dict=feed_dict, **self.session_kwargs)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 900, in run
run_metadata_ptr)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1135, in _run
feed_dict_tensor, options, run_metadata)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1316, in _do_run
run_metadata)
File "/home/Admin/anaconda3/envs/fastai/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1335, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.FailedPreconditionError: Error while reading resource variable RMSprop/lr from Container: localhost. This could mean that the variable was uninitialized. Not found: Resource localhost/RMSprop/lr/N10tensorflow3VarE does not exist.
[[Node: training/RMSprop/ReadVariableOp_4 = ReadVariableOpdtype=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:GPU:0"]]
[[Node: training/RMSprop/gradients/add_9/add_grad/Shape_1/_1445 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_2193_training/RMSprop/gradients/add_9/add_grad/Shape_1", tensor_type=DT_INT32, _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce

Already fixed thanks. I previous using these import statement in pre-trained xception model and visual the information in the tensorboard using callback occur these error after I change to second statement work for me.
I changing the import statement from
import tensorflow as tf
import numpy as np
import os
import matplotlib.pyplot as plt
from keras.preprocessing.image import ImageDataGenerator
from keras.callbacks import TensorBoard
from keras.optimizers import SGD
to
import tensorflow as tf
import numpy as np
import os
import matplotlib.pyplot as plt
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.callbacks import TensorBoard

I just change the TensorBoard import statement from:

from keras.callbacks import TensorBoard

to:

from tensorflow.python.keras.callbacks import TensorBoard

And everything goes without any error

ubuntu 16.04
tensorflow 1.15
keras 2.3.1
and i get exactly the same problem when trying this example [https://keras.io/examples/tensorboard_embeddings_mnist/]


feat(home-manager): init swaylock module

Adds support for swaylock.
In case it matters, this theme is from a third-party repo rather than one owned by the Catppuccin GitHub organization.

Closed because it has come to my attention that unofficial ports are not allowed.

please see my comment from https://github.com/Stonks3141/ctp-nix/pull/55
this one was a bit harder since i was actually thinking of picking up swaylock soon too 😞

The swaylock theme is now official: https://github.com/catppuccin/swaylock.
I have updated my PR branch accordingly. Could this PR please be re-opened?

@getchoo Could this PR please be reopened? The swaylock theme is now official and I have updated my PR branch accordingly.
Although I just noticed this PR does not show the new changes, probably because they were made after it was closed. However, going directly to my branch at https://github.com/Anomalocaridid/ctp-nix/tree/swaylock does.
I apologize if I am overstepping any boundaries by pinging you. I am not sure how visible my last comment was given that this PR was already closed and you were the only other person to interact with this PR.

@Anomalocaridid sorry for not seeing this!
for some reason i can't reopen this pull request even though the branch has been restored; you'll need to make a new one if you're still up for it

nevermind, after commenting i can now?

That's alright. Thanks anyways.


re-order sections

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@8256a2c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #6647   +/-   ##
=========================================
  Coverage          ?   83.02%
  Complexity        ?    13382
=========================================
  Files             ?     1525
  Lines             ?    49638
  Branches          ?     5922
=========================================
  Hits              ?    41211
  Misses            ?     5610
  Partials          ?     2817

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 8256a2c...d01c4b0. Read the comment docs.


Resolve test issues with mining difficutly

Pivotal story
The problem used to be recalibration of the mining difficulty durring tests - when a test tried to mine the eleventh block - it took more than 30s and the aecore_suit_tests:mine_blocks_loop/1 timed out. Curriously   all tests used to mine right up to block 10, otherwise we would have found it earlier.
Also cleaned up a little bit aecore_suite_utils interface, removing mine_one_block/1 function.

@ThomasArts it is 30 seconds per block as it used to be. The difference is actually in setting:
 rpc:call(Node, application, set_env, [aecore, expected_mine_rate, MiningRate], 100)
where 100 being the default value. This sets the node aiming at a block in every 100ms. The timeouts were caused by expecting the node to be mining a block once in every 10 minutes.

Asserted that all txs are included in the mined block


testing AppSync

Compatibility tests run and were successfully (missing due to https://github.com/apollographql/apollo-federation-subgraph-compatibility/issues/549)


MMA Add outcome

For, MMA: [Fighter A] vs. [Fighter B], What round will the fight end?
add "Goes the Distance" as an outcome after Round 5, but before No Contest

added - closing


Unable to install kubernetes-provider on isolated Kubernetes environment

Hello,
We are facing with issues when trying to install Kubernetes Provider on our recently installed Crossplane.
Some notes:
-our kubernetes env is isolated from public internet
-our image registry is isolated from public internet and we are reaching to hub.docker through our private image registry (jfrog artifactory)
-successfully installed crossplane
And now trying to create provider-kubernetes with following yaml file;
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-kubernetes
spec:
package: <our_private_image_registry>/crossplane/provider-kubernetes:main
packagePullPolicy: Always
packagePullSecrets:

name: registrypullsecret

When checking description of this provider:
Warning  UnpackPackage  10m (x24 over 28m)      packages/provider.pkg.crossplane.io  cannot unpack package: failed to fetch package digest from remote: resource name may not be empty
We have verified we can pull <our_private_image_registry>/crossplane/provider-kubernetes:main image from our another host.
Any clue or help we would be appreciated.

It turned out that problem is related to our environment, specifically imagePullSecret configuration in crossplane helm values file.


Add pv support

Description
Provide a description of what has been changed

Allow GatlingOperator to create persistent volumes that can be referenced from scenarios

Checklist
Please check if applicable

[x] Tests have been added (if applicable, ie. when operator codes are added or modified)
[x] Relevant docs have been added or modified (if applicable, ie. when new features are added or current features are modified)

Relevant issue #

Thanks for the review!
Corrected points raised in review comments and added testing and documentation.


Ui Issues

Please resolve the following

drop down should be same
Remove  all header text on the pane
font should be the same
save button should be remove
chapter rename to bookname chapter_no.
icon for 2x 3x need to change as old app
about popup should be small
chapters popup should have no. only as current app
Pane should be same as the current app
Highlight is not working well
Hide setting icon for now

drop down should be same                                                    -  done
Remove all header text on the pane                                      -  done
font should be the same                                                         - done
save button should be remove                                               - done
chapter rename to bookname chapter_no.                            - done
icon for 2x 3x need to change as old app                              - done
about popup should be small                                                 - done
chapters popup should have no. only as current app            - done
Pane should be same as the current app                              - done
Highlight is not working well                                                   - corners are made sqaure shaped
Hide setting icon for now                                                        - done


Issues with block_index

Block_index for some dispensers seems to be incorrect in v10.0 - Or does the API work differently?
Looking at the same dispenser in v10.0 and v9.61.3:
v10.0:
curl -X POST https://api.counterparty.io:4000/api/ --user rpc:rpc --data-binary "{ "method": "g
et_dispensers", "params": {  "filters": [ {"field": "source", "op": "LIKE", "value": "1LbqQxREP%" } , {
"field": "asset", "op": "=", "value": "XCP" } ] ,  "filterop": "And", "order_by": "satoshirate",  "
order_dir": "asc" }, "jsonrpc": "2.0", "id": 0 }"
{"result": [{"tx_index": 2708478, "tx_hash": "63cfae80d7caf50c37b139c4ee6f076db421e3b0d7bc34616a2318ae0b600e5a", "block_index": 833712, "source": "1LbqQxREPfeMFNPx9VGpGTiMo4kaiMSpHw", "asset": "XCP", "give_quantity": 100000000, "escrow_quantity":<PHONE_NUMBER>0, "satoshirate": 23000, "status": 0, "give_remaining":<PHONE_NUMBER>0, "oracle_address": null, "last_status_tx_hash": null, "origin": "12CeCTTKXNW1D57Pzfc2QheJBEHd37Cnq8", "dispense_count": 1}], "id": 0, "jsonrpc": "2.0"}
v9.61.3:
curl -X POST http://public.coindaddy.io:4000/api/ --user rpc:1234 --data-binary "{ "method": "get_dispensers", "params": {  "filters": [ {"field": "source", "op": "LIKE", "value": "1LbqQxREP%" } , {"field": "asset", "op": "=", "value": "XCP" } ] ,  "filterop": "And", "order_by": "satoshirate",  "order_dir": "asc" }, "jsonrpc": "2.0", "id": 0 }"
{"result": [{"tx_index": 2708476, "tx_hash": "63cfae80d7caf50c37b139c4ee6f076db421e3b0d7bc34616a2318ae0b600e5a", "block_index": 833637, "source": "1LbqQxREPfeMFNPx9VGpGTiMo4kaiMSpHw", "asset": "XCP", "give_quantity": 100000000, "escrow_quantity":<PHONE_NUMBER>0, "satoshirate": 23000, "status": 0, "give_remaining":<PHONE_NUMBER>0, "oracle_address": null, "last_status_tx_hash": null, "origin": "12CeCTTKXNW1D57Pzfc2QheJBEHd37Cnq8"}], "id": 0, "jsonrpc": "2.0"}

Good catch!

Yes I will check more closely but it's normal. This is not related to the API but to the "No UPDATE" upgrade. Now that we no longer do an UPDATE, the block_index which is returned indicates the block of the last modification of this dispenser and no longer that of the creation.

Ah, makes sense - many thanks for the clarification.


Fix transpose() when called with no "axes"

transpose() causes error when argument “axes” is None because Transpose.__init__()  assumes that the “axes” is iterable.
I added a line to fix it (the default behavior of “axes” is to reverse the dimension of input x).

I think that it may be better to fix the Transpose.__init__.
What do you think?

I agree with you.
Since Transpose do not know the input shape until forward() is called, I changed both init() and forward().

How about change backward?
Because x.transpose(None) is possible, it becomes simpler.
And, please add test for None case.

Yes, you're right. I moved axes = tuple(ax % len(self.axes) for ax in self.axes) to Transpose.backward and finally it looks simpler. How do you like it?
By the way, when I test it, I encountered another problem with cupy.transpose in GPU mode.
Specifically, x.transpose(None) causes error (x.transpose() and cupy.transpose(x, None) work fine).
The reason is argument *axes in cupy.ndarray.transpose (None becomes (None,) ).
https://github.com/pfnet/chainer/blob/master/cupy/__init__.py#L424
I think we should add another if-statement to catch axes==(None,) in cupy.ndarray.transpose.
Anyway, should I make another issue/PR about this or continue in here?

Thank you for information of bug.
Please make another issue/PR.
Please fix style.
https://travis-ci.org/pfnet/chainer/jobs/91315975#L831

Thanks for your comments.
ok, I'll send another PR.

Thank you!
LGTM.

The axes issue fixed #587.


Init Process Refactoring

Current (1.1.4) init process is not well designed (architecturally correct, but functionally poor).

Already refactored within #142


Let "Other license" field with SPDX value flow through from datasets to MODS36 dcterms:license field

Story
Let "Other license" field with SPDX value flow through from datasets to MODS36 dcterms:license field.
Current situation
When selecting The license is not listed here as datasets license, and filling out the "other license" field with an SPDX license such as CC-BY-NC-3.0 (or an other value)

...it now shows the value "The license is not listed here" in the <accessCondition type="useAndReproduction"> output (correct)

... and it shows LicenseNotListed  in the <dcterms:license> field (unexpected)

Expected behaviour
Same as above, only change:
... and it shows CC-BY-NC-3.0 (or an other value) in the <dcterms:license> field

Context
GISMO will connect the field value of <dcterms:license> to the SPDX values they understand, if not, they will fall back to the <accessCondition type="useAndReproduction"> value, which will be The license is not listed here
More background: https://booktower.gitbook.io/product-docs/producten-en-diensten/biblio-academische-bibliografie-en-repository/licenties-en

@mietcls yes, that is the result of removing LicenseNotListed from hiddenLicenses.
I would suggest:

add LicenseNotListed back to hidden licenses so it doesn't show up again in useAndReproduction (so attribute copyrightStatement is empty)
overwrite License with value of OtherLicense if License == "OtherLicense" (OtherLicense is not used in biblio anyway). Warning: the value that originates from this field can be anything. In the above it was a "code", but can be an url, depending on what the reviewers have set their mind to.

Does this influence behaviour for publications as well? Or is this only for Datasets? Because we need to see the value for publications.

Only for datasets. This ticket is about datasets ;-)

@mietcls is this ok now?

@nicolasfranck unfortunately not, I've tried on test and on production.
Good example of dataset record: 01GQM4W28VTV2SAE0GM4MBANJ4

https://biblio.ugent.be/oai?verb=GetRecord&identifier=01GQM4W28VTV2SAE0GM4MBANJ4&metadataPrefix=mods_36

Correct: <accessCondition lang="eng" type="useAndReproduction">A specific license has been chosen by the rights holder. Get in touch with the rights holder for reuse rights.</accessCondition>
Incorrect: <dcterms:license>LicenseNotListed</dcterms:license>

License shows

As expected "The license is not listed here"
Not visible in OAI: AGPL-3.0

fixed by https://github.ugent.be/Universiteitsbibliotheek/biblio/pull/72


Build Error

0:25: AAPT: error: resource attr/enlarge (aka com.okcl.awareness:attr/enlarge) not found.
I guess you missed the tag format for enlarge.
Please review it.
Thanks for the awesome progressbar

hi guys, any solution?

+1

+1

This is now resolved.


Error 429 too many requests

this issue may be duplicated but I have been using youtube-dl for 2 years and this issue started to happen from yesterday
is there any new restriction from google side
or does anyone have the same issue here which occurred recently?

Youtube has implemented a new throttling feature: https://torrentfreak.com/youtube-blocks-popular-mp3-stream-ripping-sites-190710/
I'm so mad.... if anyone has more details regarding this they're more than welcome!
What I gathered so far:
IPv4 IPs are banned after some time, depending how intensely they're used.
IPv6 IPs are banned in chuncks (they throttle the whole /64 subnet!)


Added parameters for variable friction and 1D vegetation

Added fields as described in #42 and updated CHANGES.rst.
Add migration manually (not using alembic because of missing ini file).

Note that I created the migration without using alembic. All tests pass, but I'm not sure if I missed things by not using alembic.

@elisalle I commited some changes requested by Golnesa: https://github.com/nens/threedi-schema/issues/42#issuecomment-1877310808


fix branch and logging for pull images

Codecov Report

Merging #436 into experimental will decrease coverage by 0.02%.
The diff coverage is 0%.

@@               Coverage Diff                @@
##           experimental     #436      +/-   ##
================================================
- Coverage         54.37%   54.35%   -0.03%
================================================
  Files                40       40
  Lines              2674     2675       +1
================================================
  Hits               1454     1454
- Misses             1220     1221       +1

Impacted Files
Coverage Δ

vent/api/plugins.py
83.82% <0%> (-0.2%)
:arrow_down:

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 d6e1ef3...a6cfcd8. Read the comment docs.


Add collectionToJsonMode to schema inference

Part of https://github.com/apache/incubator-pinot/issues/6904
Description
Add collectionToJsonMode to schema inference to be consistent with the Complex-type config

Codecov Report

Merging #6946 (208a539) into master (6f4790f) will decrease coverage by 7.96%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master    #6946      +/-   ##
============================================
- Coverage     73.35%   65.38%   -7.97%
  Complexity       12       12
============================================
  Files          1432     1432
  Lines         70933    70946      +13
  Branches      10276    10282       +6
============================================
- Hits          52030    46386    -5644
- Misses        15430    21217    +5787
+ Partials       3473     3343     -130

Flag
Coverage Δ
Complexity Δ

integration
?
?

unittests
65.38% <50.00%> (-0.04%)
12.00 <0.00> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


hw: Add MCU and BSP for Dialog CMAC

Dialog CMAC is a hw block inside DA1469x MCU family that is based on Cortex-M0+ core and has various peripherals, including radio, to allow running a Bluetooth LE controller (e.g. NimBLE).

this is really awesome! but... hw/mcu/dialog/include/CMAC.h and hw/mcu/dialog/include/system_CMAC.h license needs to be sorted out before this can go in.
(hint: eg BSD3, which is license used in hw/mcu/dialog/include/DA1469xAB.h)

Dialog agreed to release both files with BSD license, I'll update soon.


Doesnt work with heaps because of haxe 4.0

hey @tobias1012, I haven't tested this library against haxe 4.0, it's still in preview right?
do you have compilation errors?

Yes, I have to run Hashlink but i found an old version, the haxe documentation was a bit vague


Multiple hashtags

Hello, your library is pretty useful!
I have a question, is there any way to use multiple hashtags instead of just one?
Thank you

Hello, there is no way to use multiple tags. An approach to that would be something like this:
(function() {
    var tags = ['coding', 'coffee'],
        counter = 0,
        data = [];

    // Instances data handler
    function handler(d) {
        // Merge all images into an array
        if (typeof d.edge_hashtag_to_media.edges !== 'undefined')
            data = data.concat(d.edge_hashtag_to_media.edges);

        if (++counter == tags.length) {
            // all loaded, maybe display here?
            console.log(data);
        }
    }

    // One instance for each tag
    for (var i = 0; i < tags.length; i++) {
        new InstagramFeed({
            tag: tags[i],
            get_data: true,
            callback: handler
        });
    }
})();

I don't see this as something likely to be added to the library but maybe, a good enhacement would be to be able to use the InstagramFeed.display function statically. That would make the code above extremely easy to display through the library.
Thank you

Hi, pretty useful!
Thank you very much


updates: handles on the side of the enclosure

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #964
General checklist:

[ ] I have performed a self-review, including - looked through the Files changed tab, browsed repository in my branch
[ ] I have made corresponding changes to the documentation - to reflect changes in code, electrical or mechanical design
[ ] All new documentation or graphics follow the documentation style guide
[ ] All new content is linked, easily discoverable, does not require too many clicks
[ ] I have reviewed any other relevant parts of our contributor wiki to ensure that this PR conforms to the standards
[ ] I have given the PR a descriptive name (prefixed with WIP if it is not yet ready for review)
[ ] I have tagged relevant reviewers

Code checklist:

[ ] All new code follows our code style
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have described tests I used to verify my changes, instructions for reproducing them and any relevant configuration details.
[ ] I ran the unit test suite and verified that all tests pass - new and old, locally and on CI
[ ] I performed a clean build and verified that there were no warnings
[ ] I ran our static analysis tools and verified there were no warnings
[ ] Any dependent changes have been merged and published in downstream modules

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: martukas:x: sock8mYou have signed the CLA already but the status is still pending? Let us recheck it.


Particles absorbers

A new feature where some canvas areas can absorb particles (destroying them obv), like black holes.

This feature will be the opposite of #140


Copy/paste error in  [usp_AsyncExecInvoke]

The implementation of  procedure [usp_AsyncExecInvoke] appears to have a 'copy/paste' type error. At the bottom of the proc, in the error processing section is the line:
rollback transaction usp_my_procedure_name;
I suspect this should read:
rollback transaction usp_AsyncExecInvoke;
and is the result of copying some code from a prior blog example on error processing. Of course, I could be wrong.. :)

Hi Remus,
It seems the correct is:
rollback transaction usp_AsyncExecInvoke;


Using DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES does not compile using g++ 6.3.0

Description
A combination of DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN, and DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES doesn't compile on g++ 6.3.0. It compiles fine without DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES.
Steps to reproduce
#include <iostream>

using namespace std;

#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#define DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES
#include "doctest.h"

int factorial(int number)
{
    return number <= 1 ? number : factorial(number - 1) * number;
}

TEST_CASE("testing the factorial function")
{
    CHECK(factorial(1) == 1);
    CHECK(factorial(2) == 2);
    CHECK(factorial(3) == 6);
    CHECK(factorial(10) == 3628800);
}

Compiled using g++ -Wall main.cpp -o main using g++ version 6.3.0 gives the error
main.cpp:15:10: error: expected constructor, destructor, or type conversion before ‘(’ token
 TEST_CASE("testing the factorial function")
          ^

Extra information

doctest version: v1.2.2
Operating System: Debian 9 Stretch
Compiler+version: g++ 6.3.0

Well TEST_CASE is a short macro name - so using DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES will disable it and only DOCTEST_TEST_CASE will remain usable.

Quite the response time here!
I did not think of that option, but should if course have realized it. I wish the error messages were better.


HttpController::initPathRouting called twice when AutoCreation = false

OS: WIN10
Compiler: VS2019
Drogon version: 1.7.1 (x64 static build)
The path initialisation of non-auto created controllers (drogon::HttpController<T, false>) is called twice:

once before entering main() (_initterm()→ dynamic initializer for 'drogon::HttpController<T, 1>::registrator_' → drogon::HttpController<T, 1>::methodRegistrator::methodRegistrator())
in drogon::app().registerController()

I don't understand where the drogon::HttpController<T, 1> comes from since my class inherits drogon::HttpController<T, false>…
In my case, that's bad since the path is variable and set just before adding the controller (ADD_METHOD_TO(T::doSomething, strRootUrl + "/{1}"s, drogon::Get);), so two different paths are registered.

Hi, I remember seeing this issue when the constructor is not public. May you make sure your constructors are a public member?

Yeah.. Can you also make sure the inheritance is also public? (IIRC C++ defaults to private). And please share a minimal reproducible example so I have a point to start debug it.

Hi,
the problem seems to only be on Windows.
"initPathRouting" is called twice : the first time indirectly by the crt and the second time as expected.

Here is an example
#include <drogon/HttpController.h>

class Ctrl : public drogon::HttpController<Ctrl, false> {
public:
	static void initPathRouting() {
LOG_DEBUG << "Inside Ctrl::initPathRouting";
		ADD_METHOD_TO(Ctrl::Get, "/", drogon::Get, drogon::Options);
	};
private:
	void Get(const drogon::HttpRequestPtr& request, std::function<void(const drogon::HttpResponsePtr&)>&& callback) {
		callback(drogon::HttpResponse::newHttpResponse());
	}
};

int main(int argc, char* argv[]) {
	LOG_DEBUG << "Start of process";
	drogon::app().registerController(std::make_shared<Ctrl>());
	return 0;
}

Result under linux (gcc 10.3.0) :
20220225 12:15:31.801035 UTC 414615 DEBUG [main] Start of process - main.cpp:16
20220225 12:15:31.801123 UTC 414615 DEBUG [initPathRouting] Inside Ctrl::initPathRouting - main.cpp:6

Result under Window (Visual Studio 2019, MSVC 19.29.30140.0):
20220225 12:21:57.691000 UTC 6052 DEBUG [initPathRouting] Inside Ctrl::initPathRouting - ..\main.cpp:6
20220225 12:21:57.692000 UTC 6052 DEBUG [main] Start of process - ..\main.cpp:16
20220225 12:21:57.693000 UTC 6052 DEBUG [initPathRouting] Inside Ctrl::initPathRouting - ..\main.cpp:6


Minified React error when trying to view a Watchlist

Describe the bug
When trying to view a watchlist, a Minified React error occurs when rendering the Watchlist view on the Azure Portal.
To Reproduce
Steps to reproduce the behavior:

Go to the Sentinel Blade
Click on a Workspace that has a Watchlist
Scroll down to Watchlist on the left and click on it
Click on a Watchlist

Expected behavior
I'm expecting the Azure Portal to render the page for this Watchlist correctly, so that I can then press the edit button for example and view the data or make changes.
Screenshots

Desktop (please complete the following information):

OS: Windows 11
Browser FireFox
Version 130.0 (64-bit

Smartphone (please complete the following information):

Device: N/A
OS: N/A
Browser N/A
Version N/A

Additional context
We had theorized that this issue might occur if you delete a Watchlist, and then create a new one with the same name. This doesn't seem to be the case. All these Watchlists are created via automation. I have a Logic App that creates these watchlists and updates them.
When I use the developer console in FireFox I can see that the Watchlist data is being returned by the Azure Management API, but the Console shows the Minified React error when attempting to render the page. This issue seems to be limited to the Watchlists that are created by my automation.

Hi @CG-JuanVG, Thanks for flagging this issue, we will investigate this issue and get back to you with some updates. Thanks!

Hi @CG-JuanVG, please open support case in azure portal, so our support team can check on this issue and if required connect with respective teams. so currently closing this issue. If you still need support for this issue, feel free to re-open at any time. Thank you for your co-operation.


Feature Request: Allow a function for Tesla.Middleware.BaseUrl

This would allow for dynamic resolution of the base URL:
middleware = [
  {Tesla.Middleware.BaseUrl, fn _ -> System.get_env("MY_API_BASE_URL") end}
]

The expectation would be that the function would be a /1 function receiving env. Alternatively, it could be implemented to accept either a /0 or a /1 (not a bad choice, either).

Duplicate of https://github.com/teamon/tesla/pull/405

Duplicate of https://github.com/teamon/tesla/pull/405

Yes, this is a duplicate of #405, but I have a case where I cannot merely make this a runtime configuration. I have a case where I need runtime configuration of runtime configuration. In specific:

Making a request to resource A requires an authentication token.
If I do not have an authentication token, or the token has expired, I need to request a new token. I have middleware that will obtain an active or new authentication token from a GenServer and insert that as an Authorization header.
The API that returns a new authentication token also returns the base URL I need to call for requesting resource A.
I need to set my Base URL based on the authentication token.

Even if #445 isn’t implemented, being able to add a function would allow me to do this as:
middleware = [
  …,
  {Tesla.Middleware.BaseUrl, fn -> TokenStore.get_token(credentials).extra["rest_url"] end)}
]

I should not be calling TokenStore.get_token/1 during the construction of the client, but only when the API call is actually made.

Yes, this is a duplicate of #405, but I have a case where I cannot merely make this a runtime configuration. I have a case where I need runtime configuration of runtime configuration. In specific:

Making a request to resource A requires an authentication token.
If I do not have an authentication token, or the token has expired, I need to request a new token. I have middleware that will obtain an active or new authentication token from a GenServer and insert that as an Authorization header.
The API that returns a new authentication token also returns the base URL I need to call for requesting resource A.
I need to set my Base URL based on the authentication token.

Even if #445 isn’t implemented, being able to add a function would allow me to do this as:
middleware = [
  …,
  {Tesla.Middleware.BaseUrl, fn -> TokenStore.get_token(credentials).extra["rest_url"] end)}
]

I should not be calling TokenStore.get_token/1 during the construction of the client, but only when the API call is actually made.


Fix typo in Room.php

Description
There is a $ missing which causes errors.

@bradjones1
Please merge this PR as it makes the library unusable at the moment...

This was updated in https://github.com/meet-kinksters/php-matrix-sdk/blame/1efbade52d988bb427584ebfaa488a928246cc27/src/Room.php#L873 while I was making some fixes recently. Sorry I didn't act on your PR earlier. But this is fixed in master.

Thank you 😁


Can't run fit_multispeciespp.R

possibly breaking around line 145
https://github.com/geryan/vector_sdm_course/blob/ce2e148d325394e69d2e9682d581d2257976fd0e/R/fit_multispeciespp.R

solved by #4


iOS 17 KeyboardTextField Bug

The keyboard gets dismissed when the KeyboardTextField/KeyboardTextView becomes the first responder (@FocusState is true) in iOS 17 developer beta.
Interestingly enough, it affects only the iPhone (screen recording attached) but works fine as before on an iPad.
https://github.com/KeyboardKit/KeyboardKit/assets/39917898/7baca156-f755-4097-b916-37fc3f331ac0

How did you ad the view above the keyboard?

Trying out a keyboard based on Keyboard kit in Xcode 15 beta 2 on an iOS 17 simulator, the keyboard gets dismissed from time to time and I get this error in the console:
-[UIInputViewController needsInputModeSwitchKey] was called before a connection was established to the host application. This will produce an inaccurate result. Please make sure to call this after your primary view controller has been initialized.

This warning is already happening, and I haven't been able to silence it. I however don't think it has to do with the iOS 17 issues, which I will look at later in the summer.

@Iomegan You can wrap the SystemKeyboard in a VStack and add any custom views you want above it 👍

@gbrooker This warning is already happening, and I haven't been able to silence it. I will do a new attempt after the summer vacation 😀 I however don't think it has to do with the keyboard dismissal.

Fixed in beta 5.

That’s amazing, thanks for keeping an eye in it!


Multiple names

Is it possible to have multiple names for the same 'light' (without making multiple copies)
E.g. Dining light could also be dining room light
I know I can do this in the Alexa app, but it would be more efficient to do it in HA-Bridge if I had more than one alexa

Not at this time. Maybe a future enhancement.

Similar to #423.

Not really, #423 is for adding a nother field to describe the device that would not be presented to the api/echo, this is for aliases instead of creating another device doing the same command for a different name... i.e: TV, Television -> turn on TV

So, looking at this again, we would have to create a new Id and Unique Id to be stored with each name. Internally we will still be copying most of the data structure.

Ahh, just thought of a simpler way. It is kind of like a copy but is a special device that points to another device. That way maintenance of the details are only done once. But, you will still have a device entry as we need to have the new ID and Unique Id for the calling systems.

Any updates on this one? Would be a nice enhancement.

I also would prefer something like this.
E.g. a new field (just a text area box) to enter alternative names for each device, one new name per row.
So I have several devices shown in Alexa but only one to be configured in HABridge.
This can be useful for devices like thermostats (also names as heating) or roller shutter or just shutter or roller and so on...

I think this can be done with a Groups or Alias as described in #1061

I could be done like this maybe (but would be also a little bit effort).
But besides this this feature does not exist yet?
I think having the ability to add several names for one item and generate multiple devices  virtually later on would be much easier (to be developed).

@AlfAlex Unfortunately for the API to work properly to the Echo, we need to assign a unique ID to each name as that is how the an external system calls the Hue API to access a given light/device. i.e:
light1 has id 100
light2 has id 101
alias1 to light1 has an id of 102
alias2 to light2 has an id of 103
We cannot duplicate the id number to different names as the source system would be confused with this:
light1 has id 100
light2 has id 101
alias1 to light1 has an id of light1 of 100
alias2 to light2 has an id of light2 of 101
and the source system (Echo) would only show one name for the id 100 or 101.

I understand.
But does it have to be an alias.
Just duplicate all entries would fit?
Wouldn't that work?
Let's say I have a light in my living room.
I want to turn it on by saying "turn on lamp in living room", "turn on light in living room", "turn on bulb in living room" and "turn on lamp in my blue room".
And all 4 commands will turn on the same light. So  there do exists four unique IDs for the same HTTP command.
I would imagine having the traditional name field and an additional alternate names field:
Name: ...
Alternate names: ...
...
...
HTTP command on:
HTTP command off:
HTTP command diff:
And so on.
Or isn't that possible?

It is just messy. If I create a device that points to one or more others that has it's own unique id it will be much cleaner for the code to respond to the request. Also, the Echo and other systems usually access the API to get a list of devices with their attributes to populate their control list.


Expose AreEnhancedBarriersSupported in device's desc

Basically as the title says, it would be useful to have it exported to nri::DeviceDesc. it'll be used to correctly check between two acces stages / layout access stages for buffers and textures to cull and avoid transition to the same state.
Currently used in:
bool ResourceStateTracker::AreStateEqual(
    nri::AccessStage A,
    nri::AccessStage B) const
{
    switch (m_DeviceDesc->graphicsAPI)
    {
    case nri::GraphicsAPI::D3D12:
    {
        // if (!m_DeviceDesc->areEnhancedBarriersSupported)
        {
            // Using legacy barriers, ID3D12GraphicsCommandList::ResourceBarrier does not support layout transitions
            return A.access== B.access;
        }
    }
        [[fallthrough]];
    case nri::GraphicsAPI::VULKAN:
    {
        return A.access == B.access &&
               A.stages == B.stages;
    }
    }
    return false;
}

bool ResourceStateTracker::AreStateEqual(
    const nri::AccessLayoutStage& A,
    const nri::AccessLayoutStage& B) const
{
    switch (m_DeviceDesc->graphicsAPI)
    {
    case nri::GraphicsAPI::D3D12:
    {
        //if (!m_DeviceDesc->areEnhancedBarriersSupported)
        {
            // Using legacy barriers, ID3D12GraphicsCommandList::ResourceBarrier does not support layout transitions
            return A.access== B.access;
        }
    }
        [[fallthrough]];
    case nri::GraphicsAPI::VULKAN:
    {
        return A.access == B.access &&
               A.stages == B.stages &&
               A.layout == B.layout;
    }
    }
    return false;
}

If i check all members while using legacy barriers, the results are 'incorrect' and will trigger
D3D12 ERROR: ID3D12CommandList::ResourceBarrier: Before and after states must be different. [ RESOURCE_MANIPULATION ERROR #525: RESOURCE_BARRIER_MATCHING_STATES]

Thanks, Yassine. It had been my plan to expose this, but I decided not doing it because I assumed that using "just VK style" barriers should cover all cases. But I'm seeing that you have bumped into an issue, so I don't mind to expose areEnchancedBarriersSupported (most likely will be isEnchancedBarrierSupported, I don't think that plural form is needed):

D3D11: isEnchancedBarrierSupported = false
D3D12: isEnchancedBarrierSupported = check real support
VK: isEnchancedBarrierSupported = true

Done!


Add optional timeouts for project managers

On a previous incident occurring due to a disruption in npmjs.org, there were very long response times (~60s) that ultimately came back with 503 responses. This impacted Terrapin's latencies and availability. This change allows users to specify timeouts when they use OSSGadget's project managers when they call CreateProjectManager

Seems like a fine change to make, though not clear to me that the tests here are actually exercising the timeout functionality itself to confirm its working which should be possible by mocking the request as a sleep.

Makes sense I will add another commit to mock a delay and add to those tests


[NVIDIA] Refine API difference of all_gather_object

Unlike PyTorch, using paddle don't need to pre-allocate object_list to equal size of group size.

 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.

New commit submitted, but the Doc-New is not triggered automatically. Do I need to do something to wake it up?
(I've manually rerun pass)

@sunzhongkai588, @Ligoml, @jzhang533,   再麻煩幫忙review下這個document更新。主要是為了提醒自PyTorch遷移代碼的開發者，all_gather的輸入參數初始化不同，如果沒注意可能會讓結果出錯


ModuleNotFoundError: No module named 'patsy' Bakward Differencing

I am using Bakward Differencing, and I have patsy installed:
>>> import patsy
>>> patsy.__version__
'0.5.1'
>>> import category_encoders
>>> category_encoders.__version__
'2.2.2'
>>>

I am getting the error though:
ModuleNotFoundError: No module named 'patsy'

I really don't know what happened but I did again pip install patsy and it worked (although I did this before.) I will close this issue.
Since 202 everything is getting weird in this world :)


Firewall: nftables driver

This is a WIP that adds initial nftables support to the firewall package.

[x] Network rules
[ ] Instance filtering rules

One way that nftables is quite different to iptables is that there are no built in tables or chains.
Additionally tables in nftables are just namespaces (or containers) for chains and their rules, they have no inherent meaning to nftables itself.
Chains are added to tables, and so-called "base chains" hook themselves into the netfilter subsystem at the required point. Only then will these chains actually handle packets. Chains hook themselves into the netfilter system using a priority. I've used the same priorities as iptables does when hooking into netfilter as documented https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains#Base_chain_priority.
From from my research, if multiple chains are added to the same hook point with the same priority, netfilter processes them in the order they were added.
This means the user must come up with a suitable set of tables and chains for their purposes.
I have gone with the approach of using a single top-level table called lxd for each IP family (ip and ip6, and there will likely be another for bridge filtering).
Inside the lxd tables several chains are created for each LXD managed network (prefixed with in, fwd and pr for each netfilter hook type of input, forward and postrouting respectively, followed by the network name). A chain's name appears to have maximum length limit of 254 chars, so this should comfortably accommodate the network device name.
Each logical function (such as forward policy, outbound NAT and DHCP/DNS access) is implemented as a separate nftables config template in the same format as is generated from nft list ruleset, this means that it includes the table, chain and multiple rules in a single config definition, which is then applied atomically using a single command.
I've checked and if the table/chain exists already, the config is merged into it, rather than replacing it.
Because each managed network has its own chains, cleaning up the network is simply a case of removing those chains if they exist. I've not been able to figure out a way of listing chains in a table. In later versions of nftit is possible to dump the ruleset for an entire table in JSON, which would allow one to get a list of chains. However the version of nft in ubuntu 18.04 doesn't have this option, and the native dump format is non-trivial to parse. So I have resorted to attempting to list the rules in a specific chain and if that command fails then using that as an indication the chain doesn't exist and so doesn't need removing.
The NetworkSetupOutboundNAT function definition has an append boolean which indicates whether to add the rule at the start or the end of the chain in iptables. However with nftables, using our own chains, this doesn't make a lot of sense, and so I have ignored it.
However I do intend to do further testing to see how the default policies of other non-LXD chains may impact this (from looking at the nftables documentation, if a packet is accepted by one chain, it is still offered to other chains for the possibility of dropping it later).
The NetworkSetupDHCPv4Checksum always returns nil as this is not supported by nftables, and was only ever needed for older DHCP clients, so hopefully this isn't an issue anymore.
Example network rules config:
table ip lxd {
	chain in_lxdbr0 {
		type filter hook input priority 0; policy accept;
		iifname "lxdbr0" tcp dport domain accept
		iifname "lxdbr0" udp dport domain accept
		iifname "lxdbr0" udp dport bootps accept
	}

	chain fwd_lxdbr0 {
		type filter hook forward priority 0; policy accept;
		oifname "lxdbr0" accept
		iifname "lxdbr0" accept
	}

	chain pr_lxdbr0 {
		type nat hook postrouting priority 100; policy accept;
		ip saddr <IP_ADDRESS>/24 ip daddr != <IP_ADDRESS>/24 masquerade
	}
}
table ip6 lxd {
	chain in_lxdbr0 {
		type filter hook input priority 0; policy accept;
		iifname "lxdbr0" tcp dport domain accept
		iifname "lxdbr0" udp dport domain accept
		iifname "lxdbr0" udp dport bootps accept
	}

	chain fwd_lxdbr0 {
		type filter hook forward priority 0; policy accept;
		oifname "lxdbr0" accept
		iifname "lxdbr0" accept
	}

	chain pr_lxdbr0 {
		type nat hook postrouting priority 100; policy accept;
		ip6 saddr fd42:6792:c25a:f818::/64 ip6 daddr != fd42:6792:c25a:f818::/64 masquerade
	}
}

Confirmed maximum chain name is 255 chars, which is the same max length as iptables comments. So using a chain rather than comments for each instance device ruleset should be fine (or not worse than using iptables comments).

Looks good to me. It's nice that we can template those bits, may make it easier for folks to understand what's going on.

@stgraber I've correct the driver loader logic now, now adding an "in use" implementation for nftables.

@stgraber have updated with "." separator on chain names and an nftables "in use" logic implementation.
As this required parsing the nftables rules, and we are already requiring a recent version of nftables, I used the --json flag to make parsing the rules easier/less error prone. Also by having this function available I then updates the "remove chains" functionality to avoid multiple executions of nft list for each chain (which was previously used to test for the chain's existence), and now I iterate through the result set looking for chains that exist that need deleting so only require one invocation of nft list ruleset.

Testsuite passed

@stgraber this is ready for review now. Tests pass locally on 18.04 with xtables and 20.04 with nft.
I've noticed that the jenkins tests are failing early on the unit tests, so need to look at that, although they appear to be crashing jenkins so may be unrelated.

jenkins: test this please

Testsuite passed


fix(links): don't treat tel: links as external

https://main--express-website--adobe.hlx3.page/education/express/deployment
vs
https://tel--express-website--adobe.hlx3.page/education/express/deployment?lighthouse=on
(click CTA in marquee)

The same should happen for mail: and sms:. But do they use them ?

Good point, doesn't hurt adding those, too.

@kptdobe just remembered: it's mailto: 😉

Yeah... I was testing you ;)


feat: add violation filter

What are you trying to accomplish?
We have a packwerk check || true step that checks for violations, and reports metrics. we have || true because we don't want this job to block prs when there are new violations. We update the todo files daily, so that they reflect the state of the code base.
We want to make it harder to introduce new boundary violations, but not get so much in the way of people doing their product work -

we could take away the || true and make people run packwerk update-todo on their own when they introduce new violations. simple, but all-or-nothing & potentially more annoying than helpful
in a script, read the output of packwerk check, check violations against package configs, and decide whether to exit with 1 or 0
(this pr) instead of post-processing the results, add the ability to insert a custom filter that can decide whether to consider an offense during packwerk check. follows a similar pattern to reference collector

What approach did you choose and why?

building scripts on top of packwerk check output sounds brittle, and inserting a custom output formatter doesn't feel like it would make it that much better (although newer commits to shopify/packwerk make it easier to pass a custom formatter...)
this approach has us drifting farther away from the main library, but i think our usage is already drifting - we mainly use this for privacy as opposed to dependency tracking and that functionality has been moved out of the main gem.
this allows individual packages to decide if they care about new violations or not. if someone needs to add a boundary violation in that package they can still do it by running update-todo
example usage at https://github.com/scriptdash/scriptdash/pull/38584/files

What should reviewers focus on?
Type of Change

[ ] Bugfix
[ ] New feature
[ ] Non-breaking change (a change that doesn't alter functionality - i.e., code refactor, configs, etc.)

Additional Release Notes

[ ] Breaking change (fix or feature that would cause existing functionality to change)

Include any notes here to include in the release description. For example, if you selected "breaking change" above, leave notes on how users can transition to this version.
If no additional notes are necessary, delete this section or leave it unchanged.
Checklist

[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] It is safe to rollback this change.

the custom filter would just be looking at the config value for no_new_violations in each package. i suppose i could put the scriptdash filter contents in here directly but it feels weird to make the default behavior that packwerk check will give you an output that isn't consistent with packwerk update-todo (1 would say no violations, 1 would update the package_todo.yml). the class override is more of a clue that we're doing something funny

Hmm okay, let me refresh myself on some of the packwerk things and get back to you tomorrow


Update index.html

Updated using information from the master branch README.md.

Ignore the build failure, gh-pages is an orphaned branch that doesn't have the build script.


Responsive Netlify CMS UI.

Is your feature request related to a problem? Please describe.

I am always frustrated when I have to make minor changes in my blog when I'm on my mobile, I've to pull up my laptop every time I want to make those changes. Using the CMS in a mobile device is a terrible experience as the UI is not responsive.
Describe the solution you'd like

Add media queries and make the Netlify CMS responsive.
Describe alternatives you've considered

Additional context

Closing this as I couldn't find #441 earlier.


Add props to prevent typos in config properties

This PR will eliminate numerous strings around config by typo-proof enums.
In short,
cfg.opts("benchmarks", "local.dataset.cache")
will be rewritten to
cfg.opts(*props.BENCKMARKS.LOCAL.DATASET.CACHE)
The following points are aimed in the implementation:

Not require any changes in section and key names.
Support auto-completion by IDEs.
Keep the existing code width the same as possible.
Prepare the way to describe config properties in the code.
Enable to express both dot-notated sections and keys.
Make unpreferable unpacking fail on properties in the middle of dot notation.
-> i.e. With props.SECTION.DOT.NOTATED.KEY, func(*props.SECTION.DOT.NOTATED) raises TypeError.

In return, the following restrictions are introduced:

No way to declare the below kind of config keys.[section]
spam = many
spam.eggs = a few

-> i.e. func(*props.SECTION.SPAM) raises TypeError; you can still write func("section", "spam"), though.
Can't also express camelCase, PascalCase, MACRO_CASE, kebab-case, COBOL-CASE, and bracket[notation].
(possibly more)

Closes #1646
TODOs:

[ ] Write unit tests.
[ ] Write script to check typos between before and after strings elimination.
[ ] Replace the rest of config (section, key) pairs.

@gbanasiak Thank you for your comment.
However, I became a bit suspicious that this hacky code is sustainable, even though I opened this PR. Also, if you plan to convert dot notations (list.config.option) to underscores (list_config_option), there might be a more straightforward way. Another thought is about another PR https://github.com/elastic/rally/pull/1798, which is probably more acceptable for everyone.
What do you think? Can we archive (close without merging and leave) this PR until this enum constants gets really crucial?

@sakurai-youhei Thank you for iterating.
I think https://github.com/elastic/rally/pull/1798 is a step in the right direction. It will help working on https://github.com/elastic/rally/pull/1795 or similar, and tighten existing use of configuration, but by itself will not fully address https://github.com/elastic/rally/issues/1646 due to the following:

any combination of section and key is still allowed
verification is done only if cfg instance is properly annotated with Optional[config.Config] or similar.

This wasn't stated explicitly but I've assumed we've embarked on the following journey:

introduce literals and selective mypy configuration to provide a full list of sections and keys to work on next
introduce props (gradually)
once all literals replaced with props, switch Config methods to accept props instead of section/key strings.
Perhaps this las

I've already got accustomed to https://github.com/elastic/rally/pull/1795 logic and don't find it hacky, but if you see a more straightforward solution we can pursue this instead. We already looked at 2 proposals earlier in https://github.com/elastic/rally/issues/1646, and both were more repetitive in nature than this PR.
We can obviously also close this draft if you don't want to invest more time in it. Enum constants are not a top priority. It is a nice to have. Also, it is understood community contributions are not "guaranteed". It's your free time after all.
The switch from dot notation to underscores is an option for the future, but I don't think we want to introduce such breaking change now. I was just confirming this proposal is flexible enough to accommodate this path, I think it is.

@gbanasiak Thank you for your comment.
[1]

once all literals replaced with props, switch Config methods to accept props only instead of section/key strings.

The above didn't come up in my mind, but that's a good idea indeed.
[2]

The switch from dot notation to underscores is an option for the future, but I don't think we want to introduce such breaking change now. I was just confirming this proposal is flexible enough to accommodate this path, I think it is.

Thinking about it over a long period, the answer is YES. The props can be reworked when the time will have come. I thought the switch would happen in the near future. But if it's not, I don't have anything other than this PR to achieve the DRY as of now.
[3]

I've already got accustomed to #1795 logic and don't find it hacky

That's good to know. :) OK, I will resume working on this PR once #1798 gets done.

I'm closing this PR to clean up my PR list. Please feel free to reopen PR and/or ping me anytime.
P.S. Although @gbanasiak has welcomed this approach once, I've been questioning this PR by myself because of the hackiness. But I believe introducing mypy through https://github.com/elastic/rally/pull/1798 was not a wrong decision. I appreciate the time and effort given to my PRs. Thank you very much.


Support indexes on columnstore tables

You can't create columnstore tables with the following constraints:
UNIQUE PRIMARY KEY FOREIGN KEY

It would be really really really good to have this. One of the 2 things that keep us from using pg_mooncake


[WIP] Nt/native filters

!!!Strictly a work in Progress, yet please feel free to test
What does this PR?
Upgraded main feed screen to use native filters, it is still a work in progress, but the feed screen is now useable with most of primary functions like,

pagination
refresh
logged out view
empty list view for friends and communities tabs

Pending Items

promoted posts
user switching hooks
double tap to scroll up
new posts check

fixes #1888
Video
https://youtu.be/ZDgcxsvxw-k

@feruzm you may review this now....
I could not find a fix for nested ScrollableTabView unresponsive tab change while scroll issue.
Suggestion:
We can use the TabbedPosts to accept external content overrides and get rid of nested tabs at all..

fixed scrolling issue by discarded nested tabview in favour for stacked tabbar

Editable tags are also merged with native filter since they work in collaboration with each each other.
fixes #1913

@noumantahir Could you update thread with what's pending and what needs to be tested more? We could merge and do more tests on device if nothing major is pending.

@feruzm we can push it device for testing... there is nothing pending on the filters side....
The second major part we discussed related to postsContainer was conversion on PostCard to PureComponent, but I can safely postpone that as app has become substantially performance even without that. It is however a must do upgrade as well.

PureComponent we use in some parts, if done properly I do agree it can give good performance boost, potentially getting rid of unnecessary re-renders. Let's do it in separate PR.


[Router] Dockerfile install libgit2

Need to install libgit2 into the router file so we can properly use the git2go binary

https://github.com/libgit2/git2go


add arima 2readbamcombiner nf-core module

PR checklist
Closes #XXX

[x] This comment contains a description of changes (with reason).
[x] If you've fixed a bug or added code that should be tested, add tests!
[x] If you've added a new tool - have you followed the module conventions in the contribution docs
[x] If necessary, include test data in your PR.
[x] Remove all TODO statements.
[x] Emit the versions.yml file.
[x] Follow the naming conventions.
[x] Follow the parameters requirements.
[x] Follow the input/output options guidelines.
[x] Add a resource label
[ ] Use BioConda and BioContainers if possible to fulfil software requirements.
Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:

[x] PROFILE=docker pytest --tag <MODULE> --symlink --keep-workflow-wd
[x] PROFILE=singularity pytest --tag <MODULE> --symlink --keep-workflow-wd
[ ] PROFILE=conda pytest --tag <MODULE> --symlink --keep-workflow-wd

We can wait to merge this, when I push docker image to public

@muffato every new module will modify pytest file, we will see more merge conflicts, especially pull request from our main branch to nf-core master branch.


Switch client build to pool with better machines

Description
A while back I requested larger machines to speed up our build and dropped the task while waiting for it to be approved. The pool has been allocated but hasn't been hooked up yet.
Reviewer Guidance
The review process is outlined on this wiki page.

We should update the image used by the agents in the new pool (look at Settings -> Pool -> Images in the left pane in the Azure portal for NewLarge VS Large).
One other thing that might not matter (as far as I can tell) for the Build - client packages pipeline but could matter for others, is the Azure region change. We have some Azure resources in WestUS2 that some test runs leverage; for example if we move the e2e tests pipeline to NewLarge, we'd have agents running in WestUS3 making network requests to resources in WestUS2 and that means a cost increase for inbound/outbound network traffic between regions. Could we recreate NewLarge in WestUS2 to be safe?

Finally looped back around to this now that we have the image building properly. Looks like we save a good amount of CI time!

Should we switch all the pool to use the new Pool?   Alternatively, should we just update the Agent size of the exist pool instead? Is it possible?

I'll just point out again the potential issue of additional cross-region network traffic between the build agents (now on WestUS3) and our azure resources already living in WestUS2, and its related cost. Off the top of my head I wouldn't expect it to be incredibly big, but we should monitor.


Generate PoC assets / cards

We need a variety of assets for cards for the PoC, not only goblins and dwarves and one witch like we have now.
These cards will also need names and attack / defense score. The specification here isn't too terribly important.
Maybe we could come up with a fun theme for the PoC? Something themed after crypto projects / personalities?

Hi @norswap, is this issue still available? I have an idea of creating this like making a interesenting card of it, i have expericience making art of games becuase im the part of the front end of the project of bytebeasts, an on chain game, let me know and i´ll send you more visual idea

Hey there Juan! The project is pretty much on ice at the moment as I'm focused on HappyChain. But sure, if you don't mind long delays, would love to see some concepts!


chore: set Ruby namespace in proto options

This PR was generated using Autosynth. :rainbow:
Synth log will be available here:
https://source.cloud.google.com/results/invocations/25de1cb9-c7c1-4ccb-a859-ac7970fde734/targets

[ ] To automatically regenerate this PR, check this box.

PiperOrigin-RevId: 316144276
Source-Link: https://github.com/googleapis/googleapis/commit/b5653ef55579186841dee924592248d821902a12

Err I liked your name for this PR @JustinBeckwith but I don't know if this PR has anything to do with electron 🤣 Let me know if I'm missing some important context.


Remove noop QA/test data loading steps on ingestion server

Fixes

Fixes #2327 by @zackkrida
Description

This PR removes the load-test-data recipe and affiliated actions from the ingestion server's just file and load_sample_data.sh script. These were effectively noops and no longer performed any actions.
Testing Instructions

Builds & tests should run just fine.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

I've dismissed my review and updated the issue to better reflect the core problem.


Batch file fields sometimes need reordering

Sometime ord insists that inscriptions field should be at the first line and then the mode has to be put at the end. No idea why, probably something with serde
mode: separate-outputs

inscriptions
  - file: ....
  - file: ....
  - file: ...

I think this was something with my computer


Adding solution for {23}

Fixes #{Insert your issue number here}

My code sample is in :

[ ] CPP
[ ] Java

Screenshot of working code sample  :

Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My code sample is formatted and works correctly

I am getting message as ! workflow awaiting approval, please approve it

Please update the pr comment , add issue number ,ss

@amanv8060 I have already mentioned the issue number(23), what screeshot should I add?

Bro, I have addede the screen shot, please check it, issue number is written ie 23


fix: odd behaviour seen when using REPLICA_DATABASE_URLS

Thanks for submitting a PR! Please check the boxes below:

[x] I have run pre-commit to check linting
[ ] I have added information to docs/ if required so people know about the feature!
[x] I have filled in the "Changes" section below?
[x] I have filled in the "How did you test this code" section below?
[x] I have used a Conventional Commit title for this Pull Request

Changes
Fixes https://github.com/Flagsmith/flagsmith/issues/3681.
How did you test this code?
Ran the API locally with REPLICA_DATABASE_URLS set up to point to the same database as DATABASE_URL and observed that, without this change, I received an exception when trying to create a Feature.
Once I made this change, I no longer received the exception.

@zachaysan @khvn26 I am requesting a review from both of you on this PR. Zach, because you have the context from our investigation of this issue. Kim, because you might have some context as to why history_instance.instance was used in the first place, rather than just instance.

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

Project coverage is 95.91%. Comparing base (cc88dab) to head (1083c8e).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3771   +/-   ##
=======================================
  Coverage   95.91%   95.91%
=======================================
  Files        1102     1102
  Lines       34782    34782
=======================================
  Hits        33362    33362
  Misses       1420     1420

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

@zachaysan @khvn26 yeah, you're both right for sure. I hoped it would be as simple as e.g.:
DATABASE_URL=postgres://postgres:password@<IP_ADDRESS>:5432/flagsmith REPLICA_DATABASE_URLS=[<db-url>](postgres://postgres:password@<IP_ADDRESS>:5432/flagsmith) pytest

but this causes all the tests to fail with a spurious error:
ERROR tests/integration/ core/test_commands.py::test_bootstrap__empty_instance__creates_expected - django.db.utils.ProgrammingError: column users_ffadminuser.organisation_id does not exist

I agree we should implement some testing against this, but it looks like it needs some thought.


Hi, I have a question.

Hi, can you help me with this? I found you on github in the warchill crack theme. I run start.cmd and only this comes out

Sorry that's off topic, I just don't know how to contact you

Hi, I think you need to update the offsets to make it work I haven't touched that source for quite some time now.


Use "highlight" instead of "bat"?

Is there a way I can use Highlight as the highlight program instead of bat? In the official FZF doc I can use either cat, bat or highlight, but I'm not sure how to use highlight here in fzf-preview.vim?

Specifically, right now I'm having these lines in my .vimrc:
let g:fzf_preview_command = 'cat --number'
let g:fzf_preview_lines_command = 'cat --number'

but when I tried these lines, it didn't work. fzf-preview.vim still uses cat:
let g:fzf_preview_command = 'highlight'
let g:fzf_preview_lines_command = 'highlight'

What did I do wrong?

I've looked at highlighting and it looks like I'd be better off using bat.
It looks like you need to specify the options to use highlight, but I didn't find the right setting right away.


Enable discussions for the repo

I think enabling GitHub discussions for this repo is in order. It's a good place to have info, answered questions and other non-strictly-issue related conversations. Issues can work to some extent for the same purpose, but issues should be opened and closed, while discussions remain

Interesting, haven't heard of GitHub discussions before, but it does look really nice! I just opened up the discussions for this repo. We have already opened a Gitter room before (#153), however there hasn't been much activity until now and the centralised solution does look neat.

Interesting, haven't heard of GitHub discussions before, but it does look really nice! I just opened up the discussions for this repo. We have already opened a Gitter room before (#153), however there hasn't been much activity until now and the centralised solution does look neat.


fix(browser): add magic-string to optimizeDeps.include

Description

closes https://github.com/vitest-dev/vitest/issues/5263

Snapshot update works inside the repository test/browser but apparently it fails when installed. I still don't fully understand the intricacy of this difference, but adding vitest > @vitest/snapshot > magic-string seems to work.
I verified manually that this fix the issue by using pnpm patch in a reproduction:
https://github.com/hi-ogawa/reproductions/tree/main/vitest-5263-browser-snapshot
One thing I found is that, when running tests from test/browser, I see a few logs vite:deps new dependencies found: ... and there was previously magic-string in there, but it's now gone. There are a few more dependencies like that, so they might also cause some issues depending of usage?
Show logs with DEBUG=vite:deps
$ DEBUG=vite:deps PROVIDER=playwright pnpm -C test/browser test-fixtures basic

> @vitest/test-browser@ test-fixtures /home/hiroshi/code/others/vitest/test/browser
> vitest "basic"

  vite:deps removing old cache dir /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps +0ms
  vite:deps scanning for dependencies... +0ms

 DEV  v1.3.1 /home/hiroshi/code/others/vitest/test/browser
      Browser runner started at http://localhost:5173/

  vite:deps Crawling dependencies using entries:
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/another.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/basic.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/cjs-lib.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/dialog.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/dom.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/failing.snaphot.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/failing.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/logs.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/mocked.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/polyfill-lib.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/server-headers.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/snapshot.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/timers.test.ts
  vite:deps   /home/hiroshi/code/others/vitest/test/browser/test/utils.test.ts +0ms
  vite:deps Scan completed in 235.95ms:
  vite:deps   @vitest/cjs-lib -> /home/hiroshi/code/others/vitest/test/browser/cjs-lib/index.js
  vite:deps   url -><EMAIL_ADDRESS>+208ms
  vite:deps creating package.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_7af21d15 +251ms
  vite:deps Dependencies bundled in 59.64ms +62ms
  vite:deps ✨ static imports crawl ended +882ms
  vite:deps ✨ using post-scan optimizer result, the scanner found every used dependency +0ms
  vite:deps creating _metadata.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_7af21d15 +583ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_7af21d15 to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps +0ms
  vite:deps ✨ dependencies optimized +2ms

  !!!!!! magic-string was here previously
  vite:deps new dependencies found: pathe +191ms
  !!!!!!

  vite:deps creating package.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_9ff37f01 +193ms
  vite:deps Dependencies bundled in 29.27ms +31ms
  vite:deps creating _metadata.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_9ff37f01 +0ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_8648249b +0ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_9ff37f01 to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps +1ms
  vite:deps removing cache temp dir /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_8648249b +0ms

  !!!!!!!!!!!!!!
  vite:deps new dependencies found: p-limit, diff-sequences +167ms
  !!!!!!!!!!!!!!

  vite:deps creating package.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_f902e0c9 +135ms
  vite:deps Dependencies bundled in 40.18ms +42ms
  vite:deps creating _metadata.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_f902e0c9 +0ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_6458f652 +0ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_f902e0c9 to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps +0ms
  vite:deps removing cache temp dir /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_6458f652 +0ms

  !!!!!!!!!!!!!!!
  vite:deps new dependencies found: std-env, tinybench +304ms
  !!!!!!!!!!!!!!!

  vite:deps creating package.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_8585cd8a +261ms
  vite:deps Dependencies bundled in 114.49ms +117ms
  vite:deps removing cache dir /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_8585cd8a +0ms
  vite:deps ✨ delaying reload as new dependencies have been found... +117ms

  !!!!!!!!!!!!!!
  vite:deps new dependencies found: std-env, tinybench, tinyspy +38ms
  !!!!!!!!!!!!!!

  vite:deps creating package.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_782d4a52 +39ms
  vite:deps Dependencies bundled in 56.94ms +59ms
  vite:deps creating _metadata.json in /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_782d4a52 +0ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_630a92d6 +1ms
  vite:deps renaming /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_782d4a52 to /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps +0ms
  vite:deps removing cache temp dir /home/hiroshi/code/others/vitest/test/browser/node_modules/.vite/deps_temp_630a92d6 +0ms

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
[ ] Ideally, include a test that fails without this PR but passes with it.
[ ] Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

[ ] Run the tests with pnpm test:ci.

Documentation

[ ] If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

[x] Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

Wait... actually this inline snapshot test doesn't seem to be working.
https://github.com/vitest-dev/vitest/blob/4ff7159049e4dd63501cdf512aea3366b55691cf/test/browser/test/snapshot.test.ts#L3-L5
When changing it to expect(2).toMatchInlineSnapshot('1') and pressing "u", it says Snapshots  1 updated  but the inline snapshot is not actually updated:
 RERUN  update snapshot x3

 ✓ test/snapshot.test.ts (3)
   ✓ inline snapshot
   ✓ snapshot
   ✓ file snapshot

  Snapshots  1 updated
 Test Files  1 passed (1)
      Tests  3 passed (3)
   Start at  15:15:08
   Duration  10ms

Hmm, it looks like inline snapshot doesn't update when using slowHijackESM: true, which is the case for the `test/browser.

I wonder if we should just bundle most of our dependencies 🤔

Vitest's situation might be a bit different from Vite since Vitest consists of separate packages like @vites/... while Vite users mostly just consumes vite package.
For example, I see magic-string is a dependency of vitest, @vitest/snapshot, @vitest/coverage-v8 and @vitest/browser. I don't know how to make it work in this case. Maybe internally creating @vitest/bundled-deps package?


Appearance : SetAppearanceByProfile setting transparency to 100% no matter the value

Transparency was not normalized and any value >1 was consider 100%.

Solved in 051a4506


Extraction failed when URL terminates with slash " / " character

I noticed that article-parser fails when parsing URLs ending in /.
For instance, article-parser succeeds with
https://knightcolumbia.org/content/tim-wu-first-amendment-obsolete
but fails with
https://knightcolumbia.org/content/tim-wu-first-amendment-obsolete/
Perhaps this is expected behavior.

@nnnnicholas article-parser use node-fetch to retrieve content from target URL, as same as what the web browsers do. If you try to open these 2 URLs with your browser, you can see that they are totally different.
Resolving the slash at the end of the URLs is the task of web server, not client.

Ah, true. Thank you.