Cuda Library not found

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 8.1
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): Installed using PIP in a Conda environment
TensorFlow version: 2.3.0
Python version:- Installed using virtualenv? pip? conda?: Installed using PIP in a Conda environment
Bazel version (if compiling from source): None
GCC/Compiler version (if compiling from source): None
CUDA/cuDNN version: None
GPU model and memory: None

Describe the problem
I don't have a GPU in my Laptop. I installed tensorflow using Pip inside a Conda Environment.
The command that I used to install it was -
pip install tensorflow

And I opened a Python Shell inside the CMD by typing
python

and I typed
>>> import tensorflow

and I got this error -

But when I tried to print out the version, using
print(tensorflow.__version__)

the output was -

Please tell me whether I should Ignore this,
I know that the error is telling to Ignore if you don't have a GPU in you PC.
But whenever I import it it is throwing this Error
This is the Exact sequence of command that I used

I also tried the same in Pycharm, By setting the same above used python interpreter. But it is also showing the same error
E:\Anaconda3\envs\tensorflow\pythonw.exe E:/Robotics/python/ML(techwithtim)/tensorflowEnv/test.py
2020-09-05 23:13:00.132025: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-09-05 23:13:00.132610: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

Process finished with exit code 0

And I followed this Tutorial for the Installation and Setup -
https://www.youtube.com/watch?v=ujTCoH21GlA

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 8.1
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): Installed using PIP in a Conda environment
TensorFlow version: 2.3.0
Python version:- Installed using virtualenv? pip? conda?: Installed using PIP in a Conda environment
Bazel version (if compiling from source): None
GCC/Compiler version (if compiling from source): None
CUDA/cuDNN version: None
GPU model and memory: None

Describe the problem
I don't have a GPU in my Laptop. I installed tensorflow using Pip inside a Conda Environment.
The command that I used to install it was -
pip install tensorflow

And I opened a Python Shell inside the CMD by typing
python

and I typed
>>> import tensorflow

and I got this error -

But when I tried to print out the version, using
print(tensorflow.__version__)

the output was -

Please tell me whether I should Ignore this,
I know that the error is telling to Ignore if you don't have a GPU in you PC.
But whenever I import it it is throwing this Error
This is the Exact sequence of command that I used

I also tried the same in Pycharm, By setting the same above used python interpreter. But it is also showing the same error
E:\Anaconda3\envs\tensorflow\pythonw.exe E:/Robotics/python/ML(techwithtim)/tensorflowEnv/test.py
2020-09-05 23:13:00.132025: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-09-05 23:13:00.132610: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

Process finished with exit code 0

And I followed this Tutorial for the Installation and Setup -
https://www.youtube.com/watch?v=ujTCoH21GlA

@vaibhav-75007,
Yes, you can safely ignore these GPU related logs.
If you want to disable these logs, please change the log level using the below code.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf

Thanks!

Should i add that Lines of code in all of my Projects, or just once

@vaibhav-75007,
Yes, you can safely ignore these GPU related logs.
If you want to disable these logs, please change the log level using the below code.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf

Thanks!

Should I include that line of code in all of my projects??
Kindly reply

But should I add this line of code I. My every project with tensorflow??
On Sun, Sep 6, 2020, 12:50 PM Abhilash Mahendrakar<EMAIL_ADDRESS>wrote:

@vaibhav-75007 https://github.com/vaibhav-75007,
Yes, you can safely ignore these GPU related logs.
If you want to disable these logs, please change the log level using the
below code.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf
Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/42992#issuecomment-687715009,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMNQVUYP2ESI6LTNDHOXJKTSEMZ4PANCNFSM4Q35DSNA
.

@vaibhav-75007,
Yes, you can safely ignore these GPU related logs.
If you want to disable these logs, please change the log level using the below code.
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import tensorflow as tf

Thanks!

should i add this line off code in all my projects?? @amahendrakar .
Please reply

i am iron man

@vaibhav-75007,
Yes, you'll have to add the code snippet to your projects. Alternatively, you can install the TensorFlow CPU package using the below command.
pip install tensorflow-cpu
Thanks!


Feature request: provide a means to configure, build, and install that includes cc

Please go to Stack Overflow for help and support:
https://stackoverflow.com/questions/tagged/tensorflow
If you open a GitHub issue, here is our policy:

It must be a bug or a feature request.
The form below must be filled out.
It shouldn't be a TensorBoard issue. Those go here.

Here's why we have that policy: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): N/A
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Both Mac and Linux
TensorFlow installed from (source or binary): Source
TensorFlow version (use command below): 1.4
Python version: 3.6.3, but not relevant
Bazel version (if compiling from source): 0.8.1, but not relevant
GCC/Compiler version (if compiling from source): Both GCC and clang, but not relevant
CUDA/cuDNN version: N/A
GPU model and memory: N/A
Exact command to reproduce: N/A

You can collect some of this information using our environment capture script:
https://github.com/tensorflow/tensorflow/tree/master/tools/tf_env_collect.sh
You can obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the problem
Describe the problem clearly here. Be sure to convey here why it's a bug in TensorFlow or a feature request.
Tensorflow doesn't seem to have a clean way to install from sources to support both python and C++ development. When we install from sources, only the core tensorflow framework is installed in the python site-packages directory. The cc headers (and maybe others) are not included. Likewise the libtensorflow_cc.so is not built. It's surprising that there is so little documentation for how C++ developers are expected to develop tensorflow applications. My use case is probably common: I want to train and test my model using python, but I want to deploy an application that does prediction/inference with the app written in C++.
I have managed once to successfully install the headers and libraries I need into /usr/local/... on a Mac, but in doing so I lost some of the CPU optimizations that I had specified when doing the standard build from sources. Now I need to repeat this process on Linux, where I need GPU support, and want to make sure I get it right.
It would be so nice if there was something close to the standard ./configure; make; make install that could install headers and libraries into a chosen directory.
Source code / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached. Try to provide a reproducible test case that is the bare minimum necessary to generate the problem.

Have you followed this page:
https://www.tensorflow.org/install/install_sources
I agree that ultimate installation instructions are for python pip packages. That may be confusing. But once you have the source directory, you should be able to build anything.
@asimshankar do we have a document to describe libtensorflow_cc.so build and installation?

Yes, I have gone through all of the steps to build and install the python components into site-packages from source. I've also used bazel to build libtensorflow_cc.so. But there are still several other manual steps required to arrange for all of the necessary C++ headers to be installed in such a way that C++ applications can compile independently of the tensorflow repository.
In my search for the best way to do this, the best resource I have found is on stackoverflow:
https://stackoverflow.com/questions/33620794/how-to-build-and-use-google-tensorflow-c-api
That question is two years old(!!) and none of the answers are (IMHO) satisfactory. The answer that comes closest is this one. But the steps as shown there did not work for me, possibly due to changes to tensorflow between the time the answer was written and the current r1.4 release. I have been able modify the steps to make something that does work, but it is really unacceptable for the Tensorflow team to expect every developer to discover on their own how to do this. There really should be something like the standard unix recipe: .configure; make cc-installer; sudo install-cc.sh;. With bazel, the steps might look like this:

./configure      # a new question is added: "Do you want to build for C++ development?"
bazel build --config=opt --config=cuda //tensorflow/tools/cc_package:build_cc_package
sudo install-cc-package.sh

The result from the above steps would be the installation of a directory at the default path /usr/local/include/tf, but the actual path should be an option provided during the ./configure step. The tf directory should contain all of the headers necessary for C++ development. It would a superset of all of the headers currently installed into ../site-packages/tensforflow/include, but following the same directory organization. The installer script would also install libtensorflow_cc.so and libtensorflow_framework.so into /usr/local/lib or some other location chosen during the ./configure step.
Let me be clear: I personally am not blocked, as I now have a working configuration on both my Mac and Linux development machines. But other developers (and me sometime in the future) will need to do this, and it seems bizarre that the Tensorflow team does not have a documented and easy to follow process that all developers who need C++ development can follow, and will continue to work with each new tensorflow release. I could document what I do, possibly on the above stackoverflow thread, but the Tensorflow community is not served well by that hack.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I'm curious if there has been any progress on this issue. I'm currently working on making a Docker image to deploy to Google Cloud and I've discovered that I am once again blocked by this issue.
If I pull one of the docker images, I find that libtensorflow_cc.so is not included anywhere in the image. What is worse, when I try to build it (with gpu support) I get errors, similar to this issue: https://github.com/tensorflow/tensorflow/issues/2143
I tried both nightly-devel-gpu-py3 and 1.5.0-devel-gpu-py3 and obtained the same error.
This error seems to indicate that libtensorflow_cc.so is not even built in your continuous integration. Is that correct?

@asimshankar @allenl to comment.
I think many symbols exporrted by libtensorflow_cc.so are also exported by the .so files distributed by our pip packages. We should wait for confirmation though.
You are correct that in our dockerfiles we do not have anything other than the py libraries. Maybe we should also make C and Java libraries available in these.

