Tensorflow 2.0 : Combining model.add_loss and keras losses function in training doesn't work

I read about TensorFlow 2.0 tutorial in VAE section. I follow the tutorial but the model doesn't work as expected despite running the notebook directly from given Google Colab. The result actually is the same as in the tutorial (i.e. loss value is very similar) but if you look at the output you'll see that the model can't reconstruct the input at all (i.e. output the same image for all inputs). This seems to be a mistake from the tutorial itself when combining model.add_loss() and keras.losses.

I changed MSE loss to BinaryCrossentropy but the result is still the same.
Later I tried compute the BinaryCrossentropy loss explicitly in my forward pass then use model.add_loss() in addition with the KL-divergence loss

This way the model can actually learn the data and the output seems good enough.
So I have a question about model.add_loss() and losses as a function that takes (y_true, y_pred) (i.e. keras.losses). The updated code works only if it can calculate losses in forward pass (e.g. kl-divergence or reconstruction loss), how can I combine model.add_loss() and keras.losses correctly in the case where the model need ground truth of the output (e.g. denoise VAE).

Thank you for the issue @51616. I tried the colab and got different results for MSE and BCE losses in custom training loop:
MSE loss:
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
Start of epoch 0
step 0: mean loss = tf.Tensor(0.35074496, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.12501891, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.09896767, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.088992655, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.084115215, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.08080357, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.078655444, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.07708102, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.07592539, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.074898444, shape=(), dtype=float32)
Start of epoch 1
step 0: mean loss = tf.Tensor(0.07461691, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.073966034, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.073460035, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.07299255, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.07266195, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.07227474, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.07198363, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.071675226, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.07145154, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.07118706, shape=(), dtype=float32)
Start of epoch 2
step 0: mean loss = tf.Tensor(0.07111354, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.07093662, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.07080722, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.07065797, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.07056295, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.07040719, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.07030004, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.07016859, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.07007885, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.06994936, shape=(), dtype=float32)

BCE loss:
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
Start of epoch 0
WARNING:tensorflow:From /tensorflow-2.0.0-rc0/python3.6/tensorflow_core/python/ops/math_grad.py:1394: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
step 0: mean loss = tf.Tensor(0.7803986, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.4406416, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.3644295, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.33377928, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.31776747, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.30728954, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.30034995, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.2952541, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.29153773, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.28829667, shape=(), dtype=float32)
Start of epoch 1
step 0: mean loss = tf.Tensor(0.28734177, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.28517666, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.28343785, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.2818749, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.28066754, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.27942434, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.27840894, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.2775054, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.27676252, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.27591947, shape=(), dtype=float32)
Start of epoch 2
step 0: mean loss = tf.Tensor(0.27567974, shape=(), dtype=float32)
step 100: mean loss = tf.Tensor(0.27511278, shape=(), dtype=float32)
step 200: mean loss = tf.Tensor(0.2745993, shape=(), dtype=float32)
step 300: mean loss = tf.Tensor(0.27408925, shape=(), dtype=float32)
step 400: mean loss = tf.Tensor(0.2737239, shape=(), dtype=float32)
step 500: mean loss = tf.Tensor(0.2732339, shape=(), dtype=float32)
step 600: mean loss = tf.Tensor(0.2728653, shape=(), dtype=float32)
step 700: mean loss = tf.Tensor(0.27246934, shape=(), dtype=float32)
step 800: mean loss = tf.Tensor(0.27214858, shape=(), dtype=float32)
step 900: mean loss = tf.Tensor(0.27174425, shape=(), dtype=float32)

Are you observing something else?

Closing due to lack of activity, please re-open if you see this issue again.

Dear pavithrasv,
Yes, the loss changes, but still the model does not learn anything. The KL-Divergence should give much higher errors than those presented.
Best Regards,
António

Is this possibly related to : https://github.com/tensorflow/tensorflow/issues/32058


⚠ SceneTime has degraded performance

In 555ab34, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 12670 ms

Resolved: SceneTime performance has improved in 93bdcfb after 244 days, 12 hours, 13 minutes.


Why does Nancy.Authentication.Forms Enable per module trigger RequiresAuthentication for the whole module?

Prerequisites

[x] I have written a descriptive issue title
[x] I have verified that I am running the latest version of Nancy
[x] I have verified if the problem exist in both DEBUG and RELEASE mode
[x] I have searched open and closed issues to ensure it has not already been reported.

Description
When you enable Nancy.Authentication.Forms for individual modules, the whole module is automatically set module.RequiresAuthentication().
Is there a reason for that?
I want to switch on Authentication only for specific modules, but require authentication only for specific routes.
Other modules should be free of authentication at all.
The line
module.RequiresAuthentication()

forces all routes to be authenticated, which is especially questionable if the login module should use (but not require) Authentication.
Steps to Reproduce

System Configuration

Nancy version:
Nancy host

[ ] Nancy.Hosting.Aspnet
[ ] Nancy.Hosting.Self
[ ] Nancy.Owin ()
[ ] Other:

Other Nancy packages and versions:
Environment (Operating system, version and so on):
.NET Framework version:
Additional information:

You are scoping your authentication for the entire module. If you need per-route scoping then you can put the RequiresAuthentication() in your routes or split your routes across multiple modules


Maintenance

Hello,
I would like if possible to take maintenance of this package, modify it with adding features and release it for the ROS community. Is it all good for you?

Sure, it has been several years since I have worked on this, it was an undergrad project.
I notice that you have contributed heavily to the ascentai fork. Feel free to open a pull request with the changes.
Great to see open source in action.


Can't use fill in combination with fillPattern

I'll try to add a fill color (background) in combination with a striped fill pattern but I can't get it to work together.
This is my code:
var stripes = new L.StripePattern({ angle: 45 }).addTo(map);
var poly = L.polygon(borderCoordinates, {
  fill: true,
  fillColor: '#f0f',
  fillPattern: stripes,
});

I already have a workaround:
var stripes = new L.StripePattern({
  angle: 45,
  spaceColor: '#f0f',
  spaceOpacity: 1,
}).addTo(map);
var poly = L.polygon(borderCoordinates, {
  fillPattern: stripes,
});

It still would be a nice feature to have a fill color for custom patterns

From source
if (options.fillPattern) {
  dom.setAttribute('fill', 'url(#' + L.stamp(options.fillPattern) + ")");
} else {
  dom.setAttribute('fill', options.fillColor || options.color);
}


Make heat pump type a selection item in config flow

This PR has two minor changes. If you'd prefer two separate PRs instead, I'm happy to do that as well!
First, the translation files present in the component cause issues at least when the English language UI is used (lots of translation errors instead of intended strings). Since the translation files don't really do anything at the moment, I removed them altogether.
Second, in the initial config flow, the heat pump type (inverter vs mega) is now a selection item (radio buttons) instead of a free-form string field.

Thanks Mairas.
Can I easyily upgrade my current configuration based on CNJE without loosing any settings?

Thanks Mairas.
Can I easyily upgrade my current configuration based on CNJE without loosing any settings?

Yes, this has no impact on the settings schema.

Just updated HA to 2023.11.1.
Issues with this plugin:
Logger: homeassistant.setup
Source: setup.py:359
First occurred: 11:58:00 (1 occurrences)
Last logged: 11:58:00
Unable to prepare setup for platform thermiagenesis.climate: Platform not found (No module named 'homeassistant.util.temperature').
Any ideas?

Restored back to 2023.10.5.
Everything back as it should.

Works for me. And definitely unrelated to this PR, in any case. If you think it's an actual code problem, please open a new issue for that.

Thank you for the contribution, very nice! Instead of deleting the translation files it would be better to fix them so that translations will actually work. I can take a look at that, so take out the removal of the translation files and then we can merge the other change :)

Sure thing! Couldn't figure out that myself. :-D
I removed that commit, it's all yours!

Did the translation fixes actually happen anywhere? Because it seems they didn't and the integration name is still just one very long translation error message.


Alfredops 813

Merging back AOP solution to master,
Version tags will be added in the master branch and sent to the release branch

just rebased on master and git push --force-with-lease


Separate redis pools for pushing vs fetching sidekiq jobs

If the job queue is empty, sidekiq.rs will wait a couple seconds before releasing its connection. This can delay adding items to the queue by up to a couple seconds depending on how the timing works out, which is bad because adding the the queue should be as fast as possible. We should be able to improve this by having separate push vs fetch connection pools.

Fix in this PR: https://github.com/roadster-rs/roadster/pull/56


[Torch] Fix dtype handling for modules with integer parameters

This fixes the interesting typing problem raised in https://github.com/apache/incubator-tvm/issues/6300.
In Torchscript,  parameters of operations like conv are always accessed via prim::GetAttr nodes. For example, when we see
 %input : Float(1, 6, 4) = aten::_convolution(%input.1, %6, %7, %9, %11, %13, %14, %16, %17, %18, %19, %20)

The input weight %6 is accessed in this way:
%3 : Module = prim::GetAttr[name="conv"](%self.1)
%6 : Tensor = prim::GetAttr[name="weight"](%3)

The problem is, Torch cannot figure out the correct type of GetAttr nodes. So when we visit aten::_convolution to get its input types, we have to assume that this is an untyped tensor and get annoying warnings Untyped Tensor found, assume it is float.
This hasn't been a big issue so far because parameters are usually float anyways. But https://github.com/apache/incubator-tvm/issues/6300 brought a use case where there are integer parameters as well as float ones. Changing default_dtype to int doesn't solve it.
So I added a workaround  when we try to get the dtype of GetAttr nodes. For every GetAttr node there is a corresponding parameter from the original PyTorch module with known, correct dtype. And for every PyTorch parameter tensor we have a corresponding Relay Var (via convert_params(...) function).  So inside _get_input_types when we find GetAttr node, we return the dtype of corresponding Relay Var, instead of returning default_type.
This is the solution I came up with minimal change. It fixes the problem, but I feel it is a bit hacky. Please let me know if there are better ways to handle this.  The test case I added is a minimal reproduction of the issue raised in https://github.com/apache/incubator-tvm/issues/6300.
As a bonus, there would be no more annoying warnings Untyped Tensor found... when working with traced models.
please review @siju-samuel @t-vi

Thanks @masahi. This PR is merged.


Correct value for resource value "cluster_ca_certificate"

