Build failing with  ERROR: Config value cuda is not defined in any .rc file

I build TF on a biweekly basis, the last successful build was done 3 days ago (29th Oct), but the build job is failing today, while there has been no changes in the installation script.
The build happens on an amazon linux machine with cuda 9.0 and cudnn 7.3, using the following command,
bazel build --config=opt --config=mk1 --config=cuda --copt=-mavx --copt=-msse4.2 --copt=-msse4.1 //tensorflow/tools/pip_package:build_pip_package

Some of the ralevent flags are set as follows,
export TF_NEED_CUDA=1
export TF_CUDA_VERSION="$(nvcc --version | sed -n 's/^.*release \(.*\),.*/\1/p')"
    export TF_CUDNN_VERSION="$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' $CUDNN_INSTALL_PATH/include/cudnn.h)"

The job failes with the following error message,
+ bazel build --config=opt --config=cuda --copt=-mavx --copt=-msse4.2 --copt=-msse4.1 //tensorflow/tools/pip_package:build_pip_package
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files:
/home/ec2-user/workspace/build-dl-package/src/deep-learning/tensorflow/tensorflow/tools/bazel.rc
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=0 --terminal_columns=80
INFO: Reading rc options for 'build' from /home/ec2-user/workspace/build-dl-package/src/deep-learning/tensorflow/tensorflow/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/usr/lib/a-4.2.9-py-2.7.13-dl-gpu//bin/python --action_env PYTHON_LIB_PATH=/usr/lib/a-4.2.9-py-2.7.13-dl-gpu/lib/python2.7/site-packages --python_path=/usr/lib/a-4.2.9-py-2.7.13-dl-gpu//bin/python --define with_jemalloc=true --define with_hdfs_support=true --define with_aws_support=true --define with_kafka_support=true --action_env TF_NEED_OPENCL_SYCL=0 --action_env TF_NEED_CUDA=1 --action_env CUDA_TOOLKIT_PATH=/usr/local/cuda --action_env TF_CUDA_VERSION=9.0 --action_env CUDNN_INSTALL_PATH=/usr/local/cuda-9.0 --action_env TF_CUDNN_VERSION=7 --action_env NCCL_INSTALL_PATH=/usr/local/nccl --action_env TF_NCCL_VERSION=2 --action_env TF_CUDA_COMPUTE_CAPABILITIES=3.0,3.5,5.2 --action_env LD_LIBRARY_PATH=/usr/java/jdk1.7.0_67/jre/lib/amd64/server:/usr/java/jdk1.7.0_67/jre/lib/amd64:/usr/java/jdk1.7.0_67/jre/../lib/amd64:/usr/lib/hadoop2.6/lib/native/:/usr/local/cuda-8.0/lib64:/usr/java/jdk1.8.0_121//jre/lib/amd64/server:/usr/lib/torch/install/lib:/usr/local/mpi/lib: --action_env TF_CUDA_CLANG=0 --action_env GCC_HOST_COMPILER_PATH=/usr/bin/gcc --config=cuda --define with_mpi_support=true --define grpc_no_ares=true
ERROR: Config value cuda is not defined in any .rc file

The build is run against r1.11 along with commit 89979f42e827d9eb5c349259a5aa2ec32d38c86a cherry-picked.
Should I change something?
Thank you.

This is an issue with bazel 0.19.0, use bazel 0.18.0 or see: https://github.com/tensorflow/tensorflow/issues/23401

Thank you. Sorry for creating a duplicate.


GatherBatchEvidenceMetrics_PEMetrics task failing

Bug Report
Affected module(s) or script(s)
GatherBatchEvidenceMetrics_PEMetrics
Affected version(s)

[x] Latest public release version [version?]
[ ] Latest master branch as of [date of test?]

Description
I got an error while running module GatherBatchEvidenceMetrics_PEMetrics. Here is the stacktrace:
Traceback (most recent call last):
  File "/opt/conda/bin/svtest", line 7, in <module>
    exec(compile(f.read(), __file__, 'exec'))
  File "/opt/svtest/scripts/svtest", line 53, in <module>
    main()
  File "/opt/svtest/scripts/svtest", line 50, in main
    getattr(cli, command)(sys.argv[2:])
  File "/opt/svtest/svtest/cli/pe_file.py", line 44, in main
    metrics = get_metrics(fpe, args.sample_list)
  File "/opt/svtest/svtest/cli/pe_file.py", line 62, in get_metrics
    test_record(tokens, samples_set)
  File "/opt/svtest/svtest/cli/pe_file.py", line 92, in test_record
    tu.test_iterable_size(columns, 7)
  File "/opt/svtest/svtest/utils/TestUtils.py", line 30, in test_iterable_size
    (size, len(iterable), str(iterable)))
ValueError: Expected 7 values but found 10 in: ['chr2', '32916486', '+', 'chr13chr2', '32916486', '+', 'chr13', '92720139', '-', 'NA11894']

As you know this tasks is running svtest pe-file ~{pe_file} ~{samples_list} > ~{prefix}.pe-file.tsv command, where the pe_file is ref_panel_1kg_v2.PE.txt.gz.
I extracted that file and noticed that the problem seems to be in line 299701698. Below is the content of the file from that line and the 3 previous ones:
line: 299701695 -> ['chr2', '32916486', '+', 'chr13', '83766964', '+', 'NA11894']
line: 299701696 -> ['chr2', '32916486', '+', 'chr13', '83798511', '-', 'NA11894']
line: 299701697 -> ['chr2', '32916486', '+', 'chr13', '83803983', '+', 'NA11894']
line: 299701698 -> ['chr2', '32916486', '+', 'chr13chr2', '32916486', '+', 'chr13', '92720139', '-', 'NA11894']

As you can see, the contents of line 299701698 is different from the others. Did this happened to someone before? Can you please give me some hints on what is wrong and how I can fix it?
Steps to reproduce
Not sure how to reproduce it since it's the first time this happens
Thanks

I haven't had a chance to look into this in more detail, but in the mean time I wanted to let you know that the outputs of GatherBatchEvidenceMetrics are for debugging purposes and are not used in subsequent steps of the pipeline. To disable this subworkflow, you can run GatherBatchEvidence with the input run_module_metrics set to false. This also applies to other steps of the pipeline and their corresponding metrics subworkflows.

We saw this occasionally when running gnomAD as well.  My best guess is this happens in MergeEvidenceFilesByContig in BatchEvidenceMerging.wdl. There could be an issue in the version of tabix we use that causes some newline characters to be dropped. I'm currently generating a fresh reference panel run and will be sure to check for this.

This does seem to have been addressed, probably by avoiding the use of remote bucket access with tabix, as we haven't encountered it in some time. Closing until it comes up again.


Conversation logs

Rasa Core version: 0.11.8
Python version: 3.7
Operating system (windows, osx, ...): macOS Mojave
Issue:
Hello
I am wondering where the conversation logs are located. I already tried looking into rasa_core.log but it contains only internal code related logs.
I would like to have the conversation logs like:
- Hello (user)
- How are you? (bot)
- I'm good (user)
...

Something like that. Is it possible? If so, how can it be achieved? Thanks in advance!

This is something you'd have to write a script for, all the information you need is present in that file, but to get it in that structured way you'd have to write some custom code


webRTC Stream does not run on Fully Kiosk Browser

Hello,
I don't know if it belongs here, but maybe someone has had the same problem.
I integrated go2rtc using the latest Frigate version. The latest Frigate version runs go2rtc version 1.8.4
I have a Fire Tab HD 10. It's the newest one from last year. I have this hanging in the hallway so that, among other things, I can display a live stream of the Reolink video doorbell. I copied the link to open the webRTC stream via the go2rtc interface in the browser. I have this opened automatically via HA automation via the Fully Kiosk Browser when the doorbell rings.
I have integrated both streams from the camera into go2rtc. So once the sub stream and once the main stream. The sub stream runs without any problems via webRTC, but the mainstream is not loaded. I don't have this problem with mse. The main and substream run there without any problems. The webRTC stream doesn't really run smoothly on the PC in the browser (Chrome). There are no problems accessing the stream on my iPhone in either Safari or Chrome.
The mainstream bit rate is 4096Kbps by default. I have already set this down to 1024Kbps. That didn't help either.
I think it has more to do with the device or the browser, right?
Thanks in advance for your solutions.

Sorry, I did not read the entire text. I just wanted to say webrtc over go2rtc works very well in my Fully Kiosk tablet since years.
My guess is that you are running a too old Webview.

Oh sorry. I also use only substreams with my tablet, 720P. I didn't really test higher than that.
But upgrading Webview if possible or even the Android version may help with that, I think.

I've already read about this problem with the web viewer. I thought that since the tablet is fairly current, it should fit without me having to do anything.
Do you have instructions for me on how I can update the web viewer?

If you are lucky, you can update it through Play Store. Check in Developer Options the current version you're using.