The pip package only includes libtensorflow_framework.so, which is not sufficient for C++ development.

pywrap_tensorflow.so is also in the pip package, it may be in a harder to locate place, and may need to be moved around in our pip package. And as far as I know, that .so file should be exporting every single C++ object in TF (which is something we are working to fix).

Nagging Assignee @gunan: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @gunan: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

"you should be able to build anything"
I agree, I should be.
But how do I do it?
How do I even know what it is I want to build?
How do I know that libtensorflow_cc.so is a target I should ask Bazel to build?
What other targets should I build?
Which headers should go into a public include directory, as opposed to are for internal use only?
I can't find any documentation at all on how to build and user TensorFlow as a C and C++ library, or much about what all can be built with the Bazel builder at all. I'm sure some of that is me not being good with Bazel, but that can't be the only thing getting in the way here.

@asimshankar Do we have documentation for libtensorflow?

Can @asimshankar please reply to this thread?

The C library package (consisting essentially of a single header file and a few shared libraries) can be built using the process we use for building release binaries. (See README and StackOverflow answer).
For the C++ library, we haven't had the bandwidth to support that ourselves yet and have relied on community support for that (see https://github.com/tensorflow/tensorflow/issues/2412#issuecomment-299572173 and https://github.com/tensorflow/tensorflow/issues/2412#issuecomment-304433971 and https://github.com/tensorflow/tensorflow/issues/2412#issuecomment-381959842 - credit to @FloopCZ and others).
If someone would like to contribute a packaging rule for the C++ library by adding a BUILD target similar to libtensorflow in https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/lib_package/BUILD, that would be awesome.

Propose that this project should be part of the official tensorflow docker images: https://github.com/FloopCZ/tensorflow_cc
Building and using libtensorflow_cc.so from source is non-trivial and burns dev time. Would be good for community if the official images support easy c++ dev and integration. Thanks.


crash on dedicated servers due to environment annotation missing

https://gist.github.com/raphydaphy/9c8b2cc77efb038f726c39e6e222bc92
put an @Environment annotation on cloth config init and move the code that calls it into ClientModInitializer
also either delete the recipe book group mixin or move it to client json

I guess this is the same crash? https://pastebin.com/kxuuNuKD

Nope, that's something from Fabric API.

AK9's log also has this at the top: @Mixin target net.minecraft.class_299 was not found epicurean.common.json:MixinRecipeBookGroups

Yes, but that's not the cause of the crash. I will be fixing that at the same time though.


[#346] Add changelog

This is a WIP.
It will be updated as 0.5.0 issues are resolved.
Leaving as draft for now. Feel free to review though.

looking good - please squash and resolve.

Squashed and bumped version to 0.5.0.
Confirmed the package and the binary report include 0.5.0.

looking good, please squash again to two.

Squashed.

i think it's ready for #, awaiting alan vote.


Support of new devices petitions

Currently UsbSerial supports FT232, PL2303, CP210x, CH34x and CDC serial devices. If you know any Usb to Serial converter which is not supported please, list them here.
Felipe

I'm trying to communicate with Cypress FX3 chip using your library but with no luck for now. Don't know what kind of serial device they use though.

Two possible sources of the problem:

They use a vid and pid that I didn't register.
They use a custom solution, so a driver for that device should be developed.

The first source of problems should be easy to solve. Instead of use
UsbSerialDevice serial = UsbSerialDevice.createUsbSerialDevice(device, usbConnection);

Try to load the each driver individually to see if someone works
CDCSerialDevice  serialDevice = new CDCSerialDevice(device, usbConnection);
CH34xSerialDevice serialDevice = new CH34xSerialDevice(device, usbConnection);
CP2102SerialDevice serialDevice = new CP2102SerialDevice(device, usbConnection);
FTDISerialDevice serialDevice = new FTDISerialDevice(device, usbConnection);
PL2303SerialDevice serialDevice = new PL2303SerialDevice(device, usbConnection);

I found Cypress has his own USB-UART controller. Probably they used it http://www.cypress.com/documentation/datasheets/cy7c65213-usb-uart-lp-bridge-controller

Please add Moxa USB-Serial device VID 0x110a  PID 0x1150.   Thank You!

What chipset does it use? FTDI, CP210x... @anddax

Probably Prolific Pl2303.   On Windows is show Prolific 067B VID2303.
On Android Your Program not found it.
On Fedora Linux is show VID 0x110a PID 0x1150 vendor MOXA.

Here's a new device that Intermec is using - when their serial adaptor is attached onto the device (CN51), you can then find:
VID: 0x067e
PID: 0x2800
I asked them what chipset they're using: Texas Instruments TUSB3410

@anddax I've added the Moxa Uport 1150 in the UsbSerial 4.0 release

@vmsJames Actually UsbSerial doesnt support the TUSB3410 chipset. I will try to get a cheaper one.

FTD312D seems to be a very interesting newcomer. It's a UART module that provides an USB Host to Android's AOA interface and that seems to allow charging of the Android device in operation. The product page is listing a demo app and SDK documentation, but so far I failed to find the relevant downloads. Still, it looks like a very interesting choice for DIY projects.

Hello @ge0rg !
It seems a very interesting module. I will try to gather information and I wouldnt mind to buy a cheap one for testing.

Hello felHR85,
It would be great if your library supports Intermec's Usb Serial adapter p/n 225-737-002 with VID: 0x067e - PID: 0x2800.
Is it really a Texas Instruments TUSB3410 chipset?
Is there anything I can do to help?
Cheers

Hello @pcancela
I don't have any of those USB serial adapters so I don't really know what chipset they use.
The greatest help would be letting me get one of them as I am always open to add support for new chipsets ;)

Hey felHR85,
Any chance of supporting chip CP2130 in the future? I'm trying to implement it now, but having some difficulties. Otherwise, would you have any tips to offer?
Thanks!

Hi @Leftyist
I didn't  know that one. I am always open to support new devices. I would do the implementation if I could got one.
Here it is the documentation, it looks pretty good

I just added support for CP2130 and its SPI interface. Hope you can take a look @Leftyist

Hi, I'm trying to talk to a STMicroelectronics Nucleo F401RE but for now without success. On the log console I have this message I/CDCSerialDevice: Control Transfer Response: -1. It does not happens if I use an Arduino, wich works fine. What kind of problem could be?
Thanks! Nice library!

Hello Felipe, I'm using your library to connect an Arduino UNO R3 to my Android smartphone and trying to light up a LED from the app but I have problems... I've checked and figured out that maybe the PID and VID are not supported by this library. How would I solve this problem? Should I make a fork and solve this? Can you guide me? hahaha! Thanks! By the way, congratulations for your library!
(Picture of the toast arduino info)

It does not work with a USB microcontroller PIC18F14K50 VID 0x0408 PID 0x000A

It doesn't work with Juniper SRX300 routers.
On the Droidterm Pro error it says "USB Device not supported: Unknown device
Vendor: Cygnal Integrated Products, Inc."
In Windows, it shows up as the following:
USB\VID_10C4&PID_8470&REV_0101
Interestingly, under windows the Manufacturer says "Silicon Laboratories", not Cygnal.
The Human-readable driver name is "Juniper Networks BX Series System Console" if you want a more generic name for it.
Would it be possible to add support for this device?
Thank you!

It doesn't work with FT311D Ic.

The E+H HART Commubox uses the CP210x chipset, but I could not find the corresponding entry (VID: 0x10C4, PID: 0x8135), so I had to add that directly in my project.

Please support STM32 Nucleo boards.  This library does not work with any STM32 Nucleo board I have used.  These appear to be normal CDC devices and seem to be detected as such.  However, they have multiple interfaces (debug, mass storage and CDC), not just a CDC interface.
These work just fine with the mik3y/usb-serial-for-android library and applications which use it.  But applications which use this library detect the port and appear to attach to it, but then no data transfers occur.  I have only rudimentary knowledge of USB CDC spec.  I have created hardware which uses the STM32 CDC driver -- which does work with this library, but the way.
It seems that the way the felHR85 library and the mik3y library handle the control interface differ a bit.  mik3y determines the control index when identifying the CDC component of a device with multiple USB interfaces and passes that index when calling connection.controlTransfer().  This library always passes an index of 0 to the same call.
I have pasted the relevant output of lsusb -v -d 0483:374b below.  If you want me to send one of these boards to you, I am happy to do so.
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         2
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       2 Abstract (modem)
      bFunctionProtocol       1 AT-commands (v.25ter)
      iFunction               6 ST-Link VCP Ctrl
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              6 ST-Link VCP Ctrl
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x00
        bDataInterface          3
      CDC ACM:
        bmCapabilities       0x06
          sends break
          line coding and serial state
      CDC Union:
        bMasterInterface        2
        bSlaveInterface         3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              7 ST-Link VCP Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               0

https://github.com/felHR85/UsbSerial/pull/314 addresses the issue with STM32 Nucleo boards.