Hi,
seems variables were interchanged.
Result was wrong value for resource result "cluster_ca_certificate".

Thank you so much! I've just cut another release with your fix 👍🏼
https://github.com/scott-the-programmer/terraform-provider-minikube/releases/tag/v0.0.2
https://registry.terraform.io/providers/scott-the-programmer/minikube/latest/docs/resources/cluster


[upstream issue] Can't load safetensors Loras

As reported on discord we can't load Loras as safetensors, the issue is actually in diffusers ( upstream issue )
And there is this workaround currently:
https://github.com/huggingface/diffusers/issues/3064#issuecomment-1512429695
The error to helps search for others:
unet.load_attn_procs(
KeyError: 'to_k_lora.down.weight'

Might be solved upstream check #102


Option to opt-out from auto-updates

Is your feature request related to a problem? Please describe.
I was trying to use IPFS Desktop, but an update was available.  I was not in a position where updating at the moment would be convenient, but there was no way to cancel/delay the auto-update, it was forced on me if I wanted to continue using IPFS Desktop.
Describe the solution you'd like
When an update is available, I should be able to decline to update and continue using the application until such time as I'm ready to update.  A nag at launch would be fine, though I should be able to tell it how long until it nags me again (e.g., delay for 1 day, or delay for 1 week).
Describe alternatives you've considered
I tried to do the auto-update but it failed!  This is related to another bug that is allegedly fixed in this version.
Additional context
Auto-updates mean I cannot wait until after the update has been validated by my trust network.  This means I have to implicitly trust whoever controls the other end of the endpoint, which is bad for security against motivated attackers as they only need to control the auto-update endpoint for a handful of hours to compromise many people.  With updates spread out based on user decisions, the impact of taking over the endpoint is muted substantially.

I was trying to use IPFS Desktop, but an update was available. I was not in a position where updating at the moment would be convenient, but there was no way to cancel/delay the auto-update, it was forced on me if I wanted to continue using IPFS Desktop.

This behavior changed in v0.13.1. Starting with that version Windows users are no longer forced to apply update when it arrives, you only get a notification that the update will be applied when the app exists.
You can test by manually installing v0.13.1 and waiting for it to detect v0.13.2.

With updates spread out based on user decisions, the impact of taking over the endpoint is muted substantially.

This is an interesting trade-off. Right now autoupdate checks are already spread out over 12 hour window, we could increase it to 24 hours. But by doing so, we make it harder to apply any security fixes in the future.

Auto-updates mean I cannot wait until after the update has been validated by my trust network.

This is a valid feature request. It would also mitigate any problems with autoupdate mechanism (like the "infinite loop" we fixed recently on Windows).
I believe we should make it possible for the user to opt-out from automatic updates if they choose to do so.
@jessicaschilling @rafaelramalho19 thoughts where to put it and how to label it?
"Automatically check for updates" in "Settings" menu?

That Settings menu wording sounds good.

Could look like this in the prefs menu -- note that this mockup also includes other amendments to prefs currently in the issue queue, so that menu is starting to get lengthy.


Midis and BF samples

Do you think I could get the midis for all the songs in the mod? (yes, including big shot that's in the source files) Also, for Thunderstorm, BF sounds a bit different so do you think I can get the samples and chromatics for that? Just asking. Take all the time you need.

just a note, thunderstorm and disassembler werent made by perez so i dont think he has em

Oh, ok. Thanks for letting me know.


[react-ui][react-widgets] Add 'data-testid' attribute to widgets

Description

Shortcut: https://app.shortcut.com/cartoteam/story/383469/add-an-html-attribute-containing-the-widget-uuid
Story ID: [sc-383469]

Adds a widget's ID to an HTML attribute, data-testid, for use in test environments.
Type of change

Feature

PR not required, will add IDs at the application level instead.


Config depends on HashMap ordering

In Parser.java, if I change the following code:
    private AbstractConfigObject parseObject(boolean hadOpenCurly) {
        // invoked just after the OPEN_CURLY (or START, if !hadOpenCurly)
        Map<String, AbstractConfigValue> values = new HashMap<String, AbstractConfigValue>();

To this:
    private AbstractConfigObject parseObject(boolean hadOpenCurly) {
        // invoked just after the OPEN_CURLY (or START, if !hadOpenCurly)
        Map<String, AbstractConfigValue> values = new java.util.LinkedHashMap<String, AbstractConfigValue>();

Then the tests fail (in Java 7). This shouldn't happen
I'm not sure if the ordering should matter here. If not, then the problem must be somewhere in ResolveContext.resolve or a method it calls.

Aha, indeed. Nice catch. If we fix this (on java 6/7) then the java 8 upgrade should go smoothly.
Possibilities: 1) the test is testing something that's actually undefined and has two valid outcomes (question: what is the failure outcome - what happens instead of what's expected), or 2) our algorithm is broken in a way that some hash orderings can hide.

Yeah, I'm not sure which of those it is. I think I have to leave this to you at this point as I'm not familiar enough with the code to know what is expected here.

@havocp any chance to look at this? i can't tell myself which of the two possibilities you mentioned may be the root cause

Decided that currently HOCON.md specifies this behavior.


Fix typo in monorepo docs

Small typo I noticed while reading the "What is a monorepo" page

Thank you for your attention to detail!


[ error    ] : replace_sample(). capturesync_drop, releasing capture early due to full queue TS: 227411833 type:Depth

Hi Guys,
I'm running into a very annoying issue when using multiple sensors.
I'm using 6 Azure Kinects connected to my computer (using 2 PCI Startech card, and using 3 usb for each)
The kinects are configured in a daisy chain configuration.
When opening 6 instances of the Azure Kinect View, and starting the camera in 1080p, 30fps, 50Hz, NFOV Unbinned
after few minutes (vary from 30 secs to several minutes), one of the device randomly fails.
I have this error showing infinitely:
[ error    ] : replace_sample(). capturesync_drop, releasing capture early due to full queue TS: 227478500 type:Depth
I though first it was because of the audio cables, but the master and subordinate looks stable. (by the way, how do I check if it's an audio cable issue?)
GPU wise, I'm using a Nvidia RTX A5000, so should be good enough
I'm using the power and usb cables provided in the box.
Also, it's not happening on a specific device, they randomly fail one after the other (different order each time)
I urgently need to fix this issue as I've got a deadline coming and I'm running out of idea.
Could someone help me please?
I've factory reseted my devices and I'm using the latest SDK:
https://github.com/microsoft/Azure-Kinect-Sensor-SDK/tree/develop/firmware
To Reproduce

Connect 6 sensors to your pc
Open 6 Azure Kinect Viewers
Set the first camera to master and the others to subordinate
Use NFOV Unbinned, 1080p, 30fps and 50Hz
Start all camera

Expected behavior
I should be able to stream color camera and depth without any error
Logs
See file below
sensor-2-logs.txt
Screenshots

Desktop :

OS with Version: Windows 10 Pro
SDK Version:  v1.4.1
Firmware version:  AzureKinectDK_Fw_1.6.110080014.bin

PS: I'm offering beers and pizza if you can solve my problem
Thank you

The depth engine is not keeping up with the inbound depth image queue. This may be a bandwidth issue as opposed to sufficient compute issue.


Reduce Size of Dockerfile Image

Have had multiple attempts at this, however haven't had too much consistent success. From previous attempts, here is what we've learned:

google-auth Python library can be used to get a GCP token for a SA
Creating K8s SA is great way to have non-expiring token
gcloud sdk is 1.0GB+
Cilium CLI dependent on usage of gcloud (see https://github.com/cilium/scaffolding/pull/24/commits/1d04b7f9b7446ff30c1a5812160c9453ee0fa19a)

No longer relevant after refactor https://github.com/cilium/scaffolding/commit/1d880ac3303ecbd1ae2d4f92c2aec4ef0d6f1060. Closing.


Create Inventory Item from Asset fails if sync_hardware_serial_asset_tag = True

If you set sync_hardware_serial_asset_tag = True and try to create an Inventory Item from an Asset using the button

on the Assets page, the action fails showing this error message:

IMHO this is not the expected behavior.

With the latest code and if I create new assets, I cannot reproduce this.
I suspect the problem is with empty asset_tag fields values on assets. There was a bug there where empty values were stored as empty strings (""), which netbox didn't like so they have to be stored as None. I'm not sure but it's possible you created assets on the buggy version of the plugin.
Could you check what is the asset_tag field set on one of the assets that has a problem? In netbox shell run:
from netbox_inventory.models import Asset
asset_id = id of asset here
asset = Asset.objects.get(id=asset_id)
print(repr(a.asset_tag))

This should print None (which is correct value) or '' (which is problematic).
Alternatively try to edit the asset which causes trouble via the web interface: just click Edit and Save without changing anything. This should save an empty asset_tag values as None. Then try to create inventory item again and it should work.
If we confirm this is indeed the problem, we can then figure out how to fix your existing data.

Hi, thank you for your feedback. netbox shell returns this for the asset in question:
>>> print(repr(asset.serial))
None
>>> print(repr(asset.asset_tag))
None

So None is printed correctly.
I tried this:

create a new Asset (Serial Number and Asset Tag not empty)
create an Inventory Item from the new Asset
try to edit the Asset or the related Inventory Item

Everything works fine. So yes, the bug seems to be fixed in the current version.

Alternatively try to edit the asset which causes trouble via the web interface: just click Edit and Save without changing anything. This should save an empty asset_tag values as None. Then try to create inventory item again and it should work.

This did not work for me. For my broken Asset I tried this instead:

modify Serial and Asset Tag on the Asset (both from an empty string to a test string)
Save the Asset
try to edit the related Inventory Item

Everything works fine for this Asset now. The error must be at a different place. As I solved the problem manually now, I can not reproduce it anymore.
But now a new Problem occurs: If I try to set the Serial Number of the Asset to an empty string it fails with the error message

Cannot change inventoryitem serial and asset tag if asset is assigned. Please update via inventory > asset instead.

now. This is reproducible on a freshly created Asset.
I tried something different:

Create a new Asset with empty Serial Number and Empty Asset Tag
Try to create an Inventory Item from the new Asset
It Fails with

Cannot change inventoryitem serial and asset tag if asset is assigned. Please update via inventory > asset instead.

Debugging output:
>>> asset_id = 25
>>> asset = Asset.objects.get(id=asset_id)
>>> print(repr(asset.serial))
None
>>> print(repr(asset.asset_tag))
None

Try the same thing with a Serial Number set on the new Asset and the error does not occur.

Thanks for the detailed troubleshooting. I hadn't noticed the code does not handle assets with a blank serial number correctly. I've fixed that in #85
It should hopefully fix all your problems without any need to fix your existing data.
I'll publish a new release shortly.


Feature review

Fixed the following issues arising from trainer code review:

Search is now case insensitive
More descriptive signup/login error messages
Vary font sizes for date created and information for items in bucketlist panels
When editing a bucketlist name, you can now see the previous bucketlist name
Differentiated page title with the content by changing the font family
Change pk in API route to bucketlist_pk to identify that it is the bucketlist id. pk now stands for item id.
Modularised settings files
Moved modals into their own templates
Hyphenated CSS ids and class names to fit with recommendation
Used TemplateView in templates

Changes Unknown when pulling e1bb57c96555bd7f6f9a5110b39a4e4c16be1cf1 on feature-review into ** on master**.

Changes Unknown when pulling 4ffb8f77945f41793d7bdadf06508258a77b1c57 on feature-review into ** on master**.


Added UK May Bank Holiday Change VE Day 2020 - #149

Implements #149.
Added conditional one-off change to Early May Bank Holiday. Please let me know if this doesn't fit in with your standards and I'll modify accordingly.
It's a one off change just for 2020.

Thanks


Using graphics-smooth with pixi-legacy 6.5 with typescript won't build

Hey, thanks for this project. Just wanted to share a potential issue:
I upgraded to<EMAIL_ADDRESS>(to prep for 7 and offer canvas fallback support) and was getting errors out of the graphics-smooth lib when trying to build (this is a TS project):
node_modules/@pixi/graphics-smooth/index.d.ts:225:22 - error TS2415: Class 'SmoothGraphics' incorrectly extends base class 'Container<DisplayObject>'.
  Property '_renderCanvas' is protected in type 'SmoothGraphics' but public in type 'Container<DisplayObject>'.

225 export declare class SmoothGraphics extends Container {

This is from @pixi/graphics-smooth/index.d.ts

I experimented with many different versions to come to the conclusion I think it's an actual issue. Changing _renderCanvas to public, or simply removing any access modifiers fixed this issue.

I am not sure this can work with pixijs legacy... the whole point of this package is to use super cool shaders that don't exist on canvas 🤔

yeah, we should fix it, canvas is "legacy" in only one meaning - it was in core, now its separated. We still need it at least for the tests against Skia.


merge: dev to stage

:tada: This PR is included in version 0.70.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Tests fail when offline

While investigating Gentoo bug 630950, I could reproduce the reported symptoms when trying to run make check while being offline, leading to the following failure on the output:
[...]
build/trans -V
Translate Shell       <IP_ADDRESS>

platform              Linux
gawk (GNU Awk)        4.1.3
fribidi (GNU FriBidi) 0.19.6
audio player          mpv
terminal pager        less
terminal type         st-256color
user locale           en_US.UTF-8 (English)
home language         en
source language       auto
target language       en
translation engine    google
proxy                 [NONE]
user-agent            Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/602.1 (KHTML, like Gecko) Version/8.0 Safari/602.1 Epiphany/3.18.2
theme                 default
init file             [NONE]

Report bugs to:       https://github.com/soimort/translate-shell/issues
[ "`build/trans -no-init -D -b 忍者`" = 'Ninja' ] &&\
[ "`build/trans -no-init -D -b 'hello world'`" = 'hello world' ]
gawk: /dev/fd/63:2910: fatal: remote host and port information (translate.googleapis.com, 80) invalid
make: *** [Makefile:30: check] Error 1

While it seems at least some of the supported translation engines can be configured to work offline too (see #142 (comment)), translate-shell is clearly a tool to interact with online translation services.
So I wondered, whether fixing tests to work offline could be in the scope of the project. Perhaps an additional target in the Makefile? Or controlling test behaviour via an environment variable?
Let me know if you have an acceptable solution in mind. I might need some guidance, but I'm willing to send code too :)

make test is what you're looking for. It performs some sanity checks without accessing any online API.
Of course, to make sure that everything actually works, make check (that does use Google Translate) is a necessity.


Adding sponsors section

Description
Adding a sponsor section on our README.

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors and are passing (See Contributor Guide).
[x] My PR does not decrease the code coverage, or I have a very special case and explained on the PR description why this PR decreases the coverage.
[x] I updated/added relevant documentation (doc comments with ///) and updated/added examples in doc/examples.
[x] I have formatted my code with ./scripts/format.sh and the Flame analyzer (./scripts/analyze.sh) does not report any problems.
[x] I read and followed the Flame Style Guide.
[x] I have added a description of the change under [next] in CHANGELOG.md.
[x] I removed the Draft status, by clicking on the Ready for review button in this PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flame users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md).
[x] No, this is not a breaking change.

Related Issues
Replace this paragraph with a list of issues related to this PR from the issue database. Indicate, which of these issues are resolved or fixed by this PR.

Do we want to update all the readmes in the i18n folder as well?

@st-pasha we don't update those ourselves; they were translated by the community under the assumption that they might be outdated and would be kept up-to-date on a best effort basis by their original authors. we don't have knowledge to update all those languages. but feel free to submit a PR for any you are familiar with, if you want :)


google-cloud-bigtable-tool: init at 0.12.0

Description of changes

Adds a new package google-cloud-bigtable-tool at latest version 0.12.0
The main program of the package is cbt.
cbt is the Google Cloud Bigtable Tool. A CLI utility to interact with Google Cloud Bigtable.
The cbt CLI is a command-line interface for performing several different operations on Cloud Bigtable.
An overview of it's usage can be found in the Google Cloud docs.

Renames package cloud-sql-proxy to google-cloud-sql-proxy as it cannot be used with other cloud providers (also to improve consistency)
I added a note to the release notes of 23.11 as renaming a package might be considered breaking.

Adds meta attributes to package google-cloud-sql-proxy

Ping maintainer @nicknovitski @totoroot

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[x] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 261259 run on x86_64-linux 1

1 package blacklisted:

nixos-install-tools

2 packages built:

google-cloud-bigtable-tool
google-cloud-sql-proxy

Result of nixpkgs-review pr 261259 run on x86_64-linux 1
1 package blacklisted:
* nixos-install-tools

2 packages built:

Not sure what this means...
Perhaps that is normal for changes to the release notes.

Result of nixpkgs-review pr 261259 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

2 packages built:

google-cloud-bigtable-tool
google-cloud-sql-proxy

Removed the platforms meta attribute from both package definition, as I was informed that it is being automatically being set for all goModules and platforms = platforms.all was wrong anyways.

Result of nixpkgs-review pr 261259 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

2 packages built:

google-cloud-bigtable-tool
google-cloud-sql-proxy

Hello, this one just bit me updating a project.
For future reference renames should be added to the aliases.nix file, ideally with an alias for a while, and then a throw that gives users a real warning not just an undefined variable.
thanks

Hello, this one just bit me updating a project.
For future reference renames should be added to the aliases.nix file, ideally with an alias for a while, and then a throw that gives users a real warning not just an undefined variable. thanks

@06kellyjac Sorry for that. Can do so going forward.
I thought mentioning it in the release notes would be sufficient.

Yeah it's not a big deal at all, just a minor inconvenience, I just thought I'd let you know as others might run into this.

Yeah, thanks I missed that one. I'll be more careful in the future.


Proactively send a message to the user via skype

How to make the bot start a conversation with Skype at any time in an active way

The Microsoft Bot Framework team prefers that how to questions be submitted on Stack Overflow. The official Bot Framework Github repos are the preferred platform for submitting bug fixes and feature requests.


Move release github action into a shared github grafana action

Instead of providing a full yaml file with the steps. we can provide a grafana action to use like this:
      - name: Build plugin
        uses: grafana/plugin-actions/build-plugin@v1

@academo we can close this now, right?

yes. completed in https://github.com/grafana/plugin-actions/pull/8


Add standard-atmosphere function for Python. Not GP-compatible.

I wrote a standard-atmosphere function for Python. It is not GP-compatible, so it is primarily useful for fixed mission profiles or studies not using GP. Pint is used for unit consistency. The function is called stdatmo, contained in gpkit-models/gpkitmodels/tools/standard-atmosphere.py.

@arthur-brown can you give a little background about this model and what you are hoping to accomplish?  It looks like it might be signomial....  If not, I'm not sure that this belong in gpkit-models.  If it's signomial, I would work to get it into a form that is easily importable inside of a larger model.
Also, I haven't gotten around to it yet, but I'm pretty sure that we can write atmospheric models that are gp.  I at least believe this is possible at least for altitudes between 1-35,000 ft if you use density as the independent variable instead of altitude.  It is at least signomial and I think you could probably turn this into standard atm sp model at the very least.
@whoburg and @bqpd correct me if I'm wrong but I believe that this repo is specifically meant for gp or sp models that are ready to use or to be imported inside a larger model.

We used to have GP and SP compatible atmosphere models (by @pgkirsch) as part of this repo -- looks like maybe they got moved/deleted?
Roughly speaking, atmosphere models are GP-compatible if all other (non-atmosphere) models are known to exert upward pressure on rho, and SP-inequality-compatible if all other models are known to exert downward pressure on rho, and SP-equality-compatible if the direction of pressure on rho is unknown.
That assumes the dominant factor is rho; this could change if pressure or temperature have strong influence.

ummm, if no one is following up on this, I have already added an SP atmosphere model as part of #171. Closing, let me know if you have issues with this.


Fix the create and install script

Added logic to create archive conf logic (because the script would be re-run when you add new nodes)
Move the data directory commands inside of the create_universe.sh

Tested by calling create_universe.sh script.
https://github.com/YugaByte/yugabyte-db/issues/2098

can we remove the init db logic from the create_universe.sh file because we have pinged out base version to <IP_ADDRESS> and in that version, we can archive init db using gflag.
done.


Sfdx env support

Added support for setting enrionment variables for deploying unpackaged metadata. This allow for optimal usage of the "replacements" functionality in SFDX: https://github.com/forcedotcom/cli/blob/main/releasenotes/sfdx/README.md#71761-nov-10-2022


v5 Update 7 part 1

Contributes to #9.
Fixes a issue in 8ball where the aliases show as `` instead of NONE when running the help command on it. (https://github.com/TMC-Software/TheCodingBot/pull/17/commits/17815f3ebe9d7e7ef0b184b7c03c1ce8f080df79)
Fixed a slight grammar error in bot.js (https://github.com/TMC-Software/TheCodingBot/pull/17/commits/04cdd8ddf304572e79db6523a0e5ad3e237948ef)

Oh, neat. Wasn't aware you could change that :P

I can change even your comments. Crazy isn't it?


Current assignment

Create a GitHub issue for the current assignment and add in the details based on what is requested in this assignment and assign it to yourself.
Create a new branch fix//manual-refactor from v0.1 (created in the last exercise of previous module). Use the tools black and isort to reformat the code. Once done, run flake8 and fix any errors identified by the tool.
Create a Pull Request for your changes. Pls. ensure that flake8 does not raise any errors when run on the submitted PR. Make sure any required config files are part of the PR.

close issue #3


Vietnamese language support on web

What problem does this PR solve?
Briefly describe what this PR aims to solve. Include background context that will help reviewers understand the purpose of the PR.
Type of change

[X] New Feature (non-breaking change which adds functionality)

Hi @yingfeng   I've created new submit


refactor: fix admin file usage

Purpose

Fix the application right now by having  Admin.py as is.

Does this introduce a breaking change?

[ ] Yes
[x] No

abandon this.


Add more command info on Job details section

part of #164

Coverage remained the same at 88.726% when pulling 05cc0078136e7485e1695bce7be5ff6b621f9b91 on cabhishek:develop into da89858aadb5b71a7d168b86d5026497c963898d on Netflix:develop.

Coverage remained the same at 88.726% when pulling 1f6adc32cbe087e4c2c3c47d1a582ca9dca5da1e on cabhishek:develop into ec6019e04adde10e50ae84ecae9c6cbc33cbee2b on Netflix:develop.


[DOC] Add example for GGNLinearOperator, visual comparison GGN vs. H

The comparison is done with functorch.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
118

Relevant Lines:
143

💛  - Coveralls


[FEAT] Organise by Stream

Is your feature request related to a problem? Please describe.
Currently, all the apps  are placed into a single 'folder' in the VS Code workspace.
Navigation would be improved by dividing this list into folders which reflect the streams in Qlik Sense.
Describe the solution you'd like
The structure of the streams in Qlik Sense should be reflected in the folder structure in the VS Code workspace.

agreed! non-published apps could be in folders by owner - something like "NotPublished.ownername"

@jheasley322 @davidwales we have discusses this and have decided to go now this approach:

mywork

USERNAME1

app FOO
app BAR

USERNAME2 (if you see apps from multiple users that are not published)

streams

everyone
monitoring app

app license monitor
app site monitor

sales

Currently in testing, but i cant make it work like this one:

mywork

USERNAME1

app

Since we dont know the name of the user or get no information about who has created the app (own it), the only thing we can made is an QRS Request but the rights of the QMC and Hub are not the same. That means even if i'm admin in the QMC i dont see the apps in hub. But i think this should not be a show stopper for that.
Currently it looks like that now:

@davidwales @jheasley322 please test the new release

It works!

@davidwales please test the new version

@konne It's sort of working.
I can see all the apps in 'my work'.
But I can't see any of the apps under 'streams'.
I wonder if it's because I don't actually have permission on our Qlik server to edit apps in streams?

@r-hannuschka any ideas?

Yeah i check this, but by default i grab all streams via a default operation
const streams = await global?.getStreamList()

...
const streams = await global?.getStreamList();

if (!streams) {
    return [];
}
...

so by default it should open a connection to your qlik sever and we get a stream list (if you have the rights to see them) and if nothing exists it will just return an empty array, which results in a empty directory.
Otherwise we dont have an active connection or no workspace folder but both seems to exists, if not it will also return an empty directory like above.

@davidwales
I tested now multiple Servers (3 of them) and i see for every one streams, can you please check that you streams on your_server/hub and if not then it should be a security problem.

I can see streams and apps in my hub:

However, I don't think I have direct edit permissions for these streams.
Perhaps that is the problem?

Mhm not sure about that, by default i simply get all streams which exists maybe i missing something and streams could not be edited on the vscode extensions i disabled this one. So if you see streams on your server i should show them too.
So missing permissions in edit should not be the problem in my optionion? @konne what you say ?

@r-hannuschka From memory, I think I could see all the apps in streams in an earlier version of the extension, so you are probably correct about this.

@davidwales can we make a skype / teams session together to see the issue?

If i'm not completly wrong, i think qmc get the streams via QRS request and we get them through the websocket which is different. So it is possible the access rights are missing in this case it should be okay not to show them. But on the other side since streams / published apps could not be edited or deleted it could be good to get the informations from them also we can copy out scripts, variables etc from a published app to a non published app.

@konne Sure!

@davidwales please can you check the new Release 0.9.0

@konne I still can't see any streams in 0.9.0.

@davidwales what is a good time for you that we have together a look on your system? I can only confirm Ralf, that we use it on different systems without any issue, so I like to understand what makes your system special.
Do you have a chance to invite an Qlik Admin so that we have a chance to check the QMC / Security Rules?

@konne, I've sent a message to our admin. I'll keep you posted.

@konne, Are you free on 7th September at 8 AM Berlin time? (4 PM Sydney time for us).
What email address should we invite to a Teams meeting?

@davidwales yes would fit. Please use<EMAIL_ADDRESS>

@konne, I've sent a Teams invite.

I just tested this on my Mac, and I can see all the streams.
Perhaps this is a Windows only issue?

@davidwales I think not a direct windows issue. But your finding gives a new idea. Maybe you have an AppName / Streamname that generates on Windows a not allowed Name/Character exception and on Mac not. This could explain the current behavior.

This Information Windows only was a good hint, i have the same error too now. I dont often test in windows because this is only a virtual machine. Now i can start debugging in a windows vm cheers.

@konne @davidwales i close this one since this is allready released and open a new issue #502 for that one.


ReferenceOutputAssembly=false -> Attributes

Hello!
I love the RequiredAttribute and the analysis it provides! But I think this package can be improved when the Attributes are also generated. Because they are now 'real' we need a reference to Excubo.Generators.Blazor which we otherwise do not need. When the attribute is generated we could change this:
<PackageReference Include="Excubo.Generators.Blazor" Version="1.11.3" />
to
<PackageReference Include="Excubo.Generators.Blazor" Version="1.11.3" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
which reduces the extra dll when downloading Blazor for WASM.
I can image it would work like this (and maybe for all the other Attributes/public 'interface' classes):
using System.Text;

using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Text;

namespace Excubo.Generators.Blazor
{
    [Generator]
    public partial class AddAttributeAnalyzer : ISourceGenerator
    {
        private const string AttributeText = @"
using System;

namespace Excubo.Generators.Blazor
{
    [AttributeUsage(AttributeTargets.Property, Inherited = false, AllowMultiple = true)]
    public sealed class RequiredAttribute : Attribute
    {
    }
}";

        public void Initialize(GeneratorInitializationContext context)
        {
        }

        public void Execute(GeneratorExecutionContext context)
        {
            context.AddSource("RequiredAttribute.generated.cs", SourceText.From(AttributeText, Encoding.UTF8));
        }
    }
}

Or maybe combine them in the current analyser.

Hi @Pjotrtje,
you are correct that this change is indeed possible. There are some caveats though:

The IDE sometimes behaves oddly when the types are only added via the source generator. This is hopefully only a temporary thing, but very much still a reality. It isn't a nice user experience lacking auto-complete on these types, because it destroys discoverability and makes people think that there are errors. I find that awful.
Nesting. Suppose you write library A that uses Excubo.Generators.Blazor. Awesome. Suppose it doesn't reference the output assembly. Now your user wants to also use Excubo.Generators.Blazor. Conflict. The two analyzer package references are independent and will both produce the same types. Ouch.

That said, I really wouldn't want to change this. But there is a problem here that we should address: How big is the impact for the blazor wasm scenario? How much does actually get downloaded? Maybe there are other things we can improve to get the download size to an absolutely tiny amount.
BR
Stefan

Hi @Pjotrtje,
you are correct that this change is indeed possible. There are some caveats though:

The IDE sometimes behaves oddly when the types are only added via the source generator. This is hopefully only a temporary thing, but very much still a reality. It isn't a nice user experience lacking auto-complete on these types, because it destroys discoverability and makes people think that there are errors. I find that awful.
Nesting. Suppose you write library A that uses Excubo.Generators.Blazor. Awesome. Suppose it doesn't reference the output assembly. Now your user wants to also use Excubo.Generators.Blazor. Conflict. The two analyzer package references are independent and will both produce the same types. Ouch.

That said, I really wouldn't want to change this. But there is a problem here that we should address: How big is the impact for the blazor wasm scenario? How much does actually get downloaded? Maybe there are other things we can improve to get the download size to an absolutely tiny amount.
BR
Stefan

My quick test I did shows 53.4kB transferred over the network. That's certainly not 0, and more than I want, but not an absurdly high amount either.

My quick test I did shows 53.4kB transferred over the network. That's certainly not 0, and more than I want, but not an absurdly high amount either.

I have allready disabled those :). But thanks.
Ok, then for now close this one I guess.
Thanks for the quick response!
And maybe when VS improves in the near future I will 'reopen' this one =).

I have allready disabled those :). But thanks.
Ok, then for now close this one I guess.
Thanks for the quick response!
And maybe when VS improves in the near future I will 'reopen' this one =).

Great, let's do it like that.
Just a last thought: the generator probably works fine with the types being defined elsewhere too. So you can add  OutputItemType="Analyzer" ReferenceOutputAssembly="false" to your package reference, and just copy the types into your assembly. As long as the namespace and type name matches, that shouldn't be problematic. The attributes will still end up in the compiled assembly, but nothing else of the analyzer assembly will.
Best of luck for your goal to reduce startup time / download size!

Great, let's do it like that.
Just a last thought: the generator probably works fine with the types being defined elsewhere too. So you can add  OutputItemType="Analyzer" ReferenceOutputAssembly="false" to your package reference, and just copy the types into your assembly. As long as the namespace and type name matches, that shouldn't be problematic. The attributes will still end up in the compiled assembly, but nothing else of the analyzer assembly will.
Best of luck for your goal to reduce startup time / download size!


Initialize instance with predefined color

Hi
How can I initialize the color picker instance with the one set in target element https://jsfiddle.net/Greggg/916wwx1h/
Any help would be appreciated

Use data-color attribute:
pickers.forEach(function(picker) {
  let color = window.getComputedStyle(picker).getPropertyValue('background-color');
  picker.setAttribute('data-color', color);
  new CP(picker);
});

https://jsfiddle.net/916wwx1h/22/

Thanks a lot @tovic.
Can I ask some more help? On https://jsfiddle.net/Greggg/0dxwa9wr/ I am adding a background-image to .color-view to simulate grid background transparency and the background-color disappear. Just remove the background-image to .color-view in css part to see what I mean.
Thanks again

Another thing, I am looking for a way to set position of picker bottom-left instead of bottom-right of target :)

Use the fit hook to re-set the color picker pane position:
var picker = new CP(document.querySelector('input'));

picker.on("fit", function() {
  var width = this.picker.offsetWidth,
      left = this.target.offsetLeft;
  this.picker.style.left = (left + this.target.offsetWidth - width) + 'px';
});

https://jsfiddle.net/4mj8hcjd/

Got it. Thanks for your help and for the lib ;-)