I have already tried to install the Android web viewer. However, you can still only select the Amazon WebView implementation.

When I display the main stream in HA in the form of a card, it also stutters quite a bit on the Fire Tab. I think the tablet's performance simply won't be sufficient to display the high resolution cleanly. The stream runs almost smoothly on the PC in the browser.

122 is not too old. It's this year's. But maybe because of this amazon on it... Maybe amazon crapped it somehow?
No idea.
Anyway. The only way I know to change webview is to use a magisk module.
But don't trust me, do your own research if you want to tinker with it.

That´s my stream info.
{
  "producers": [
    {
      "type": "RTSP passive producer",
      "url": "rtsp://<IP_ADDRESS>:8554/9d825245db472df29adce50a23237ca0",
      "remote_addr": "<IP_ADDRESS>:36960",
      "user_agent": "ffmpeg/go2rtc",
      "sdp": "v=0\r\no=- 0 0 IN IP4 <IP_ADDRESS>\r\ns=No Name\r\nc=IN IP4 <IP_ADDRESS>\r\nt=0 0\r\na=tool:libavformat LIBAVFORMAT_VERSION\r\nm=video 0 RTP/AVP 96\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAM6wVFKAoAPGQ,aO48sA==; profile-level-id=640033\r\na=control:streamid=0\r\nm=audio 0 RTP/AVP 97\r\na=rtpmap:97 MPEG4-GENERIC/16000/1\r\na=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1408\r\na=control:streamid=1\r\nm=audio 0 RTP/AVP 98\r\nb=AS:64\r\na=rtpmap:98 opus/48000/2\r\na=control:streamid=2\r\n",
      "medias": [
        "video, recvonly, H.264 High 5.1",
        "audio, recvonly, MPEG4-GENERIC/16000",
        "audio, recvonly, OPUS/48000/2"
      ],
      "receivers": [
        "96 H264, bytes=69838803038, senders=1",
        "97 MPEG4-GENERIC/16000, bytes=522462810, senders=1",
        "98 OPUS/48000/2, bytes=1202635072, senders=0"
      ],
      "recv":<PHONE_NUMBER>2
    }
  ],
  "consumers": [
    {
      "type": "RTSP passive consumer",
      "url": "rtsp://<IP_ADDRESS>:8554/doorbell_main?video=copy\u0026audio=aac",
      "remote_addr": "<IP_ADDRESS>:36954",
      "user_agent": "FFmpeg Frigate/0.13.2-6476f8a",
      "sdp": "v=0\r\no=- 1 1 IN IP4 <IP_ADDRESS>\r\ns=go2rtc/1.8.4\r\nc=IN IP4 <IP_ADDRESS>\r\nt=0 0\r\nm=video 0 RTP/AVP 96\r\na=rtpmap:96 H264/90000\r\na=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAM6wVFKAoAPGQ,aO48sA==; profile-level-id=640033\r\na=control:trackID=0\r\nm=audio 0 RTP/AVP 97\r\na=rtpmap:97 MPEG4-GENERIC/16000\r\na=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1408\r\na=control:trackID=1\r\n",
      "medias": [
        "video, sendonly, ANY",
        "audio, sendonly, MPEG4-GENERIC"
      ],
      "senders": [
        "96 H264, bytes=69838803038, receivers=1",
        "97 MPEG4-GENERIC/16000, bytes=522462810, receivers=1"
      ],
      "send":<PHONE_NUMBER>4
    }
  ]

Like I said. H.264 High 5.1 case of problems with many low end mobile devices.

Ah okay, thanks for the answer.
I still only have this problem with the RTC stream and not with the MSE stream. Is there a way to transcode it or something similar?

Transcoding should help. Upgrading WebView may help or may broke even more.

I've now tried transcoding. It only works with webRTC if I transcode the resolution down far enough. The sub stream only runs at a resolution of 640x 480 pixels and 256 Kbps. I don't think the Fire HD 10 can handle the high resolution paired with a bit rate that's too high.
I haven't managed to change the WebView version yet. With a decent Android tablet with better hardware, this problem probably won't occur.
But the MSE stream is completely sufficient for me and I'm happy with it.
Thanks for the help!

Did you stick with MSE or with the recent HA integrated Webrtc find a solution that works with the fire hd10? Thanks


Floating UI in a sticky header doesn't stay with the reference element

Describe the bug
Floating UI in a sticky header doesn't stay with the reference element. strategy: fixed is a workaround, but that can cause scroll jank when the sticky element isn't stuck. Ideally i think this case should work out of the box?
To Reproduce
https://codesandbox.io/s/floating-ui-react-dom-template-forked-4yvkfm?file=/src/App.js
Steps to reproduce the behavior:

Scroll the preview window

Expected behavior
Tooltip makes an effort to stay positioned to the reference element
Screenshots
If applicable, add screenshots to help explain your problem.
Context:

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

strategy: fixed is a workaround, but that can cause scroll jank when the sticky element isn't stuck. Ideally i think this case should work out of the box?

Scroll jank would occur without fixed when it is stuck though and is more noticeable than the other way around imo. Using fixed strategy is better in this scenario.

Yeah I made an attempt at toggling between fixed/absolute using an intersection observer to detect when the container is stuck but the hook didn't adapt smoothly when toggled so I tabled it till I have more time to dig into why


Adds working stripe functionality

I could use some help running DB migrations on production :)
What changes?

Adds stripe payment intent API route.
Adds create transaction API route.
Adds DB migrations.

Some Todos:

Create donationId and campaignId in the transactions table.
Delete campaignId in the variants table.

User Story:
Send OAuth authentication information via send letter button:

if payment is not received yet (via successful payment object) --> prompted to make call to stripe API
if payment is successful, we send the letter by calling Lob API
Succesful Lob API = add to transactions

Options via @teakopp :
Send data via server
Client side makes request (confirm card payment)
Unlocks send letter route (new routes as payment, can lock down all of this with check json)

Apologies for the delay but these migrations (minus the empty one) have now been executed against the production database! 🚀


In zbxgt.sh script parameter to send to chat should be "zbxtg;chat" but not a "zbxtg;channel"

From a script code:
TG_CHAT=0 # send message to chat or to private chat to user
METHOD="txt" # sendMessage (simple text) or sendPhoto (attached image)

echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};graphs" && METHOD="image"
echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};chat" && TG_CHAT=1
echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};debug" && ISDEBUG="TRUE"

TG_CHAT=0 # send message to chat or to private chat to user
METHOD="txt" # sendMessage (simple text) or sendPhoto (attached image)

echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};graphs" && METHOD="image"
echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};chat" && TG_CHAT=1
echo "${BODY}" | grep -q "${ZBX_TG_PREFIX};debug" && ISDEBUG="TRUE"

PS: Did you still support this .sh script version?

Ok, thank you for report. I don't understand what you wanted to say in title, but obviously bash script has to be the same as python script.
@Varrkan82 yes, but in minor priority.

Sorry. This report more about annotations in your HOWTO. I've spent a few hours to make a script work with a wrong instruction. :)

