Unable to connect to vtrust-flash

Hey @kueblc!
Thanks for the amazing work you have done on this project and your continued support.
I'm having issues connecting to the SSID vtrust-flash which is being broadcasted, my phone says unable to connect.
I've tried with both Ubuntu 18.04 and Raspberry Pi desktop running on Oracle VM VirtualBox. For the wifi adapter I'm using Ralink RT5370. I've tried both docker image and regular start_flash.sh method and got stuck at the same step where I'm supposed to connect to vtrust-flash on my phone.
Let me know if you need more information. Appreciate your help and support.
Thanks
Jay
Checking for network interface wlan0... Found.
Checking UDP port 53... Occupied by dnsmasq with PID 2227.
Port 53 is needed to resolve DNS queries
Do you wish to terminate dnsmasq? [y/N] y
Attempting to stop dnsmasq.service
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Occupied by mosquitto with PID 2484.
Port 1883 is needed to run MQTT
Do you wish to terminate mosquitto? [y/N] y
Attempting to stop mosquitto.service
Checking TCP port 8886... Available.
sudo: ufw: command not found
Starting AP in a screen...
  Starting web server in a screen
  Starting Mosquitto in a screen
  Starting PSK frontend in a screen
  Starting Tuya Discovery in a screen
======================================================
IMPORTANT

Connect any other device (a smartphone or something) to the WIFI vtrust-flash
   This step is IMPORTANT otherwise the smartconfig may not work!
Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
   Make sure nothing else is plugged into your IoT device while attempting to flash.
Press ENTER to continue
^C======================================================

Hi Jay,
Can you check your /scripts and /backup directories to see if you have any *.log files?

Hi Colin,
Thanks for a quick turnaround on this. I'm attaching those logs.
Jay
On Sat, Feb 22, 2020 at 5:13 PM Colin Kuebler<EMAIL_ADDRESS>wrote:

Hi Jay,
Can you check your /scripts and /backup directories to see if you have
any *.log files?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ct-Open-Source/tuya-convert/issues/551?email_source=notifications&email_token=AEA3FGWPQ4I2AI45XXRPCUTREGPPJA5CNFSM4KZUPFEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMVLZIA#issuecomment-590003360,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEA3FGTTZEFFNZKMJORVVCLREGPPJANCNFSM4KZUPFEA
.

smarthack-wifi.log
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log

i have the same problem. tried with 2 different devices.
using debian stretch with wifi adaptor.
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log

Are you able to successfully use the hotspot feature of the OS?

If you have create_ap installed, you could also try the create-ap fork.
git clone -b create-ap https://github.com/kueblc/tuya-convert.git

Are you able to successfully use the hotspot feature of the OS?

Was that question for me? I haven't used it

@kueblc: I just bought a raspberry pi 4b and installed Raspbian Buster Lite on it and ran the start_flash but this time I don't even see the vtrust_flash ssid. Please see the log attached. Am I missing wifi drivers?
smarthack-wifi.log

@kueblc: I just bought a raspberry pi 4b and installed Raspbian Buster Lite on it and ran the start_flash but this time I don't even see the vtrust_flash ssid. Please see the log attached. Am I missing wifi drivers?
smarthack-wifi.log

It's fixed and I was able to successfully flash one of the tuya switches I had. Not sure exactly what I did to fix it but couple of reboots and setting up wifi network through raspi-config fixed it for me.
I will attempt to flash it on the VM again just to see if it works and post my update just so it helps others who are having the same issue

If you have create_ap installed, you could also try the create-ap fork.
git clone -b create-ap https://github.com/kueblc/tuya-convert.git

Still unable to connect to vtrust-flash. What am I missing?
smarthack-wifi.log

I did note this in your log:
rfkill: WLAN soft blocked

Which you can address with rfkill unblock wifi

Hello, I seem to have the same problem, i've attached my file - although it seems related to "wlan0 could not connect to kernel driver" error instead, any idea how to fix that mr wise kueblc :)
smarthack-wifi.log
I tried your command with "rfkill unblock wifi" which seems to have removed that block, now i have the issue with the kernel...

Don't worry about:
wlan0: Could not connect to kernel driver

This is not a problem unto itself.
Do you see vtrust-flash SSID from another device?

Ok cool.
No i dont, i've tried to search for it under WiFi settings under two different android phones and 1 laptop.. nothing shows up in the available WiFi's, I have even tried to make a manual network, no luck.
It should just appear as a standard WiFi network right?

Yeah now i see it, seems like your command worked after a bit of patience :)
Now i just have to figure out the last step of flashing the Gosund plugs :)
Thanks!

If you have create_ap installed, you could also try the create-ap fork.
git clone -b create-ap https://github.com/kueblc/tuya-convert.git

Still unable to connect to vtrust-flash. What am I missing?
smarthack-wifi.log

@kueblc I noticed that if I remove the setting --redirect-to-localhost setting in the line 20 of start_flash.sh. I'm able to connect to vtrust-flash with the VM approach but I'm still unable to flash. Does this help to understand what could be causing the issue?

This could mean that the device you are connecting with expects an internet connection, and disconnects when it realizes there is none. However this is intended, we do not want a connection to the outside internet, so you must force the device to stay connected anyway.
With my Android device, it might say something like "No internet connection, won't automatically reconnect", but if I manually reconnect after that it will stay.
Do any other logs show activity?

This could mean that the device you are connecting with expects an internet connection, and disconnects when it realizes there is none. However this is intended, we do not want a connection to the outside internet, so you must force the device to stay connected anyway.
With my Android device, it might say something like "No internet connection, won't automatically reconnect", but if I manually reconnect after that it will stay.
Do any other logs show activity?

i'm using an iPhone to connect to the AP and it does allow to connect to networks which doesn't have internet connections. I have tried to connect to vtrust-flash from my windows laptop and it says unable to connect too. I know that the usb wifi adapter is capable of hosting an AP. I have tried following create_ap examples and I'm able to connect to the ap i made up.
Bridged Internet sharing:
create_ap -m bridge wlan0 eth0 testnet
Bridged Internet sharing (pre-configured bridge interface):
create_ap -m bridge wlan0 br0 testnet
Also if I comment the below line it aloows me to connect to vtrust-flash. My guess is there is something happening in redirecting to the fake webserver created at <IP_ADDRESS>
$screen_with_log smarthack-web.log -S smarthack-web -m -d ./fake-registration-server.py
I will attach the logs in the next reply.
wifi adapter that I am using
https://www.canakit.com/raspberry-pi-wifi.html

smarthack-mqtt.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log

Windows events:
Interface name: Intel(R) Dual Band Wireless-AC 8265
Interface type: Native Wi-Fi
Profile: Discovery connection
SSID: vtrust-flash
SSID length: 12
Connection mode: Infra
Security: No
Connect even if network is not broadcasting: No
Result of diagnosis: Problem found
Root cause:
Wireless association to "vtrust-flash" failed for an unknown reason
Detailed root cause:
802.11 connection failed due to status code 1: unspecified failure
Repair option:
Try connecting to "vtrust-flash" again
If the problem continues, try resetting the access point, or contact the network administrator or your hardware manufacturer for further assistance.
Root Cause: Wireless association to "vtrust-flash" failed for an unknown reason
Root Cause Guid: {5c92e4e9-4699-418c-9db6-82d57dcbf59f}
Repair option: Try connecting to "vtrust-flash" again
If the problem continues, try resetting the access point, or contact the network administrator or your hardware manufacturer for further assistance.

For me the whole procedure is not working and I've debugged it down to the vtrust-flash SSID
I understand that its using hostapd to create the  SSID and dnsmasq to provide the dhcp addresses.
What happens for me is that when I first try to connect my smartphone to the vtrust-flash network I don't get a sustained connection under Android 10.  Andoid 10 keeps trying and failing.   I tired an iOS smartphone, but it too is having difficulty.
I am using a Pi 3B+ with Buster and all fixes applied

Presumably if the smartphone (first device) can get a WiFo connection with valid  10.42.42..x address then it is pointless going to the next step where you try to talk to the power switch (in my case)
---   log of session ---
./start_flash.sh
tuya-convert v2.4.3
Checking for network interface wlan0... Found.
Checking UDP port 53... Available.
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Available.
Checking TCP port 8886... Available.
sudo: ufw: command not found
Starting AP in a screen
Starting web server in a screen
Starting Mosquitto in a screen
Starting PSK frontend in a screen
Starting Tuya Discovery in a screen
======================================================
IMPORTANT

Connect any other device (a smartphone or something) to the WIFI vtrust-flash
This step is IMPORTANT otherwise the smartconfig may not work!
Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
Make sure nothing else is plugged into your IoT device while attempting to flash

NOW I SHOW YOU LOGFILE
tail -f smarthack-wifi.log
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr b8:27:eb:12:75:b9 and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED c0:ee:fb:4a:ab:cf
wlan0: AP-STA-DISCONNECTED c0:ee:fb:4a:ab:cf
wlan0: AP-STA-CONNECTED 20:a2:e4:78:56:ef

I notice on the iPhone  the IP address that is shown is not in the correct range, and then on subsequent trying I get
Unable to join the network "vtrust-flash" on iPhone

So back to the point....   Pi 3B+ with buster latest,   ran your script  (that used to work fine), now the sticking point seems that cant first attach with smartphone, and rest of script goes nowhere, i.e. to be never finds by teckin sp23 to flash    (and of course I checked its the oldvariety using tuya-discovery.py )

I did note this in your log:
rfkill: WLAN soft blocked

Which you can address with rfkill unblock wifi

I ran into the same issue and this fixed it for me! Just wanted to let you know.

I've got an RPi4, I seem to have similar issues as above, no vtrust-flash network appearing. And the same start_flash log:
pi@raspberrypi:~/tuya-convert $ ./start_flash.sh
tuya-convert v2.4.3
Checking for network interface wlan0... Found.
Checking UDP port 53... Occupied by dnsmasq with PID 445.
Port 53 is needed to resolve DNS queries
Do you wish to terminate dnsmasq? [y/N] y
Attempting to stop dnsmasq.service
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Occupied by mosquitto with PID 395.
Port 1883 is needed to run MQTT
Do you wish to terminate mosquitto? [y/N] y
Attempting to stop mosquitto.service
Checking TCP port 8886... Available.
sudo: ufw: command not found
Apologies as I'm really new to this, but I cannot seem to figure out how to obtain the log files.

@dcolling check inside your tuya-convert/scripts/ directory for .log files.

running 'sudo rfkill unblock all' fixed this issue for me

I have the same issue on RPi 4. I have flashed many devices with no problem using Ubuntu running on an old MacBook Pro, but I cannot connect to vtrust-flash with the Pi.
Configuring AP interface...
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr dc:a6:32:66:c6:df and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED 34:42:62:e3:64:9a
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED 34:42:62:e3:64:9a
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
AP closed
Stopping DNSMASQ server...