Got it but is there a way to append the picker to a DOM element to fix the issue with scrolling here https://jsfiddle.net/Greggg/6g4bLkg6/
We can reposition it programmatically but…

Could you move this case to a new issue with title something like: append picker to a specific DOM or picker scrolling bug?
Thanks.

See #23


initial commit

Hi @giosueio, so this looks very good overall. There is just something we need to discuss about the relation to TyXe before I merge. If you are directly using or modifying any of the TyXe code, we need to include their copyright statement from the license. Let's chat about this tomorrow before we do anything, but basically I need to know to what extent their code was used as is or modified in the code that you have, and which files contains that code (I think I can see which from your comments but we should make sure).


VISUALS: User Profile

Verification Conditions:
Refer to Wireframes: User Profile Page story, then:

Create visual designs, utilizing PatternFly when appropriate
Post designs to InVision
Tag story with “ux review”
Review with UXD Team members

Dan is implementing based off of Jessica's rather high fidelity wireframes.  Suggest just having a check-in as part of the review process rather than building visual designs.


Safecdx/transition cypress test to playwright

@surendra-deosi Please move the changes to opencdx-dashboard, we are not using the opencdx-dashboard-new

move changes to opencdx-dashboard

deleted opencdx-dashboard-new all together since it is not required anymore