Annotations
zbxtg;graphs -- enables attached graphs
zbxtg;graphs_period=10800 -- set graphs period (default - 3600 seconds)
zbxtg;graphs_width=700 -- set graphs width (default - 900px)
zbxtg;graphs_height=300 -- set graphs height (default - 300px)
zbxtg;itemid:{ITEM.ID1} -- define itemid (from trigger) for attach
zbxtg;title:{HOST.HOST} - {TRIGGER.NAME} -- graph title
zbxtg;debug -- enables debug mode, some logs and images will be saved in the tmp dir (temporary doesn't affect python version)
zbxtg;channel -- enables sending to channels

Fixed!


chore(main): release audit 1.45.0

:robot: I have created a release beep boop
1.45.0 (2023-08-23)
Features

support pnpm workspaces (d22b946)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/sandworm-hq/sandworm-audit/releases/tag/audit-v1.45.0 :sunflower:


Rebranding, WIP

This PR represents a name change and some significant rebranding for the app. Also included:

simplification of onboarding
a change in the color scheme (buttons still need work)
much-needed update to the README
copyright assignment to TNData in the license.

PR is here for documentation so everyone can see what changed. Merging into master, now :boom:


How to change the modal display after a provider selceted

I want to change the modal  display when a user clicks on metamask to to show a loading text while the user accepts the request in metamask chrome extension
is it possible to close modal dynamically and show up my own?

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.


Exported var was used before it was defined in 2.9.0

Using JSHint 2.9.0, I get this error:  common-lib.js: line 2, col 5, 'commonLib' was used before it was defined. and in previous versions of JSHint I did not.  Moving the /* exported ... /* line to the end of the file resolves the symptom.  Here is a minimum sample repro project:
.jshintrc:
{
  "latedef": true
}

common-lib.js:
/* exported commonLib */
var commonLib = (function () {
  'use strict';

  return 'the common lib';
}());

command I run:
jshint .

Possible duplicate of gh-2658

The regression has been introduced in 08eb4e25962eb71f94c09f79b3b08288b91a7bce

@nicolo-ribaudo please comment if you are working on a fix and I won't start working on one..

Assuming not..

I'm sorry I didn't see you comment... Have you already started working on this?

I've started trying to think of the best solution..  the easy thing is to
not warn latedef when no usages have tokens..  or have a flag for a non
export directive on the usage state.. alternatively don't use usages, but
then we have to resolve the export directive to the right scope...
Those are my thoughts so far.  I am running out of time today though so go
ahead if you have started or have an idea..

I would probably try the flag route..  so non directive exports set
usages.codeUsage or something like that and latedef checks that. but you
might have a better idea...

Those are my thoughts so far.  I am running out of time today though so go
ahead if you have started or have an idea..

I have a fix which is almost working... (It just has a bug when exporting variables defined using /* globals)

go ahead, I will look at the PR.


switching set content is missing

Latest contents from https://dash.akamaized.net/WAVE/vectors/database.json missing switching set contents.
All of them has only one video representation cannot check the switching set tests.

Please check t1 again and let me know. I haven't changed anything but the caching on the server is extremely agressive so you may have watched an older version without noticing.

Thanks @rbouqueau I am looking at https://dash.akamaized.net/WAVE/vectors/avc_sets/15_30_60/t1/stream.mpd
Just want to make sure I understand it correctly. I can see 2 representation in t1. One is video one is audio. I think switching set need at more than one video representation isnt it?

I think switching set need at more than one video representation isnt it?

No. I believe a Switching Set can include one representation.

No. I believe a Switching Set can include one representation.
Bit confused by that. The switching tests are driven by a playout array of representations, e.g.:
"playout": [0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 1, 1, 1, 1, ... 1, 1],

so there needs to be at least 2 separate Representations?


Create a chat room for sharing code?

I propose creating a new chat room on gitter that is exclusively for comparing code solutions.  Several times the gitter chat has been completely overwhelmed by entire programs posted into the chat session.  It is awesome that people are willing to share and debug together, and I propose we support that in a separate room where people can go into particulars about a segment of code without disrupting the flow of conversation between other campers.
Is this possible?  What do campers think?

The problem with this is it would be too easy to come across solutions to other bonfires or ziplines you aren't necessarily looking for or want to see the solution to.
I like the idea though. Something like this from Codewars would be pretty great, like @mizujin mentioned to me on Gitter.

After you complete a challenge, it brings you to a page with other users' solutions to the same problem so you can see and vote on the best solutions.

@1hella that feature in currently being discussed i think in the sense that you can only view solutions to the challenges that you have completed like on the profile page's solutions so it could easily be adapted once created to have a dedicated list of the best solutions.

I agree as well. I worry that the voting feature might be a little to
competitive?
I want to reinforce though that full answers are being posted in the
freecodecamp/help gitter, which can be difficult to avoid if you haven't
completed that particular bonfire. If we had a place to look at these
solutions or reference them, it would be easier to learn from each other
while being courteous to those who have not completed as many challenges.

you wouldn't have voting maybe most clicked and new. I think someone also mentioned a compare answer button on profile pages.

Yeah Codewars is pretty competitive by nature. It would be nice to see a few different methods of solving a particular problem, not just the fastest running ones. Like recursive vs not, functional vs imperative, etc. For learning more than for glory of having the fastest solution.

Competitive yes, but some functionnalities could be very useful for someone starting out (like me). You could maybe have the execution time of the code in ms ? the only problem I see is that some users could have solved some challenges using higher functions or stuff like that, which wouldn't make sense for a noobie.

The executing time in ms wouldn't exactly be a fair test as there is no way to account for machine compute time unless you can guarantee all client machines are identical and perfect. Although if you wanted that kinda of info the attempt number is monitored (i think) and people could be given the opportunity to add links/videos/campers/etc. that may have helped them to solve the issue.

@mizujin For sure. Maybe there could be tabs for something like Beginner, Intermediate and Advanced answers.
Beginner could be using simple JavaScript for loops and such and Intermediate and Advanced could be using more complicated solutions like recursion and functional programming.
Execution time would have to be done server-side I'm sure if you would want to compare solutions. I'm not sure that's worth it but it would be really interesting to compare the speed of different solutions.

Then internet speeds become an issue and they are even less consistent than client computers particularly those campers joining us from the developing world even some developed countries that don't have the american/eng;lsh/irish/german/etc levels of networking infrastructure (Portugal is a good example of this). What you can analyse is the size of the memory used that the script tales up. That will be a consistent number that will reflect execution time and overall efficiency.

What I was thinking is after a camper submits their solution and they're done with it, the javascript could be run just on the server itself and it can measure the execution time, save that, and display it next to their solution. Somewhat like http://jsperf.com/ did.
Although I would have no idea about the logistics of implementing something like that (since I'm still a newbie to node.js and such myself), and there's a good chance it could really slow things down and possibly run into the same fate as jsperf itself did :)

That would cause gargantuan load issues that could be easily exploited. Not to mention the task of building that system.

Exactly ;)
It would be cool if jsperf went back up and had some sort of API that would do most of the work for us, but other than that it's really not worth the work or server issues it would cause.

@mizujin - I like the voting aspect of CodeWars because it tends to bring higher quality code to the top and I almost always learn something from the higher ranking solutions.  So while I can see how some people might be competitive about it, I think the benefits far outweigh the potential drawbacks.

Hi , i am Maria. I am new in coding and i need to learn the basics. The logic behind the process of programming. Please advice on how to do this. I need to help grade 6 students on basic logic for programming. Any suggestions would be great.

@mariaortuno This is the wrong place to discuss that, but please head over to our chat room and ask as much as you want.

Hello World!

We have had the code review Room for a while now.
Happy Coding!


SF: Option to apply all chapters in a book draft

Users currently need to apply draft chapters one at at time in the SF interface. This is difficult for teams wanting to view a long book directly in Paratext rather than decide chapter-by-chapter. Teams would like the option to import an entire book at a time to the project.

See https://jira.sil.org/browse/SF-2617


Fix Location serialization name (Uri -> uri).

It blocked textDocument/definition etc. as LSP clients (vscode etc.) did
not recognize Uri property.

Thank you. Merged.

Now publishing. https://www.nuget.org/packages/LanguageServerProtocol/2.0.4


Agents stop working after 20 minutes

tracing

perform not called
seems that in certain conditions the agent unlocks smart object but doesn't release current interaction, the odd aspect of this is that it takes a while before breaking and since OnInteractionFinished is passed as callback and that never breaks in my experience it is weird™

and in the case of the other agent

so nothing gets done, it seems

And when adding more agents the problems takes less time to show itself.

Cheers for the detailed rundown, I'll try and look into it this weekend.

@laurentopia sorry for how long this took. I've submitted what I think should fix the issue. With this change I've had 5 AIs run for over an hour without stalling. I think there's an issue with the Unity Navmesh agent where after a time of trying to avoid another AI it stalls out and clears the path info. I'll keep the issue open for now as I'd like to dig more into what's happening on the avoidance side and see if I can implement a fix for the underlying issue.

Fantastic, thanks for spending time investigating, I'll look at the change. Even with other pathers you run into stall, sometimes. It might be a good failsafe to add a timeout that calls FindNewBestTask() when stall is detected?

I recommend this instead of .y=0, decoupling the AI with geometry consideration.

I switched it over to a similar approach that checks the height delta and the horizontal.
else if (LinkedAgent.hasPath == false)
{
Vector3 vecToDestination = Destination - transform.position;
float heightDelta = Mathf.Abs(vecToDestination.y);
vecToDestination.y = 0f;
atDestination = heightDelta < LinkedAgent.height && vecToDestination.magnitude <= DestinationReachedThreshold;

}

That'll only work if the plane of action is perpendicular to y.

Yep, that's intentional. I do want to eventually support handling any surface orientation for the AIs but I want to do that in a single commit for clarity.

That makes sense, I'll keep an eye out for when you do that.


api/health: Add estimate playback latency for streams

What does this pull request do? Explain your changes. (required)
Adds the missing fields for the stream health exposure regarding an estimation
of the playback latency on HLS and WebRTC playback protocols.
Specific updates (required)

Create new fields in the schema
Calculate them on the API
Fix a log that was missing whitespace

How did you test each of these updates (required)
Checked the new field gets returned on the API.
Checklist

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

This has been shelved for now while we figure out the right UX for this.


runtime: significant performance improvement on single core machines

1. What version of Go are you using (go version)?
go version go1.5.4 linux/amd64

2. What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/root/go"
GOTOOLDIR="/root/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

Hosts are running stock Ubuntu 15.10:
# uname -r
4.2.0-27-generic

3. What did you do?
4. What did you expect to see?
5. What did you see instead?
Looking into performance of running containers on Docker, we realized there's a significant difference when running on a single core machine versus a multi core machine. The result seem independent of the GOMAXPROCS value (using GOMAXPROCS=1 on the multi core machine remains significantly slower).
Single core:
# time ./docker run --rm busybox true
real    0m0.255s

Multi core:
# time ./docker run --rm busybox true
real    0m0.449s

We cannot attribute that difference to Go with a 100% certainty, but we could use your help explaining some of the profiling results we've obtained so far.
Profiling / trace
We instrumented the code to find out where that difference materialized, and what comes out is that it is quite evenly distributed. However, syscalls are consistently taking much more time on the multi core machine (as made obvious with slower syscalls such as syscall.Unmount).
Using go tool trace to dig further, it appears that we're seeing discontinuities in goroutine execution on the multi core machine that the single core one doesn't expose, even with GOMAXPROCS=1.
Single core (link to the trace file)

Multi core with GOMAXPROCS=1 (link to the trace file)

Link to the binary which produced the trace files.
Host information
The two hosts are virtual machines running on the same Digital Ocean zone, with the exact same CPU (Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz). The issue was also reproduced locally with Virtual Box VM with different core numbers.
Please let us know if there's any more information we can provide, or if you need us to test with different builds of Go. Thanks for any help you can provide!
Cc @crosbymichael @tonistiigi.

@icecrime Have you tested with Go 1.7rcX?

@unclejack I haven't, but it might be worth it indeed.

@aclements have you had a chance to look at this issue? This affects a ton of downstream users of golang on multicore machines, and I'd love to hear about it!

@icecrime any changes in perf with the official release of 1.7?

@icecrime, I suspect this is not a problem with Go. According to the syscall blocking profile in the multicore trace you attached to your original message, you're spending 50ms blocked in the unmount syscall (from github.com/docker/docker/daemon/graphdriver/aufs.Unmount). There are plenty of other syscalls in that trace that you don't spend appreciable time in, suggesting that the performance problem is in unmount (possibly AUFS unmount) itself.
It would be worth trying with Go 1.7, though if it is an issue in the kernel, that won't make a difference. As an experiment, you could also try invoking just that unmount syscall from, say, C, and time that. If it also takes a long time in C, then we know it's not a Go issue. Running this under "perf record" may also prove enlightening, though if the delay comes from blocking not much will show up.

@aclements Thanks for your reply. Unmount here was just one example, as it is indeed part of the slower syscalls. However, we measured several times, and Unmount alone clearly isn't responsible for the difference.
I can remember we instrumented at multiple places in that code path, and no particular segment of that code path could explain the timings difference between single core and multi core machines. This is why we ended up thinking it might be a runtime issue.

Hi @aclements and @icecrime. Has there been any additional work on seeing whether this is indeed a runtime vs kernel issue? This has pretty serious impacts for the whole Go ecosystem if it actually is a runtime issue!


how to use in windows platform？ ：）

👍 please……

python setup.py build / bdist_egg / whatever works fine with MSVC2015/QT5.9

setup.py build doesnt work; need to give path for qmake,make and qt include, also then throws the error
Could not find qmake configuration file win32-msvc2013.

Hey cowo78, were you successful in building it ?

Nothing to do with this project, you have to properly setup your Qt & MSVC environment.
Use the qtenv2.bat and vcvarsall.bat scripts supplied with Qt & MSVC installations.

Do we need to have Qt installed or PyQt5 is enough?

Come on, this is not an issue for this project. You have to build a PyQt extension, so you'll need Qt , sip and Python development packages.

hello, I have MSVC2015 and Qt 5.14, I installed sip and make but when I run
python setup.py build
I get this error :
running build
running build_ext
Setting qmake to 'C:/qt64/qt_1544645195969/_h_env/Library/bin/qmake.exe'
Setting make to 'jom.exe'
error: [WinError 2] Impossibile trovare il file specificato

I got the same error of Biinzy... what do we need to do?

https://wiki.qt.io/Jom


rlp: eth_rlp_address() should support empty address

Hello, brother. When I tried to deploy a contract using legacy tx, I encountered an error because eth_rlp_address() doesn't support empty addresses. I try to fix it, and it works correctly on my machine.

Hi @qingfengzxr Thank you for the PR! I have a question. Why do we need this function?

Hi @qingfengzxr Thank you for the PR! I have a question. Why do we need this function?

I think it is necessary to support this feature, from these two perspectives:
1.In terms of the ETH protocol: When deploying a contract, the 'to' address should be set to null so that the ETH client can treat this transaction as a contract deployment transaction.
2.From the definition of the libethc library: libethc is defined as a library that facilitates interaction with the Ethereum network. I believe that deploying contracts is also a form of interaction, and this should be supported.

But, what if we use eth_rlp_bytes with empty bytes? Length would be 20 I guess?

    if (*len == 1 && **bytes <= 0x7F) {
      /* single 0 value is empty bytes (0x) */
      if (**bytes == 0x00)
        cframe->buf[cframe->offset++] = 0x80;
      else
        cframe->buf[cframe->offset++] = **bytes;

      cframe->len++;
      return 1;
    }

I think eth_rlp_bytes can also achieve this. Here are my modifications:
    if (*addr == NULL || strlen(*addr) == 0) {
      // Handle empty address, support deploy contract.
      uint8_t empty_address = 0x00;
      uint8_t *empty_address_ptr = &empty_address;
      size_t size = 1;
      return eth_rlp_bytes(rlp, &empty_address_ptr, &size);
    }

As you can see, it also utilizes eth_rlp_bytes to achieve this. However, I believe that eth_rlp_address() should handle this logic by default.

Hi @qingfengzxr! Sorry for the delay, could you add tests to cover this case?

@mhw0 That's okay, GitHub is not work after all. I will add the relevant tests as soon as possible.

Hello @mhw0 , I have added test cases to cover this scenario. Sorry for the delay. Additionally, the Python code for comparison and verification is as follows:
`import rlp
Empty address represented as empty bytes
empty_address = b''
RLP encode the empty address
encoded_address = rlp.encode(empty_address)
print(f'RLP encoded empty address: {encoded_address.hex()}')  # Output: '80'
Decode the RLP encoded address
decoded_address = rlp.decode(encoded_address)
print(f'Decoded address: {decoded_address}')  # Output: b''`

Merging it. Thanks!

Interesting. Some of the tests have failed after merge.

Interesting. Some of the tests have failed after merge.
Hello, @mhw0 . I try to clone the code after merge, compiled and obtained the following test program:

OPTION(ETHC_BUILD_TESTS "Build tests" ON)

and all the test cases is pass.

My machine envariment is: ubuntu22.04 / x86_64 / 64 bits
Can you provide me with a specific case of failure? I'll look into the cause.

Hi @qingfengzxr. It's failing on macOS and I think it's not related to this merge:

is(decoded_addr, "");

It seems that the validation of this code cannot pass, which is a bit strange. But, I don’t have macOS :cry:.


Unable to login to MAL tracker

Steps to reproduce

Open the app
Go to Settings > Tracker
Login to MyAnimeList after clicking on the MyAnimeList button
When logged in, you are redirected to TachiyomiJ2K

Video of shown issue: https://media.discordapp.net/attachments/1002106359183061073/1002296058510069820/Screen_Recording_20220729-012525_TachiyomiJ2K.mp4
Expected behavior
After logging into MAL, the user should be redirected back to TachiyomiS97 and the tracker should list MAL as one of the tracked websites on the apl
Actual behavior
The App does not recognise the user logging into MAL, thus will show that the user has to still log in into MAL
Crash logs
No response
TachiyomiS97 version
1.5.6
Android version
Android 12
Device
Samsung A52s
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] If this is an issue with an extension, I should be opening an issue in the extensions repository.
[X] I am reporting an issue exclusive to this fork. I have also checked that is not an issue on the main version of Tachiyomi
[X] I have tried the troubleshooting guide.
[X] I have updated the app to the latest version.
[X] I have updated all installed extensions.
[X] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] I have filled out all of the requested information in this form.