I have the same issue on RPi 4. I have flashed many devices with no problem using Ubuntu running on an old MacBook Pro, but I cannot connect to vtrust-flash with the Pi. I can see vtrust-flash but a connection is never established. I have tried with iPhone and also with a script running on another ESP8266.
Configuring AP interface...
RTNETLINK answers: File exists
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
wlan0: Could not connect to kernel driver
Using interface wlan0 with hwaddr dc:a6:32:66:c6:df and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED 34:42:62:e3:64:9a
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED 34:42:62:e3:64:9a
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
AP closed
Stopping DNSMASQ server...

I managed to get it working, I confirmed hostapd was working ok by doing this. It seemed to take a lot longer to connect to vtrust-flash than it does with my Ubuntu box, so I am not sure if I was just being impatient.

I had kind of the same problem. I could (sometimes) see the SSID of the vtrust-flash.
What worked for me (after many hours of not finding the bug whatsoever) was changing the Wifi channel of the network. You can do this by changing the value of "channel" in the file "scripts/hostapd.conf" to a value between 1 and 14 that fits best for your environment/neighborhood. I used the Wifi Analyzer app for finding empty channels. (https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&hl=en)
I live in a house with some shitty routers that wont search for empty channels but just use channel 1. So 3 other routers where simply just "louder" than the little wifi dongle I bought.
Thought i'd share it in case someone runs into the same issue.

I've tried all of the suggestions except for the create-ap.  None of my devices will connect to the vtrust-flash AP.  Running tuya-convert on a fresh Debian Buster with the Ralink RT5370 usb2.0 wifi adapter.
smarthack-mqtt.log
1603387165: mosquitto version 1.5.7 starting
1603387165: Using default config.
1603387165: Opening ipv4 listen socket on port 1883.
1603387165: Opening ipv6 listen socket on port 1883.
smarthack-psk.log
smarthack-udp.log
Listening for Tuya broadcast on UDP 6666
Listening for encrypted Tuya broadcast on UDP 6667
smarthack-web.log
Listening on <IP_ADDRESS>:80
smarthack-wifi.log
System info
94acc3b
Linux debian 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux
OpenSSL 1.1.1d  10 Sep 2019
Dnsmasq version 2.80  Copyright (c) 2000-2018 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfile
This software comes with ABSOLUTELY NO WARRANTY.
Dnsmasq is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License, version 2 or 3.
hostapd v2.8-devel
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2019, Jouni Malinen<EMAIL_ADDRESS>and contributors
Python 3.7.3
./setup_ap.sh: line 19: rfkill: command not found
Attempting to stop wpa_supplicant
Stopping NetworkManager...
Configuring AP interface...
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlx70f11c4bf34e...
Configuration file: /dev/stdin
Using interface wlx70f11c4bf34e with hwaddr 72:e0:a8:0c:cc:96 and ssid "vtrust-flash"
wlx70f11c4bf34e: interface state UNINITIALIZED->ENABLED
wlx70f11c4bf34e: AP-ENABLED

Dear all,
@Raumzeit shard following information, which has resolved my connection issue with vtrust-flash:
https://github.com/ct-Open-Source/tuya-convert/issues/892#issuecomment-1100248239


Pass Android MotionEvent's size to the framework

We currently omit the MotionEvents' pointer size.
While apparently we do not need it in the framework, when recomposing MotionEvent objects from pointer events (in order to pass them to embedded Android views) we are missing this value.

Currently the integration test for the Android MotionEvents excludes the size from the parameter, once this is fixed we should be able to delete this line: https://github.com/flutter/flutter/blob/0c6c61988dbd2276ecf01bb0eb7a2c49fc800915/dev/integration_tests/android_views/lib/motion_event_diff.dart#L128
and fix the TODO here: https://github.com/flutter/flutter/blob/0c6c61988dbd2276ecf01bb0eb7a2c49fc800915/packages/flutter/lib/src/rendering/platform_view.dart#L409


Is created account can use IMAPLIB?

Hi, want to ask, is the account that generated can accessed by imaplib?
thanks for the update!

Hi, No you have to make the login requests before using imap ,i think i will make it later .


[Addition]: Hotspot that witnessing with the whole world!

Hotspot b58 Addresses
11hsyViz32idrBHSrX4V5rdwwQJaZB4YnyV5vCkXVcfRTS8uYhj
Discord Handle
anil91gr
Reason(s)
Please check out the hotspot called Virtual Onyx Puma, it's supposedly 1.2 dbi and 0 meters (all cheaters are reporting 1.2 dbi 0 meters lately), but it's also a hotspot that communicates with the whole world and earns 13 HNT per day. While we are constantly looking for better antennas and better locations, how can these cheaters succeed? We are really retarded. This situation is getting very annoying now, how can it be so easy to fool this system? This hotspot witnessing the middle east, as far as northern europe. Please see for yourself, you will be very surprised
https://explorer.helium.com/hotspots/11hsyViz32idrBHSrX4V5rdwwQJaZB4YnyV5vCkXVcfRTS8uYhj

Dude, this guy is reported 50 times by now..

Dude, this guy is reported 50 times by now..

But it still continues to make money, it will most likely continue for days. These people are actually stealing from all of us.

It's been reported and also added in a pull request. You can close the issue.


Jump to steps not working anymore since 1.0.3.SNAPSHOT

I create a story with several matching steps : OK
steps appear in brown without red cross or underline
I want to jump to a step (from story to java code) by ctrl+click : KO I always have the popup "no step is matching", even when step is matching.

Is there any solution in the near future for this?
I'm having the same problem...I guess. It ends up with a NullpointerException.

IF it is the same issue. The solution is to use the project as top level one in the eclipse workspace, the source folder must be a source folder of the project currently opened and within which the story editor is opened.
Eclipse workspace:
|
+-- MyProject
|       +-- SubProject1
|       |        +-- src/main/java
|       |         |        +-- ... xxxStep.java
|       |        +-- src/stories
|       |                  +-- ... xxx.story
must be opened:
+-- MyProject
...
+-- SubProject1
+-- src/main/java
|        +-- ... xxxStep.java
+-- src/stories
+-- ... xxx.story
IF it is not the same issue, then you should provide more informations, such as the corresponding and full stacktrace you mentionned.

Not reproductible with the current informations
Step detection has been changed for next release, so it may have been fixed in the meanwhile.
But still: Maven submodule MUST be imported as dedicated project in the workspace

I do have the same issue with 1.0.4. Step navigation works sometimes but rarely. The funny thing is that the editor recognizes the steps and even highlights the parameters. Yet when Ctrl+Click is issued the abovementioned error message appears. Sometimes you can get it to work when a new story file is created and a step is used.
The project is a root maven project (no modules), imported via m2e in eclipse indigo.
Otherwise this plugin is great and seems to do almost everything I would want it to!
I have no clue where to look for an error message. Eclipse's .log file only shows info messages indicating a refresh of the steps cache which seems to happen several times when hovering over a step.

I will add a debug option available through the preference page, in order to have more information in Eclipse's .log file.
I'm unable to reproduce this issue with my data (i'm using the project that lie in sample directory).

Thanks for your feedback on 1.0.4

Issue 16 created

FYI corresponding code can be found there:
For the Ctrl+Mouse click:

StepUtils#jumpToDeclaration

For the Ctrl+J

StoryEditor#jumpToMethod
StepUtils#jumpToSelectionDeclaration
StepUtils#jumpToDeclaration

Then in all cases:
StepLocator#findFirstStep
i should probably trim the  searched step, or attempt with several trim variation.

I personally think that LineParser#extractStepSentence would be the best place to remove trailing newlines, since this is already done partially in MarkingStoryValidator#extractStepSentenceAndRemoveTrailingNewlines. But I don't know enough of the code to fully understand the implications...
Anyways: Thanks for the quick response! I am eagerly waiting to roll out this plugin in our team...


[react] HMR not working with HOC

Describe the bug
Description
There is a very odd behavior in my project with HMR not updating what the browser is displaying after editing a component.

I have a page component About in src/About.tsx that is used as an element for react-router <Route> in src/App.tsx.
This page component About is also wrapped with HOC withRandom from src/withRandom.tsx.
A Component defined in the same src/About.tsx file is wrapped with HOC withCounter from src/withCounter.tsx and used as one of children of About component

This combination makes HMR not working as expected because any editing to About component is not updating what is being displayed by the browser.
Findings
Updating
original text
 in About component does not update the text displayed in the browser.
const Component = memo(() => (

    This is component defined in about.tsx

));

const ComponentWithCounter = withCounter('You are finally awake.', Component);

const About = withRandom(
  'One does not simply reproduce a bug in isolated environment',
  memo(() => {
    return (
      <>
        This is about component

          <ComponentWithCounter>
            {({ decrement, increment }) => (
              <>
                <button onClick={increment} type='button'>
                  +
                </button>
                <button onClick={decrement} type='button'>
                  -
                </button>
              </>
            )}
          </ComponentWithCounter>

original text

      </>
    );
  })
);

But after removing/commenting out anything related to withCounter HOC About component reacts to changes as it should:
import { memo } from 'react';

// import { withCounter } from '@/withCounter';
import { withRandom } from '@/withRandom';

// const Component = memo(() => (
//

//     This is component defined in about.tsx
//

// ));

// const ComponentWithCounter = withCounter('You are finally awake.', Component);

const About = withRandom(
  'One does not simply reproduce a bug in isolated environment',
  memo(() => {
    return (
      <>
        This is about component

          {/* <ComponentWithCounter>
            {({ decrement, increment }) => (
              <>
                <button onClick={increment} type='button'>
                  +
                </button>
                <button onClick={decrement} type='button'>
                  -
                </button>
              </>
            )}
          </ComponentWithCounter> */}

original text - changed!

      </>
    );
  })
);

Same goes for removing/commenting out anything related to withRandom:
import { memo } from 'react';

import { withCounter } from '@/withCounter';

const Component = memo(() => (

    This is component defined in about.tsx

));

const ComponentWithCounter = withCounter('You are finally awake.', Component);

const About = memo(() => {
  return (
    <>
      This is about component

        <ComponentWithCounter>
          {({ decrement, increment }) => (
            <>
              <button onClick={increment} type='button'>
                +
              </button>
              <button onClick={decrement} type='button'>
                -
              </button>
            </>
          )}
        </ComponentWithCounter>

original text

    </>
  );
});

However I see changes in network tab - the browser just does not update for some reason:

Steps to reproduce

Open the provided reproduction case
Start vite (if it is not already running) with npm run vite:start
in src/About.tsx edit text in
 tag of About component
Browser should be updated with new text that was just edited in the previous step but it isn't