bookinfo cleanup.sh will not remove virtualservices and gateways

samples/bookinfo/kube/cleanup.sh

The above script will not delete virtualservices and gateways due to it is still getting routerules.
for rule in $(istioctl get -n ${NAMESPACE} routerules | grep -v 'No resources found'); do
  istioctl delete -n ${NAMESPACE} routerule $rule;
done

Two more for loops? Keep the routerules for backward-compatible cleanup?


fix: 複数行コメントの*/がないと文法エラーが出るように

What

複数行コメントを*/で閉じないと「unexpected EOF」の文法エラーが出るようにします。
Why

Resolve #876

Additional info (optional)

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines
Coverage Δ

src/parser/scanner.ts
94.89% <100.00%> (+6.12%)
:arrow_up:

... and 29 files with indirect coverage changes


Unsure where to add custom browsers

Hi everyone,
my Chrome install is not being recognized by synpress/cypress. (which is weird by itself, since it is in the default location).
So I am trying to explicitly tell synpress where my chrome browser is located.
For this I tested this approach on a vanilla cypress install (meaning no synpress) on an otherwise empty node project and this resolved the issue.
Now I am trying to replicate this in the synpress environment but I can't find the proper place to put this piece of configuration.
I tried editing my config.json as follows:
{
    "baseUrl": "http://localhost:3000",
    "userAgent": "synpress",
    "retries": {"runMode": 0, "openMode": 0},
    "integrationFolder": "test/e2e/specs",
    "screenshotsFolder": "test/e2e/screenshots",
    "videosFolder": "test/e2e/videos",
    "chromeWebSecurity": true,
    "viewportWidth": 1920,
    "viewportHeight": 1080,
    "component": {
        "componentFolder": ".",
        "testFiles": "**/*.spec.{js,jsx,ts,tsx}"
    },
    "env": {
        "coverage": false
    },
    "defaultCommandTimeout": 30000,
    "pageLoadTimeout": 30000,
    "requestTimeout": 30000,
    "browsers": [
        {
            "name": "chrome",
            "channel": "stable",
            "family": "chromium",
            "displayName": "Chrome",
            "version": "100.0.4896.75",
            "path": "C:\\Program Files\\Google\\Chrome\\Application\\chrome",
            "majorVersion": "100"
        }
    ]
}