I have found the root cause of the issue. Most likely this will be addressed in the next release.

The issue was fixed. Let me know if there was any issues after the new update.


Configurable Database.syntax

I use Database.syntax all the time to inspect a database. However, most of the time I'm only interested in the names section. It would be nice to have a method to only print parts of the database
Context: https://github.com/scalameta/scalameta/blob/6ee2288a29cdcd6da404547c66cde39e21d6c8db/scalameta/semantic/shared/src/main/scala/scala/meta/internal/semantic/Syntax.scala#L41

No longer relevant, scala.meta.Database is now gone.


[window-state] App window stuck on non existing monitor

Hi, I was working with my secondary monitor (also in windows it was as secondary monitr), went on trip turned on app and here I have problem I can't get tauri window back from non existing monitor...

You can move it back by focusing the window and using the arrow keys while holding the windows key. Or deleting the .window-state file in AppData/Roaming/your-bundleid/ should help too.
To prevent this bug you should use the plugin from git instead of the published crate
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace" }

(run cargo update in your src-tauri dir afterwards)


Folders in S3 Bucket not created on Windows due to wrong Slash

This library used path.join to create the S3 bucket object name. This results in a directory\data.json object name and thus S3 does not create a directory.
Solution would be to either use a regex after the path.join in dynamo-backup.js to replace \ by / or just concatenate them with a /.