Hello, any chance of adding newer Prolific PL2303G series in future? - https://prolificusa.com/product-category/chips/i-o-products/usb-to-uart-g-series/
Unrelated page, nevertheless some changes are summarised in https://reviews.freebsd.org/D27952


Add Bitcoin as option (via Stripe)

Closing this out due to lack of activity. Please feel free to open a new issue if this is still needed.


Add support for foo_test.go file types

This fixes #26
alt mostly supported go tests out of the box. It already was stripping _test from test files. The issue was it couldn't handle test files in the same directory.
This required modifying the regexp. This was getting pretty big and complex, so I broke it up and commented it at the same time. At least I commented it with what I think it does. The comments should be double checked for accuracy.
Cheers!
$ ls
foo.go      foo_test.go
$ alt foo.go
foo_test.go%

Thanks for the contribution @keyneston. I am checking it out locally now.

I manually pulled your changes in, updated all the dependencies, updated the changelog, and tag a new release v3.4.0. Therefore, I am closing this pull request.

@keyneston also just wanted to let you know that I released v3.4.0 of alt with your changes in it via Homebrew.

@drewdeponte amazing thanks!


experiment: block new render until test allows it to go forward

@linkdotnet I did a few experiments to verify our understanding of the Blazor Renderer. Here are my takeaways:

Any async re-renders (calls to StateHasChanged) from OnAfterRenderAsync will not happen before the Task returned from Renderer.UpdateDisplayAsync is completed. That means re-renders will not happen concurrently but in sequence.
Any async re-renders (calls to StateHasChanged) from OnInitializedAsync will happen concurrently until the first call to Renderer.UpdateDisplayAsync returns and the Task from it can be awaited.

I made a simple change to the TestRenderer, allowing something external to "pause" renders until they complete the TaskCompletionSource. It's just a hacky experiment but could be an inspiration for future change.
The PR is just to make it easy to review the changes.
The first screenshot is from a test where there is an async rerender in OnInitializedAsync. Notice the four first timestamps are very close to each other. They are essentially running immediately. After that, the first UpdateDisplayAsync has finished, and then there is a delay of 500+ ms.

Contrast that with this screenshot that shows timestamps spaced out consistently with about 500+ ms between them. This is from the test that re-renders via OnAfterRenderAsync.