Reproduction
https://stackblitz.com/edit/node-tqfxtx?file=src%2FAbout.tsx
System Info
System:
    OS: Linux 5.10 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (16) x64 AMD Ryzen 9 5900HX with Radeon Graphics
    Memory: 1.73 GB / 7.47 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
Binaries:
    Node: 16.13.1 - ~/.nvm/versions/node/v16.13.1/bin/node
    npm: 8.2.0 - ~/.nvm/versions/node/v16.13.1/bin/npm
npmPackages:
    @vitejs/plugin-react: ^1.1.4 => 1.1.4
    vite: ^2.7.10 => 2.7.10

Used Package Manager
npm
Logs
[vite] hot updated: /src/About.tsx

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

HOCs are actually known to be unhandled by Fast Refresh (if they return class components): https://nextjs.org/docs/basic-features/fast-refresh#limitations

I believe this was closed without a good reason. The HOC in my reproduction link is:

not returning class based component
the link you sent is talking about not preserving local state of the component and not about the component not being updated at all

I am having the same issue and I couldn't find the root cause. I'm also using the react-plugin. Downgrading to older version didn't help. Really strange

I am having the same issue here and haven't been able to find a solution.

I don't know what I did but the problem is gone now from my side. I regularly update so maybe that's the reason. I was never able to determine the root cause.

I don't know what I did but the problem is gone now from my side. I regularly update so maybe that's the reason. I was never able to determine the root cause.

I figured mine out seconds after posting, just a lack of a capital letter in the import that my editor missed.


fix: fix build mnist image err due to python in base pytorch image too old

fix: fix build mnist image err due to python in base image too old
Step 1/7 : FROM pytorch/pytorch:1.0-cuda10.0-cudnn7-runtime
1.0-cuda10.0-cudnn7-runtime: Pulling from pytorch/pytorch
7b8b6451c85f: Pull complete
ab4d1096d9ba: Pull complete
e6797d1788ac: Pull complete
033f35f6796e: Pull complete
ecb8d4c892d7: Pull complete
0aafcc0949f7: Pull complete
5a393bfad573: Pull complete
5d844e57dce8: Pull complete
Digest: sha256:38624589af23ed9032a08450a3ccf2d756a587740e68ff6d765791d5723d27c5
Status: Downloaded newer image for pytorch/pytorch:1.0-cuda10.0-cudnn7-runtime
 ---> 83d5fed9611f
Step 2/7 : RUN pip install tensorboardX==1.6.0
 ---> Running in 49047b96b670
Collecting tensorboardX==1.6.0
  Downloading https://files.pythonhosted.org/packages/5c/76/89dd44458eb976347e5a6e75eb79fecf8facd46c1ce259bad54e0044ea35/tensorboardX-1.6-py2.py3-none-any.whl (129kB)
Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from tensorboardX==1.6.0) (1.11.0)
Collecting protobuf>=3.2.0 (from tensorboardX==1.6.0)
  Downloading https://files.pythonhosted.org/packages/6c/be/4e32d02bf08b8f76bf6e59f2a531690c1e4264530404501f3489ca975d9a/protobuf-4.21.0-py2.py3-none-any.whl (164kB)
protobuf requires Python '>=3.7' but the running Python is 3.6.7
The command '/bin/sh -c pip install tensorboardX==1.6.0' returned a non-zero code: 1

Sending build context to Docker daemon  23.04kB
Step 1/7 : FROM pytorch/pytorch:1.2-cuda10.0-cudnn7-runtime
1.2-cuda10.0-cudnn7-runtime: Pulling from pytorch/pytorch
f7277927d38a: Pull complete
8d3eac894db4: Pull complete
edf72af6d627: Pull complete
3e4f86211d23: Pull complete
4af0f459ec15: Pull complete
fba59189913c: Pull complete
a3baf4ea0534: Pull complete
2a82ee97d3d6: Pull complete
ae0fb1eb0719: Pull complete
Digest: sha256:c8d372e59b86104cf1ffa859b58fada30248a9689cd6e446d06134c9bad52e77
Status: Downloaded newer image for pytorch/pytorch:1.2-cuda10.0-cudnn7-runtime
 ---> 255eed982b39
Step 2/7 : RUN pip install tensorboardX==1.6.0
 ---> Running in 595e44007071
Collecting tensorboardX==1.6.0
  Downloading https://files.pythonhosted.org/packages/5c/76/89dd44458eb976347e5a6e75eb79fecf8facd46c1ce259bad54e0044ea35/tensorboardX-1.6-py2.py3-none-any.whl (129kB)
Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from tensorboardX==1.6.0) (1.12.0)
Collecting protobuf>=3.2.0 (from tensorboardX==1.6.0)
  Downloading https://files.pythonhosted.org/packages/32/27/1141a8232723dcb10a595cc0ce4321dcbbd5215300bf4acfc142343205bf/protobuf-3.19.6-py2.py3-none-any.whl (162kB)
Requirement already satisfied: numpy in /opt/conda/lib/python3.6/site-packages (from tensorboardX==1.6.0) (1.16.5)
Installing collected packages: protobuf, tensorboardX
Successfully installed protobuf-3.19.6 tensorboardX-1.6
Removing intermediate container 595e44007071
 ---> 2d6e2f0bf0df
Step 3/7 : RUN mkdir -p /opt/mnist
 ---> Running in 331bc2a0b159
Removing intermediate container 331bc2a0b159
 ---> 75823d183082
Step 4/7 : WORKDIR /opt/mnist/src
 ---> Running in 3a421eb6a023
Removing intermediate container 3a421eb6a023
 ---> 8a2db5f47cb5
Step 5/7 : ADD mnist.py /opt/mnist/src/mnist.py
 ---> 8f9c5f299c78
Step 6/7 : RUN  chgrp -R 0 /opt/mnist   && chmod -R g+rwX /opt/mnist
 ---> Running in 9d1f6696fe1e
Removing intermediate container 9d1f6696fe1e
 ---> 057c069e4e26
Step 7/7 : ENTRYPOINT ["python", "/opt/mnist/src/mnist.py"]
 ---> Running in 45a48a570e5d
Removing intermediate container 45a48a570e5d
 ---> d8a782eda94e
Successfully built d8a782eda94e
Successfully tagged kubeflow/pytorch-dist-mnist-test:1.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 42.908%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
3757

Relevant Lines:
8756

💛  - Coveralls

Thanks for you contribution.
Well, pytorch 1.2 is not recent though, cuda10.0 is out of date, maybe it's better to update in another way.

If you want to move this forward, could you work on https://github.com/kubeflow/training-operator/blob/e5bdd3c0dd98df818cf315da86fe42bc6fa0979e/.github/workflows/publish-example-images.yaml#L58-L59 together so that we can verify if it is buildable?

In favor of https://github.com/kubeflow/training-operator/pull/2024, I'm closing this PR.
@fighterhit Thank you for this contribution!
/close


Add a layer of interoperability between visual displays

The results page in QIITA, should be able to work as a cohesive unit. Currently each display of information is entirely independent even though they are all representing the same samples. A pressing use-case would be to be able to click on a sample in emperor and then show the taxonomic profile of that sample.

this will be cool as discussed before but not sure this is a feature request in qiita or in emperor or qiime2, @ElDeveloper, what do you think?

I think this is an issue for all the visualization packages that consume
data, and for Qiita, which ultimately would have to handle the relaying
of the messages. Though this is dependant on how we wanted to
architecture this in the end.
On (Aug-01-17| 9:07), Antonio Gonzalez wrote:

this will be cool as discussed before but not sure this is a feature request in qiita or in emperor or qiime2, @ElDeveloper, what do you think?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/biocore/qiita/issues/1388#issuecomment-319417316

I believe this can be closed as this should be provided by QIIME2 or a new JS library, as discussed during today's KL meeting.
cc-ing @kwcantrell, so he's aware of this conversation.


Export creates garbage

Following the migration instructions to export from 4 and import into 5 generates garbage in 5.

Can you share a markdown sample please?


VCFs as input