This issue makes the restoration process fail with a Could not find file in s3. error.
If I replace the backslash it works fine.
Can we merge this PR?


7z doesn't work

# ./example ../fixtures/test.7z
file  ../fixtures/test.7z
Name a
panic: runtime error: slice bounds out of range

goroutine 1 [running]:
bytes.(*Buffer).ReadFrom(0xc820053e58, 0x7fa8aea9c240, 0xc8200104b0, 0x0, 0x0, 0x0)
    /home/milann/go/src/bytes/buffer.go:174 +0x322
main.printContents(0x7fff96f26d0c, 0x13)
    /home/milann/golang/src/github.com/MStoykov/go-libarchive/example/main.go:32 +0x713
main.main()
    /home/milann/golang/src/github.com/MStoykov/go-libarchive/example/main.go:45 +0xb1

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /home/milann/go/src/runtime/asm_amd64.s:1805 +0x1

# ./example ../fixtures/test2.7z
file  ../fixtures/test2.7z
Error on reader.Next():
libarchive: FATAL [critical error, archive closing]

# ldd ./example | grep lzma
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f9e03dc5000)

After 4477d8e I don't get the panic but I always get libarchive: FATAL [critical error, archive closing].
Maybe this is a bug in libarchive ?
Could you try to write a C program that works with 7z, this will probably shine some light on what is wrong.

I wrote a test in C https://gist.github.com/gen2brain/c6745855028de8341175 . When "archive_read_open_filename" is used it works, but "archive_read_open"  next header returns error -30.
I think the problem is  that for archive_read_open to read 7z and some zip files, seek callback needs to be provided ( https://github.com/libarchive/libarchive/issues/437 , https://github.com/libarchive/libarchive/wiki/LibarchiveIO ) .
I found example implementetion in C++ here https://github.com/evilrix/catfood/tree/libarchive-issues-535 .


Fixed tests

TLDR:
The primary issue stemmed from the Id field for authors being treated as a string, leading to incorrect sorting and ID incrementation logic. The changes make tests now pass and behave as expected by treating Id as a numeric value.
Long version:

Updated GetLatestIdAuthor Method:

Fixed the logic to ensure numeric sorting of author Id values by:

Fetching all author records into memory using ToListAsync.
Parsing Id values as integers for proper numeric sorting.

This resolves issues with lexicographical sorting of string IDs (for example., "121" being treated as smaller than "16").

Fixed CreateAuthor Method:

Corrected ID incrementation by:

Parsing the latest Id as an integer.
Performing numeric addition and converting the result back to a string.

Ensured new authors are assigned the correct numeric increment of the highest existing Id.

Yeah I altered the workflow because it was necessary to provide secrets in order for oAuth to work, our integration tests fail otherwise.


Music Generation

currently loops a 5 second clip with fade in and fade out to try to make the loop sound less choppy


Remove server capabilities serialized column

The column only contained two keys (:concurrent_miqproxies and :vixDisk).
The concurrent miq proxies value was a copy of the count of smart proxy workers which was updated every time the config changed; we should just query the settings directly. My guess is that, previously we could not query settings for other servers, which meant that anything a different server needed had to be stored somewhere else in the database.
The vix disk value is still needed, but is not tied to settings so there was no reason to update it every time the settings were activated. We can also now remove the serialized column and give vix disk its own flag in the servers table. The second commit does this as well as moves the check for vix disk support to server start.
The format of the old capabilities hash is preserved in the scanning openstruct to avoid changing the vmware provider gem, but if we think that's worth changing here as well we can go that route.
requires https://github.com/ManageIQ/manageiq-schema/pull/439

Marking as wip until schema is merged and I run a cross-repo test.

Cross repo test https://github.com/ManageIQ/manageiq-cross_repo-tests/pull/21

cc @agrare @gmcculloug
@carbonin We may be able to take this one step further and move the require to an initializer in the vmware plugin that checks if vixdisk is available, and if so, setting the column value.  This would also get some vmware_web_service calls out of core for #18428

Love this approach!

The second commit does this as well as moves the check for vix disk support to server start.

Where is that?  I don't see it.


Create many tmp dir and nginx.conf file ?

Summary

Millions of temporary documents were generated

We use docker running kong.
kong will /tmp/ dir generated many resty_{string} dir and conf / logs
conf dir have one file nginx.conf
logs dir have one file error.log
How can I control KONG not to create these files? Or control the number of files ?
Thanks
dir name example
resty_AdXUGCwEWi
resty_AdTHhYWfjV
resty_AdKjKCFOZw
resty_AdLjeIpbDL

Hello @Millyn, that seems like an unusual problem. If you still have it, could you please tell us more about your setup, so we can replicate?

I hava a same issue.

Should be https://github.com/openresty/resty-cli/pull/58, fixed in OpenResty <IP_ADDRESS>/Kong 2.4

I have the same issue
Kong creates too many small files and makes the server out of inodes.
kong:2.3.1

I am going to close this issue down since the fix is in 2.4 already (with the bump in Openresty).
Please reopen if the problem persists after the upgrade.


Remove crop_scale option

Seems option crop_scale is not used but defined in PanCropFormType

I would rather make FormType use it, like on Market.
It is a common case that you don't want to show real image size to visitor because of limited screen space but you still want to crop the image.
For example on Market there are three screenshots on Item create form, it would be really impractical to show cropper in real size.


integration-docs: Update for new format (Taiga, Thinkst, Transifex, Travis CI).

Apply integration-docs' new format.
Fixes part of #29592.
Updates the following integration documentation pages:

Taiga
Doc link

Thinkst
Doc link

Transifex
Doc link

Travis CI
Doc link

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@zulipbot add "buddy review" "area: documentation (api and integrations)"

@zulipbot remove "buddy review"
@zulipbot add "mentor review"

@Niloth-p - These updates look great! I made a few small revisions and pushed those changes here.
Updates:

Taiga: I removed the note about the default topic. Most of our webhook implementations have a default topic if it's not specified by the generated URL.
Thinkst: I made the intro text more like the related Canarytokens integration. And I split the final instruction into two.
Transifex: No changes.
Travis CI: Simplified the related doc link and the final instruction. Made the configuration options an unordered list to match the format in other docs.

Screenshots:

Taiga

Thinkst

Transifex

Travis CI

Merged, thanks @Niloth-p and @laurynmm!


xr-follow component should take into account the camera rotation

The xr-follow component used to move the sword and water gun is only moving the position, not rotation.

That was intentional because it feels weird if it's fixed to camera exactly, it should probably lag or adjust only after the rotation exceeds a certain amount to prevent ti feeling like it's stuck to your head.

Of course I meant here the camera y rotation only. The lag is a good idea. I also wanted to implement that. I did another component some weeks ago to put a dialogue box in front of me, I really struggle to do that lol and I wanted to also move it with some lag if exceeds a certain amount, like how the browser window in Quest is moving actually, exactly like that.


The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.0

Describe the issue
I get the following fatal error in the logs when upgrading from helm chart 0.5.16 to 0.5.17:
postgresql 12:51:27.33 INFO  ==> ** PostgreSQL setup finished! **
postgresql 12:51:27.43 INFO  ==> ** Starting PostgreSQL **
2024-11-04 12:51:27.538 GMT [1] FATAL:  database files are incompatible with server
2024-11-04 12:51:27.538 GMT [1] DETAIL:  The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.0.

I already tried

[X] I've read and searched the documentation.
[X] I've searched for similar filed issues in this repository.

Steps to reproduce the behavior

Install helm chart 0.5.16 with persistency.
Upgrade to helm chart 0.5.17

Expected behavior
It should upgrade the helm chart without issues or human intervention.
Screenshots
No response
Exception traceback
No response
Additional context
No response

I've solved the issue for now by adding the following to the value file:
postgresql:
  image:
    tag: "16.4.0-debian-12-r9"

It would be really nice if there would be warnings and upgrade instructions somewhere.

The upgrade process for the Bitnami PostgreSQL chart can be challenging and lacks sufficient documentation. Below is the procedure I followed for a successful upgrade:
Before Upgrading:

Prevent Frontend Changes:

Set replicaCount: 0 in the values.yml file to scale down the frontend and prevent any changes during the upgrade process.

Backup the Database:

Enter the shell of the existing PostgreSQL pod:kubectl exec -it <postgresql-pod-name> -- bash

Create a PostgreSQL dump of the database and save it to the persistent directory:pg_dumpall -U postgres > /bitnami/postgresql/backup.sql

Prepare for Upgrade:

Rename the current PostgreSQL data directory to ensure it is preserved in case of issues after the upgrade:mv /bitnami/postgresql/data /bitnami/postgresql/data-old

Upgrading the Helm Chart:

Upgrade the Helm Chart:

Upgrade the Weblate chart to the desired version.

Restore the Database:

After upgrading the Helm chart, enter the shell of the newly upgraded PostgreSQL pod:kubectl exec -it <new-postgresql-pod-name> -- bash

Restore the backup by running the following command:psql -U postgres -h localhost -f /bitnami/postgresql/backup.sql

Restore Frontend Availability:

Set replicaCount: 1 in the values.yml file to scale the frontend back up and make it available again.

Post-Upgrade Cleanup:

Verify the Upgrade:

Ensure everything is working as expected by checking that the PostgreSQL instance is running correctly and the frontend is accessible.

Remove Backup Files:

Once verified, enter the shell of the PostgreSQL pod again and remove the backup files to clean up:rm /bitnami/postgresql/backup.sql
rm -r /bitnami/postgresql/data-old


Common resource manager for new messaging

Type of change

Enhancement

Description

new approach of shared resource manager for messaging ifra
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests profile=isolated-shared-infra test_only crc

:heavy_exclamation_mark: Build Failed :heavy_exclamation_mark:

@enmasse-ci run tests profile=isolated-shared-infra test_only crc

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: isolated-shared-infra
TEST_CASE:
TOTAL: 1
PASS: 1
FAIL: 0
SKIP: 0
BUILD_NUMBER: 375


Draft: tip 5 javascript code validated and in template

issue #6

[x] added proper route for driver.get in second example
[x] use case needs content
[x] summary may? need content

@aquaomarine just a question: why line 25 says content need updating? were you unable to verify it? why? if not, is it something diego can or something a user, at somepoint, would do? Or... is this secrion irrelevant for the tip? I am thinking about which message are we sending to users without content, receiving this tip

I believe @janackeh will be adding content!

Added missing content, just need a final review!


Problem regenerating product url

I had some conflicts between some product URL's. I copied product and somehow this created dublicate URL's in DB.
Now i have manually deleted all rows of one specific product (id: 23876) in table url_rewrite, but for some reason when i do php bin/magento regenerate:product:url 23876 it doesn't regenerate URL's. It seems like it cant find the product?
Output is: Done regenerating. Regenerated 0 urls for store Default Store View
It seems to be default output, when the specified product ID doesn't exists..
Any idea why this is happening?

Can't really say, but you should check whether the product exists, is attached to the default store or is otherwise lacking some information. Maybe it's not active in the current store? etc

Closed due to inactivity.


Error in log when trying to use reach block stage

What is your Quests version / build number (do not say "latest")?
Quests 5.0.3-b471
Describe the problem and how to replicate it.
When I try to add a stage to a new quest about reaching a location, I get thrown a lot of errors. Same with set block start
Any console errors to share?
https://paste.gg/p/anonymous/465914dd9148413d80723699a35fa02f

If applicable, can you provide an example quest from quests.yml?
No response

Looks like this problem was introduced recently in a7e9e41d68f3dc7c4a5844fbd44e59146e24d2aa and I'm working on a solution.

Looks like this problem was introduced recently in a7e9e41 and I'm working on a solution.

wonderful :) thank you!!