Interesting! I do think we see also another picture if we have something like this (doesn't matter if OnInitiliazedAsync or OnAfterRenderAsync:
protected override async Task OnXXXAsync()
{
    await Task.Delay(1);
    StateHasChanged();
    await Task.Delay(1);
    StateHasChanged();
    ...
}

Just want to add, that without the WaitingRender in play, a number of renders happen as fast as possible in the OnAfterRender test too, because there is time for the renderer to rerender between the RenderCompoent call and the WaitForAssertion.

Interesting! I do think we see also another picture if we have something like this (doesn't matter if OnInitiliazedAsync or OnAfterRenderAsync:
protected override async Task OnXXXAsync()
{
    await Task.Delay(1);
    StateHasChanged();
    await Task.Delay(1);
    StateHasChanged();
    ...
}

Actually, looks like its the same:
	protected override async Task OnAfterRenderAsync(bool firstRender)
	{
		RenderCount++;
		RenderOffset.Add(stopwatch.Elapsed);

		if (firstRender)
		{
			await Task.Delay(1);
			StateHasChanged();
			await Task.Delay(1);
			StateHasChanged();
			await Task.Delay(1);
			StateHasChanged();
		}
	}

This gives us this spread of timestamps:

Interesting - I really thoight they it works basically the render "sees" the first activation of a task and its completion - but no "update" in between.

I've been thinking about how this can be utilized to basically block component-triggered re-renders after the initial render. Then, we can block re-renders until a "WaitFor..." call or a "test triggered render", e.g. a call to an event handler trigger.


Add a 404 Page for Unknown Routes

Create a Vue component that will server as the 404 page for unknown routes on the site
This ticket is complete when:

A Vue route component is created to handle 404s for the user
Add express middleware to redirect users to the 404 page when the route is unknown

Hey i would love to work on this issue. Plz

Hey i would love to work on this issue. Plz

@sandy9808 sure thing. Someone has a PR up but you asked here first. Thanks for the help!

i am having difficulty in setting up the development environment, i don't think i can do this. Sorry... 😢


Public non-action methods in controller

Change non-action methods to protected

Seems like abstract controller is a good option. If we delete it there will be massive duplication..


Reconsolidate the exported cli commands.

I had a talk with @papandreou the other day, about the changes in the recent oconf version. We ended up agreeing that this might not have been the right decision. The current interface is quite rough, where the old one was a lot more fluent. I have the following idea of how to solve the muddied interface of the old singular binary without splitting it up. Before landing it, and making another massive API change, I'd like your feedback.
There will only be one exported cli command: oconf.
In it's simplest form, oconf is called with a path to a config file.
$ oconf file.cjson

file.cjson:
{
  "foo": "bar"
}

Other functionality is implemented through the use of flags. The --lint flag is a boolean that will exit with status code 0 if it was a valid file, and exit with status code 1 and an error message writtten to stderr if it was not.
$ oconf --lint file.cjson

The extract option functionality is likewise linting made into a flag, instead of relying on a positional argument as before (opening the possibility to solve #19 without a standalone command).
$ oconf file.cjson --extract-option foo
bar

This leaves the question of how to handle the extra flags for --extract-option. Specifically the current oconf-extract-option flags --allow-missing and --json. --allow-missing will exit with status code 0 even if the value that you asked for was not present. --json will output the option in JSON.stringified format. These flags are harder, because they are subflags for another flag.
My best idea at the moment is to document that these flags are only working in the context of other flags, and name them such that it is more obvious.
$ oconf --allow-missing-option file.cjson
Error: The option --allow-missing-option only works when using the --extract-option feature.

$ oconf
Usage: oconf [--lint|--extract-option <option> [--allow-missing-option][--option-as-json]] <file>

The motivation for this change is that I feel this API, as described in the example above, is a lot simpler and clear enough that the separate commands are not warranted. I found myself force installing older versions of oconf, because using the new commands felt clunky, compared to the old API.
ping @msiebuhr @papandreou

What about some mode-thingie like ex git has, ex. oconf lint <filename>, oconf json <filename>...?

A command pattern? Like git and npm... I think the yargs module actually includes that.
That solves the flags for flags problem. I guess that would be okay too. I still think I prefer having the flags.
The basic functionality of oconf is the same - nomatter which command you need. It will take the given input file (or files) and resolve them. If you don't pass any flags, it will just output the result - if you pass --lint it will only ouput a potential error - and if you pass --extract you will get whatever property you asked for...
While --extract has the need for extra flags, it also needs all the flags that the default oconf functionality provides. Like --ignore "glob pattern" to ignore a set of included files. Having flags that span multiple commands are at least as confusing as having flags that only works for some commands, in my opinion.

s/flags that only works for some commands/flags that only works with some flags/

First take at this effort: https://github.com/One-com/node-oconf/commit/ce40d11e95636e72ade2a9ea1af23b5c85d97883
This is just merging the three back together into one.
Things left to do:

[ ] Test that ignore flag works across the different options
[ ] Optimize code, and deduplicate it, if necessary
[ ] Introduce old flags as aliases for the new, more verbose flags
[ ] Introduce helpful error messages for common errors, like not providing --extract-option when extracting values.

You can follow the work on this at: https://github.com/One-com/node-oconf/tree/feature/reconsolidate
I just folded the new unified oconf binary into the main one. And I replaced the two extra ones with hollow bash wrappers, mapping the input to the new oconf.
Code got really simple.

[ ] write readme
[ ] handle missing --extract-option parameter.

I released v4 (https://github.com/One-com/node-oconf/commit/091e0dbce44fdffec3fddeebe03b397cd8e9c73f) with the new options in it.


Release 0.4.22

@JuliaRegistrator register(branch=release)

Registration pull request created: JuliaRegistries/General/10604
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if Julia TagBot is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.22 -m "<description of version>" d8ab298a45b4902ea075301dee671c2d7f4d1adb
git push origin v0.4.22


Community-facing docs

A few small pieces of documentation to put a public interface on the project.

Current coverage is 100% (diff: 100%)

No coverage report found for master at 233cf3d.

Powered by Codecov. Last update 233cf3d...f96aa37


pls add copy code button

slick indeed!
Would be cool if you could add a copy code button when answer contains created code.

Thanks for the suggestion, done!


Prem-gateway installation

This adds neccessery docker-compose files and updates existing scripts in order to install prem-gateway with prem-app and prem-daemon if user decides to.
This closes #17
@tiero @filopedraz please review.
Note that this is dependent on this

@tiero when you want you can merge and then we need to bump the new versions

After I manage to publish prem-gateway's docker images to ghrc i tested script and added few fixes.
I was not able to pull docker images without removing version in here, to me it looks like version is not needed at all and that we need to follow @ format.
Also note that i now prompt user for dnsd postgres password, not sure if this is best ux.
@tiero @filopedraz let me know what u think.

Also note that i now prompt user for dnsd postgres password, not sure if this is best ux.

What about creating one by default? eventually, the daemon can expose an API to check and update the database password?

Also note that i now prompt user for dnsd postgres password, not sure if this is best ux.

What about creating one by default? eventually, the daemon can expose an API to check and update the database password?

I changed script to gen pass for dnsd service.
Should i now do as follows:
Store original pass in db where table pass will have columns value, is_hash and when dnsd is started i would store original pass and set is_hash to false.
User would be able to change pass in a way that first he would not need to provide old pass but after initial change he would and pass would be stored as hash.
Other option is to show pass to the user when install script finishes and ask user for that pass if he wants to change it in settings screen.
WDYT @tiero ?

Also note that i now prompt user for dnsd postgres password, not sure if this is best ux.

What about creating one by default? eventually, the daemon can expose an API to check and update the database password?

I changed script to gen pass for dnsd service. Should i now do as follows: Store original pass in db where table pass will have columns value, is_hash and when dnsd is started i would store original pass and set is_hash to false. User would be able to change pass in a way that first he would not need to provide old pass but after initial change he would and pass would be stored as hash. Other option is to show pass to the user when install script finishes and ask user for that pass if he wants to change it in settings screen. WDYT @tiero ?

When i think twice i am wondering why should we let user change db pass? @tiero

When i think twice i am wondering why should we let user change db pass

That is a good point also: in the end if is randomly generated INSIDE the infrastructure of the user, he can always log in manually to fetch it if he has an issue. Still we need to save it somewhere to be able to source via the ENV?

When i think twice i am wondering why should we let user change db pass

That is a good point also: in the end if is randomly generated INSIDE the infrastructure of the user, he can always log in manually to fetch it if he has an issue. Still we need to save it somewhere to be able to source via the ENV?

I added basic auth into installation, i generate user/pass randomly for basic auth, store it in file and show it to user. @tiero

resolve conflicts @sekulicd

resolve conflicts @sekulicd

Done

As soon as we merge this PR, I'll test it on Paperspace. @tiero I want to move the demo to a GPU server before the conference.

Testing on Ubuntu 20
wget -q https://raw.githubusercontent.com/sekulicd/prem-box/prem-gateway-installation/install.sh -O install.sh; sudo bash ./install.sh

🤖 Welcome to Prem installer!
This script will install all requirements to run Prem

252 packages can be upgraded. Run 'apt list --upgradable' to see them.
jq is already the newest version (1.6-1ubuntu<IP_ADDRESS>).
The following packages were automatically installed and are no longer required:
  docker-scan-plugin gir1.2-goa-1.0 libfwupdplugin1 libxmlb1 linux-headers-5.4.0-124
  linux-headers-5.4.0-124-generic linux-image-5.4.0-124-generic linux-modules-5.4.0-124-generic
  linux-modules-extra-5.4.0-124-generic
Use 'sudo apt autoremove' to remove them.
The following packages will be upgraded:
  curl libcurl4
2 upgraded, 0 newly installed, 0 to remove and 250 not upgraded.
Need to get 396 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 252991 files and directories currently installed.)
Preparing to unpack .../curl_7.68.0-1ubuntu2.19_amd64.deb ...
Unpacking curl (7.68.0-1ubuntu2.19) over (7.68.0-1ubuntu2.18) ...
Preparing to unpack .../libcurl4_7.68.0-1ubuntu2.19_amd64.deb ...
Unpacking libcurl4:amd64 (7.68.0-1ubuntu2.19) over (7.68.0-1ubuntu2.18) ...
Setting up libcurl4:amd64 (7.68.0-1ubuntu2.19) ...
Setting up curl (7.68.0-1ubuntu2.19) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
Check Docker Compose standalone CLI version
Installing Docker Compose.
👷♂ Installing Prem
⬇ Pulling latest version...
App Version: v0.0.30
App Image: ghcr.io/premai-io/prem-app
App Digest: sha256:8079023f675197dc0ff50cf4fcb19e6e654a6bccbcebc2aca7f1c0457649358d
🏁 Starting Prem...
Do you want to install prem-gateway with prem-app and prem-daemon? [y/N]: y
Installing prem-gateway, prem-app, and prem-daemon...
**parsing /root/prem/docker-compose.premg.yml: Non-string key at top level: 404**


Rename application

Issue Type

Bug report
Feature request
Kind of both.

Current Behavior

The name oif the app is "My App"

Expected Behavior

The name should be "RYR"
Possible Solution

Edit the manifest.json file.

Updated the manifest.json file to the name you requested. Making a pull request now


Upgrade Fluid to socket.io-client V3

Socket.io released V3 recently. As a consumer of Fluid, I am not looking for any new features, but the new version of socket.io does update the versions of debug and ms that it uses to the latest versions, which makes it compatible with what Fluid Framework already requires.
Upgrading socket IO could resolve #4080
We should also update the duplicate package checker exception in the bundle tests package to remove all the socket.io specific overrides:
https://github.com/microsoft/FluidFramework/blob/955a4c77c7c4b29c66572097caf5818983b7ef25/examples/utils/bundle-size-tests/webpack.config.js#L50

I tried to make a PR to upgrade, but it seems socket.io is incompatible across client and server with V2/V3 so this required coordination among ODSP and FF.
https://socket.io/docs/v3/migrating-from-2-x-to-3-0/index.html
Perhaps as a part of this conversation, we can discuss if we still need/want to use socket.io rather than a thin layer above native web sockets. It's a heavy library (includes a polyfill for websockets we don't need).
In fact, they even have a whole section calling out what socket.io adds in 2020:
https://socket.io/blog/socket-io-3-release/
I wonder how much of that list we actually use.

@GaryWilber on thought of getting rid of socket.io

@GaryWilber on thought of getting rid of socket.io

I'm up for replacing socket.io with something else as long as we find a good alternative. Are there any suggestions? I also imagine we would want alfred to use the same replacement. +@tanviraumi as fyi
In the meantime, there is a way to have the server run socket.io 2 and socket.io 3 in parallel. So we could support a client upgrade to socket.io 3 if that's desirable.

I'm up for replacing socket.io with something else as long as we find a good alternative. Are there any suggestions? I also imagine we would want alfred to use the same replacement. +@tanviraumi as fyi
In the meantime, there is a way to have the server run socket.io 2 and socket.io 3 in parallel. So we could support a client upgrade to socket.io 3 if that's desirable.

From the client perspective, I think we'd want to use native websockets directly to reduce bundle size impact, since socket IO brings in a bunch of other code around falling back to long polling. What else do we need from socket.io from the client perspective? I think there is some notion of rooms, is that available standalone? Can we implement a lightweight version of it ourselves?
@vladsud also had found that our current socket setup is CPU intensive, which is why we defer it to after the initial render. Not sure how much socket.io is to blame here, but it may provide us with an opportunity to improve

From the client perspective, I think we'd want to use native websockets directly to reduce bundle size impact, since socket IO brings in a bunch of other code around falling back to long polling. What else do we need from socket.io from the client perspective? I think there is some notion of rooms, is that available standalone? Can we implement a lightweight version of it ourselves?
@vladsud also had found that our current socket setup is CPU intensive, which is why we defer it to after the initial render. Not sure how much socket.io is to blame here, but it may provide us with an opportunity to improve

WebSockets by themselves are pretty barebones. Here are a few things socket.io does for us that we would need to support in a replacement:

Rooms - Rooms is a serverside concept that's used when we want to emit messages to a select group of connections. In our case, we setup a room for each document. That way we can easily broadcast ops to all clients for a document.
PubSub backplane support - In Alfred / Push v2, clients can connect to any document from any frontend machine. Socket.io has support for inserting an "adapter" which allows us to insert Redis into the mix. So when we emit ops to rooms, those ops are broadcasted & received by all relevant frontend machines via Redis.
Connection keep-alive / ping pong - WebSockets don't have a built in mechanism for detecting broken connections. Socket.io solves this by implementing a ping-pong event. Every minute or so the server/client will send a ping-pong event back and forth. The server disconnects the websocket if it hasn't received a reply for some time.

1 & 2 are serverside pieces. 3 is something thing we would need to support in the client and server. We would also need to decide on the message protocol between the client & server (message serialization, chunking, etc). I'm not quite sure how much work this would all be, it should be possible though.

WebSockets by themselves are pretty barebones. Here are a few things socket.io does for us that we would need to support in a replacement:

Rooms - Rooms is a serverside concept that's used when we want to emit messages to a select group of connections. In our case, we setup a room for each document. That way we can easily broadcast ops to all clients for a document.
PubSub backplane support - In Alfred / Push v2, clients can connect to any document from any frontend machine. Socket.io has support for inserting an "adapter" which allows us to insert Redis into the mix. So when we emit ops to rooms, those ops are broadcasted & received by all relevant frontend machines via Redis.
Connection keep-alive / ping pong - WebSockets don't have a built in mechanism for detecting broken connections. Socket.io solves this by implementing a ping-pong event. Every minute or so the server/client will send a ping-pong event back and forth. The server disconnects the websocket if it hasn't received a reply for some time.

1 & 2 are serverside pieces. 3 is something thing we would need to support in the client and server. We would also need to decide on the message protocol between the client & server (message serialization, chunking, etc). I'm not quite sure how much work this would all be, it should be possible though.

I am okay with changing socket.io to something lighter as well. Between Push and alfred, I believe the basic usages of socket.io are very similar. So we can possibly abstract out the core usage and both can benefit by the same code.
This is the lightweight library that I know of (https://github.com/websockets/ws). But lightweight may come with additional code. For example, this library does not support keepalive so we would have to implement it ourselves.

I am okay with changing socket.io to something lighter as well. Between Push and alfred, I believe the basic usages of socket.io are very similar. So we can possibly abstract out the core usage and both can benefit by the same code.
This is the lightweight library that I know of (https://github.com/websockets/ws). But lightweight may come with additional code. For example, this library does not support keepalive so we would have to implement it ourselves.

I support as well exploring here and improving (as socket.io has a lot of perf problems), but this will take months to make it happen. So we likely want to track it orthogonally from pure upgrade to socket.io V3

I support as well exploring here and improving (as socket.io has a lot of perf problems), but this will take months to make it happen. So we likely want to track it orthogonally from pure upgrade to socket.io V3

The question is whether we want to upgrade to socket.io V3 at all though?  Is there any reason we can't stick with V2 and work on replacing it completely?

The question is whether we want to upgrade to socket.io V3 at all though?  Is there any reason we can't stick with V2 and work on replacing it completely?

@curtisman  @vladsud There is a known security vulnerability with versions of socket.io-client < 3.4.1 that is affecting us because of this dependency
https://github.com/socketio/socket.io-parser/commit/dcb942d24db97162ad16a67c2a0cf30875342d55

@jogonzal The fix for socket.io-parser was backported to 3.3.2: https://github.com/socketio/socket.io-parser/releases/tag/3.3.2.
The dependency for socket.io-client -> socket.io-parser is ~3.3.0.  So you should be able to update your lock file to get the security fix.

Perfect, that is helpful!

From: Curtis Man<EMAIL_ADDRESS>Sent: Wednesday, March 3, 2021 11:15
To: microsoft/FluidFramework<EMAIL_ADDRESS>Cc: Jorge Aguirre Gonzalez<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/FluidFramework] Upgrade Fluid to socket.io-client V3 (#4608)
@jogonzalhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fjogonzal&data=04|01|jogonzal%40microsoft.com|89a44bde667c42fed4a908d8de78a927|72f988bf86f141af91ab2d7cd011db47|1|0|637503957120242198|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=vJm5PkefCqmZRjFI9ZLNBiomTi1qRvNMgMLnY4eneJM%3D&reserved=0 The fix for socket.io-parser was backported to 3.3.2: https://github.com/socketio/socket.io-parser/releases/tag/3.3.2https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsocketio%2Fsocket.io-parser%2Freleases%2Ftag%2F3.3.2&data=04|01|jogonzal%40microsoft.com|89a44bde667c42fed4a908d8de78a927|72f988bf86f141af91ab2d7cd011db47|1|0|637503957120252146|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=nemw7HNQHHgWwpyG6po6FpqGc8yncLcoXOU5C8Nr8Dw%3D&reserved=0.
The dependency for socket.io-client -> socket.io-parser is ~3.3.0. So you should be able to update your lock file to get the security fix.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FFluidFramework%2Fissues%2F4608%23issuecomment-789988074&data=04|01|jogonzal%40microsoft.com|89a44bde667c42fed4a908d8de78a927|72f988bf86f141af91ab2d7cd011db47|1|0|637503957120252146|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=0YGkJqycUASXNPTK7MKeXMC72BxRG2oFAYxH0urq4xM%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABUMKWJHY3JXCBHRY4P4VDTTB2DDZANCNFSM4U45KUSQ&data=04|01|jogonzal%40microsoft.com|89a44bde667c42fed4a908d8de78a927|72f988bf86f141af91ab2d7cd011db47|1|0|637503957120262106|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=YSOvivYaxx3rcyL6%2FXGUCqtw2ZCdkyiZCa5NKptOaiU%3D&reserved=0.

@curtisman @vladsud and @GaryWilber : We should also come up with a plan on when to migrate to the simpler library. It will be a very big work item, so we need to get on board with that

I totally agree with you, but realistically this is not that high in priority (at least for me). Yes, bundle size is huge, but currently we have a lot of other perf items that are much more important. I guess if we have resources to attack it, sure, but my feeling is that runtime team & Gary will be busy with shipping quality for quite a while (before and after GA of Fluid Experiences)

Makes sense. I will leave it with you guys to track it, whenever you feel appropriate. My guess (not backed by data) is, it will also reduce server cogs since we will able to serve more connections from a single box.

Just want to point out that different driver/service can have use different versions, right? It may be possible to do r11s driver first?

Correct! We are currently collecting data on scale characteristics on FRS. Depending on the outcome, we might want to tackle it sooner. FYI @sharmakhushboo

This issue is still relevant and should not be auto closed

r11s is already on socket.io v4 and I believe Push has migrated as well (@znewton and @GaryWilber to confirm).
So we should be in a spot to upgrade the client now.
@jatgarg to check the driver/common code.

Yes Push is running socket.io v4

Just confirmed that FRS is running Socket.io v4. The title of this issue is upgrade client to v3. We want to upgrade to v4, correct?

@christiango can confirm but I believe anything >= 3.x should be enough to close this issue.
If @jatgarg and you can confirm that drivers/clients are also up to date, we should be good for now.

I think V4 would probably also work, right now the issue is that FF requires 2 versions of debug to be included in bundles (one for socket.io and one for internal usage)

We are using this package version at client side:     "socket.io-client": "^2.4.0",

I think we should update the client version as well. I see 2.4.0 is being used in both drivers. We can pick the r11s driver one and test it out. For ODSP, assign someone appropriate.


Update aws-java-sdk-core to 1.12.576

About this PR
📦 Updates com.amazonaws:aws-java-sdk-core from 1.12.459 to 1.12.576
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.amazonaws", artifactId = "aws-java-sdk-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #646.


How to change the loading page？

hi mpetroff!
Pannellum has really helped me a lot but now I have a confusion.
I use pannellum with Vue to realize the function of clicking different pictures to switch scenes. But each scene is an object instance, so there will be an initial loading page when switching. How can I remove or change the effect of loading the page?
（I have tried sceneFadeDuration，but this can only reduce the speed of picture switching in the same object instance ）

I don't know what you're asking. What do you mean by "initial loading page"? By "object instance" do you meaning calling pannellum.viewer() to create a new viewer instance? If so, I'd strongly discourage using such a pattern, since it creates a new WebGL context each time.

I am sorry for my expression. The "initial loading page" looks like the “Initial display page” in pannellum.org. It will always appear when create a new viewer instance.

You can use events such as pannellum.loadScene () to switch scenes without having to create a new instance for each scenic spot

The problem has been solved. I’m grateful for your help！

The problem has been solved. I’m grateful for your help！

how did you solve it? can you share it with me ? i use div and  I want to click on the “div” list rendered at the bottom with vue to switch scenes.
Thanks you


Add sentry support

Allow automatic addition of traceId and transactionId to Sentry reports.

TODO:

update readme
Functional test


Setup instructions?

TY FOR CREATING THIS!!
Could you add how to use/setup instructions or a sample scene?

You can find some instructions here https://github.com/MangoButtermilch/Unity-Grass-Instancer/tree/main/No Optimizations
I didn't write any for the new approaches but they work similiar.
Will add this to my TODOs

So it needs a mesh for the grass but the repo doesn't include any right? Maybe it should throw an exception if a required param is missing.
I'm not getting any error on this config while it doesn't show any grass :(

The mat:


CatalogKindHeader dropdown takes time to open

Expected Behavior
When clicked on Kinds dropdown, the dropdown should open without any delays
Actual Behavior
I am having issues with CatalogKindHeader which is basically a dropdown of all kinds. the dropdown takes a few seconds to load when I started adding more entities like I have injected around 20k entities of kind user. I don't see any logs in the browser console but looks like its fetching the data even to load the dropdown. not sure though.
Steps to Reproduce

Have a kind with over 15k entities, I have loaded 20k entities of kind user and 20k entities of kind group.
As soon as all the entities are emitted, the CatalogKindHeader which is a kinds dropdown on the Catalog page takes a few seconds to load.

This behavior is anywhere the filters are involved.
Even the data takes time to display as it looks like pagination is happening in-memory and not on the server side but at least would like he CatalogKindHeader dropdown and filter should show up without much delay.

Hey :wave: We've got a focus on making the catalog a little more user friendly when you have large amounts of data. It's going to be taken care of all under this ticket I believe #12247

#13655 as well

Closing this as a duplicate of #13655


Fix markdown links

As title, there were extra spaces between [] / ()

@hewigovens Thanks for the PR


Merge scripts updates

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/scripts/includes/tracking-templates.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupBuilder.md
:white_check_mark:Succeeded

BingAds/scripts/reference/AdGroupUrls.md
:white_check_mark:Succeeded

BingAds/scripts/reference/CampaignUrls.md
:white_check_mark:Succeeded

BingAds/scripts/reference/KeywordBuilder.md
:white_check_mark:Succeeded

BingAds/scripts/reference/KeywordUrls.md
:white_check_mark:Succeeded

BingAds/scripts/reference/NegativeKeywordList.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Fix typos

Fix typos in documentation, comments, etc.

Thanks for these! We weren't using spell check during the creation of the project but glad you caught all these! I'll merge and push the new version later today

Published :)
https://pypi.org/project/git-gud/
Thanks for the contribution!


Mistype in javascript task

Challenge Accessing Nested Arrays has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

// Setup
var myStorage = [
  {
    type: "flowers",
    list: [
      "rose",
      "tulip",
      "dandelion"
    ]
  },
  {
    type: "trees",
    list: [
      "fir",
      "pine",
      "birch"
    ]
  }
];

// Only change code below this line

var secondTree = myPlants[1].list[1]; // Change this line

var myStorage should be var myPlants in order for this to be the correct answer:
var secondTree = myPlants[1].list[1];

Hi,
Thanks for reporting this issue.
Here are some next steps that you should follow before we can help you with your query:

Check these troubleshooting steps first.
Please use the Chat Rooms or try looking through our forum for help with a specific challenge and any coding assistance.

IMPORTANT:
Please NOTE that this tracker is for reporting bugs and enhancements to freeCodeCamp's code base only.
Happy Coding!


script to pull go api generated doc into hugo

codegen: ## Generate code. Must be run if changes are made to ./pkg/apis/...
        ...
	gen-crd-api-reference-docs \
		-api-dir ./pkg/apis/provisioning/v1alpha3 \
		-config $(shell go env<EMAIL_ADDRESS>\
		-out-file website/content/en/docs/Reference/code-gen.txt \
		-template-dir $(shell go env<EMAIL_ADDRESS>	cat <(cat website/content/en/docs/Reference/api-docs-header.txt) \
		website/content/en/docs/Reference/code-gen.txt \
		> website/content/en/docs/Reference/_index.md

Can you please make sure to use one of the Issue templates so that we can make sure all the necessary info is captured? From what I can tell here, this isn't a documentation issue, but one related to developing Karpenter

I think it's both hacking and docs. It's about automating updating some docs content, based on the generated API doc.


Fix few typos

Just fixing a couple of typos on the README.md file. Thank you for letting me check your work.

thanks @sdbeng

You're welcome @timqian


IP change not working

Recently I redid my home network and the ip of the senec contoller changed.
I thought it would be that easy to just change the ip of the device in the homeassistant gui
but in the logs I can still see the old ip being used even after reboot.

Hi @janikthali,
as quick solution for your problem (and assuming you have not manually (via the GUI) modified any of the Sensors, you simply can remove the current Integration and RE-add it with the new IP...
I am currently super bussy@work so I will not have the appropriate time to fix & test the required change - I hope the workaround is fine for now - but of course this needs to be fixed!

Hey, yes that's the workaround I did. No problem just wanted to share so it can get fixed.
Keep up the great work!

I have to admit, that's not "easy" to test this for me - code wise it looks like that it "should be fixed" (famous developer words)...

to my best knowledge this 'should be resolved'... Please reopen, if the problem still exists


Added terrain drawing sandcastle example

This adds a Sandcastle example of how to dynamically draw lines and polygons over terrain. Click to add a vertex, right click to terminate current shape and start a new one.
The polygons are clamped to the terrain. The lines are clamped once https://github.com/AnalyticalGraphicsInc/cesium/pull/6689 is merged. You can test it in the mean time by commenting out clampToGround : true, in the two locations (but you won't see the lines if you're zoomed in because they'll be under the terrain).
The only issue is that there seems to be a bit of a lag when you terminate the shape. @mramato do you know a way to fix this? The relevant function is here.

@OmarShehata, thanks for the pull request! Maintainers, we have a signed CLA from @OmarShehata, so you can review this at any time.
:warning: I noticed that CHANGES.md has not been updated. If this change updates the public API in any way, fixes a bug, or makes any non-trivial update, please add a bullet point to CHANGES.md and comment on this pull request so we know it was updated. For more info, see the Pull Request Guidelines.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

Use the View as Thumbnail button on the Sandcastle toolbar to get a snapshot that is the right size and dimensions.  It looks like yours is cutting off the timeline/animation widgets.

@hpinkos I didn't realize View As Thumbnail was a feature! That looks super useful. I'm having trouble with that though - it scales it down to what looks like the right aspect ratio but not the right dimensions. The correct size for thumbnails seems to be 225x150 (based on what most of the other ones are), does that sound right?

Once the tests run, this should be ready for review again @ggetz !

it scales it down to what looks like the right aspect ratio but not the right dimensions

Yes, it should be 225x150px.  I've always used the thumbnail button, taken a screenshot, and cropped it using a paint program and it's turned out correctly.

@OmarShehata Thanks for the updates! Have you merged cesium/master into this branch? I get developer errors when drawing polylines.

Sorry about that @ggetz , just pushed the merge!

A very nice Sandcastle example, @OmarShehata ! And useful- I've already linked to it from a forum question.
Thanks!


Winget not updated. Stuck on v1.2.11601

Brief description of your issue
I have a machine that is stuck on v1.2.11601. It is the Store version via App Installer. There are no updates for App Installer when I check the Store app.
Steps to reproduce
N/A
Expected behavior
App Installer should update winget
Actual behavior
App Installer doesn't update winget
Environment
Windows Package Manager v1.2.11601
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.232
Package: Microsoft.DesktopAppInstaller v1.17.11601.0

@myokeeh, you have the latest stable client. We're in a release candidate state for Windows Package Manager 1.3 and preview state for Windows Package Manager 1.4. Newer clients may be installed via this GitHub repositories [releases](https://github.com/microsoft/winget-cli/releases], or in Windows Insider builds (and the Windows Package Manager Insiders group) as referenced on the main README.

@myokeeh is the issue resolved now?
cc @denelon


Use ESM versions of the other ilib packages

This depends on the ESM module via the hybrid packages. This tool does not run properly under node 10 or earlier. v12 or later only.

This one is next


User dropdown issue in UserNav panel pattern

The User dropdown is not visible fully since it is displayed behind  the code snippet in the usernav panel.
http://esri.github.io/calcite-web/documentation/patterns/#user-nav
Also the Sign In link and Sign Up buttons are misaligned in User Sign In
http://esri.github.io/calcite-web/documentation/patterns/#user-sign-in

Doing some issue cleanup - this functionality is probably better found / discussed @ https://github.com/Esri/global-nav for now, going to close this issue.


Region may vanish when extending evil-visual-line region in c-mode

Steps to reproduce:

Open a decently-sized C file.
Vjjjjjjjjjjjjjjjjjjjjjjj
Watch as the mark becomes inactive

This happens only when moving the point across an empty line.
It happens with C-SPC<down> too.

This happens when moving the cursor in tex-mode as well.

ಠ_ಠ why is this happening to me


Create package that will project (store) information about s3 storage

Bedbase not only stores data on S3 but also facilitates data transfer using standard bash commands (e.g., aws s3 cp ...). However, during the copying process, it's challenging to determine whether the destination on S3 already exists and what other files are present.
The proposed solution is to create an object that provides a projection of the files on S3. This object would assist users in uploading, deleting, and managing objects within the database.

I propose no new package/object, but do this:
use boto3 to upload from within bedboss. Then, insert metadata about this upload (when completed successfully) with report using pipestat, so the database knows what files were uploaded and where they are, or whatever (or maybe it's just True if the upload was successful, or something). I guess I could see this being a JSON blob with information about all files that were transferred to s3/b2.
Then, write a function or class that can remove an entry from the database. It would query the info from the main database, then

if qdrant is present, remove it (and update the database), then
if s3 files are present, remove them and update the database
remove the entry from the pephub allbeds (bedboss output pep).
finally, if those succeeded, remove the entry from the bedbase pipestat database.

This is actually the same as databio/bbconf#37

I will close this in favor of the the bbconf issue


Fix non-void canceled QFuture crash

Added a test reproducing application crash when trying to access canceled non-void canceled QFuture and fixed a crash.

Looks good. Thanks a lot!


Dockerfile for OPC Publisher

Is your feature request related to a problem? Please describe.
Where can i find the Docerfile for building the OPC Publisher, i want to add the configuration file so that i can run it in standalone mode
Describe the solution you'd like
Please provide the Dockerfile
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

You can use the official image as base image and add the file to it to create a derivative image.  In 2.9 we will support the new dotnet capability to publish containers using dotnet publish

Now supporting dotnet publish to publish the OPC publisher application as docker container.


Adding support for defining a custom environment when bootstrapping.

This change, as the title says, adds support to bootstrap a node into a specific chef environment.

@andrimarjonsson This is a great addition, thanks for the contribution!


Initialization loggerFactory limitations

Is your feature request related to a problem? Please describe.
Currently some IHostBuilder extensions methods (e.g. AddKubernetesConfiguration(), AddConfigServer()) accepts an optional ILoggerFactory.
Because this code is evaluated before the DynamicSerilogProvider is created, the loggerFactory can only be configured using a static serilog configuration, i.e. its log level cannot be changed at runtime and cannot be configured from appsettings.
//create loggerFactory from a static configuration (not ideal)
ILoggerFactory initLogFactory = new LoggerFactory().AddSerilog(new LoggerConfiguration().MinimumLevel.Error().WriteTo.Console().CreateLogger());

return Host.CreateDefaultBuilder(args)
    .AddDynamicSerilog()
    .AddKubernetesConfiguration(null, initLogFactory) //initLogFactory is not configured with DynamicSerilog
    .AddConfigServer(initLogFactory) //initLogFactory is not configured with DynamicSerilog
    .AddDiscoveryClient()
    .AddAllActuators()
    .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());

Describe the solution you'd like
I would like to be able to pass loggerFactory in a lazy manner, so that I can build it when the DynamicSerilog is available. If that is not possible maybe those extension method may avoid to receive a loggerFactory as parameter, andthey could take it using DI instead (is it possible?).
Describe alternatives you've considered
Use a static Serilog LoggerConfiguration.

First off, thanks for the feedback, it's great to have in general. This is an enhancement we'd love to support, but unfortunately it is not our limitation - see Microsoft's guidance on logging during host construction.
AFAIK what Steeltoe offers today is close to the best we could do. I think these methods likely need to stick with Microsoft's abstractions to avoid locking into a package like Serilog for those that don't want to use it. There might be some cases where we could accept an ILogger instead of ILoggerFactory, but there might be cases where we create multiple loggers from the factory and it seems simpler (IMO) to just pass around the factory. We would certainly be open to improvements provided by the community here, but I don't think the core team would be looking to work on this area any time soon.

@DaviGia I am wondering what the use case for this is. The logFactory is only used in the build phase. So your app is not ready and available for you to change configuration dynamically. Can you please clarify? Is it that it cannot be configured from app settings?

Hi @hananiel,
the problem I'm facing is that if an error occurs during initialization phase of the microservice the error is printed using a logFactory attached to serilog that hasn't yet read the configuration from other sources (k8s resources, appsettings conf files, etc...). This is problematic in certain deployment environments (e.g. kubernetes) because the logging configuration may specify additional Serilog sinks (for example to push messages to ELK stack, that cannot be hardcoded in the code). My logging strategy is to push logs of all microservices in ELK to simplify log audit (all centralized in a single service).
The enhancement I have in mind is to find some way (if feasible, I don't know) to allow to specify an ILoggerFactory that can use DI to look for additional configuration (kubernetes resources, appsettings, config-server, etc..). Currently I haven't find a way to read Serilog configuration from IConfiguration before calling Host.CreateDefaultBuilder(args). This is required because the Steeltoe methods requires the ILoggerFactory instance immediately. I think it could work if a lazy variable/Func that consumes buildContext and produces a ILoggerFactory is accepted (i.e. it can be evaluated later when the IConfiguration service is available, provided that a buildContext is available to retrieve the IConfiguration).

@DaviGia To clarify, the requirement has to do with the ILoggerFactory respecting the available configuration and not with the dynamically changing the log level via actuators. If you have a sample with the other config sources you mention that will be great.

the requirement has to do with the ILoggerFactory respecting the available configuration and not with the dynamically changing the log level via actuators

that is true, but I think it can be discussed here (if you don't think it's a good idea let me know and I will open another issue).

If you have a sample with the other config sources you mention that will be great

I do not have a sample right now (but I can make it if you want, just tell me what you need). Currently I use Kubernetes and ConfigServer. You can use the snippet above.

Restating one more time for clarity, we believe there are two separate issues in this issue:

A logger factory should use the most-current version of app configuration (handle config provider layering adding/overwriting details)

We could conceivably come up with a lazy construction approach
Right now you can do something like this:Host.CreateDefaultBuilder(args)
 .ConfigureAppConfiguration(builder => {
     // use all config providers added before <current> to configure dedicated logger
     builder.AddConfigServer(BuildLoggerFactory(builder.Build()));
     builder.AddKubernetes(BuildLoggerFactory(builder.Build()));
 });

private static ILoggerFactory BuildLoggerFactory(IConfiguration config)
      => new LoggerFactory().AddSerilog(new LoggerConfiguration().ReadFrom.Configuration(config).MinimumLevel.Error().WriteTo.Console().CreateLogger());

I think ultimately this is nearly identical to what would happen with a lazy construction approach.

The loggers used in config providers need to be compatible with dynamic logging

I think we can use an IHostedService to swap out bootstrapped components with pieces from DI when they're all built - see first draft of such a service here

@DaviGia I have opened #780 to address this issue. When can try the PR with a sample this way, 1. The configured logger settings via any config source will be respected, 2. Dynamic logger settings will be activated and set via the logger actuator. :

   public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })
                .AddKubernetesConfiguration(null, GetLoggerFactory())
                .AddDynamicSerilog()
                .AddKubernetesActuators();

        private static ILoggerFactory GetLoggerFactory() => new LoggerFactory().AddSerilog(new LoggerConfiguration().MinimumLevel.Verbose().WriteTo.Console().CreateLogger());


server is not live

hi,
the server runs on Chrome, but can only be refreshed using f5 key. it was working after initial install and mysteriously stopped. there is no error message.
ubuntu 18.04
thanks

Same for me. Server is working, however I need refresh Chrome manually each time.
Windows 7 x64,
atom-live-server: 2.3.0,
atom: 1.27.2


Fatal error: Call to undefined function imagettfbbox()

Hi there, I'm trying to run the last part of the "Visualize" (rake project:deploy) section and am running into the following error:
users-MacBook-Pro:GTFS-viz user$ rake project:deploy --trace
** Invoke project:deploy (first_time)
** Execute project:deploy
rm -rf /Users/user/Dropbox/GTFS-viz/transit-map-master/api/geojson/*
rm -rf /Users/user/Dropbox/GTFS-viz/transit-map-master/api/gtfs-data
mkdir /Users/user/Dropbox/GTFS-viz/transit-map-master/api/gtfs-data
cp /Users/user/GD/GTFS-viz/tmp/tucson/gtfs.db /Users/user/Dropbox/GTFS-viz/transit-map-master/api/gtfs-data/gtfs.db
cp /Users/user/GD/GTFS-viz/tmp/tucson/gtfs_shapes.geojson /Users/user/Dropbox/GTFS-viz/transit-map-master/api/geojson/gtfs_shapes.geojson
cp /Users/user/GD/GTFS-viz/tmp/tucson/gtfs_stops.geojson /Users/user/Dropbox/GTFS-viz/transit-map-master/api/geojson/gtfs_stops.geojson
rm -rf /Users/user/Dropbox/GTFS-viz/transit-map-master/api/tmp && mkdir /Users/user/Dropbox/GTFS-viz/transit-map-master/api/tmp && chmod 0777 /Users/user/Dropbox/GTFS-viz/transit-map-master/api/tmp
mkdir -p /Users/user/Dropbox/GTFS-viz/transit-map-master/api/tmp/cache/db && chmod 0777 /Users/user/Dropbox/GTFS-viz/transit-map-master/api/tmp/cache/db
** Invoke project:update_settings_ft (first_time)
** Execute project:update_settings_ft
** Invoke project:update_settings_map (first_time)
** Execute project:update_settings_map
** Invoke project:update_settings_routes (first_time)
** Execute project:update_settings_routes
rm -f /Users/user/Dropbox/GTFS-viz/transit-map-master/static/images/route_icons/*.png
php /Users/user/Dropbox/GTFS-viz/transit-map-route-icon-master/route_icon.php bg=FFD457 fg=000000 t="1"

Fatal error: Call to undefined function imagettfbbox() in /Users/user/Dropbox/GTFS-viz/transit-map-route-icon-master/route_icon.php on line 69
rake aborted!
Command failed with status (255): [php /Users/user/Dropbox/GTFS-viz/trans...]
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/file_utils.rb:66:in `block in create_shell_runner'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/file_utils.rb:57:in `call'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/file_utils.rb:57:in `sh'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/file_utils_ext.rb:37:in `sh'
/Users/user/GD/GTFS-viz/Rakefile:543:in `block (3 levels) in <top (required)>'
/Users/user/GD/GTFS-viz/Rakefile:528:in `each'
/Users/user/GD/GTFS-viz/Rakefile:528:in `block (2 levels) in <top (required)>'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:240:in `call'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:240:in `block in execute'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:235:in `each'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:235:in `execute'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
/Users/user/GD/GTFS-viz/Rakefile:431:in `block (2 levels) in <top (required)>'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:240:in `call'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:240:in `block in execute'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:235:in `each'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:235:in `execute'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:150:in `invoke_task'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:106:in `block (2 levels) in top_level'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:106:in `each'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:106:in `block in top_level'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:115:in `run_with_threads'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:100:in `top_level'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:78:in `block in run'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/user/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rake/application.rb:75:in `run'
/Users/user/.rvm/rubies/ruby-2.2.3/bin/rake:33:in `<main>'
/Users/user/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `eval'
/Users/user/.rvm/gems/ruby-2.2.3/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => project:update_settings_routes

Do you have any advice on how I could handle this?

Yeah, is the PHP and GD library support
Can you post somwehere the result of your phpinfo(); ?

Hi Vasile, thanks for the response.  I'm not quite sure what you mean, though.  I'm not running this inside of a PHP app, so I'm not quite sure how I could use phpinfo(); to debug...do you mind telling me what you mean by that?  Thank you!

Hi Skrimp,
Just bumped into the same issue. If you are using PHP build in OS X then please update by brew.


⚠ Bofrost.be has degraded performance

In b01ceef, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1204 ms

Resolved: Bofrost.be performance has improved in 69366ed.


Criggie: Watch jpgtopdf.onl

Criggie requests the watch of the watch_keyword jpgtopdf\.onl. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

jpgtopdf\.onl has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Daniil in Charcoal HQ


⚠ SceneTime has degraded performance

In 99f38d3, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1337 ms

Resolved: SceneTime performance has improved in ea5b11f after 6 minutes.


NIFI-8727: Addressed bug in which ProcessSession doesn't properly dec…

…rement claimant count when a FlowFile is cloned and then the clone written to. Added automated tests to ensure that we are properly handling cases where a FlowFile is clone and then the contents modified

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Enables X functionality; fixes bug NIFI-YYYY.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically main)?

[ ] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[ ] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[ ] Have you verified that the full build is successful on JDK 8?
[ ] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Applied this patch to a production flow which previously saw rapid and unbounded content repo growth. It was applied to two nodes in a cluster, one with RocksDBFlowFileRepository and one with WriteAheadFlowFileRepository. Both had content archiving disabled. The patched nodes showed a relatively flat content repo disk utilization. All other nodes showed a consistent, unbounded growth.
+1

The consequences of this issue are very significant. Inevitably, the disk housing the content repo will reach its capacity due to lack of content cleanup of flowfiles that have left the system; the disk space being used is not actually needed. This has been an issue since NiFi 1.12.1. Should we backport this patch to previous releases?

@markobean thanks for testing & confirming. While you are obviously more than welcome to create your own personal build for your own use, within the apache community we generally do not backport patches to older releases. We simply include the fix in the next release, and users will need to ensure that they keep up-to-date in order to ensure that they have the latest & greatest.

@markap14 changes look good and happy to merge but looks like the system tests tripped up - appears to be spurious so re-running them now.  Are those tests just unreliable on this strained infra?

the system test issue appears related to them being flakey and that needs to be worked but not in this PR.
The PR appears to fix the issue noted.  +1 Merging.


[Refresh link]Replace bookmarks in repo

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
97
4
link
:white_check_mark:

msteams-platform/tabs/how-to/using-teams-client-sdk.md
93
8
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit 9bbb0d9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/apps-in-teams-meetings/enable-and-configure-your-app-for-teams-meetings.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/how-to/using-teams-client-sdk.md
:white_check_mark:Succeeded
View

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


Adding another plugin

Hi,
I am interested in using editorjs-tooltip (https://github.com/kommitters/editorjs-tooltip) as a plugin in django-editorjs-fields my application, but am having difficulties including it.
Since the plugin does not appear to be supported via cdn, I downloaded the plugin and added the js file in the dist directory to the same directory as django-editorjs-fields.js. I then appended the file via js_list.append('django-editorjs-fields/js/editorjs-tooltip.js'). Unfortunately, this did not enable the plugin.
Any advice would be appreciated.

Hi,
try:
class Post(models.Model):
    body_custom = EditorJsJSONField(
        plugins=[
            "editorjs-tooltip",
        ],
        tools={
            "Tooltip": {
                "class": "Tooltip",
                "config": {
                    "holder": "id_body_custom_editorjs_holder",  # id_{name_field}_editorjs_holder
                    "location": 'left',
                    "highlightColor": '#FFEFD5',
                    "underline": True,
                    "backgroundColor": '#154360',
                    "textColor": '#FDFEFE',
                }
            },
....

you don't need to add js files to the project. Everything is loaded from npm))

Thank you very much! I'll give that a try.

Hi, did you manage to make it work? Configuration above mentioned by @2ik doesn't seem to work for me. I'm not adding any js files localy to the project.


[11.x] Upgrade to Carbon v3

Update Carbon to ^3@dev, if needed 1 Laravel version could allow ^2.72.2 || ^3@dev to transition but would also implies some complexity to support both
Removed setTestNow override, in Carbon 3 it's synchronized already to the PSR clock
Noticing createFromId PHPDoc says it accepts Uuid and Ulid but code fails if not string so I changed it to respect its PHPDoc

Hey @kylekatarnls. When were you planning on releasing v3? It'd be best that's done before Laravel v11 is released.

I planned to check with you if Laravel would need any adjustment in this version so to try to detect as much as possible before releasing to stable.
On my side it's packed and if you don't have any major concern, I will release a beta tag this week.
Here are the main changes for 3.0

Drop PHP < 8.1

briannesbitt/Carbon#2810
briannesbitt/Carbon#2385
briannesbitt/Carbon#2070
briannesbitt/Carbon#2346

briannesbitt/Carbon#2885
briannesbitt/Carbon#1752
briannesbitt/Carbon#2340
briannesbitt/Carbon#2035
briannesbitt/Carbon#2079
briannesbitt/Carbon#2119

diffIn* will use the floatDiffInReal* behavior, all other variants will be removed

briannesbitt/Carbon#1967
briannesbitt/Carbon#2347
briannesbitt/Carbon#2519
briannesbitt/Carbon#2701
briannesbitt/Carbon#2345

@kylekatarnls Right. I'll let @taylorotwell review the code changes here.
Just want to say that we'll need a stable Carbon v3 tag before we release Laravel v11 otherwise we can't get this in. We can't release with a dev stability package.

@kylekatarnls can you summarize any significant breaking changes for us?

diffIn*
Yes, the most impactful change is in diffIn* methods. They was returning positive integer by default, they will now return float:
$after = Carbon::now()->addSeconds(2);
$before = Carbon::now();

var_dump($after->diffInSeconds($before));

This was: int(1) in Carbon 2
This is: double(-1.999508) in Carbon 3
In Carbon 3, using (int) $after->diffInSeconds($before, true) or (int) abs($after->diffInSeconds($before)) allows to get explicitly an absolute and truncated value, so the same result as in v2.
Strong typing
Strong typing added in many method parameters will disallow so usages that was never meant to be supported such as bool or null in comparison methods:
In Carbon v2 the following return arbitrary results (despite it emits E_USER_DEPRECATED notices):
var_dump($date->eq(false)); // false
var_dump($date->gte(false)); // true
var_dump($date->gt(false)); // true
var_dump($date->eq(null)); // false
var_dump($date->gte(null)); // true
var_dump($date->gt(null)); // true

In Carbon v3, PHPDoc is moving to real types so any of this will throw a TypeError, it expects DateTimeInterface or string to be passed.
falsable => nullable
create, createFromFormat , createFromIsoFormat, createFromLocaleFormat and createFromLocaleIsoFormat returned Carbon|false, it's now Carbon|null (unlocking ?-> chaining and ?? throw error handling).
Removal of some deprecated methods
setUtf8 are formatLocalized removed. formatLocalized depends on OS language package and relies on setlocale() + strftime() (the last will be removed from PHP itself). ->isoFormat() should be used instead which is embedded translation files (so one can rely to get the same translation everywhere) and is linked to Carbon locale (The current object locale that can be set with $date->locale('de') or if not set, the global one that Laravel is already setting using Carbon::setLocale('de')). And setUtf8 is no longer needed since formatLocalized is the only method that possibly had non-UTF-8 output. This might be a BC for some users, but I doubt that any Laravel package is using that internally.
No other point should be relevant for Laravel.

@kylekatarnls can you merge master from upstream to this PR.

@taylorotwell let's merge this one and then we can see if any of the nightly builds of our packages will fail.

I'm looking at the tests, I think it's on Carbon-side and needs a new beta tag

Thanks @kylekatarnls. Converted this to draft until we figured that one out.

Giving the CI a kick to pick up the new carbon tag.

@driesvints Is it fine to merge with beta version so some people having Laravel on dev-master will start to test Carbon 3 in Laravel context and may raise points not covered by tests? Of course I would release a stable tag before Laravel tags its own stable version 11

@kylekatarnls yep, perfect 👍