But this has not helped. (I did make sure that this config is being used when starting synpress).
"synpress run" fails with :
Can't run because you've entered an invalid browser name.

 Browser: chrome was not found on your system or is not supported by Cypress.

Cypress supports the following browsers:
  - electron
  - chrome
  - chromium
  - chrome:canary
  - edge
  - firefox

 You can also use a custom browser: https://on.cypress.io/customize-browsers

 Available browsers found on your system are:
  - electron

"synpress open" doesn't show any options besides electron in the top-left corner of the test runner.
So yeah... I am a bit lost on where to edit my browser options.
Any help would be appreciated.

Also as a side note:
The first time running synpress creates the cypress folder containing the plugin, integration, fixture folders you usually get with cypress.
When you modify the cypress/plugins/index.js file to look like this:
/// <reference types="cypress" />

/**
 * @type {Cypress.PluginConfig}
 */

module.exports = (on, config) => {
  console.log("CONFIG");
  return {
    browsers: config.browsers.concat({
      name: "chrome",
      channel: "stable",
      family: "chromium",
      displayName: "Chrome",
      version: "100.0.4896.75",
      path: "C:\\Program Files\\Google\\Chrome\\Application\\chrome",
      majorVersion: "100",
    }),
  };
};

And then run "synpress open" you get the option to select Chrome. But Chrome still does not get recognised with "synpress run"


Relax sanitization as per https://github.com/jch/html-pipeline

Looking at https://github.com/github/markup/issues/245 it is clear that GH uses https://github.com/jch/html-pipeline to sanitize. This PR relaxes our sanitization to more closely match this.
Fixes #10471
and likely others...

Codecov Report

Merging #10527 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master   #10527      +/-   ##
==========================================
+ Coverage   43.69%    43.7%   +0.01%
==========================================
  Files         586      586
  Lines       81521    81553      +32
==========================================
+ Hits        35617    35642      +25
- Misses      41491    41495       +4
- Partials     4413     4416       +3

Impacted Files
Coverage Δ

modules/markup/sanitizer.go
92.2% <100%> (+5.54%)
:arrow_up:

modules/indexer/stats/queue.go
62.5% <0%> (-18.75%)
:arrow_down:

modules/indexer/stats/db.go
40.62% <0%> (-9.38%)
:arrow_down:

modules/git/utils.go
65.67% <0%> (-4.48%)
:arrow_down:

modules/log/file.go
75.52% <0%> (-2.1%)
:arrow_down:

services/pull/pull.go
34.89% <0%> (-1.18%)
:arrow_down:

modules/queue/workerpool.go
56.93% <0%> (-1.07%)
:arrow_down:

modules/git/repo.go
46.78% <0%> (-0.92%)
:arrow_down:

services/pull/check.go
52.43% <0%> (+2.43%)
:arrow_up:

services/pull/patch.go
62.89% <0%> (+2.51%)
:arrow_up:

... and 2 more

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 694f446...0112944. Read the comment docs.

You are awesome, @zeripath! :pray:

make lg-tm work


Check stage takes too long

Currently, the check stage made through CoVe takes too much time to be done because, I think, that the release schema to check against is downloaded every time

Related to #141 :-)


Update PropTypes to get in sync with React v15.5.4

Hi @threepointone,
First of all, thanks for you awesome work, we use glamor in production in our codebase at work and are more than happy with it 👍.
Latest React version (v15.5.0) has extracted the built-in prop types to a separate package https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#migrating-from-react.proptypes. This PR aimed at solving the ugly warning glamor's users will get if they switch to this new version.