@gamelamp I think I've fixed this, but please make sure you're actually able to complete the objective.
https://ci.codemc.io/job/PikaMug/job/Quests/472/


Broken link in readme.md: Super-easy 'hard-coded' mocks (example)

Link associated with "example" is broken.

@ptrthomas I've found the broken link (it's in the readme.md of karate-netty) : src/test/java/com/intuit/karate/mock/_mock.feature
I guess it has been moved to src/test/java/driver/core/_mock.feature but I'm not sure so I prefer to let you handle it.

is fixed in develop branch, see: https://github.com/intuit/karate/tree/develop/karate-netty


Upgrade Crate to 0.55.4 raise java.io.FileNotFoundException

Hi, when I upgrade Crate from 0.55.2 to 0.55.4, the Crate start failed with following errors:
java.io.FileNotFoundException: /data3/crate-0.55.4/lib/crate-app-0.55.2.jar (No such file or directory)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:219)
        at java.util.zip.ZipFile.<init>(ZipFile.java:149)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:103)
        at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:174)
        at org.elasticsearch.bootstrap.JarHell.checkJarHell(JarHell.java:87)
        at org.elasticsearch.bootstrap.BootstrapProxy.setup(BootstrapProxy.java:171)
        at org.elasticsearch.bootstrap.BootstrapProxy.init(BootstrapProxy.java:296)
        at io.crate.bootstrap.CrateF.main(CrateF.java:50)

I listed the crate-0.55.4/lib directory, there is crate-app-0.55.4.jar, no crate-app-0.55.2.jar.
Crate 0.55.4 need crate-app-0.55.2.jar? Compile error?
Thanks.
Sincerely,
Robin

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37087154-upgrade-crate-to-0-55-4-raise-java-io-filenotfoundexception?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github).

can you provide some more information on which system you're running Crate on and how you performed the upgrade.

hi @dbarobin
do you still have the issue? could you provide some more information about your setup and how you performed the upgrade please, so we can investigate the problem.
thanks,
christian

I just deploy Crate 0.55.4 and the log records this exception.

@dbarobin does it also happend when you run bash -c "$(curl try.crate.io)" ?

I don't try this because our server is in intranet and can not connect to crate outer server.

but how did you update crate then without access to the internet?
bash -c "$(curl try.crate.io)" just downloads the tarball, extracts it and runs bin/crate inside the extracted folder

I just download the offline tarball in my own PC and transfer it to remote IDC server.

I assume, you've only replaced the lib folder.
You have to replace the whole distribution, not only the $CRATE_HOME/lib folder!

I extract it in the new directory. I'll try again.

I try again and this exception recur.