Hello!
In first place, thank you very much for this tool. I am a pyseer user and this pipeline seems superuseful!
I was wondering whether a potential improvement for the pipeline would be to allow starting from annotated VCFs. In M. tuberculosis
/we rarely use assemblies :(

Hi, thanks for your interest; we are thinking about your question (which does not have an obvious immediate fix), and will try to have an answer for you in the coming days

Hi, we have thought about potentially allowing a direct VCF input, but unfortunately it would require to restructure the pipeline completely, since so much of it depends on the assumption of the user providing annotated genome assemblies. If you were to convert your VCF to separate assemblies (fasta + GFF, with unique locus tags for each isolate), then you would be able to use the pipeline. But it might not be ideal. On the plus side if you have a VCF ready you can simply use a tool like pyseer and don't really "need" our pipeline to prepare the data...


I349 react upgrade

I have updated to most of the package to recent except of couple
@tanstack/react-query: This version latest is version 5 and it has some change which need adding UseEffect which I want to avoid, but instead I upgraded to V4 that itself had major changes. The repo Owner changed npm package. V5 will be addressed in next release
https://tanstack.com/query/v4/docs/framework/react/guides/migrating-to-react-query-4
ESLint and its supported packages are one version behind the latest release. I chose not to update this since Eslint V9 has breaking changes eslintrc.js (eslint configuration) is changed to [eslint.config.js ] (https://eslint.org/docs/latest/use/configure/configuration-files) and the way it is configured within. So felt we can wait.
https://eslint.org/version-support/
Material UI is V6, opted to stay on V5. Since most of our app still on V5
Use the cli command to check what is latest

ncu
npm show eslint@8 version

Testplan:

Do a docker clean and start the tool.
Make sure the Get/PUT function while adding and removing the tool works. Since all those API call from FE is handled by this @tanstack/react-query upgrade
Make sure No linting errors in the VSCode.

@zqian and @jonespm this PR needs a Review with FE dependency update

Thanks @jonespm for the review, I will merge it now


refactor(sorting): add traits for sorting algorithms

Hi Alex,
Referring to PR #48, I have added two traits:

Sort
SortMutable

in an attempt to unify the sorting algorithms behind structs that expose the sort method.
Not sure how complete the feature needs to be, but I believe the PR would be too large at that point to be easily reviewable. I was considering submitting the traits for 1 algorithm at a time, modifying those that do not adhere to the trait properties.
I wanted to get into contributing to OSS, and I thought your library would be a great place to start. Any comments are welcome.

Hello @borghol ! Thank you for your contribution!
This is very close to the implementation I was thinking of. However, I need a bit more time to review it and I'm busy with the holidays coming. I'll give it a more in-depth look in the coming days.

Heyo, @borghol !
What is your opinion on the traits from https://github.com/jonhoo/orst/blob/da6ba90195f94ec334f382b07498fc4e01795f20/src/lib.rs ?
I feel like it is fine not to expect algorithms to be stateful, like we have in your implementation, though it might be interesting to understand why the Ord type constraint is on sort and not on Sorter. I also feel like Sorter is a better name since it would be the Sorter trait.  What do you think?
One other thing to consider is that some of the algos don't follow the standard signature. For example, https://github.com/alexfertel/rust-algorithms/blob/87d4d8d27c94ac0d296c99056a651b967096c8e9/src/sorting/shell_sort.rs#L1
Though it is probably better to address that in a separate PR.

As far as adding state to the sorters, I would find it extremely weird for a sorting algorithm to require me to create an instance in order to use. I get that it's less of an issue when it comes to rust, but something like BubbleSort::sort([1,3,2])
is much less verbose and much more coherent than BubbleSort{}.sort([1,3,2]) or BubbleSort::new().sort([1,3,2]) so I'm with you on that one.
I'm too new to rust to understand the inner workings of placing the constraint on the function vs. on the class, but I assume placing it on the function is generally safer for extending the Sorter trait to do more than just sort. In our case, I don't believe it matters, but I will change it to be on the function for best practices sake.
Sorter does seem like a better name than Sort, I will apply that as well!
As far as the function signatures go, they should be standardized anyways. I can work on standardizing the implementations before completing this PR. Copy will definitely needed to be added on Sorter (but not necessarily MutableSorter) as we are returning a new array anyway. Shell sort seems to have Copy as a constraint but it doesn't seem to need it. There are some additional traits that will also need to be removed as part of standardizing the algorithms.
Lastly, I'm torn between using slices vs using vectors. Any thoughts on this?

One last discussion I would like to have, should we make MutableSorter have the function called sort_mut instead of sort?
I know that the function signature is enough. However, as we're making this repo for educational purposes, it would be nice to be able to implement a sort() on the mutable sorters, as it will allow much more flexibility when it comes to programs benchmarking algorithms for example.

but I assume placing it on the function is generally safer for extending the Sorter trait to do more than just sort

Yep, that is correct! 👍🏻

I can work on standardizing the implementations before completing this PR

Hmmm, I prefer having it on a separate PR that justifies the change. That is, we make the change that standardizes signatures and tests together. However, I have no strong opinions on the order, so if you are willing to work on that as well, I'm happy to review them and provide support in whatever order you want to do it.

There are some additional traits that will also need to be removed as part of standardizing the algorithms.

👍🏻

Lastly, I'm torn between using slices vs using vectors. Any thoughts on this?

I have several thoughts on this, but to summarize the main ones:

Slices as parameters make functions more flexible. If you think from a callee standpoint, converting from a collection to a slice is usually trivial (using 'usually' for the sake of being careful). However, once you need a Vec, a conversion might need to happen.
Vecs are slightly more overhead than slices.
Sorting can always be reduced to a pure function that takes a collection and returns a new collection sorted whenever the elements of the collection form a partial order (Sorter trait). So we don't really need the "variable length" that vectors provide thus a slice makes more sense in the context of sorting.

Hopefully, that helps you choose!

However, as we're making this repo for educational purposes, it would be nice to be able to implement a sort() on the mutable sorters, as it will allow much more flexibility when it comes to programs benchmarking algorithms for example.

Hmmm, I'm not entirely convinced, because I do agree that the signature should be enough, but I do lean toward what would be best for teaching, so I think it is okay if we rename it. Did you choose sort_mut to be consistent with Rust?

Btw, I have to say good job! 🚀

Hey Alex,
So I have done all the changes that we have agreed on, minus using sort_mut. Looking at the algorithms, it's far more beneficial to understand in-place vs out-of-place sorting, and copying it in the background before sorting just hides that piece of knowledge.

Hmmm, I prefer having it on a separate PR that justifies the change. That is, we make the change that standardizes signatures and tests together. However, I have no strong opinions on the order, so if you are willing to work on that as well, I'm happy to review them and provide support in whatever order you want to do it.

How should we approach this change then with regards to the other sorting algorithms? The trait will be incompatible with the majority of these. I suggest taking a modular approach. We can let this PR go through and I will go through the algorithms one at a time, where each PR will implement the trait by standardizing the algorithm's functions and tests alongside it.

it's far more beneficial to understand in-place vs out-of-place sorting, and copying it in the background before sorting just hides that piece of knowledge.

Yeah, I agree. 👍🏻

We can let this PR go through and I will go through the algorithms one at a time, where each PR will implement the trait by standardizing the algorithm's functions and tests alongside it.

Yeap, that sounds good to me! Feel free to push your changes, I'll take a look and merge 🚀

Hey Alex, the agreed changes should all be pushed. Please take a look when you can.


simd app should start with validator mode flag

When trying to start simd with current implementation of start-node.sh  there was an issue with creation of blocks.

CLI Output
7:58AM INF not caught up yet height=1 max_peer_height=0 module=blockchain timeout_in=2998.889201
7:58AM INF not caught up yet height=1 max_peer_height=0 module=blockchain timeout_in=1999.420387
7:58AM INF not caught up yet height=1 max_peer_height=0 module=blockchain timeout_in=998.783606
7:58AM ERR no progress since last advance last_advance=2022-05-13T07:57:10Z module=blockchain
7:58AM INF switching to consensus module=consensus
7:58AM INF starting service impl=ConsensusState module=consensus service=State
7:58AM INF starting service impl=baseWAL module=consensus service=baseWAL wal=/root/.simapp/data/cs.wal/wal
7:58AM INF starting service impl=Group module=consensus service=Group wal=/root/.simapp/data/cs.wal/wal
7:58AM INF Searching for height height=1 max=0 min=0 module=consensus wal=/root/.simapp/data/cs.wal/wal
7:58AM INF Searching for height height=0 max=0 min=0 module=consensus wal=/root/.simapp/data/cs.wal/wal
7:58AM INF Found height=0 index=0 module=consensus wal=/root/.simapp/data/cs.wal/wal
7:58AM INF Catchup by replaying consensus messages height=1 module=consensus
7:58AM INF Replay: Done module=consensus
7:58AM INF starting service impl=TimeoutTicker module=consensus service=TimeoutTicker
7:58AM INF Timed out dur=-55006.570699 height=1 module=consensus round=0 step=1
7:58AM INF Timed out dur=3000 height=1 module=consensus round=0 step=3

So i noticed that simd has been started without any mode flag.
simd start runs the full node and since we need to start the one validator node chain here, it is necessary to pass this flag. (reference to: #11042 )

Closing this as outdated: applies to the old codebase


Python Fast API and Java Spring Boot Resources Added

Hey, it seems to be conflicting with the main branch. would you look after this issue.
Thanks a lot for your contribution.
Looking forward for more such resources which helps others and make the community grow. ❤


fixed online doc

First basic version for online documentation. Actual examples will end up in an additional folder. Here we store info for how to get plots and how to read output objects

Here, I moved the figure saving part from plot_styles.py to plotting.py. Now we save the full Figure object. See online documentation for further details on figure key names and how to access them.


PulseAudio backend microphone broken on FreeBSD

Hello world. Recent versions of Firefox (firefox-85.0_1 and firefox-esr-78.7.0) on FreeBSD lost microphone when PulseAudio (defaul) is in use. Sound output works fine. Microphone works fine in other applications. Please fix, this blocks videoconferencing with Firefox!!
The quick fix is to use OSS backend:
media.cubeb.backend                             oss
media.cubeb.input_voice_routing                 true
media.cubeb.output_voice_routing                true

Sorry seems PulseAudio issue, rebuilding and reinstalling updated version fixed problem, no need to fallback to oss anymore :-)

Sorry seems PulseAudio issue, rebuilding and reinstalling updated version fixed problem, no need to fallback to oss anymore :-)


Please merge revision ad54733d46759c422f055119b689881a9c4922b7 into dev channel

@whesse @mit-mit @kasperl
This downgrades some strong mode errors to hints so we have more time to get them right.
CL: https://codereview.chromium.org/2786993002/
Hash: ad54733d46759c422f055119b689881a9c4922b7

This needs to include the following in order to update the status files appropriately:
CL: https://codereview.chromium.org/2787913002/
Hash: 4d4441a868d6d65f5579641b78d5f0d3f30b6867

Merged in 1.23.0-dev.11.1


GuiListView() text flickering

It seems TextSplit() function does not work properly and causes some text flickering on GuiListView(), that function should be reviewed in raylib...

Implemented specific GuiTextSplit() on commit https://github.com/raysan5/raygui/commit/73565b190745f4dd7c66b54d1f77af896be0fd8f


Updating a blog post after it has been published does not recognize the markdown

Steps to reproduce:

log in as a dummy admin on my dev machine
Write a blog post.
Save it as a draft.
Edited the draft and published it.  Exit app to save the cache.
Reopen app and log in as dummy admin.
Edit the post adding markup, specifically ##
Publish the post, exit app.
View the post by reopening app and clicking Read the Whole article.  The ## shows up as a literal instead of being changed to html.

Discussion
The hash marks were saved as literals and are not changed to html by MarkdownConverter.ToMarkupString().  I ran into this problem a while ago in another Blazor app where I was trying to dynamically change the content of a page.  I never was able to fix it.  I think it has something to do with the way the string is saved as varchar in the database.
Workaround
The workaround is to put the html into the text box because html tags are valid Markdown.  If you edit this issue, you can see I use the html h2 in this post instead of Markdown.

Hey @bizcad.
That is a weird one and I can confirm that I saw it to from time to time and I am really not sure what is causing it.
For the markdown to html conversion I use the Markdig library, which then should be dynamically rendered by Blazor.
Also I can't reproduce it everytime. My idea is to check the output of the HTML, which get's produced by the library. If this is a valid then I am not sure what I can do, besides hoping that the Blazor team fixes that :D.
I will report back later if I can see any issue.

@bizcad
Regarding Step 6: Edit the post adding markup, specifically ##
Did you have a space between ## and the text? Like this: ## My h2 header?

Okay I could reproduce it a few times and it seems it is a bug inside the markdig library.
I checked what is returned from the library after ## and under certain circumstances (have to check which) the value is <p>## Title</p>

I guess I know where this is coming from. Are you using a MacBook or MacOS?
For example Option + Spacebar will create the unprintable U+A0, which looks like a regular space.
There are multiple such unicode-spaces: https://jkorpela.fi/chars/spaces.html
I will contact the maintainer of the library if it would makes sense to include them into markdown, but chances are slim. Also GitHub doesn't recognize this:
## This should be h2

Hi Steven,
I ran into this issue a year or two ago.  I was using Markdig in another project.
Here is a little <tl;dr>
I had a survey I was writing in Blazor.  I had a table called DataDictionaryItem which described the data types in the survey, the question header text, the question text , question help text and other meta data about the form field.  The idea was to allow the user to modify the text of the question if she was an admin.  An edit icon link showed up on the survey question if the logged in user had Authorization to view the link.  The user would then be taken to a form which did CRUD on the DataDictionaryItem table.  I then could use the DataDictionaryItem table to generate the razor form.
When I saved the markdown to the sql table and brought it back to display on the form, the markdown was not rendering correctly.  So at the time, I just made the user put in html.   Looking at Markdown.cs, It looks like Alexandre did some work since I was in the code.  I do not remember seeing the MarkdownPipeline.
My recollection is that sql server had trouble saving and retreiving markdown in a varchar(255) column.  It may be I should have used nvarchar(255) and saved the markdown as unicode.
Nick Stein
From: Steven Giesel @.>
Sent: Monday, October 17, 2022 11:51 PM
To: linkdotnet/Blog @.>
Cc: Nicholas Stein @.>; Mention @.>
Subject: Re: [linkdotnet/Blog] Updating a blog post after it has been published does not recognize the markdown (Issue #110)
Hey @bizcad https://github.com/bizcad .
That is a weird one and I can confirm that I saw it to from time to time and I am really not sure what is causing it.
For the markdown to html conversion I use the Markdig library https://github.com/xoofx/markdig , which then should be dynamically rendered by Blazor.
Also I can't reproduce it everytime. My idea is to check the output of the HTML, which get's produced by the library. If this is a valid then I am not sure what I can do, besides hoping that the Blazor team fixes that :D.
I will report back later if I can see any issue.
—
Reply to this email directly, view it on GitHub https://github.com/linkdotnet/Blog/issues/110#issuecomment-1281893336 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHS547O6R7ENIVEUFDTHYDWDZCEDANCNFSM6AAAAAARHLJUA4 .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AAHS545H346YONWZ3Z6DB6DWDZCEDA5CNFSM6AAAAAARHLJUA6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSMNAR5Q.gif Message ID: @.*** @.***> >

Steven,
You may be correct.  I do not recall whether I had spaces.  I know I did not write #space#.  I may have written ##Heading2text instead of ##spaceHeading2Text.  That would possible be an explanation.
BTW the textbox on github issues has the same problem with markdown.  When I was writing the issue #110 and went to preview it, it was rendered incorrectly.  😉  That was why I wrote the way I did in the issue.
Nick Stein
From: Steven Giesel @.>
Sent: Tuesday, October 18, 2022 12:33 AM
To: linkdotnet/Blog @.>
Cc: Nicholas Stein @.>; Mention @.>
Subject: Re: [linkdotnet/Blog] Updating a blog post after it has been published does not recognize the markdown (Issue #110)
@bizcad https://github.com/bizcad
Regarding Step 6: Edit the post adding markup, specifically ##
Did you have a space between ## and the text? Like this: ## My h2 header?
—
Reply to this email directly, view it on GitHub https://github.com/linkdotnet/Blog/issues/110#issuecomment-1281936492 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHS54Z2I5EQNRD4NSJ3UHTWDZHDXANCNFSM6AAAAAARHLJUA4 .
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AAHS546HTPYKQELZHYYRI4TWDZHDXA5CNFSM6AAAAAARHLJUA6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSMNDGGY.gif Message ID: @.*** @.***> >

Hello Steven,
No I am using a windows 11 machine.  It is my primary development machine.
Device name      xxx
Processor            AMD Ryzen 9 3950X 16-Core Processor               3.50 GHz
Installed RAM    32.0 GB
Device ID             6608FA12-28F0-4D40-ACDE-F3686E51AA57
Product ID          00330-80000-00000-AA837
System type        64-bit operating system, x64-based processor
Pen and touch   No pen or touch input is available for this display
Edition  Windows 11 Pro
Version 22H2
Installed on        9/21/2022
OS build               22621.674
Experience          Windows Feature Experience Pack 1000.22634.1000.0
In reply to your last message.  Which was
Okay I could reproduce it a few times and it seems it is a bug inside the markdig library.
I checked what is returned from the library after ## and under certain circumstances (have to check which) the value is ## Title
Somewhere the code adds the paragraph html.  I found the similar problem in the IntroductionCard.razor page.
@.***(Configuration.Introduction.Description)
Was being rendered as This is my Introduction Description
This rendering was being done somewhere in the guts of Markdown.cs
I discovered this because I was trying to change the color of the Introduction.Description and changing the color in the css did not work because of the added paragraph markup.  I got around it by changing the component to.

So that the whole div contain the  was colorized differently.  Which is a more elegant solution.
Nick Stein
From: Steven Giesel @.>
Sent: Tuesday, October 18, 2022 5:21 AM
To: linkdotnet/Blog @.>
Cc: Nicholas Stein @.>; Mention @.>
Subject: Re: [linkdotnet/Blog] Updating a blog post after it has been published does not recognize the markdown (Issue #110)
I guess I know where this is coming from. Are you using a MacBook or MacOS?
For example Option + Spacebar will create the unprintable U+A0, which looks like a regular space.
There are multiple such unicode-spaces: https://jkorpela.fi/chars/spaces.html
I will contact the maintainer of the library if it would makes sense to include them into markdown, but chances are slim. Also GitHub doesn't recognize this:
This should be h2
—
Reply to this email directly,  https://github.com/linkdotnet/Blog/issues/110#issuecomment-1282296494 view it on GitHub, or  https://github.com/notifications/unsubscribe-auth/AAHS547GW2WBY3N76ZUSNS3WD2I2VANCNFSM6AAAAAARHLJUA4 unsubscribe.
You are receiving this because you were mentioned.  https://github.com/notifications/beacon/AAHS542YTKC2FBXRATBURYDWD2I2VA5CNFSM6AAAAAARHLJUA6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSMNZFK4.gif Message ID: < @.> @.>

Hey Nick, thanks for the detailed explanation. It is a very valid point, that if the database is VARCHAR instead of NVARCHAR this could lead to trouble.
At least on SQL Server, EF Core will create NVARCHAR by default if not specified differently. I am not sure how the express version handles that. I also played with the thought of onboarding other database provider like LiteDB or other headless databases, which make the initial setup easier.
With all the given new evidence can you still reproduce the issue? So if Content is of type NVARCHAR and there is a space between the header-fence and the header text (## h2-text).

I discovered this issue because I was trying to change the color of the Introduction.Description and changing the color in the css did not work because of the added paragraph markup.  I got around it by changing the component to.

At some point I was very keen to introduce theming into the block, but never made the real cut (mainly because I am terrible at designing, so finding new themes or even a dark mode was difficult for me).
In theory it should be possible to add theming. I already introduced variables, which should be used everywhere and the only thing a theme has to do is to introduce new colors.
If you have any ideas regarding styling or what-not let me know. I am eager to discuss.
Thanks again for the nice discussion Nick.
Cheers
Steven

For now, I will close the issue, if this pops up again let us reopen this one.


Deployment to Netlify

Site loading time is slow
We can avoid this, by deploying it to netlify, and can see deploy previews for each pull request and it will be more helpful for the maintainers to review and see the output of code for each pull request, without worrying about the main production website.

I was thinking of doing so, but the thing is we have shared this website link at many places (...herokuapp.com), which would then need to be replaced everywhere. Although we can work on replacing them too.

Can the current Heroku Deployment be altered to respond faster, maybe increasing Dynos. But that again can't be done in Heroku Free tier. 😞

@tarunnsingh I have a solution for it, lets do this thing..
Lets create a branch name v1-deployment and we will set in heroku that deploy this branch.
Now in v1-deployment, what we will do, we will not load the complete site. Instead we will mention, in the homepage itself, that we have upgraded to V2 website, check here.
and below that there would be a link
Next Step
We will update the links on master branch, i.e. wherever we used herokuapp link, we will update it to netlify link and finally deploy master to netlify. 😋😋 Hurray !! we didn't break any changes.
How is the solution,😅 if good, 🥺do me a favour, follow my open source organization on instagram : https://instagram.com/tech_phantoms and we will have open source sessions if possible a collaboration. 😊😊😊 I hope that sounds fine ?
Requested look for V1 branch

Hey that's absolutely perfect solution to the problem.
Let's do this.
And sure, would be great to have a collaboration! 😄

Thankyou @tarunnsingh  . I am obliged.
Would you like to assign me as member in this org. So that I can directly setup this remote repo, in my local env.
And work faster ?

Checklist

[ ] Create v1-deployment branch.
[ ] Deploy v1-deployment branch to heroku.
[ ] Deploy master branch to netlify.
[ ] Update v1-deployment branch codebase, to above shown image.
[ ] Remove hardcode from master as referenced in issue #32
[ ] All done. Lets work on other issues.

Thankyou @tarunnsingh . I am obliged.
Would you like to assign me as member in this org. So that I can directly setup this remote repo, in my local env.
And work faster ?

Sure sending you the invite.

@tarunnsingh
You can refer this to setup build environment variables in Netlify
https://docs.netlify.com/configure-builds/environment-variables/

there has to follow particular setup for builds.. so be careful while setting up that

Hey do we need to deploy client and server separately to Netlify?

on Netlify we can deploy the whole client.
on heroku, we are deploying the backend.
We need to do api calling through the herokuapp link.

@tarunnsingh netlify is super amazing for client side.

@tarunnsingh though I accepted the invite, but still I dont have write access to any repository. 🙁

@tarunnsingh I have deployed my fork to netlify, see here : https://gracious-brattain-51d97b.netlify.app/

@tarunnsingh I was thinking to host the backend at heroku, and use it as core backend only.
And on netlify will be our front end .
Why?
In heroku, everytime, we send the request, heroku also has to render frontend, this makes it slower, because, it has to handle both the activities, backend+ frontend.
Decoupling frontend and backend will help to achieve things easily.

@tarunnsingh Heroku also setup using CORS API
You can check my forked version of site here: https://alexajaipurforked.netlify.app/
Sending you PR to the master branch.

@tarunnsingh Tell me when you publish this repo to netlify.
I will send PR for v1-deployment then only with requested changes above

@tarunnsingh Heroku also setup using CORS API
You can check my forked version of site here: https://alexajaipurforked.netlify.app/
In this above site, I am using alexadevhub heroku api for fetching blog posts
Sending you PR to the master branch.

Sorry for this late response.
Looks like you've done the whole setup!
Great Merging your PR.

@tarunnsingh when are you deploying master to netlify ?

I dont have owner rights, so I cant deploy from this original repo to netlify.
So can you pls @tarunnsingh deploy master to netlify, as everything is setup now?


Help - Getting Error 500 when I include the access token

hello Daniel,
Tks for providing this example -- it has been very educational so far!
I have managed to replicate the api and had been trying to use it. so far, using the swagger interface, I'm able to execute cars get all without using any authorization (since it allowed anonymous).
To execute the post car reservation, I first generated a token using this link: https://<tenantname>.b2clogin.com/<tenantname>.onmicrosoft.com/oauth2/v2.0/authorize?p=<userflowname>&client_id=<clientid>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=https://<tenantname>.onmicrosoft.com/<clientid>/<scopename>&response_type=code&prompt=login. From there, I get a JWT, which I then fed into a post command: https://<tenantname>.b2clogin.com/<tenantname>.onmicrosoft.com/{{policy-name}}/oauth2/v2.0/token, with a body that contained:
grant_type=authorization_code &client_id=<application-ID> &scope=https://<tenant-name>.onmicrosoft.com/api/read &code=<jwt from previous call>.. &redirect_uri=https://jwt.ms &client_secret=<generatedsecretforapi>
This then returned an access token, which when I fed it into jwt.ms I do see the "access_as_user" scope.

I then proceeded to enter "Bearer " with the access token using the Authorize button on top.
However, when I try to post the car reservation, I get the 500 error :
{
  "Id": "5b5aeb9f-eaec-4f5b-b056-4dd8d34e9be2",
  "Status": 500,
  "Code": null,
  "Links": null,
  "Title": "Some kind of error occurred in the API.  Please use the id and contact our support team if the problem persists.",
  "Detail": null
}

the command shown was:
curl -X POST "https://localhost:44375/api/CarReservation" -H  "accept: */*" -H  "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ilg1ZVhrNHh5b2pORnVtMWtsMll0djhkbE5QNC1jNTdkTzZRR1RWQndhTmsifQ.eyJpc3MiOiJodHRwczovL291dHNpZGU3MjU2MjIxLmIyY2xvZ2luLmNvbS8zYTFlNzYyOS05OGUzLTRmMjEtODc4OC04NzI1MGNlNzQ3OTEvdjIuMC8iLCJleHAiOjE2MTQ5NzI3MDgsIm5iZik2OTEwOCwiYXVkIjoiZjVlYTdiYjUtODE4OS00MTgyLWJmZTQtNmZjZGZhMzNiNTRiIiwiaWRwX2FjY2Vzc190b2tlbiI6InlhMjkuYTBBZkg2U01CaEh1UjRoVDFUbzdnTWZLb3FxWTVnRUtVMlNsV1lxcTM0SHdqcVNYLVEzOTlMUGpUVmhjWEYtYUl2aGVZVGxRbW8wTkhjcUs2a0tiR0lwMFFTWkJia1lqd1BYb1FaVmNjQ3I1cDhNbUdjbXVkX0xLeGdmOWtDT3RmMG82OUQxY2E1YVdoWEtLS0RyTUlZeVl2SFFuU3JrZyIsImdpdmVuX25hbWUiOiJMYXdyZW5jZSAobGF3cmVuY2VvbmcuZGV2KSIsImZhbWlseV9uYW1lIjoiT25nIiwibmFtZSI6Ikxhd3JlbmNlIE9uZyIsImlkcCI6Imdvb2dsZS5jb20iLCJvaWQiOiJkZWJjwN2VhNTA3MTA4MDUiLCJjaXR5Ijoib3R0YXdhIiwic3RhdGUiOiJPTiIsImVtYWlscyI6WyJsYX9uZy5kZXZAZ21haWwuY29tIl0sInRmcCI6IkIyQ18xX3NpZ251cF9zaWduaW4iLCJub25jZSI6ImRlZmF1bHROb25jZSIsInNjcCI6ImFjY2Vzc19hc191c2VyIiwiYXpwIjoiZjVlYTdiYjUtODE4OS00MTgyLWJmZTQtNmZjZGZhMzNiNTRiIiwidmVyIjoiMS4wIiwiaWF0IjoxNjE0OTY5MTA4I6MTYxNDfQ.U9ux_gPjjf5gv6KLyKDQ9VwONLcwL0WLB3mssg5kQfpyEjjqjQ3qwMtJwBwuaOyhnFqwvoynJxWOK6rRBFOEnk2qn6hzmYmvz4c1DA_sj1JqHQoL9WriuhVKvwijsjvZTU2YS03YzJjLTRjZjgtYWU2Ny0wN2VhNTA3MTA4MDUiLCJzdWdyZW5jZWIiOiJkZWJjZTU2YS03YzJjLTRjZjgtYWU2Ny070NTlucEk87SGbDXYl2bVFF8pbk6C8qWxF_p1AlAyZbfqqZI_ryw4oEn3Bh8TYWEHuaTEcvHvgXp_yVzz9KpK5IYkdwHEtUDlGT2orLsOcIfutqz1-0cvp5Se2NfOF7ASvJ0ZSTCr_3Xo_prwDfUtXYk7uLDJnxyTKHkCVkEjhKTPTzDKVL66ic6CErraaQTHqe9ugKx2YJAcbt-iqkit-w" -H  "Content-Type: application/json" -d "{\"carId\":\"5b5aeb9f-eaec-4f5b-b056-4dd8d34e9be2\",\"rentFrom\":\"2021-03-05T19:29:00.915Z\",\"rentTo\":\"2021-03-06T19:29:00.915Z\"}"

interestingly, the cars get all will also fail now when I include the token -- the swagger interface will include the header as well even though it doesn't seem like it's needed.
would you have any suggestions on what I can do to alleviate this issue?
thanks again
Lawrence

Hello Lawrence,
Thank you for a kind words, I am happy that you like this project.
It is hard for me to say what is exactly wrong with your configuration but I have a suggestion.
Please put debug breakpoint in this line:
https://github.com/Daniel-Krzyczkowski/Cars-Island-On-Azure/blob/4810a70b5e1a4d3951fe39a2a7ccdfcbe1a5a206/src/web-api/CarsIsland.API/Middleware/ApiExceptionMiddleware.cs#L36
This is exception middleware and you should catch the exception details. Could you please try to check what is the exception's message?

Hi Daniel,
curiously, the 500 error seem to have gone away by itself, as the application doesn't throw that error anymore. it does, still however, return an unauthorized error when I try to post, following the same process above.
is there a way we can decode the [Authorize] process to see where the error is occurring? or do you have some suggestions on how to resolve it?
thanks
Lawrence

Hi again Daniel,
I was able to replicate the error -- it seems that when I add the word Bearer to the access token it would then throw this error. if I skipped the Bearer I would simply get the Unauthorized error.
the error I get when I include Bearer and the access token during POST is: "Session has not been configured for this application or request"

thoughts?
tks
Lawrence

Hi Lawrence,
How do you send the token to the API? Do you follow below convention?
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", <<token>>);

Hi Lawrence,
How do you send the token to the API? Do you follow below convention?
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", <<token>>);

Hi Daniel,
I simply used the swagger interface to test the API. here are the steps I followed:

logged in to MS using: https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>&client_id=<client-id>&nonce=defaultNonce&redirect_uri=https%3A%2F%2Fjwt.ms&scope=https://<tenant-name>.onmicrosoft.com/<client-id>/access_as_user&response_type=code&prompt=login
when I get the id token,  then used Postman to get the access token using this POST Url: https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/{{policy-name}}/oauth2/v2.0/token, with the payload: grant_type=authorization_code&client_id=<client-id>&scope=https://<tenant-name>.onmicrosoft.com/<client-id>/access_as_user&code=<id-token>&redirect_uri=https://jwt.ms&client_secret=<client-secret>
I check using jwt.ms that the access token received did contain the scp
I then used the Swagger interface to put in the access token I received in this format Bearer <access-token>

and I then performed the steps in Swagger using "try this out" for both get(all) cars and Post carReservation.
does this help?
tks
Lawrence


CRAYSAT-1775:Update container status when it is None

IM:CRAYSAT-1775
Reviewer:Ryan
Summary and Scope
Update the update_container_status method when either init_container_statuses or container_statuses or both are None.
If they are None we can log an info message and will skip processing the container statuses until they are populated.
Issues and Related PRs
Resolves CRAYSAT-1775
Testing
List the environments in which these changes were tested.
Tested on:
TO DO
Test description:
TO DO
Risks and Mitigations
Minimal
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[x] Copyrights updated
[x] License file intact
[x] Target branch correct
[x] CHANGELOG.md updated
[ ] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

We are going to merge this without waiting for the build because the builds are currently excessively slow and we need to provide an urgent fix for an internal system. We will look at the build slowness soon.


A new library suggestion: SigmaSwiftStatistics

Project URL
https://github.com/evgenyneu/SigmaSwiftStatistics
Description
Added a suggestion for a library to the README, in the Math category.
Checklist

[x] Only one project is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Travis CI pass
[x] Supports iOS 7 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

Cool lib, @evgenyneu. Thanks for contributing 😄


Set default token for simpler setup

99 times out of 100 people won't need anything other than the default token already available in scope, defaulting to it saves everybody YAML setup mess.

Do actions inherit this env variable without explicitly declaring it? If so I'm good to merge this

@softprops It isn't an ENV variable. The system you were using is an ENV variable, and no those to not propagate without explicitly declaring them to be passed to an Action. What I'm doing here combines two other things: input fields which can have default values with context scoped variables, which I believe are available by default in the scope used here.
I copied this arrangement from another Action that I saw using it and found it convenient, but I guess it does bear testing out to make sure there wasn't some other kind of scope magic or authorization that I missed.

Here is an example on an Action that uses this arrangement: https://github.com/peter-evans/create-pull-request/blob/master/action.yml#L4-L6

@softprops I just fixed the merge conflicts, but it looks like the handling of process.env.GITHUB_REPOSITORY vs. getInput('repostiory') is all scrambled. It looks like it was partially implemented as an input, and now it is regressed to being only an env var. Is there some reason this can't be an optional input with a normal default value? I don't see the advantage of using an env variable here and the fallback mechanism for two env vars makes it even more confusing.

I think this is a better way to get access token.
This method is also used by the official action
When using inputs to get the access token, it's default to ${{ github.token }}
official example here

The repository input was likely an effect of https://github.com/softprops/action-gh-release/pull/61

Yes that's where it should have come from, but it does not seem to have been implemented properly. If it was, the current documentation is surely wrong. In 94651eb the documentation was updated to reflect something different than how it should have been implemented, and honestly I can't quite make out whether it ever worked the way it was supposed to or why the documentation was changed.
Where do the env.INPUT_* values even get set? The GitHub Actions API for this should be getInput() or some such, but don't see where that's being used. I see the @actions/core and @actions/github libraries but neither of those document this kind of config handling.

going to cut a release with current changes in then merge this into the following.


Track static mocks left

What does this PR do?
This PR brings a JUnit extension, which will track mocks left in the static fields (Java) or fields of object of companion object (Kotlin), trying to search for me starting from the specified class roots.
This may help in tracking down issue when some static field has mock left and it is causing unexpected behavior in another test. It is mostly for the debugging than for the usage everywhere, because:

It is using the reflection and scan full reference hierarchy.
It requires you to respect extension declaration order (described in the annotation docs).
Most important: in case of lateinit properties there is no way to reset them, there is no API for that, so such properties may still have mocks - in such cases extension will just report violation in the log.

Review checklist (to be filled by reviewers)

[x] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[x] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[x] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #888 (7c92b10) into develop (db2b950) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop     #888      +/-   ##
===========================================
+ Coverage    82.76%   82.79%   +0.03%
===========================================
  Files          265      265
  Lines         8998     9002       +4
  Branches      1457     1457
===========================================
+ Hits          7447     7453       +6
+ Misses        1150     1148       -2
  Partials       401      401

Impacted Files
Coverage Δ

...n/com/datadog/android/core/internal/CoreFeature.kt
93.36% <100.00%> (+0.57%)
:arrow_up:

...adog/android/error/internal/CrashReportsFeature.kt
100.00% <100.00%> (ø)

...android/log/internal/logger/TelemetryLogHandler.kt
75.00% <0.00%> (-25.00%)
:arrow_down:

...ndroid/telemetry/internal/TelemetryEventHandler.kt
82.22% <0.00%> (-2.22%)
:arrow_down:

...android/rum/internal/ndk/DatadogNdkCrashHandler.kt
85.16% <0.00%> (+0.55%)
:arrow_up:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
95.00% <0.00%> (+0.62%)
:arrow_up:

...g/android/rum/internal/debug/UiRumDebugListener.kt
93.85% <0.00%> (+1.54%)
:arrow_up:


{Storage} az storage account local-user: remove from extensions

Description
The command group az storage account local-user including create, update, delete, list, show, list-keys and regenerate-password is outdated without any preview feature. Therefore, we should remove it from extensions.

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Storage


Variable argument list callbacks

This PR adds utility functions to handle (const char* format, va_list arguments) style callbacks.
Instead of trying to parse format strings and argument lists with Java, this calls vsnprintf() on the native side, with a user-provided memory buffer. I also added two convenience functions which use stack memory for buffer storage.
So far this has been tested with one of the callback functions in my bgfx binding branch, on Windows 32/64 bit and on OSX.
It's somewhat fiddly to properly handle vsnprintf() and pass around va_arg parameters in a cross-platform compatible fashion, so feel free to moan and/or reject my typecast rampage. ;)

Updated & squashed the commits.

... if we could maybe also support functions like bgfx_dbg_text_vprintf.

Yes, I thought about that for a while, but decided to let it go and just use bgfx_dbg_text_printf and String.format() for now. So far I can't think of a use case for such a binding.

@code-disaster, thank you for the PR and the above changes. I experimented a bit and decided on a different approach:

Special support for va_list parameters has been added with 5ed6ca8e44e3cdb7f6a83b9642dcdcb7e733cae8. The va_list type is in GlobalTypes, so it's available across all bindings.
Instead of special-case support for vsnprintf, bindings to stdio.h have been added with e0eb9fac8c663049de58ce459b6e320f1289cc82. You should be able to call vsnprintf from trace_vargs without issues.
I have added tests that demonstrate how to call vararg functions using dyncall.

Thanks again and I'm eagerly waiting a PR for the bgfx bindings. :)

Nice! This is both ingenious and a little scary at the same time! ;)


Open folders in a predefined vs code environments

I already know there is a option called work-space , but this does not addressed my issue.
This is the feature what I need,
Assume that I am using vs code for different purposes. As an example: I use vs code for,

Web designing (HTML, CSS, JS)
C++ Programming

When I'm working with HTML, CSS, JS I need to have some special extensions, tasks, launch properties etc. On the other hand when I'm working with C++ I need different extensions, tasks and launch properties. Assume I have two predefined environment for both separately. And these two environments will have only the extensions and other properties that are needed only for each environment. Now I need to open a folder to start a C++ project, so I open this folder with terminal command by adding a the environment name as argument. i.e. code . -env MyCppEnvironment or code . -env WebDesigning.

You may suggest that I could use workspaces option for this. But in my point of view I see workspace as follows,

I open a workspace for C++. code cppProject1.code-workspace. Then I configure the needed properties of the workspace(extensions, tasks, launch properties etc.), then add folders of related project to workspace. And work with it. So then we have to make the workspace again and again for each project.

Looks dup of https://github.com/Microsoft/vscode/issues/39272


Add templates.zip gihub action

What is the context of this PR?
Added github action to add templates.zip to release and remove the current process from the AWS pipeline.
How to review

Can be tested locally using https://github.com/nektos/act
Code looks correct

 Github actions to build design-system artefacts and replace travis

 Add github action to add templates.zip to release

Can you squash the commits?


use a local table for uppercase/lowercase

This is a very rough version. It has a basically complete design and working impl but the code is very hacky[^1], and I wasn't really going to PR this.
The output combined all into one playground can be seen here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3568421c224d239f574e1eec7a964381. It has a test which shows answers both queries correclty for every char.
[^1]: Like, it's a huge mess aside from proving the approach (the code has tons of debugging stuff and duplication, etc), I'd clean it up a lot if you were interested.
The basic notes are:

both props are answered w/ a binary search against the same ~1kbish table. Code size impact is minimal.
the logic to search and interpret the table is small and fast, especially for characters that never change under lowercase/uppercase mapping.
There's a special case for ASCII inputs so they don't have to hit a table at all.
The table encoding/format/generator are totally custom for this purpose. Otherwise it'd be bigger.

I could probably get it faster than this but it's already overengineered enough.

The overall approach is to store a list of ranges in a table, and binary search that. The ranges might indicate:

a run chars that all have the same property values for those two properties (range of chars which only change when uppercased, range of chars which change for both, etc). for example U+00c0..=U+00d6 only change under lowercase (but not uppercase)
A run of chars which alternate between upper,lower,upper,lower,upper,lower (or similarly lower,upper,lower,upper,...). This is very common in Unicode, and special casing this is why the is only 200ish ranges (and not over 1000, most of them for a single character)

Runs with lengths that dont fit into 8 bits are split into multiple contiguous smaller ones, and then it's encoded as u32, as MSB[21 bit start_char | 3 bit range type | 8 bit length]LSB.
This seems likely to work indefinitely since 21 bits can fit any char, and we dont use all the values for the 3 bit range type. That said, it probably won't have to change.
The generator uses a greedyish algorithm to categorize every character into a range. It then filters out ASCII and "no changes" ranges, splits them up (with minimal cleanup) and encodes each range into a u32.
I did most of the design/impl for this over the weekend, but I've spent a lot of time thinking about this problem space. Like, an unreasonable amount of time on making unicode tables better.

Yeah, as I said, as long as it doesn't blow up the size, it should be fine

Well, the size impact of this on users is very small, and it's fast too. But it's rather high complexity in the table generator. I don't mind owning/maintaining that, and I'm happy to get the code more cleaned up if you want, but I wouldn't be offended if you don't.
FWIW, it only relies on unicode stable promises (like the number of bits in a codepoint), and handles cases that could change (lenbits not being enough). That means in theory future unicode updates should not come with any drama.

It's unfortunate that essentially every crate (std, regex, us) has to ship its own version of unicode data though.

My general feeling is that with enough elbow grease you can get any of the unicode tables small. It's a compression (and data access) problem, just not a very well-studied one for whatever reason. I had a scratch workspace that could produce all tables regex needed with ~40kb data. It would have required a lot of changes to actually use, so I put it in my own regex engine, which never saw the light of day. So it goes.
Still, it's not ideal that everything has their own tables, but I don't see an alternative really.


Building issue on Windows on ARM64 with VS2022 for ARM64 native (1.83)

Hi,
No success with this build trying:
at ARM64 native tools command prompt on a Windows on Arm64 (Azure VM)

bootstrap vc143
b2 abi=aapcs address-model=64 architecture=arm binary-format=pe threading=multi toolset=msvc link=static

...patience...
don't know how to make <p/C:/CSDK/MAIN/Development/3rdParty/boost_1_83_0>C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.40.33617\bin\Hostarm64\vcvarsall.bat
...patience...
(the bat actually is here: C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Auxiliary\Build\vcvarsarm64.bat)
...patience...
...found 11707 targets...
...updating 565 targets...
...can't find 1 target...
...can't make 2 targets...
...skipped <pbin.v2\standalone\msvc\msvc-14.3>msvc-setup.read for lack of <p/C:/CSDK/MAIN/Development/3rdParty/boost_1_83_0>C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.40.33617\bin\Hostarm64\vcvarsall.bat...
and many similar error messages
...skipped 567 targets...
Is there any advice or instruction for the success build? thanks

It looks, it is vc144 toolset handling issue in b2

This https://github.com/boostorg/boost/issues/914 solves this issue.
boots builds and runs on Windows on ARM64


TC Graph re-work

This is just a place to put ideas on how to improve the TC graph to make it more user friendly after throwing around the idea of removing from behind the "TC Mode" checkbox.

Label the axis depending on Opt Target and selected stat (Implemented)
Allow graphing against other Opt Targets (Implemented in #707)
Allow clicking the individual dots to show the build
Prevent graph from clearing when changing page #275
Add compare function to graph  #309
Since a common use of the comparison graph is to check how different weapons stack up once re-optimizing to take advantage of the new weapons stats/passives you would need to be able to save your current build, including weapon, as a "loadout".
So there is the potential to combine this compare feature with a build loadout feature #401
As a stopgap could just link Mimee's website in a (?) Info subtext under the graph: "Want to compare this result to another generated result? use: https://peacerekam.github.io/ "

Closing this as most features are now done. The remaining have their own issues open.


Regex in suppression.xml does not do what expected

In our project we use several war files with different names but the same naming convention.
I am trying to suppress the war files with the following regex in the suppression.xml
	<suppress>
		<notes><![CDATA[file name: ggm-gus.war]]> my_note </notes>
		<packageUrl regex="true">^pkg:maven/nl\.company\.location/aab\-(ngr?\-)?.*\.war</packageUrl>
		<cve>CVE-2017-8046</cve>
		<cve>CVE-2018-1196</cve>
	</suppress>

However the two CVE's are not suppressed in any of the files.
I would expect that the CVE in e.g. the file aab-ng-foo.war is suppressed, however it is not.
Can anyone help me?

In your HTML report did you click the [suppress] button to generate the base of the above suppression?  I would be really surprised if a package URL actually ended with .war.  The package URL (see https://github.com/package-url/purl-spec) is a universal way to describe packages.
I find the best way to create suppression rules is to use the HTML report's suppression button and make modifications to the generated rules.

We klicked the button and edited the generated rules. The suppression generated by the button was:

   file name: aab-ngr-log.war

<EMAIL_ADDRESS>CVE-2017-8046

So you would likely want to use:
<suppress>
   <notes><![CDATA[file name: ggm-gus.war]]> my_note </notes>
   <packageUrl regex="true">^pkg:maven/nl\.company\.location/aab\-.*$</packageUrl>
   <cve>CVE-2017-8046</cve>
   <cve>CVE-2018-1196</cve>
</suppress>


Modules cannot have ports with same name

Elm version: 0.17.0
I have two modules, they both have a port with the same name:
port module ModuleA exposing (main)

import Html exposing (text)
import Platform.Sub as Sub

port incomePort : (String -> msg) -> Sub msg

main =
  text "Hello"

port module ModuleB exposing (main)

import Html exposing (text)
import Platform.Sub as Sub

port incomePort : (String -> msg) -> Sub msg

main =
  text "Hey!"

And I compiled it by this command:
elm make ModuleA.elm ModuleB.elm --output combined.js

The generated JS file will output the following error:
Error: There can only be one port named `incomePort`, but your program has multiple.

These two modules are not connected and there should be no ambiguity between the ports. I think the ports name checking should be bounded to the module, instead of JS-file-wise.
By the way, when I generate the modules separately and include them in the same page, there is no error.
elm make ModuleA.elm --output a.js
elm make ModuleB.elm --output b.js

<script type="text/javascript" src="a.js"></script>
<script type="text/javascript" src="b.js"></script>

Is this behaviour intended? I can try to send a PR to fix it if it is not :)

bump, any updates?

Just raised a similar concern on stackoverflow. Being a newcomer in Elm, here is what I wanted to do to avoid import glitches:
import MyModule exposing (myFunction as myRenamedFunction, somethingElse)

Having that supported by the compiler would be awesome!

These two modules are not connected and there should be no ambiguity between the ports.

But think about the way you use the ports, on the Javascript side. You'll end up saying stuff like:
var elmApp = Elm.Main.fullscreen({
   ...
});

elmApp.ports.cacheCredentials.subscribe(function(params) {
   ...
}

Now, which cacheCredentials does this refer to, if the port name is used in two different modules?
Of course, there would be a way to solve this problem -- you could imagine elmApp.ports exposing a port name qualified by the module name, for instance -- I just wanted to point out that it's not a trivial problem to fix. Or, in other words, there is currently an ambiguity, even if you could imagine deeper changes that might avoid it.

I just want to post here that this talk "The Importance of Ports" by Murphy Randle has helped me (YMMV) a lot when using ports in my Elm apps. I now have one single Ports.elm module, which is the only port module and which contains two ports: infoForOutside and infoForElm. This mitigates/works around the ambiguity raised in this issue.

Now, which cacheCredentials does this refer to, if the port name is used in two different modules?

Obviously the one used in Main, and not the one used in OtherMain.
Tell me, if you have:
const elmApp1 = Elm.Main.init({…})
const elmApp2 = Elm.Main.init({…})

elmApp2.ports.cacheCredentials.subscribe(app2Handler)

Would you expect messages sent by elmApp1 to be recieved by app2Handler ?
I'm trying to have Elm control two different elements on the same page; let say one in the header and one in the content; and will be syncing the state between them with ports; if I could name them the same it would be clearer.
(It's probably not the best solution, but I don't know any other way and this allows me to move forward.)

But think about the way you use the ports, on the Javascript side. You'll end up saying stuff like:
var elmApp = Elm.Main.fullscreen({
   ...
});

elmApp.ports.cacheCredentials.subscribe(function(params) {
   ...
}

Now, which cacheCredentials does this refer to, if the port name is used in two different modules?

We encountered this issue today too, @rgrempel

These two modules are not connected and there should be no ambiguity between the ports.

var header = Elm.Header.fullscreen({
   ...
});

header.ports.cacheCredentials.subscribe(function(params) {
   ...
}
var footer = Elm.Footer.fullscreen({
   ...
});

footer.ports.cacheCredentials.subscribe(function(params) {
   ...
}

I tried with Elm 0.19.1 too but I also have a runtime exception.

This should be added to https://github.com/elm/core/issues/377 (list of potential runtime exceptions)

I faced the exact same problem faced by @b123400  - if you scroll up to the first post here, you will find a beautiful minimal code example.
Here's how I solved it: I removed the port common to both the Elm modules - which were alleged duplicates, and I created a new third module which contained the import. I then imported this port into the original modules, after stripping away their old port references. This might not make much sense, so you will find below a very rough cut and paste of what I had done:
I created a new elm Module:
-- IncomePort.elm
port module IncomePort exposing (incomePort)

port incomePort : (String -> msg) -> Sub msg

And then within my other modules, I simply imported the IncomePort module and removed the old ports which existed there:
-- ModuleA.elm
-- port module ModuleA exposing (main) -- remove the port keyword at the front
module ModuleA exposing (main) -- remove the port keyword at the front

import Html exposing (text)
import Platform.Sub as Sub

-- port incomePort : (String -> msg) -> Sub msg -- remove this function which is no longer needed
import IncomePort exposing (incomePort) -- import the port from the new module

main =
  text "Hello"

-- ModuleB.elm
-- port module ModuleB exposing (main) -- remove the port at the front
module ModuleB exposing (main)

import Html exposing (text)
import Platform.Sub as Sub

-- port incomePort : (String -> msg) -> Sub msg -- remove this function which is no longer needed
import IncomePort exposing (incomePort) -- import the port from the new module

main =
  text "Hey!"

This is likely extremely hacky -- but it will do for the moment.


To Reproduce
Steps to reproduce the behavior:

Go to https://lab.github.com/githubtraining/github-actions:-writing-javascript-actions
See error one right hand side

Expected behavior
I expect this is a calculation but the number is just two large. Number should be about 40 minutes,
Screenshots

@warwickfoster - Thank you for creating this issue.


Fix how status API URL is determined when both stub status and NGINX Plus APIs are configured

Proposed changes
Fix how status API URL is determined when both stub status and NGINX Plus APIs are configured.
Checklist
Before creating a PR, run through this checklist and mark each as complete.

[ ] I have read the CONTRIBUTING document
[ ] I have run make install-tools and have attached any dependency changes to this pull request
[ ] If applicable, I have added tests that prove my fix is effective or that my feature works
[ ] If applicable, I have checked that any relevant tests pass after adding my changes
[ ] If applicable, I have updated any relevant documentation (README.md)
[ ] If applicable, I have tested my cross-platform changes on Ubuntu 22, Redhat 8, SUSE 15 and FreeBSD 13

Codecov Report
Patch coverage: 22.98% and project coverage change: -0.46% :warning:

Comparison is base (7cc0918) 67.48% compared to head (4812798) 67.03%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #433      +/-   ##
==========================================
- Coverage   67.48%   67.03%   -0.46%
==========================================
  Files         113      113
  Lines       12777    12838      +61
==========================================
- Hits         8623     8606      -17
- Misses       3584     3662      +78
  Partials      570      570

Files Changed
Coverage Δ

src/core/nginx.go
45.86% <0.00%> (-0.54%)
:arrow_down:

...or/github.com/nginx/agent/sdk/v2/config_helpers.go
63.49% <26.31%> (-5.41%)
:arrow_down:

... and 3 files with indirect coverage changes

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


Update hdinsight-troubleshoot-failed-cluster.md

Changed heading to reflect the article is to Troubleshooting jobs

@csunilkumar : Thanks for your contribution! The author, @hrasheed-msft, has been notified to review your proposed change.

@csunilkumar Thanks Sunil. Changes look good.

#sign-off


lucet-wasi: convert sched_yield to yield Lucet instance

Adam's suggestion in code review: https://github.com/fastly/lucet/pull/344#discussion_r342342806

Fixed with the async lucet-wasi work


How to select providers for Find All References without restarting VSCode?

I have clangd and C++ Intellisense installed for Visual Studio Code.

With Find All References I get results both from clangd and C++ Intellisense.

I need to switch between different reference providers frequently. Sometimes I want results only from clangd, and sometimes I want results only from C++ Intellisense.
Is there a way that reference provider is selectable? like:

(this picture is manually made with gimp)
Or some other ways to select reference provider without restarting VSCode?
I also have similar needs for Go to Definition, Go to Declaration, etc.
If currently VSCode(with extensions) doesn't have such capability, I'd like to request such a feature.

That is currently not possible but something we should start thinking about.


17.x versions of Workspace APIs missing from NuGet

I.E. Microsoft.VisualStudio.Workspace.VSIntegration
Microsoft.VisualStudio.Workspace
Microsoft.VisualStudio.Workspace.Extensions
Microsoft.VisualStudio.Workspace.Extensions.VS
When this repo was private I raised an issue about these (unfortunately that seems to have got lost when it became public). I think @AArnott was going to chase with the team responsible for those assemblies.
My hacky workaround at the time was to build directly against the 17.0 versions in the VS installation. That approach broke with 17.1 when the dependencies of the workspace assemblies changed to use Microsoft.VisualStudio.Threading 17.1. It can be resolved by either stashing 17.0 versions directly in our repo, or by using the VS SDK 17.1 version but that will just break again in a future 17.x.
So is it possible to refresh NuGet with 17.x versions?

@sae42 - Thanks for reaching out. Updated versions of these packages should now be available on nuget.org.


set active connection on a file script that's opened from command line

Is your feature request related to a problem? Please describe.
There is another request (#2095) which is similar in context but I don't want to execute the script (this, I'm guessing will have a connection established to do it) as requested in #2095.
Describe the solution you'd like
I'd like to open a file but just connect to the connection info specified in '-con' w/o executing it since the .sql could be parameterized and not executable. *Maybe an execution can be another option to add to '-con' or '-f'.
Describe alternatives you've considered
It'd be similar to 'openConsole' in the '-con' but attach it to the file opened w/ '-f'.
Additional context
"C:\Program Files\DBeaver\dbeaver.exe" -f "%userprofile%\Documents\DBeaver\Script.sql" -con "name=..|host=..." to establish connection on "open" based on information specified in'-con'.

Doesn't work if the script was already opened for another connection

Verified


Added Oikolab API for weather data

[x] My submission is formatted according to the guidelines in the contributing guide
[x] My addition is ordered alphabetically
[x] My submission has a useful description
[x] The description does not have more than 100 characters
[x] The description does not end with punctuation
[x] Each table column is padded with one space on either side
[x] I have searched the repository for any relevant issues or pull requests
[x] Any category I am creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thanks @matheusfelipeog for the quick approval & merge!


Handle no opening times

Search for hg2 - the second result 'Day Lewis Pharmacy' has not opening times.

Should a default message be used when an org has no opening times?
Should the org be omitted from the 'only open' results but included in the 'everything' results?
Should the application 'break'?

Discussed in review with @mcgrathjoe and @ermlikeyeah
When no opening times display 'Call for opening times'
Include these orgs only in everything results
Application should handle this scenario
Resolved by PR #40