@threepointone Hi and sorry pinging you directly (I guess you're quite busy with Glam those days 👍 ) but that would be pretty awesome if you can eventually review that PR. Thanks for your awesome work!

@yamafaktory Thank you!

@donaldpipowitch Do you plan to create a new release? Would be awesome by the way!

@yamafaktory Yeah, can you test 2.20.25? 👍

@donaldpipowitch sure! Will report back to you!

@donaldpipowitch sorry for the late reply, everything works fine, thanks!

Awesome. Thank you!


Guidelines for usage of the MakeCode logo / marks

Are there guidelines on the usage for "MakeCode" and "MakeCode Arcade" and the logos, etc.?
(Context: I'm considering making a website that I will not profit off of / open source and it will be related to MakeCode Arcade, so I want to use the logo, etc.)

Take a look at Microsoft's branding guidelines. The MakeCode logos are considered brand assets; the name MakeCode Arcade is considered a wordmark.
https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks
TL;DR version: Microsoft's official positioning is that you require prior permission and must receive a license to use their brand assets (e.g., logos). Wordmarks can be used without prior permission as long as use conforms to their branding guidelines.

Thanks! So realistically, as long as I clearly state that the website is not affiliated with Microsoft or MakeCode Arcade, then I should be in the clear?
Also, are all the images in the Arcade gallery considered Microsoft assets and then I need explicit permission?

Ooh ... that's a great question. The only analogy that I have would be in working with Visual Studio. It comes with an image and icon library, and as part of the license agreement for Visual Studio, developers are allowed to use those icons within programs that they create with Visual Studio. (I'm paraphrasing, of course.)
On a related note, keep in mind that screenshots generally are permitted without prior permission. You can find more information on using Microsoft's copyrighted content here:
https://www.microsoft.com/en-us/legal/intellectualproperty/copyright/permissions
An interesting wrinkle to this is that MakeCode is offered under the MIT license, which indicates that others can use the software (or portions thereof) without prior permission as long as the copyright and permission notices are included.

Thanks! (This is why I will not become a lawyer 😵)
Here is my website, if anyone was interested. (it's obviously not finished, and the GitHub links won't work to keep everything a secret so far lol)

If you all find any "legal" issues, please alert me!
Is there anyone I should contact in the MakeCode Arcade team about this?

I'm going to close this issue as it has resolved my question.


Block overlap

It is possible to create a network block that is a subset of another network block.
This should be prevented. The solution in use would be to use smaller blocks and assign multiple people to each one as needed.

Fixing this would require every existing block to be checked when saving a block.
It can be done but with too many blocks in the database it could cause long waits when saving something to the database.


rocm-*: 5.0.2

Description of changes
#164015 jumped the gun on the 5.0 bump of the rocm package set and broke rocm-opencl-runtime for me. This update fixes that and a few others.
I failed to update two components, one of which is llvmPackages_rocm, the other is rocm-comgr.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

What about the rock-smi hash update?

What about the rock-smi hash update?

I'm getting the exact same hash.


Adding airbnb-js-shims again.

Issue #400 is only related to a Chrome thing.
So, it's fine to use where the standards lie.

@ljharb check the latest release. It has airbnb-js-shims now.

Thanks, much obliged!

@arunoda what is babel-polyfill used for? that also pulls in core-js.

Yep. But we have disabled polyfills and helpers when transforming.
What did you mean?

Then shouldn't it not be a dependency?

@ljharb Yep. I think we can remove that altogether.

Thanks, that'd be great :-)

Removed and did a new release: v2.11.0


Add algorithm that finds if a graph is strongly connected

Added algorithm that finds all strongly connected components. The only thing left is to add IsStronglyConnected method which will check that there is one single strongly connected component in a graph.


AWS CloudFront support

Hi there!
Any plans on implementing support for mocking AWS CloudFront?
Thanks!

No plans as of now, but I will set this as a feature request.


OSSM-5584 Move integration tests into a separate package

Integration tests should not be in the same package as unit tests, as this makes running only the unit tests much harder. Due to the difference in how fast unit tests execute vs. integration tests, we need to be able to run them separately (but this is out of scope for this PR).

Yaah, I was just in the process of moving them to test/integration.


Remove calls to browser() from some R files

This PR removes a number of the calls to browser() that occur after an error is found during compilation.
Previously, many calls to browser() were inserted directly after error messages, in the following form:
if(error){
    cat('Informative error message here.')
    browser()
}

In this PR, the browser() calls are replaced with calls to stop(), with the informative error message included.
In some appearances of browser(), no error message exists.  I attempted to add informative messages for some of these appearances.  For a few others (e.g.  line 1656 of bugs_modelDef.R), the call to browser() has been left in place, as it's not clear what error message would be appropriate there.

For the former browser call in sizeAssignAfterRecursing, is there a reason we need the try() and the second stop()? @perrydv can we just have the first stop()?
    test <- try(if(inherits(RHStype, 'uninitializedField') | length(RHStype)==0) {
        stop(exprClassProcessingErrorMsg(code, paste0("In sizeAssignAfterRecursing: '",RHSname, "' is not available or its output type is unknown.")), call. = FALSE)
    })
    if(inherits(test, 'try-error')) stop('"In sizeAssignAfterRecursing: Problem with RHStype.')

Side note: I'm running into this because surprisingly when I am trying test-math, the norm() test is putting me into a browser, so I was looking into this code. Not sure why that browser was not happening in previous versions when running tests.

@NLMichaud I agree with @paciorek: in the code he referenced, we've ended up with something that doesn't make sense.  I think it could just be:
if(inherits(RHStype, 'uninitializedField') | length(RHStype)==0) {
        stop(exprClassProcessingErrorMsg(code, paste0("In sizeAssignAfterRecursing: '",RHSname, "' is not available or its output type is unknown.")), call. = FALSE)
    }

In other words, no try, and only one stop.
Also I like using call.=FALSE on all stop()s.  I think it makes the messages emitted to users easier to read.
If you make those changes, LGTM and we can clean up remaining browser()s in a subsequent PR.

Thanks @paciorek, and @perrydv, I've made the suggested changes and will merge once testing is finished.


Fix issue 187 — MDC — rewrite finalizer w/ F.guarantee

Closes #187
thanks @oleg-py for pointing out the problem. Indeed it was that.
I assume that the commit that introduced the bug was the one that removed an F.suspend from somewhere at some point. Can't recall exactly. Mind might be playing tricks.

It might be good to add a test that exposes this as well


Landing page: database description

Explore the database of published papers in marketing using web data.
Should be
Explore the database of published papers in marketing using web data (2001-2020).

Done!


Allow AWSS3 0.9

The only function from AWSS3 that this uses is s3_sign_url
which hasn't changed in well over a year.
So didn't change in 0.9
and this has fairly superficial use of the S3Path type, in a way that I hope still works.

bors try

bors try

I'm curious whether presign tests will work since they use AWSCore's aws_config.

Well, it looks like online tests haven't run since this repo was open-sourced. This means that the thing I'm concerned about is likely already broken in tests. I don't think this introduces any new breakages so IMO we can merge it, what do you think @mattBrzezinski ?

Well, it looks like online tests haven't run since this repo was open-sourced. This means that the thing I'm concerned about is likely already broken in tests. I don't think this introduces any new breakages so IMO we can merge it, what do you think @mattBrzezinski ?

Ah I didn't see this part of the code. I'll setup the ENVVAR and then attempt a r+ run.

EDIT: In the wrong PR, doing this in #27

So do you think it's ok to merge this PR before the tests are running and fixed?

bors try

I think at this point we have no gated online tests so that question no longer applies.

bors r+


change primary color

I tried to change color-primary-default with other value, but it doesn't work at all.
I'm using only default theme.
Here is my steps to custom it.

Go to<EMAIL_ADDRESS>I edit code insides following block.
$nb-themes: nb-register-theme((
color-primary-500: #f2f6ff,
color-primary-default: color-primary-500,
), default, default);
In the other part of project, I used primary color as background.
background: nb-theme(color-primary-default);

Result Issue: I can't see background  #f2f6ff, and it's only always displays #3366ff.
Please help me who can fix this issue.

I'm having the same issue


[EDIT] The World Wildlife Fund ...

Entry
https://web3isgoinggreat.com?id=2022-01-31-5
Changes
I'm a blockchain developer, and I'm pretty sure Polygon is eco-friendly. I don't see any evidence for it being otherwise.
Both Polygon and the media tout Polygon as an L2-scaling solution for Ethereum. However, Polygon, the blockchain (sometimes referred to as MATIC to reduce/enhance confusion), is not an L2 scaling solution for Ethereum. MATIC is simply its own, Ethereum-derived chain, which just so happens to have some L2-like improvements. Polygon, the organization, also markets L2 technologies on the side. I believe this confusion is intentional.
MATIC uses PoS which uses orders of magnitude less power than PoW-based Ethereum.
Agreement
By submitting this issue, I irrevocably agree to release my contribution under the CC-BY 3.0 License. I agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Please attribute this contribution to:

not needed, right?

hrm, that is very confusing. I've tweaked the entry.


Client code fails to connect to Android phone

I have loaded NimBLE_Client on an ESP32, slightly modified. I want to connect an ESP32 to my Android Pocophone F1 and show Komoot directions on the screen attached to the ESP.
        static BLEUUID serviceUUID("71C1E128-D92F-4FA8-A2B2-0F171DB3436C");
        if (advertisedDevice->haveServiceUUID() && advertisedDevice->isAdvertisingService(serviceUUID))
        {
            Serial.println("Found Our Service");
            /** stop scan before connecting */
            NimBLEDevice::getScan()->stop();
            /** Save the device reference in a global for the client to use*/
            advDevice = advertisedDevice;
            /** Ready to connect now */
            doConnect = true;
        }

I have enabled debugging in nimconfig.h and I am getting this; disconnect code at the end. Do you know why this connection fails?
LE advertising report. len=32 num=1 evtype=0 addrtype=1 addr=4c.76.32.db.a7.65 advlen=21 rssi=-56
02 01 02 11 07 6c 43 b3
1d 17 0f b2 a2 a8 4f 2f
d9 28 e1 c1 71
LE advertising report. len=25 num=1 evtype=4 addrtype=1 addr=4c.76.32.db.a7.65 advlen=14 rssi=-56
0d 09 50 4f 43 4f 50 48
4f 4e 45 20 46 31
Advertised Device found: Name: POCOPHONE F1, Address: 4c:76:32:db:a7:65, serviceUUID: 71c1e128-d92f-4fa8-a2b2-0f171db3436c
Found Our Service
ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000c len=2
0x0c 0x20 0x02 0x00 0x00
Command complete: cmd_pkts=5 ogf=0x8 ocf=0xc status=0
Scan Ended
New client created
GAP procedure initiated: connect; peer_addr_type=1 peer_addr=4c:76:32:db:a7:65 scan_itvl=16 scan_window=16 itvl_min=12 itvl_max=12 latency=0 supervision_timeout=51 min_ce_len=0 max_ce_len=0 own_addr_type=0
ble_hs_hci_cmd_send: ogf=0x08 ocf=0x000d len=25
0x0d 0x20 0x19 0x10 0x00 0x10 0x00 0x00 0x01 0x65 0xa7 0xdb 0x32 0x76 0x4c 0x00 0x0c 0x00 0x0c 0x00 0x00 0x00 0x33 0x00 0x00 0x00 0x00 0x00
Command Status: status=0 cmd_pkts=5 ocf=0xd ogf=0x8
LE connection complete. handle=1 role=0 paddrtype=1 addr=4c.76.32.db.a7.65 local_rpa=<IP_ADDRESS>.0.0 peer_rpa=<IP_ADDRESS>.0.0 itvl=12 latency=0 spvn_tmo=51 mca=0
0x65 0xa7 0xdb 0x32 0x76 0x4c
GATT procedure initiated: exchange mtu
host tx hci data; handle=1 length=7
ble_hs_hci_acl_tx(): 0x01 0x00 0x07 0x00 0x03 0x00 0x04 0x00 0x02 0xff 0x00
txed att command: mtu req; conn=1 mtu=255
ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0016 len=2
0x16 0x20 0x02 0x01 0x00
Command Status: status=2 cmd_pkts=5 ocf=0x16 ogf=0x8
Number of Completed Packets: num_handles=1
handle:1 pkts:1
Disconnection Complete: status=0 handle=1 reason=11
E NimBLEClient: "Connection failed; status=523 "
Failed to connect, deleted client
Failed to connect, starting scan

Very strange error in that situation. The error code is:

0x020b
0x0b
BLE_ERR_ACL_CONN_EXISTS
ACL Connection Already Exists

So, for some reason it looks like the esp controller says you were already connected and are attempting to connect again. Not sure why or how but if you have different tasks doing BLE stuff this is possible. There is also a bug in the esp controller in the latest arduino idf version which could also be a possible cause.

Closing this as old with no further data. Assuming resolved. Please reopen if the issue still persists.


Configurable first day of week

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
As far as I can see from the source and documentation, the first day of the week is set automatically depending on user locale. That is nice in most situations, but in some cases, developers will lilely need to set the first day of the week independent of the locale.

@PeeJeeDR  it's already handle by language.
you need an override ?

@xibman It would be nice if we could also pass it as a prop.

+1 for this feature


Reflect the score when the game is finished

Now, the score is not reflected at the time when we finishes the game because the score is changed in only doing the interaction.
So, this PR changes to reflect it instantly when finishing the game.
Thanks.

Thanks! I'll add this into the hotfix release.


Add inline directive to the secret reference

The SecretKeyReference uses the SecretReference as an embedded stuct. But when serializing as yaml it gets serialize as a separate field. The inline directive is required to serialize the resource correctly.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/ok-to-test


npm version?

this scanner works like a charm!
Do you have plan for npm version?

Here's the library we're using via NPM at the moment: https://github.com/zxing-js/library
I can confirm that JsQRScanner and zxing-js both work just fine on both iOS and Android.


Is it possible to build voxels game on android and iOS devices

Hi @skishore
I just try to run voxels on the web browser and it runs very smooth! An awesome project!
With that performance, I really think it can run on android and iOS devices.
Is there any way to wrap or build to make the game run on android and iOS devices?
Thank for giving it free, It is really awesome framework to start with!

The engine already sort of works on mobile browsers. Try loading the page on your phone. I do see that there are some issues, though. Touch events on a phone are different from mouse events on a desktop browser, so those would have to change, and it looks like the mobile browser has much lower resource limits, so draw distance would have to drop.
I'm not planning to make these changes myself. If you're interested, and you can get it the demo working on mobile web, I can review a pull request.
As for a mobile native version - that's a tall order. I've already lost whole projects because I can't keep up with the requirements to deploy native apps to Android and iOS, so I am not going to keep developing for platforms where code that works today might break tomorrow.

Hi @skishore
I see the point
Maybe I will try to convert this project to other engines that support mobile. I hope you can help me to understand Algorithmic in your code!
Thank you for this awesome project!


Generate math operations for numeric types

This change takes the general idea from the minesweeper-rs numerics helper and generates those implementations within winrt-rs. Math operations are supported for both the struct and for a borrowed struct. This addresses #79.
While I'm still working on some of it, I have enough that I wanted to get some feedback.
Currently implemented:

[x] Vector2/3/4 basic operations (Add, Sub, Div, Mul)
[x] Matrix3x2/Matrix4x4 basic operations (Add, Sub, Mul)
[ ] Vector2/3/4 helper functions (length, dot, etc)
[ ] Matrix3x2/Matrix4x4 helper functions (identity, from scale, etc)
[ ] Plane/Rational/Quaternion basic operations

This change also doesn't bother with anything like SIMD, although that would be interesting to investigate in the future.

Sweet, here are the tests for the OS numerics. May be helpful as a reference.

Ooh, thanks! I'll incorporate some of these as I bring online more of the special helper functions.

I'm going to close this PR for now. I'm going to continue down the generation path until I have all the stuff I'd like implemented and then will open a new PR that puts all the output from that into the quote macro.


Running tests for MacOS in travis

Compiles and runs tests for the 4 versions of GHC we currently support.
Currently the func-tests suite is disabled for GHC < 8.4.3 as there seems to be a bug in the suite that needs to investigated further.
The results can be seen in the travis build for my fork:
https://travis-ci.org/lorenzo/haskell-ide-engine/builds/423884222

LGTM. I have requested the committee to enable travis for this repo


membuffer: implement cache for ART

ref pingcap/tidb#55287
ART can also benefit from the cache of last visited leaf, this PR implement the cache, it's almost same as RBT's implementation.
The test result of new added BenchmarkMemBufferCache:
// RBT, with cache, 1 cache-miss and 10 cache-hits for each key
BenchmarkMemBufferCache/RBT
BenchmarkMemBufferCache/RBT-32          10000000               185.9 ns/op             0 B/op          0 allocs/op

// master, no cache, 11 cache-miss for each key
BenchmarkMemBufferCache/ART
BenchmarkMemBufferCache/ART-32          10000000               223.3 ns/op             0 B/op          0 allocs/op

// this PR, with cache, 1 cache-miss and 10 cache-hits for each key
BenchmarkMemBufferCache/ART
BenchmarkMemBufferCache/ART-32          10000000               126.6 ns/op             0 B/op          0 allocs/op

A benchmark result of its effect in TiDB's use case would be more convincing.

Little improvement, see TiDB's PR.


#139 RqHref must be an interface

for #139

refactored RqHref as an interface
created RqHref.Base which implements RqHref

Thanks, let me find someone who can review this pull request

@alevohin this pull request is for you, please review

@dmzaytsev thank you! Please see comments above.

@alevohin take a look the changes please

@dmzaytsev looks good, thank you! Lets also change test's javadocs in class RqHrefTest. Now it looks like

RqQuery can ...

It's not true, let's replace it with RqHref.Base

@alevohin done

@rultor merge @dmzaytsev thank you!

@alevohin thanks for review!

@rultor merge @dmzaytsev thank you!

@alevohin Thanks for your request. @yegor256 Please confirm this.

@rultor merge this

@rultor merge this

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge this

@yegor256 Done! FYI, the full log is here (took me 12min)

@elenavolokhova please, review this ticket for compliance with our QA rules

@rultor deploy

@rultor deploy

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor deploy

@davvd Done! FYI, the full log is here (took me 9min)

@alevohin One comment regarding addressing the comments:

davvd commented 7 days ago
Thanks, let me find someone who can review this pull request

Could you please ask everyone to fix them prior to closing the ticket?

@davvd please fix your message

Thanks, let me find someone who can review this pull request

It should be started with "@dmzaytsev"

@alevohin fixed

@davvd thank you!

@elenavolokhova

@alevohin One comment regarding addressing the comments:
davvd commented 7 days ago
Thanks, let me find someone who can review this pull request
Could you please ask everyone to fix them prior to closing the ticket?

done

@alevohin Thank you!

@davvd Ticket passed QA review. Quality is acceptable.

@davvd thank you!

@alevohin no problem :)