The file $CRATE_HOME/bin/crate.in.sh holds the reference to the crate-app-<VERSION>.jar
cat $CRATE_HOME/bin/crate.in.sh:
...
CRATE_CLASSPATH=$CRATE_HOME/lib/crate-app-0.55.2.jar:$CRATE_HOME/lib/*
...

That is to say, it's a bug from compiling?

Download the crate-0.55.4 tarball, extract it and  look at crate-0.55.4/bin/crate.in.sh
You will find the line
CRATE_CLASSPATH=$CRATE_HOME/lib/crate-app-0.55.4.jar:$CRATE_HOME/lib/*
Then compare it with the same file on your server.

Thanks, it's my problem.


Status code should be 400 while trying to save body with "any_body"/Or reflect changes

Steps to reproduce the behavior

Open MB UI
Add stub with request as following:
{
"headers": {},
"query": {},
"mode": "any_body"
}
Add body with some condition, e.g
"body": {
"number": {
"==": "123"
}
}
And save changes (results in 200 OK)
Reopen stub

Actual behavior

Stub's request field stays as following (without body):
{
"headers": {},
"query": {},
"mode": "any_body"
}

Expected behavior
3, 4) As the scenario is trying to make a condition for body while mode is "any_body" (which doesn't make sense), it should be either 400 on saving such changes and showing some error msg to user (like "change mode") OR continue allowing saving changes, but then reflect them in the stub after saving.

In fact it's not strictly a bug, any_body & no_body modes does not have body field, and all extra fields are discarded by server. UI misleads in these cases


StorageExplorer does not acknowledge a moved Downloads folder when downloading a blob.

Storage Explorer Version: 1.2.0
Platform/OS Version: Windows
Architecture: ia32
Steps to Reproduce:

In Windows Explorer, Right click your user Downloads folder.
Select the Location tab.
Click the "Move..." button on the dialog, and select a new location for your Downloads folder.
Once your Downloads folder has moved, Download a blob file in Storage Explorer.

Expected Experience:
On startup, Storage Explorer should default to the new location of the Windows Downloads folder.
Actual Experience:
Storage Explorer will open the Windows "Save as" dialog at the old location of the Downloads folder.
For example, if the original location of your downloads folder was "C:\Users\Username\Downloads", but you then moved the folder to "D:\Downloads". On startup, Storage Explorer will use the original location of the Downloads folder, instead of the new location.
I would like to note that this bug only happens when you first start the app - after you select the correct folder to download the blob to in Storage Explorer, the Windows prompt will remember this location for the rest of the application session.

@craxal I would call this a bug, albeit a common gotcha on Windows.  This can happen if an app is trying to construct the path itself like  %USERPROFILE%\Downloads.  The only reliable way to get the paths to special folders is to call SHGetKnownFolderPath.

It also happens when exporting CSV from table storage. The Save dialog shows you a Downloads folder, but it is not the actual location if you moved the folder.

The best we can really do here is use the Electron API app.getPath. I checked the code, and we do something like path.join(remote.app.getPath("home"), "Downloads");. Obviously, we should do app.getPath("downloads"). I'm not sure if this calls the Windows API as mentioned by @brcrista, but like I say, that's about all we can do without writing any complicated native packages.


prevent_destroy support ?

Since vpc is core for the infrastructure, its termination can cause total outage from the service. Can we have flag prevent_destroy that by default is true ? This flag acts as additional protection to prevent accidental termination.
source:
https://www.terraform.io/docs/configuration/resources.html#prevent_destroy

Hi Anton,
Ah, my bad. It would be wonderful if terraform can support the variable in lifecycle block. Thanks anyway


Revert "Bump golang.org/x/net from 0.25.0 to 0.26.0"

Reverts gravitl/netclient#816

revert x/net from v0.26.0 back to v0.25.0.  Because revert cypto is not enough, there is still compile error.  @abhishek9686 , please help review. Thanks.


fix: disable swc remove import, fix #1555

Description:
disable swc remove unused imports

BREAKING CHANGE:

Related issue (if exists):
fix #1555

Tests failed, we may need to update some tests


Provide arm Docker Container (arm64/v8)

Is your feature request related to a problem? Please describe.
Hi there, now that Docker is available for Apple's M1 chipset, a native container that runs on linux/arm64/v8 would be fantastic! Thanks for considering it.
Describe the solution you'd like
Provide above container @ https://hub.docker.com/r/tsl0922/ttyd
Describe alternatives you've considered

Using non-native amd64
Building it from the provided Dockerfile

PRs are welcomed, If it can be built on CI or using docker automated build.

PRs are welcomed, If it can be built on CI or using docker automated build.

I'll give it a stab. I was hoping it was easy because I don't know how to do it! :tongue

I'll give it a stab. I was hoping it was easy because I don't know how to do it! :tongue

@tsl0922,
I have built the docker image of ttyd for arm64 platform by implementing these changes in the code.
I have done below updates to Dockerfile and scripts/cross-build.sh files for the development of arm64 compatible docker images:

Dockerfile : Updated the tini image as well as the BUILD_TARGET value for adding the arm64 support..
scripts/cross-build.sh: Updated the musl binary download link and created the soft links for  ar and ranlib binary.

Can you please suggest which CI we can use for building, testing and pushing images? IMO, it's better to use travis-ci as it has the support for arm64 architecture.
Can you please check the changes and let me know your opinion on them?
If agreed, I will raise the PR after testing this package in CI.

@tsl0922,
I have built the docker image of ttyd for arm64 platform by implementing these changes in the code.
I have done below updates to Dockerfile and scripts/cross-build.sh files for the development of arm64 compatible docker images:

Dockerfile : Updated the tini image as well as the BUILD_TARGET value for adding the arm64 support..
scripts/cross-build.sh: Updated the musl binary download link and created the soft links for  ar and ranlib binary.

Can you please suggest which CI we can use for building, testing and pushing images? IMO, it's better to use travis-ci as it has the support for arm64 architecture.
Can you please check the changes and let me know your opinion on them?
If agreed, I will raise the PR after testing this package in CI.

@odidev Thanks for your work, tut I prefer to use actions to do it, with docker buildx.
https://github.com/docker/build-push-action#multi-platform-image

@odidev Thanks for your work, tut I prefer to use actions to do it, with docker buildx.
https://github.com/docker/build-push-action#multi-platform-image

@tsl0922 Thanks for the suggestion, I had build the docker image of ttyd for both (amd64 and arm64) architecture using the buildx method by implementing these changes in the release.yml.
Can you please check the docker image and let me know your opinion on them?
If everything's seems fine, then I will raise the PR.

@tsl0922 Thanks for the suggestion, I had build the docker image of ttyd for both (amd64 and arm64) architecture using the buildx method by implementing these changes in the release.yml.
Can you please check the docker image and let me know your opinion on them?
If everything's seems fine, then I will raise the PR.

@odidev I've made it myself, please check this commit e5fb0598dbb059dd5e52775a2a74aa540d01eb19.  ttyd is still been built via the cross toolchain, because it's faster.
@dtcooper can you test if the arm64 image on docker hub works?

@odidev I've made it myself, please check this commit e5fb0598dbb059dd5e52775a2a74aa540d01eb19.  ttyd is still been built via the cross toolchain, because it's faster.
@dtcooper can you test if the arm64 image on docker hub works?

Yay! Thank you so much. Both the latest arm64 and amd64 (with qemu emulation) run great on my Apple M1 , albeit the latter is of course slower. I consider this closed. :)

Yay! Thank you so much. Both the latest arm64 and amd64 (with qemu emulation) run great on my Apple M1 , albeit the latter is of course slower. I consider this closed. :)


Add plugin to filter entries in HAR files

Add plugin to filter entries in HAR files
Save HAR from chrome will save all requests to HAR.
Sometimes locustfile is not necessary include static files requests(js, css) and cached requests, add plugin to allow user filter entries.

Hey @xinke2411, have you seen our blacklisting mechanism? Using it you can define which HAR entries should be ignored when translating to Locustfile. Can you try it out and see whether it solves your use case?

@tortila Thanks for your suggestion. This is part of HAR content is i recorded from chrome developer tools, some requests has attribute _fromCache if it be cached. I don't want this cached requests in Locustfile. I think is a better way to add a plugin function allow customer filter requests from HAR.
{
  "log": {
    "version": "1.2",
    "creator": {
      "name": "WebInspector",
      "version": "537.36"
    },
    "pages": [
      {
        }
      }
    ],
    "entries": [
      {
        "startedDateTime": "2019-03-06T12:17:05.060Z",
        "time": 1085.550000000012,
        "request": {
          "method": "GET",
          "url": "https://www.google.com/",
          "httpVersion": "http/2.0",
          "headers": [
          ],
          "queryString": [],
          "cookies": [
          ],
          "headersSize": -1,
          "bodySize": 0
        },
        "response": {
        },
        "cache": {},
        "timings": {
          "blocked": 3.176000000082975,
          "dns": -1,
          "ssl": -1,
          "connect": -1,
          "send": 0.18399999999999972,
          "wait":<PHONE_NUMBER>000957,
          "receive":<PHONE_NUMBER>998334,
          "_blocked_queueing": 1.318000000082975,
          "_blocked_proxy": 0.85
        },
        "serverIPAddress": "<IP_ADDRESS>",
        "_initiator": {
          "type": "other"
        },
        "_priority": "VeryHigh",
        "_resourceType": "document",
        "connection": "12725",
        "pageref": "page_2"
      },
      {
        "startedDateTime": "2019-03-06T12:17:05.960Z",
        "time": 0.03399999991415825,
        "request": {
          "method": "GET",
          "url": "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png",
          "httpVersion": "http/2.0",
          "headers": [],
          "queryString": [],
          "cookies": [],
          "headersSize": -1,
          "bodySize": 0
        },
        "response": {
        },
        "cache": {},
        "timings": {
          "blocked": -1,
          "dns": -1,
          "ssl": -1,
          "connect": -1,
          "send": 0,
          "wait": 0.029000000040468876,
          "receive": 0.004999999873689376,
          "_blocked_queueing": -1
        },
        "serverIPAddress": "<IP_ADDRESS>",
        "_initiator": {
          "type": "parser",
          "url": "https://www.google.com/",
          "lineNumber": 63
        },
        "_priority": "VeryLow",
        "_resourceType": "image",
        "_fromCache": "memory",
        "connection": "12725",
        "pageref": "page_2"
      }

    ]
  }
}

Thank you for clarification, I think it's a valid concern. Until it's fixed on the Transformer side, what you can do to work around it is to start recording in a browser without any cookies, e.g. "Guest window" in Chrome.

As discussed together with @tortila, our current understanding is:

Today, it is not possible to write a Transformer plugin filtering tasks based on arbitrary fields of the corresponding log.entries[*] HAR object (like _fromCache in @xinke2411's example), because that information is not exposed by the Request class.
If that information was exposed by the Task2 class, writing a plugin to remove _fromCache requests would be quite easy: an OnScenario plugin can easily filter Scenario.children depending on the data newly exposed.
We should expose all entry fields read from the HAR, including the ones already extracted in Request. This would give access to the original HAR entry, so people don't need to add back request.url or any other field you would usually find in a HAR entry.
We must make it very clear that this additional data is exposed in a read-only fashion: any changes to that data would not be reflected anywhere else in Transformer.
As a follow-up in #24, we should add a OnScenario helper to simplify filtering tasks on arbitrary HAR fields.

I will take the liberty of renaming this issue to better reflect the work that needs to be done. Feel free to edit too.

Hey @xinke2411, new version of Transformer: 1.1.2 was just published and it should contain the changes you requested.  Let us know if you spot any issues with that or anything else in the project. Happy coding 🤓


Bug: Project can fail to build if the .xcodeproj file is renamed

Describe the bug
If the project uses internal rules_xcodeproj files, which will almost always be the be the case (e.g. uses generated files, compile stub, etc.), those paths are hardcoded to include the path to the .xcodeproj file. So if the project file is renamed, the build can fail.
Expected behavior
We can probably get around this by creating a Run Script target that generates these files into Derived Data instead of creating them at project generation, and reference those in the project instead. I'm not 100% sure on that though, as BUILT_PRODUCTS_DIR is currently set differently for each target. Maybe we can get that back to a stable location, while still having targets produced into the bazel-out/-like directory structure.
If we can't fix this to "just work", we can have the build fail in a predictable way similar to one of the suggested fixes to #201. If PROJECT_FILE_PATH is different than expected we can require a regeneration of the project.

I’m not sure of all the failure modes you’re trying to avoid, but I believe both rules_ios and Tulsi install these files into the Xcode project directory themselves (i.e. My.xcodeproj/.bazel). At least things like stubs, and are easily referenced with PROJECT_DIR

That's where they are now. There wasn't a PBXSourceTree that allowed me to easily reference them with PBXFileReference. I'll check to see if I missed one though.

So this is super interesting. If I use PBXSourceTree.custom("PROJECT_FILE_PATH"), the project navigator doesn't work (all the files are always red), but the project still compiles correctly. This is probably because PROJECT_FILE_PATH isn't set yet for the navigator, but by the time the build system gets to resolving the PBXFileReference, it is set.
Only the compile stub needs to be a PBXFileReference. The rest I can just reference via PROJECT_FILE_PATH regardless.
If I could find a way to have a PBXFileReference without it showing in the navigator, that would be best. Otherwise I think generating the compiler stub to BUILT_PRODUCTS_DIR, while leaving the rest in place, but no longer in the project navigator, is the best path forward.

I'm thinking the best we will be able to do for this is detect it in BazelDependencies, comparing the hardcoded value used in the Project navigator to PROJECT_FILE_PATH and bailing early. As it stands, any renamed projects with external dependencies or generated files will fail to build.

With https://github.com/buildbuddy-io/rules_xcodeproj/pull/880 and https://github.com/buildbuddy-io/rules_xcodeproj/commit/b79ee534a94eedf8d32c1fe4a3c6008650ee1e4b, we no longer have the project file path referenced directly.


Feature request: Set "Enable Sending" for certain applications only

At first, I'd like to thank you for the great application you develop and share for free. At first glance, adrilight looked like a gadget for nerds to me. But after a while, I noticed less eyestrain as well as better immersion in games and movies.
Anyhow, I'd like to share my idea for an improvement. How about a function that offers an application-based enabling of the "Enable Sending"-switch? Most users probably use their computers for office work and web browsing as well. This often leads adrilight to project a cold, static white light towards the wall. So how about an application filter, which enables the light output only for user-selected applications or maybe 3D-applications?

I know, this issue was actually earlier but I close it because the other issue #66 has more comments already.

see #66


when i run the exam

[tusd] event="RequestIncoming" method="POST" path=""
[tusd] event="UploadCreated" id="8d92ea04a7149a1d4ad66f440c14de93" size="112464" url="http://<IP_ADDRESS>:8080/files/8d92ea04a7149a1d4ad66f440c14de93"
[tusd] event="ResponseOutgoing" status="201" method="POST" path=""
[tusd] event="RequestIncoming" method="PATCH" path="8d92ea04a7149a1d4ad66f440c14de93"
[tusd] event="ResponseOutgoing" status="500" method="PATCH" path="8d92ea04a7149a1d4ad66f440c14de93" error="Lockfile created, but doesn't exist"

Can you please provide more information about your setup? In particular, the used operating system and whether you use a file system over a network?

ubuntu 16.04
go get github.com/tus/tusd
then,i run
package main

import (
	"fmt"
	"net/http"

	"github.com/tus/tusd"
	"github.com/tus/tusd/filestore"
)

func main() {
	// Create a new FileStore instance which is responsible for
	// storing the uploaded file on disk in the specified directory.
	// This path _must_ exist before tusd will store uploads in it.
	// If you want to save them on a different medium, for example
	// a remote FTP server, you can implement your own storage backend
	// by implementing the tusd.DataStore interface.
	store := filestore.FileStore{
		Path: "./uploads",
	}

	// A storage backend for tusd may consist of multiple different parts which
	// handle upload creation, locking, termination and so on. The composer is a
	// place where all those seperated pieces are joined together. In this example
	// we only use the file store but you may plug in multiple.
	composer := tusd.NewStoreComposer()
	store.UseIn(composer)

	// Create a new HTTP handler for the tusd server by providing a configuration.
	// The StoreComposer property must be set to allow the handler to function.
	handler, err := tusd.NewHandler(tusd.Config{
		BasePath:      "/files/",
		StoreComposer: composer,
	})
	if err != nil {
		panic(fmt.Errorf("Unable to create handler: %s", err))
	}

	// Right now, nothing has happened since we need to start the HTTP server on
	// our own. In the end, tusd will start listening on and accept request at
	// http://localhost:8080/files
	http.Handle("/files/", http.StripPrefix("/files/", handler))
	err = http.ListenAndServe(":8080", nil)
	if err != nil {
		panic(fmt.Errorf("Unable to listen: %s", err))
	}
}

And i try upload file with https://github.com/eventials/go-tus

go 1.7

my running environment is go 1.9

and i use filestore

and my file tree
.
├── client
│   ├── client
│   ├── client.go
│   └── my-file.txt
└── server
├── server
├── server.go
└── uploads

.
├── client
│   ├── client
│   ├── client.go
│   └── my-file.txt
└── server
├── server
├── server.go
└── uploads

I will deploy my program on the server, it can run, is my file permissions set right?

is my file permissions set right?

Good thinking, however, your file tree does not contain information about file permissions. Please run ls -lR and provide the output.

Thanks for your reply, this is my directory structure
and i use root run the server
.:
总用量 6762
drwxrwxrwx 1 root root       0 11月  6 14:10 ./
drwxrwxrwx 1 root root       0 11月  3 15:59 ../
-rwxrwxrwx 1 root root 6917533 11月  6 14:10 server*
-rwxrwxrwx 1 root root    1603 11月  6 13:54 server.go*
drwxrwxrwx 1 root root    4096 11月  6 13:56 uploads/

./uploads:
总用量 8
drwxrwxrwx 1 root root 4096 11月  6 13:56 ./
drwxrwxrwx 1 root root    0 11月  6 14:10 ../
-rwxrwxrwx 1 root root    0 11月  6 13:43 4a4d0e304d565b73bd21b4f9fb5b25c4.bin*
-rwxrwxrwx 1 root root  160 11月  6 13:43 4a4d0e304d565b73bd21b4f9fb5b25c4.info*
-rwxrwxrwx 1 root root    0 11月  6 13:53 4bfc003bfd16fa19423bf30cdfc9a69f.bin*
-rwxrwxrwx 1 root root  159 11月  6 13:53 4bfc003bfd16fa19423bf30cdfc9a69f.info*
-rwxrwxrwx 1 root root    0 11月  6 13:42 738bfca8f26a4c0d64de1667a1d9a95c.bin*
-rwxrwxrwx 1 root root  160 11月  6 13:42 738bfca8f26a4c0d64de1667a1d9a95c.info*
-rwxrwxrwx 1 root root    0 11月  6 13:56 8085ec9fb5bdecbac4e22d442ec4e9d1.bin*
-rwxrwxrwx 1 root root  159 11月  6 13:56 8085ec9fb5bdecbac4e22d442ec4e9d1.info*
-rwxrwxrwx 1 root root    0 11月  6 13:41 8b1038ec31ca51863c2bdee908224ac2.bin*
-rwxrwxrwx 1 root root  160 11月  6 13:41 8b1038ec31ca51863c2bdee908224ac2.info*
-rwxrwxrwx 1 root root    0 11月  6 13:47 a134edd5c041c7d4ff436f52b4971989.bin*
-rwxrwxrwx 1 root root  159 11月  6 13:47 a134edd5c041c7d4ff436f52b4971989.info*
-rwxrwxrwx 1 root root    0 11月  6 13:42 e835a07b27d4767b42c60f8c47b733fb.bin*
-rwxrwxrwx 1 root root  160 11月  6 13:42 e835a07b27d4767b42c60f8c47b733fb.info*

Although it's not recommended to use 0777 for uploaded files, I don't think that this should be a problem. I attempted to reproduce your issue but I wasn't able to. What file system are you using? Could you please provide the output of df -T?

Closing this issue due to a lack of information. Feel free to leave a comment if you want to continue the discussion :)