@davvd Ticket passed QA review. Quality is acceptable.

@elenavolokhova thanks, got it. everybody, please try to make it good next time

@alevohin I added 10 mins to @elenavolokhova (for QA review) in transaction 55585960


[RFC] Factorize the index rake task

The index task is in charge of gathering the documentation from the
git project and injecting it into database. Until now there was two
distinct files for retrieving the git project, one, index.rake which
allowed to get the files'content from github, and another one,
local_index.rake which allowed to get the content from a git
repository on the local disk. Both share the same logic in building
the pages and only differ on how to access them.
The purpose of this commit is too reunit the common logic. From now
on, only one logic of page building is provided. Right now, it is only a proof of concept and has not been extensively tested. Once it it accepted, I'll tidy it to remove the previous versions.
I went for an implementation using lambdas, even if an implementation with classes would be as easy. For some reason that needs to be sorted out, this version takes longer to update with github.

I went for an implementation using lambdas, even if an implementation with classes would be as easy. For some reason that needs to be sorted out, this version takes longer to update with github.

I think lambdas are fine. The slowness seems to come from the shared code calling the lambdas more than once. E.g., we call tag_info.call in the sort comparator, and then again in the loop. Octokit doesn't do any caching by default. So I think we'd want the shared code to make sure it just calls each lambda once, like:
  filter_tags.call(rebuild)
      .map { |name| tag_info.call(name) }
      .sort_by { |tag| tag.first }
      .each do |tag|
    name, commit_sha, tree_sha, ts = tag
    ... do stuff with those variables ...

Arguably filter_tags should just do the tag_info expansion itself.
Looks like doc_list would need something similar. I used this example from the Octokit documentation to get a log:
diff --git a/lib/tasks/index.rake b/lib/tasks/index.rake
index 44b6459..bc41a80 100644
--- a/lib/tasks/index.rake
+++ b/lib/tasks/index.rake
@@ -8,6 +8,12 @@ task :preindex => :environment do
   ActiveRecord::Base.logger.level = Logger::WARN

   Octokit.auto_paginate = true
+  stack = Faraday::RackBuilder.new do |builder|
+      builder.response :logger
+      builder.use Octokit::Response::RaiseError
+      builder.adapter Faraday.default_adapter
+  end
+  Octokit.middleware = stack
   @octokit = Octokit::Client.new(:login => ENV['API_USER'], :password => ENV['API_PASS'])

   repo = ENV['GIT_REPO'] || 'gitster/git'
@@ -157,10 +163,11 @@ def index_doc(filter_tags, tag_info, doc_list, get_content)
   rebuild = ENV['REBUILD_DOC']
   rerun = ENV['RERUN'] || false

-  tags = filter_tags.call(rebuild)
-
-  tags.sort_by { |tag| tag_info.call(tag).first}.each do |tag|
-    name, commit_sha, tree_sha, ts = tag_info.call tag
+  filter_tags.call(rebuild)
+      .map { |name| tag_info.call(name) }
+      .sort_by { |tag| tag.first }
+      .each do |tag|
+    name, commit_sha, tree_sha, ts = tag
     puts "#{name}: #{ts}, #{commit_sha[0, 8]}, #{tree_sha[0, 8]}"

     stag = Version.where(:name => name.gsub('v','')).first
@@ -275,6 +282,12 @@ end
 task :preindex2 => :environment do

   Octokit.auto_paginate = true
+  stack = Faraday::RackBuilder.new do |builder|
+      builder.response :logger
+      builder.use Octokit::Response::RaiseError
+      builder.adapter Faraday.default_adapter
+  end
+  Octokit.middleware = stack
   @octokit = Octokit::Client.new(:login => ENV['API_USER'], :password => ENV['API_PASS'])

   repo = ENV['GIT_REPO'] || 'gitster/git'

And then I was able to run:
REBUILD_DOC=v2.14.2 rake preindex >old
REBUILD_DOC=v2.14.2 rake preindex2 >new

clean() {
  perl -pe '
    s/\[2017.*?\]/[timestamp-pid]/g;
    s/(
       date |
       x-ratelimit-remaining |
       x-github-request-id |
       x-runtime-rack
       ):.*/$1: .../xgi;
  ' "$@"
}

diff -u <(clean old) <(clean new)

Though in retrospect probably just sticking some puts calls into the lambdas would have been fine (I was worried at first that Octokit might be doing more work under the hood, but I think it really is just that we're calling it more).

Right now, it is only a proof of concept and has not been extensively tested.

I'm trying to think of the best way to test this. It would be nice if we could effectively diff two database states (and then we could compare the results of preindex to preindex2 and so forth).  I don't know of a specific tool for that, but perhaps just dumping the database would be sufficient.

Arguably filter_tags should just do the tag_info expansion itself.

OK. This will simplify the interfacing at the same time. The common logic here is so small that it isn't worth splitting the specific code.

Looks like doc_list would need something similar.

What do you mean? That doc_list should also retrieve the content?

I don't know of a specific tool for that, but perhaps just dumping the database would be sufficient.

The dev base is sqlite, which should be fairly easy to dump and post process.

What do you mean? That doc_list should also retrieve the content?

No, I just meant that doc_list also gets called multiple times for the same sha, and so should probably have its output stored in an array.

It can be solved by caching the content in doc_list until tree_sha changes.

Hold on the checks, please. That definitely needs more work: the includes are no longer resolved. Moreover, there are some generated files that are missing: mergetools-diff.txt and mergetools-merge.txt.

This version seems ok to me. Running the following script for $VERSION equals v2.7.0, v2.12.0, v2.14.2, there is no diff.
rm -Rf db/*.sqlite3
git checkout db/schema.rb
rake db:schema:load
GIT_REPO=../git REBUILD_DOC=$VERSION rake local_index2
sqlite3 db/development.sqlite3 .dump | perl -pe 's/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d*/Date/g'> version2.txt
rm -Rf db/*.sqlite3
git checkout db/schema.rb
rake db:schema:load
GIT_REPO=../git REBUILD_DOC=$VERSION rake local_index
sqlite3 db/development.sqlite3 .dump | perl -pe 's/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d*/Date/g'> version1.txt

diff version1.txt version2.txt

rm -Rf db/*.sqlite3
git checkout db/schema.rb
rake db:schema:load
REBUILD_DOC=$VERSION rake preindex2
sqlite3 db/development.sqlite3 .dump | perl -pe 's/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d*/Date/g'> version2.txt
rm -Rf db/*.sqlite3
git checkout db/schema.rb
rake db:schema:load
REBUILD_DOC=$VERSION rake preindex
sqlite3 db/development.sqlite3 .dump | perl -pe 's/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d*/Date/g'> version1.txt

diff version1.txt version2.txt

@peff If you agree, I'll tidy up the previous versions of the tasks and rename the new ones.

@jnavila I haven't had a chance to look it over carefully yet. Your diff above gives me a lot of confidence, but I want to double check that we are making the same number of requests in the preindex case.
But overall I really like the direction. Go ahead with cleaning up the old versions in a commit on top, and I can do any cross-checking I want on the current tip commit.

̀̀̀̀̀tag_list is now called once for each tag and the blob_content stuff hasn' t changed.

I removed the previous version. As for the number of requests, there can be some help with parallelizing them using the parallel module. I already have something that I can push on top of this PR is you are interested.

I checked the preindex2 log versus preindex and indeed they make the identical set of requests (in fact, the whole output is the same with the exception that you removed one crufty puts from the original :wink:).
So this looks good to me. Thanks so much for working on it. We should have done this ages ago, given how often we had bugs or other hassles due to having the duplicate indexing code.

As for the number of requests, there can be some help with parallelizing them using the parallel module.

I actually don't think parallelizing is that big a win. This is mostly run from a cron job (and only triggers real work when a new Git version has been released). So aside from the annoyance of running it during development, it doesn't really matter much how long it takes. I mostly wanted to make sure that we weren't hitting GitHub's API too hard (and the preindex task uses a ton of API requests. You can only build a handful of versions per hour under the normal 5000/hr rate limit).
Now that the two are unified, I'd expect people to mostly use local_index in their dev environments.


Create Insight Demo Request app

Create Insight Demo Request app for intelfolio website. Request Demo form on the website should be handled and processed by this form. Data should be submitted to Hubspot CRM API and create contacts in the CRM.

Done


[Market Page] Trading View - Bars

The timeframe on the chart is set to 1 day and the bars at some point go from 20 Jan to 24 Jan opposed to 21 Jan. There are inconsistencies across the board and there's no pattern. It also went from Jan 9 to Jan 11 - so 2 days difference.
https://www.loom.com/share/3a6896bcd0134e968d71e4bd2a7e28b9

So far I haven't seen the original issue mentioned (bars not shown), but what I've seen are extra bars that are rendered even though they shouldn't based on the interval selected.
This screenshot shows the issue nicely. Selected interval is 2h and the candles from the past until page-opening-time are rendered correctly, every 2h. Going forward the problems appear and candle intervals become "random", sometimes they are rendered every minute, sometimes every couple of minutes.

Here the last correct candle was rendered at 00:56, then the next one rendered was rendered not for 02:56, but for 00:57. That screenshot was taken on March 2 9:44 (GMT-4) so it definitely shouldn't have that many candles rendered yet.
Now… I think the issue boils down to the values of query parameters we send to BE to obtain the data: https://api.injective.network/api/chronos/v1/derivative/history?symbol=BTC/USDT PERP&resolution=120&from=1646156762&to=1646228762&countBack=2
If you observe how from and to values change in time you'll see that if the user opened the chart exactly at 9:00, then from param would have the value of 13:00 of previous day and to param of 9:00 today. And BE would return data with correct internal.
But what would happen at 9:01? Well… from parameter would have value of 13:01 and to param of 9:01. And that will result in the char view rendering the candle for 9:01 even though the interval is set to 2h. Same thing happens every minute and that moving window results in printing candles for incorrect interval every time some data is returned.
I guess there could be many ways of tackling the issue depending on which component we can modify. Maybe we should do it the same way that Binance does? There candle start date doesn't depend neither on current time or user's local time, but always shows candles based on UCT time and anchors them in full hours:

1h → 00:00, 01:00
15m → 00:00, 00:15
2 → 00:00, 00:02

Thanks to that when using TR view on Binance candles are printed correctly regardless of the selected interval.

all good ✅


sysctl defaults for sendspace and recvspace are not honored.

Instead SB_RAW and SB_MAX are used.

Fixed in https://github.com/sctplab/usrsctp/commit/9862333ec16afb1d5eca4332ae30a5e66b012fb5.


UNetConnection Tick Timeout

Hi, I've gone through all the steps outlined and managed to get the services operational and healthy- but when I try to connect to the public IP on port 15777 I get the following error after 20 seconds:

Remote address has since been removed as it was an elastic IP thats no longer associated with the EC2


Alt-Spacebar doesn't bring up little "system" menu

** LOW PRIO **
heh

Task bar is at the TOP of the screen. For reasons unknown Windows occasionally sticks it's children's titlebars UNDERNEATH the taskbar.
Expected behavior
Alt-Spacebar brings up the little system menu and I chose 'move'.
Actual behavior
Terminal window gets into a state where system menu doesn't pop up with alt-space. Further, hovering on the task bar and right clicking on it's preview that pops up just below no longer functions.

It's not clear what terminal you're actually using, and you haven't given a version number. Alt+Soace definitely works for me in Windows Terminal and the old conhost terminal with the cmd and pwsh shells. It doesn't work when using a WSL bash shell in conhost, but that's issue #5833. Is that the same problem you're having?

Sorry, I've figured out the problem actually. Version seems to be 1.5.10271.0 from the Microsoft Store?
It's a bit silly, but I've been using Windows Terminal in fullscreen mode (alt-enter) to keep my cats from typing stuff places..
When the monitors are turned back on Windows decides new positions for all the windows and Windows Terminal is repositioned in a way that it thinks it's fullscreen, but is sized like it's not. In this configuration alt-spacebar doesn't function.

When the monitors are turned back on Windows decides new positions for all the windows and Windows Terminal is repositioned in a way that it thinks it's fullscreen, but is sized like it's not. In this configuration alt-spacebar doesn't function.

Well, that sounds like a bug to me. Thanks!


How do I pass a random seed to fields?

I'm not sure how to seed fields in a factory class (or ideally, the entire class at once).
I tried doing something like the following, which does not work.
class AccountFactory(factory.Factory):
    class Meta(object):
        model = Account

    email = MimesisField('email', seed="randomseed")

Any pointers?
Thank you!

Old question, but I found a way around it. Apparently MimesisField doesn't support seed parameter, so it's not possible out of the box. In my case I've subclassed the MimesisField class like this:
class MimesisFieldWithSeed(MimesisField):
    seed = settings.seed # // my custom seed

    @classmethod
    def _get_cached_instance(
        cls,
        locale=None,
        providers=None,
        **kwargs,
    ):
       # // this part is not changed - I copied it from original MimesisField, changed lines are commented
        if locale is None:
            locale = cls._default_locale

        key = (locale, providers, cls.seed) # // added seed to key, in case I would want to have instances with different seeds
        if key not in cls._cached_instances:
            cls._cached_instances[key] = Field(locale, providers=providers, seed=cls.seed)  # // added seed here

        return cls._cached_instances[key] so that it would be possible to do `field=MimesisField(seed=seed)`

If @lk-geimfari says it's a wanted change, I can add a proper PR which with a proper change in MimesisField to accept seed argument in the __init__ method. The code presented here is just a simple hack to change as little code as possible (I don't know if this feature is actually wanted so I didn't want to waste time on setting up the project and creating a proper PR).