Undefined symbol from pyvista import _vtk

Describe the bug
Undefined symbol when importing ansys.mapdl.core
To Reproduce
Steps to reproduce the behavior:
Using v212 of Ansys, when I try to import ansys.mapdl.core i get the following error:
Expected behavior
The module should load
System Information:

OS: CentOS Linux 7
Ansys version v212 (install id -<PHONE_NUMBER>21)
PyMAPDL version (E.g. 0.59.1)

Additional context
Add any other context about the problem here.
Run a PyMAPDL report
Please run the following code wherever you are experiencing the bug and paste the output below. This report helps us track down bugs and it is critical to addressing your bug:
from ansys.mapdl import core as pymapdl
print(pymapdl.Report())

CRITICAL -  -  logging - handle_exception - Uncaught exception
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/shared/home/cor22/.conda/envs/pyANSYS/lib/python3.8/site-packages/ansys/mapdl/core/__init__.py", line 15, in <module>
    from pyvista.utilities.sphinx_gallery import _get_sg_image_scraper
  File "/shared/home/cor22/.conda/envs/pyANSYS/lib/python3.8/site-packages/pyvista/__init__.py", line 12, in <module>
    from pyvista.plotting import *
  File "/shared/home/cor22/.conda/envs/pyANSYS/lib/python3.8/site-packages/pyvista/plotting/__init__.py", line 4, in <module>
    from .charts import Chart2D, ChartMPL, ChartBox, ChartPie
  File "/shared/home/cor22/.conda/envs/pyANSYS/lib/python3.8/site-packages/pyvista/plotting/charts.py", line 13, in <module>
    from pyvista import _vtk
  File "/shared/home/cor22/.conda/envs/pyANSYS/lib/python3.8/site-packages/pyvista/_vtk.py", line 411, in <module>
    from vtkmodules.vtkRenderingOpenGL2 import (
ImportError: /lib64/libXxf86vm.so.1: undefined symbol: _XGetRequest

Can you run the following?
yum install libXext-devel.x86_64

The problem is that ansys has some libraries that are being used instead of the system library.
The error on import with it loaded is ImportError: /lib64/libXxf86vm.so.1: undefined symbol: _XGetRequest
Looking at the library:
$ ldd /lib64/libXxf86vm.so.1    linux-vdso.so.1 =>  (0x00007fffba3db000)    libX11.so.6 => /apps/ansys/v212/Electronics/Linux64/defer/libX11.so.6 (0x00002ad08dad4000)    libXext.so.6 => /apps/ansys/v212/Electronics/Linux64/defer/libXext.so.6 (0x00002ad08deda000)    libc.so.6 => /lib64/libc.so.6 (0x00002ad08dfeb000)    libdl.so.2 => /lib64/libdl.so.2 (0x00002ad08e3b9000)    /lib64/ld-linux-x86-64.so.2 (0x00002ad08dab0000)
With the ansys module not loaded we have:
$ ldd /lib64/libXxf86vm.so.1    linux-vdso.so.1 =>  (0x00007ffd0619f000)    libX11.so.6 => /lib64/libX11.so.6 (0x00002aabdcc14000)    libXext.so.6 => /lib64/libXext.so.6 (0x00002aabdcf52000)    libc.so.6 => /lib64/libc.so.6 (0x00002aabdd164000)    libxcb.so.1 => /lib64/libxcb.so.1 (0x00002aabdd532000)    libdl.so.2 => /lib64/libdl.so.2 (0x00002aabdd75a000)    /lib64/ld-linux-x86-64.so.2 (0x00002aabdc7ea000)    libXau.so.6 => /lib64/libXau.so.6 (0x00002aabdd95e000)
With XGetRequest defined in /lib64/libX11.so.6, but not in /apps/ansys/v212/Electronics/Linux64/defer/libX11.so.6:
$ nm -D  /lib64/libX11.so.6 | grep XGetRequest<PHONE_NUMBER>0458e0 T _XGetRequest
$nm -D /apps/ansys/v212/Electronics/Linux64/defer/libX11.so.6 | grep XGetRequest

I actually don't need X11. Is there a way to disable it?

@connorourke, the issue is that we're using the VTK library here, and adding it as an optional dependency would remove this issue.
This has been on our "to-do" list for some time, and will require a bit of a refactor.

I managed to get it to work by sym linking the ansys library to point to the system library.


Issue#114: Add timestamp to EmuYoda server console

Love it,
My recommendation however is to create a new function that does this and refactor the code to call it.
I would suggest something like
$scope.cmdOutput = function(cmd, output) {
   // cool stuff here with time stamp
  $scope.consoleAppend(coolstuff)
}

Then refactor the couple of places we hack the output to make it just call $scope.cmdOutput(cmd, output)
Then we can make all sorts of nice updates there, like highlighting certain text etc.

I re-factored a lot of code in this section, can you look at the latest and see if you can come up with a more generic way to do this?  consoleAppend now gets called only with a single line at a time so it should be trivial to add something in there.


Unstable WiFi after multiple HTTP call

Hi,
Here's the issue that i have :
Environment

Development Kit:      [ESP32-Dev-Kit|ESP32 Thing]
Kit version (for WroverKit/PicoKit/DevKitC): [v1]
Core (if using chip or module): [ESP-WROOM32]
IDF version:
Started on 6acb38af, checkout latest commit (92c469b5) and same behavior
Development Env:		[Make|Eclipse]
Operating System:		[Windows]
Power Supply:         [USB]
Router: Apple Timecapsule

Problem Description
When using HTTP GET, after 120s with one GET per second, WiFi is lost and is not recoverable.
Expected Behavior
Staying connected and reconnect without any issue
Actual Behavior
Stuck disconnected without anything running anymore.
Steps to repropduce
Using https://github.com/tuanpmt/esp-request to create GET request and set up a Task that will GET every second. (Same issue with or without SSL)
Code to reproduce this issue
Here's a few thing that i set up :
/*
 * ESPRESSIF MIT License
 *
 * Copyright (c) 2018 <ESPRESSIF SYSTEMS (SHANGHAI) PTE LTD>
 *
 * Permission is hereby granted for use on ESPRESSIF SYSTEMS products only, in which case,
 * it is free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the Software is furnished
 * to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all copies or
 * substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 */

#include <stdio.h>
#include <string.h>

#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/event_groups.h"

#include "esp_log.h"
#include "esp_wifi.h"
#include "esp_event_loop.h"
#include "esp_system.h"
#include "nvs_flash.h"

#include "abl_http_req.h"

/* FreeRTOS event group to signal when we are connected & ready to make a request */
static EventGroupHandle_t wifi_event_group;

/* The event group allows multiple bits for each event,
   but we only care about one event - are we connected
   to the AP with an IP? */
const int CONNECTED_BIT = BIT0;

static const char *TAG = "APP";

static void request_task(void *pvParameters)
{
	while(1){
		xEventGroupWaitBits(wifi_event_group, CONNECTED_BIT, false, true, portMAX_DELAY);
		abl_http_response_t get_response;
		const char *header_ua[1] = {"User-agent : myUA"};
		ESP_LOGI(TAG, "------- Starting get --------");
		abl_http_get("http://httpbin.org/get", header_ua, &get_response);
		ESP_LOGI(TAG, "-------  Finish get  --------");
		memset(&get_response, 0, sizeof(abl_http_response_t));
		ESP_LOGI(TAG, "WM : %u", uxTaskGetStackHighWaterMark(NULL));
		vTaskDelay(1000/portTICK_PERIOD_MS);
	}
}

static esp_err_t event_handler(void *ctx, system_event_t *event)
{
    switch(event->event_id) {
    case SYSTEM_EVENT_STA_START:
        esp_wifi_connect();
        break;
    case SYSTEM_EVENT_STA_GOT_IP:
        xEventGroupSetBits(wifi_event_group, CONNECTED_BIT);
        break;
    case SYSTEM_EVENT_STA_LOST_IP:
    	ESP_LOGI(TAG, "Lost IP, disconnecting ...");
    	esp_wifi_disconnect();
        xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
    	break;
    case SYSTEM_EVENT_STA_DISCONNECTED:
        /* This is a workaround as ESP32 WiFi libs don't currently
           auto-reassociate. */
        esp_wifi_connect();
        xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
        break;
    default:
        break;
    }
    return ESP_OK;
}

static void initialise_wifi(void)
{
    tcpip_adapter_init();
    wifi_event_group = xEventGroupCreate();
    xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
    ESP_ERROR_CHECK( esp_event_loop_init(event_handler, NULL) );
    wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
    ESP_ERROR_CHECK( esp_wifi_init(&cfg) );
    ESP_ERROR_CHECK( esp_wifi_set_storage(WIFI_STORAGE_RAM) );
    wifi_config_t wifi_config = {
        .sta = {
            .ssid = "my_ssid",
            .password = "my_passphrase",
        },
    };
    ESP_LOGI(TAG, "Setting WiFi configuration SSID %s...", wifi_config.sta.ssid);
    ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_STA) );
    ESP_ERROR_CHECK( esp_wifi_set_config(ESP_IF_WIFI_STA, &wifi_config) );
    ESP_ERROR_CHECK( esp_wifi_start() );

}

void app_main()
{
    nvs_flash_init();
    initialise_wifi();

    xTaskCreate(&request_task, "request_task", 8192, NULL, 5, NULL);
}

Debug Logs
Here's the ouput i got :
I (116372) APP: ------- Starting get --------
I (123402) wifi: bcn_timout,ap_probe_send_start
I (125902) wifi: ap_probe_send over, resett wifi status to disassoc
I (125902) wifi: state: run -> init (1)
I (125902) wifi: pm stop, total sleep time: 96762297 us / 124460513 us

I (125912) wifi: n:1 0, o:1 0, ap:255 255, sta:1 0, prof:1
E (134372) HTTP_REQ: Error write header
E (134372) HTTP_REQ: Error send request
I (134372) ABL_HTTP: HTTP Code : 0
I (134372) ABL_HTTP: HTTP Response empty
I (134372) APP: -------  Finish get  --------
I (134382) APP: WM : 4504
I (135682) wifi: n:1 0, o:1 0, ap:255 255, sta:1 0, prof:1
I (135682) wifi: state: init -> auth (b0)
I (135682) wifi: state: auth -> assoc (0)
I (135682) wifi: state: assoc -> run (10)
I (135702) wifi: connected with my_ssid, channel 1
I (135702) wifi: pm start, type: 1

I (136372) event: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (136372) APP: ------- Starting get --------
I (142452) wifi: bcn_timout,ap_probe_send_start
I (144952) wifi: ap_probe_send over, resett wifi status to disassoc
I (144952) wifi: state: run -> init (1)
I (144952) wifi: pm stop, total sleep time: 507229 us / 9243672 us

I (144952) wifi: n:1 0, o:1 0, ap:255 255, sta:1 0, prof:1
W (145322) wifi: alloc eb len=76 type=2 fail, heap:584

W (145322) wifi: m f probe req l=0

W (145442) wifi: alloc eb len=76 type=2 fail, heap:584

W (145442) wifi: m f probe req l=0

W (145562) wifi: alloc eb len=76 type=2 fail, heap:584

W (145562) wifi: m f probe req l=0

W (145682) wifi: alloc eb len=76 type=2 fail, heap:584

W (145682) wifi: m f probe req l=0

W (147732) wifi: alloc eb len=76 type=2 fail, heap:584

W (147732) wifi: m f probe req l=0

o:1 0, ap:255 255, sta:1 0, prof:1
I (241112) event: station ip lost
I (241112) APP: Lost IP, disconnecting ...

I tried  :
    case SYSTEM_EVENT_STA_LOST_IP:
    	ESP_LOGI(TAG, "Lost IP, disconnecting ...");
    	esp_wifi_disconnect();
        xEventGroupClearBits(wifi_event_group, CONNECTED_BIT);
        esp_wifi_connect();
    	break;

But it's not working either.
Let me know if you need more informations.
Thanks,
Tony

@vtunr

W (145322) wifi: alloc eb len=76 type=2 fail, heap:584

looks like you have a memory leak.
check out
void heap_caps_print_heap_info(uint32_t caps)
Chuck.

Hi @stickbreaker,
Thanks for you quick response, I found the memory leak in the HTTP library and proposed a fix (https://github.com/tuanpmt/esp-request/pull/20)
I have no more WiFi issues :)
Tony

I am getting similar error
wifi: alloc eb len=192 type=2 fail
I am using WIFI with external RAM.
Internal Heap free: 41120
Heap free: 4195984:4233744
Plenty of external ram and some internal RAM.
Does in default settings WIFI only uses internal ram.


Parser: opening of infile

when an infile is encountered the function open(tmp->content, O_RDONLY); does not reliably open the given file.
at times it works, at times it doesn't and returns simply -1.
Root cause to be determined.

resolved: set cwd in launch.json file of vscode to "${workspaceFolder}/tests" instead of "${fileDirname}"


Recreating site for 2022

Changelog

Contributors.json updated
New Blog Updated
Package updated for Ruby 3.0
Loading Data from JSON instead of Hard code.
Loading Project data from JSON instead of Hard code
2020 Developers Data moved to contributors_old.json

Hey @codePerfectPlus, I'd be happy to make changes to the site if a re-creation is required!

@reveurguy making some changes. let me know If you have some ideas to work on. I also have some ideas in my mind.

Don't Upload more pictures to repos. Create a link.

Deleted the image from REPO and added the link from another source.


Adjust debug code's order in DefaultExecHandle

See https://github.com/gradle/gradle-private/issues/1581
Previously, logger debug code at the beginning of DefaultExecHandle.setState()
method might cause whole Gradle daemon deadlock and stuck. This commit move
the debug code at the end and out of the lock.

Well I didn't find a way to reproduce this issue...

I would rather think it as a "workaround" instead of "solution". The root cause should definitely be fixed, this log statement happens to trigger this problem unluckily. I think moving the log statement is a cheap way to improve this situation (reduce the timeout execution) without side effect. But yes, we should keep working on fixing this problem eventually.

I don't know what you mean - Fixing the root cause in the WorkerDaemonClientsManager is just as simple and more importantly it's correct. Why do a workaround instead when we know the real problem?

I would argue that making log level volatile is not as simple as moving the log statement - I was not sure the former one's side effect, especially when I can't write a test to reproduce the problem. It's great that you're pretty sure removing synchronized block is correct - let's fix this in another PR.

Another option is keeping the synchronized, but never stopping workers inside a synchronized block. That might be even easier to understand. Instead, just collect the workers to stop inside synchronized and then do the actual stopping afterwards.


[WIP] Update API and tutorial docs

changes

[WIP] add comprehensive compute and data api walkthrough tutorial
remove basic/advanced api sections (duplicate with tutorials and factory function examples)
update factory function examples

Notes:

converting colab to rst file -- 1) export as .ipynb file 2) run jupyter nbconvert --to rst notebook.ipynb

@dongreenberg main thing is to review directly on the colabs linked for the compute and data api tutorials. please directly comment on the colab any suggestions on things to add or change!

merging for now but feel free to add comments directly on the colab/PR, I'll update them in a separate commit!


Adds create to participant.

Currently the Participant resource does not include :create as an option. This PR proposes to add it.
Documentation from Twilio noting creation of a conference participant can be found by scrolling down to the second HTTP POST section here:
https://www.twilio.com/docs/voice/api/conference-participant#http-post
Example usage:
ExTwilio.Participant.create(%{"From" => "+15555555555", "To" => "+15555555556"}, account: "HelloWorldAccount", conference: "12345")

Addresses issue #102

Thank you!


Softbreaks are not rendered properly

Describe the bug
Markdown paragraphs with a softbreak (i.e., a new line inside a paragraph) are rendered without whitespace.
To Reproduce

Copy the following markdown into a sample.md file:

## Late Delivery and Penalty.

In case of delayed delivery except for Force Majeure cases,
"Dan" (the Seller) shall pay to "Steve" (the Buyer) for every 2 days
of delay penalty amounting to 10.5% of the total value of the Equipment
whose delivery has been delayed. Any fractional part of a days is to be
considered a full days. The total amount of penalty shall not however,
exceed 55% of the total value of the Equipment involved in late delivery.
If the delay is more than 15 days, the Buyer is entitled to terminate this Contract.

Translate it to the Slate DOM with Markus:

markus parse --sample sample.md --slate --output test.json

Use that test.json file to initialize TSv2 here:
https://github.com/accordproject/template-studio-v2/blob/e5c33452fc02528b8aa2dd5647238e0c0561b882/src/reducers/contractReducer.js#L12
(i.e., something like: slateValue: Value.fromJSON(require('test.json')),)

missing space is indicated in the red boxes

Expected behavior
Markdown paragraphs with new lines inside paragraphs (soft breaks) should be rendered with the appropriate space.

Note: The Slate DOM translation does not seem to handle soft breaks in a way that preserves them. This might be best fixed in markdown-transform.

Followed the steps to reproduce the problem, but seems to work fine on my end.

Ah I think we just missed closing this, it was solved in markdown-transform PR #113


Parent pages scroll position problem

Hello David
Thank you for creating the iframe resizer script.
I seem to be having the occasional issue with a few of our websites. Once the iframe source has changed to a new source the page position keeps being thrown to the bottom of the page.
Just wondering if anyone else has had an issue like this? Please see example here: https://goo.gl/icHEBF
Please follow through to the last page which requires users details. Any thoughts would be appreciated.

Hello I have the same problem. It seems it remembers the vertical position of the last loaded page, and new loaded page is displayed in the same position - usually if the new page has no content there it just looks like a white screen.
It makes perfect sense that every time new page loads, vertical position is set to 0. No idea how to do this.

Same problem here. Anyone figured out how to solve this problem?
@davidjbradshaw  Wouldn't it be a great solution to set y-scroll on every new iframe page load to 0?

You could call scrollTo(0,0) in the onReady event in the page you are loading

@davidjbradshaw
We already call parentIFrame.scrollTo(0,0), but it passes a negative y-value:
[iFrameSizer][Host page: iFrameResizer0] Reposition requested from iFrame (offset x:8 y:-544)
So the parent site doesn't scroll to top when the iframe page loads a new page.

That looks like you are calling scrollToOffset(), rather than
scrollTo().

@davidjbradshaw No, we simply call:
if ('parentIFrame' in window) {
  parentIFrame.scrollTo(0,160)
}

Can I reach you for private (paid) support? It would be great to have this problem solved.

The first step would be to put a simple example of the issue online somewhere that I can look at it.

I used
$(document).ready(function () {
$("iframe").load(function () {
$("html, body").animate({scrollTop: 0}, "slow");
});

Try using parentIFrame.scrollTo() within the onReady event, in the page that is loaded in the iframe. Something like this:
window.iFrameResizer = {
  onReady: function () {
    if( 'parentIFrame' in window ) {
      window.parentIFrame.scrollTo(0, 0);
    }
  }
};

This seems to work in my situation. Hope it helps someone!

@sandrab you can reduce you example to this:
window.iFrameResizer = {
 onReady: function () {
    window.parentIFrame.scrollTo(0, 0);
 }
};


poster with access_token url

Poster doesn't work with this type, which works in notification
poster: "/api/camera_proxy/camera.camera_hub_g3_120c?token={{state_attr('camera.camera_hub_g3_120c', 'access_token') }}"

Can you take a look into the Homeassistant error log, are there warnings like this?
Logger: homeassistant.components.http.security_filter
Quelle: components/http/security_filter.py:65
Filtered a request with unsafe byte query string:

It's not supported. It is written in the readme


Static Web App Config with customOpenIdConnectProviders returns 404.

Describe the bug

According to the official docs and other online resources, creating a staticwebapp.config.json and configuring it with customOpenIdConnectProviders should allow you to login via /.auth/login/<PROVIDER_NAME_IN_CONFIG>.
I've tried this many different ways, but no matter what I do, navigating to /.auth/login/<PROVIDER_NAME_IN_CONFIG> returns a 404.
To Reproduce
Steps to reproduce the behavior:

Fork this repo
clone down, delete github actions file, push back up
In Azure Portal, create a new SWA from github repo (forked in previous step)
Setup Okta as outlined in this blog
Setup App Settings for clientid & client secret
update wellKnownOpenIdConfiguration to okta domain
Deploy App
Navigate to /.auth/login/okta
Site will return 404

Expected behavior
I would expect /.auth/login/okta to take me to the login
Screenshots

Additional context
I feel like there must be a step missing from both the official documentation and the blog listed above. Has something changed to how staticwebapp.config.json are setup?

nvm, it apparently need to be a "standard" tier.

Sorry about that! @miwebst Is it possible to validate this at deployment time and print an error message?

Yes this is something we can improve upon for sure! Thanks for surfacing!


"Start a Chat" button on profile, tracker popups

@keybase/react-hackers
Also de-dupes user-actions.{desktop,native}.js, which were identical, and sanity-checks against the case where the list of usernames passed to startConversation() doesn't include your own username, in which case we'd try to put you in someone else's private convo and fail.
Also discovered a race that existed before this PR, when you click Start a Chat before you've visited the Chat tab for the first time that app launch.  Not a blocker, not fixed here, ticketed as DESKTOP-3689.


Save icon on top of file blinks blue

Whenever making a change to file, the save icon blinks blue at top of file (in the tab list). Can this be disabled?

I see also this is happening. If it can be removed, thanks.

As suggested at https://github.com/atom/tabs/issues/225 ,
you can paste the following code into your styles.less file:
.tab-bar .tab.modified {
&, &:hover {
.close-icon {
color: @background-color-info;
}
}
&:not(:hover) .close-icon {
display: none;
}
}


Handle namespaces within TypeNode#has_constant?

Add test coverage
Add examples to API docs

Resolves #12965

As a matter of consistency, whatever behavior change is done to #has_constant? should also be replicated to #constant.

This was eventually reverted in #13106 due to https://github.com/crystal-lang/crystal/issues/13095.


Doesn't work with agamigo.io/material

This should work... Must be a bug in getter.

So it looks like there's a difference in behaviour between command line git and go-git. I've opened a go-git ticket:
https://github.com/src-d/go-git/issues/750

go get is quite happy to use https://gitlab.com/agamigo/material as the repo root, and command line git can clone that... However, go-git errors:
$ go get -v agamigo.io/material
Fetching https://agamigo.io/material?go-get=1
Parsing meta tags from https://agamigo.io/material?go-get=1 (status code 200)
get "agamigo.io/material": found meta tag get.metaImport{Prefix:"agamigo.io/material", VCS:"git", RepoRoot:"https://gitlab.com/agamigo/material"} at https://agamigo.io/material?go-get=1
agamigo.io/material (download)
agamigo.io/material

$ git clone https://gitlab.com/agamigo/material
Cloning into 'material'...
warning: redirecting to https://gitlab.com/agamigo/material.git/
remote: Counting objects: 1016, done.
remote: Compressing objects: 100% (559/559), done.
remote: Total 1016 (delta 504), reused 679 (delta 306)
Receiving objects: 100% (1016/1016), 216.49 KiB | 564.00 KiB/s, done.
Resolving deltas: 100% (504/504), done.

func TestClone(t *testing.T) {
	_, err := git.Clone(memory.NewStorage(), memfs.New(), &git.CloneOptions{
		URL:               "https://gitlab.com/agamigo/material",
		SingleBranch:      true,
		Depth:             1,
		RecurseSubmodules: git.DefaultSubmoduleRecursionDepth,
	})
	if err != nil {
		t.Fatal(err)
	}
}

Output:
getter_test.go:23: repository not found

I suspect it's connected with: warning: redirecting to https://gitlab.com/agamigo/material.git/

Hey @bzub I think this is yours? It looks like there's a bug in go-git (or perhaps intentional deviation from the behaviour of the git command line tool)...
However, while we wait for that to be fixed, you can fix it by making a change to your vanity package path response:
This is your response:
$ curl "https://agamigo.io/material/?go-get=1"
<!DOCTYPE html>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <meta name="go-import"
            content="agamigo.io/material git https://gitlab.com/agamigo/material">
        <meta http-equiv="refresh"
            content="0; url=https://gitlab.com/agamigo/material">

        Nothing to see here; move along.

It's instructing us to use https://gitlab.com/agamigo/material at the repo root... That works in the git command line tool (with a redirect), but fails with go-git.
If we ask gitlab.com for the repo root corresponding to gitlab.com/agamigo/material, we get this:
$ curl "https://gitlab.com/agamigo/material?go-get=1"
<meta name="go-import" content="gitlab.com/agamigo/material git https://gitlab.com/agamigo/material.git" />

It responds with https://gitlab.com/agamigo/material.git, which is the correct repo root that git and go-git can both fetch without any problems.
I'll continue looking for a better solution to this... It would be ideal if git and go-git were identical. I'll leave this ticket open to track the problem.

I've updated my go-import meta tags and it's working as expected. Thanks for looking into this @dave!
It could be that I'm just using the git fetch URL incorrectly, and that the git command is allowing it for convenience. Maybe a little documentation/error message in jsgo is all that's needed to point users having the same issue in the right direction.

It's ok - looks like the go-git people are keen to work the same as git... They have a PR for this bug now: https://github.com/src-d/go-git/pull/751

Bug fixed in go-git!


Install Trimble Pivot on Windows 2022 TURN development server

Benefit

The current NevadaGPS Network is setup with an outdated version of Windows Server and needs to be running on the latest version of Trimble Pivot Web version 5.2 to utilize all available satellite constellations.

Acceptance Criteria

Work with DTS Hosting to stand up a new server and bolster it up from the current Dev server (grwgps02gp) to make it capable of running Trimble Pivot.
Work with Cloud hosting team and networking to assign correct IP Addresses
Submit firewall requests for all necessary ports needed for operations including communication with users and database
configure Trimble Pivot Web with public facing URL nevadagps.dev.utah.gov
configure internal inetpub files to alter the look and feel of the website

Benefit -
The current NevadaGPS Network is setup with an outdated coordinate frame NAD83/94 (HARN) which is not compatible with current NGS coordinates, and by configuring a new server using NAD83 (2011) coordinates the GPS network will be compatible with todays equipment and software.
Success Criteria -
-Work with DTS Hosting to bolster up the current Dev server (grwgps02gp) to make it capable of running Trimble Pivot.
-Work with Cloud hosting team and networking to assign correct IP Addresses
-Submit firewall requests for all necessary ports needed for operations including communication with users and database
-configure Trimble Pivot Web with public facing URL nevadagps.dev.utah.gov
-configure internal inetpub files to alter the look and feel of the website

Was this completed @seanfernandez?

All of these items have been completed including the firewall rules in place for grwgps02gp and it is now active. nevadagps.dev.utah.gov is also active and available to the public.


Implications of having args as tags

Could having the SQL arguments of the query in the trace have security implications? Let's say you check a password or a api key.

Yes, that’s why they are disabled by default

Did not see it.


Need better documentation on complex parameters in stored procedure calls

The documentation on using complex parameters needs to be more detailed. Full examples, including type handlers would help a lot.
Some specifics to be clarified:

When using a map, should the type be map, hashmap, java.util.Map, java.util.HashMap, or anything else?
How to implement a type handler for a complex type (a custom type defined in the DB, ie. when using jdbcType=STRUCT and jdbcTypeName=MyDbTypeName).
How to handle complex OUT parameters.
In this particular example from the documentation, #{middleInitial, mode=OUT, jdbcType=STRUCT, jdbcTypeName=MY_TYPE, resultMap=departmentResultMap}, what does the resultMap have to do with the parameter?

well,i have same question with you,and if I have a column ,that javaType is Struct,I cann't use Cache,will throw Exception.what can we do to detail?

+1
The documentation doesn't even have a dedicated section for stored procedures. Google returns almost nothing. It must be improved.

Thank you! The method specified in this issue allowed me to use Table Valued Parameters in SQL Server. This should definitely be added to the documentation.


Feature Request: support per-language configuration

I would like to disable blockman for certain languages like markdown or plain text.
But the option blockman.n03MaxDepth does not support this.

This might also be usefull for other options like Custom Color of DepthX.
For example: I would like to set Depth0 and Depth1 to none for json files.

I updated Blockman to 1.2.0, now you can set Black List Of File Formats in Blockman settings.

For example: I would like to set Depth0 and Depth1 to none for json files.

This is kinda tricky, maybe I will consider creating blockman settings for each file format, but I think such complex config is unnecessary in most cases.


JavaScript Widgets and Accessibility: which browser/screenreader combinations should be ok?

I'm working for an accessibility consultancy in Switzerland, Access for all. We are very often asked which JavaScript widgets we would advise to use for implementing accessible websites.
I've done quite some research about accessible tab panels, and the conclusion so far is: none of the tested implementations are fully satisfying in the newest versions of NVDA/JAWS, running on Firefox/IE. So this is quite a pity. (I will publish my results some time soon and link it here.)
Personally, I love Bootstrap a lot, and while its JavaScript widgets are pretty well done and working in NVDA, they make problems in JAWS: for example, the accordion works nicely in IE, but it absolutely doesn't work in FF.
I love how simplistic the ARIA implementations of Bootstrap are. In fact: while ARIA is a good invention, browser support is horrible across operating systems on both desktop and mobile, so I recommend my clients to avoid it in most respects and stick to traditional HTML constructs instead, enhanced with some simple JavaScript. But with the simplistic implementations of Bootstrap widgets, I guess it should be possible to make them work in both NVDA and JAWS in the newest versions of both IE and Firefox.
So I wonder: what browser/screenreader combinations is Bootstrap committed to support in respect of accessibility?
It would be wonderful if I could recommend the Bootstrap JavaScript widgets without restriction to all my clients.
PS: I asked a similar question about the carousel on StackOverflow: Widgets working nicely on NVDA, but JAWS? Accordion doesn't work.

There are many known issues with some of our more complex widgets. Ideally, we should be supporting most common combinations: Safari/VoiceOver on iOS and OS X, Chrome/TalkBack (within the limits of what's possible, as that combination exposes very little in terms of semantics and ARIA to the user) and Firefox/TalkBack on Android; all combinations of IE/Firefox/Chrome and NVDA/JAWS on Windows. Unfortunately, there's a lot of work to do on some of the widgets to get it up to this ideal. I was actually unaware of the issue with Firefox/JAWS, and to my knowledge nobody had reported any issues to that effect here. So, as a starting point, I'd be delighted to see specific issues (and, even better, PRs) being filed here for these sorts of things. Ideally, we'd want to iron out most glaring problems with widgets by the time v4 is released.

Hey @patrickhlauke do you have any guides on how to set these up locally to test? I don't mind helping out but don't know where these features are to test.

One of the problems here is that to test with screen readers and get some solid test results, you do need to be fairly well versed in screen reader usage, and know what the expected output/behavior should be. That's part of the reason why it's not often that we get solid bug reports.
In terms of setting up to test, you'll need the individual browsers and assistive technologies. Some are free (like NVDA for Win, VoiceOver being already included in OS X and iOS, ditto for TalkBack on Android), while others (JAWS) are expensive pieces of software...

Thanks for your reply, Patrick.
I'm very aware of the problems of screenreader testing on both desktop and mobile, as this is our daily business (we're counselling web development agencies each and every day in making their products more accessible).
I'd be very interested in offering you our help (I'm an experienced web developer in both frontend and backend, and I'm working with both handicapped and non-handicapped collegues), so maybe we could join forces?

@jmuheim my comment about difficulty of SR testing was directed at @kkirsche ;)
by all means any help would be appreciated.

by all means any help would be appreciated.

I'm only brainstorming right now, but how could such a collaboration look like? Are you working with other people specifically on the topic of accessibility? Are there guidelines? How do you check back whether new results (e.g. in form of pull requests) meet the accessibility requirements?

at the moment what's needed is a gap analysis of all current widgets, documenting where they fall short of ideal.
if any of the changes entail different ARIA roles/attributes to be used, we then should ideally also get unit tests set up for those. these will ensure that future changes don't break what's there.
beyond that, I (and many others, like @cvrebert) keep an eye out for any possible accessibility issues that come in with new proposed PRs

For Bootstrap 3 there's https://github.com/paypal/bootstrap-accessibility-plugin but it hasn't seen many updates lately and as far as I can tell at least a few things dynamically provided by it are now regular parts of Bootstrap (v4).
Wouldn't it make sense to analyze it for further enhancements of v4? Or has that plugin been completely superseeded by v4 development?

a number of improvements have already been made in core bootstrap that make certain aspects of the paypal plugin redundant. there are also certain aspects of the plugin which we don't quite agree with (such as the keyboard handling for widgets like menus, which the plugin bases solely on the ARIA spec while we'd like to be a bit more holistic, allowing for TAB as well as cursor keys). but yes, generally it's good to crib from the paypal plugin to get inspiration of what could be modded straight into core.

Closing since I think the discussion was had and answers provided. Holler if we need to reopen.


Feature request: initialize ZITADEL instance from scratch without human interaction

Problem
There are situations such as:

automated integration tests
local frontend development (interacting with a protected resource)

where it must be possible to have a self-contained, reproducible and automated ZITADEL setup that doesn't require human interaction. For example, this setup should be able to reproduce the production setup having the same settings and architecture as well as a dummy user that can be used for local development. This should be achieved by simply running docker compose up
Possible solution
The terraform provider would be a great candidate for this, but it still requires human interaction (login, change password, create a service user with the correct memberships). Is it planned to be able to use the terraform provider in such a way?
From what I've seen it is currently not possible to create an instance of ZITADEL without human interaction, so this might be outside of the scope of this repo.

Let me know if a discussion is more appropriate (instead of an issue)

Thank you for raising this.
To some degree we can already start zitadel in a reproducible fashion with docker compose or something similar. We do this in our e2e GitHub action pipeline.
But I think we should discuss this further. I will try to get my head around this, this week.

Thank you for raising this.
To some degree we can already start zitadel in a reproducible fashion with docker compose or something similar. We do this in our e2e GitHub action pipeline.
But I think we should discuss this further. I will try to get my head around this, this week.

I had a look at it, from what I understood it uses Cypress to get over the initial login and password change. I opted for not using that setup simply because it would need to have one container running Cypress and one running Terraform after that.
I saw in the documentation that it is possible to pass the public key a the system API user in the configuration. I could be useful to have the same thing for an admin machine user having the same permissions as the initial human user. Basically rendering the GUI completely optional.

At least functionality to create instance level resources is already planned in #5, but I think even this is not fully automated as some credentials have to be provided anyway, I will have to have a look at it again afterward.

@DavideWalder The functionality to create an instance through zitadel-go is resolved.
But there are several other things unfortunately missing, but not on the side of the terraform provider but ZITADEL directly, planned for sometime in the future but I'm not sure when exactly, do you have any direct need for this functionality right now? Like is it a blocker for you until this issue is resolved?

This is only a blocker for CI pipeline (automated integration tests) and containerized local development, but not for production use.

Similar to #13

Functionality is provided on ZITADEL side as documented here will close this issue for the time being, if any question arise please open it again.


[BUG] Build Order creating parts out of thin air

Hi,
Today I noticed what I consider to be a bug in the Build Orders, but I'm not so sure. I've searched a bit in past issues containing the word 'build order' but I could not find this reported yet. Btw my Build Order only contains Optional BOM's as I haven't found out how to make a BOM with at least one of the optional requirement.
Describe the bug
Build Output can be created without allocating stock, which (when people don't read carefully) results in parts created from thin air.
Steps to Reproduce
NOTE: If you refresh the page after creating a Build Output, confirming works again. Still I don't think this is expected behavior and in my opinion it would make sense to check for allocated stock before completing a Build Output so the allocated stock can actually be subtracted to reduce human errors.

Create a Build Order for a part.

Go to Build Output and create a new Build Output.

Confirm the creation of Build Output

Stock Item gets created already, with no source of parts
NOTE: If you want the to complete the Build Order now, there will be an error because there's no allocated stock, so that's as expected. Confirming the build as complete fails however as when clicking on Complete Build; nothing happens. (No forms get submitted)

Go to Build Order -> Allocate Stock

Click Auto Allocate

Click Confirm

Nothing happens (No forms get submitted)

Go to Build Order -> Allocate Stock

Click on a BOM Line Item -> Allocate Stock

Click Confirm

Nothing happens (No forms get submitted)

Expected behavior
Somewhere along the way I would expect an error. I think the best way to solve this is at the root, and check for allocated stock when creating a Build Output.
Deployment Method

[x] Bare Metal

Version Information
0.5.3 (Haven't gotten around to updating yet)

Hi,
So I'm not really sure what to do about this. I think it makes sense to check for allocated stock before creating Item Stock but ofcourse there's a feature in first completing 10 ouputs and then allocating stock afterwards... I'm conflicted. Please tell me what you think about this.
Kind regards,

@Guusggg thanks for raising this point. When I first implemented the build order process, I wanted to allow some flexibility.
 Perhaps there is stock being allocated but has not been consolidated into the system, or maybe the build output has been completed "without" those items (maybe they're delivered late and will be allocated later)?
In any case, I think that the "build completion" process definitely needs to offer a more obvious warning that the build has not had all required parts allocated. An extra "are you sure" message, or something like that?

Maybe not allowing the build to complete before all stock is allocated?

Currently, a "warning message" is displayed but that does not actually stop the user from completing the build. I think some extra confirmation dialog which needs explicit consent from the user if the build has not been fully completed.
I agree that this is worthy of some attention and needs improving.

@SchrodingersGat Thank you so much for your comment. It's nice to know it's a valid concern, but I definitely understand that there hasn't been any need to change it yet. An extra "are you sure message" would more than solve my problem, as I know the Confirm dialog is there, but it is ignored.
(Just a side note, I"m really excited for 0.6.0 man, amazing work all you guys did. I don't want to upgrade to the latest yet as I know that 0.6.0 will blow me away lol)


Add SM3/SM4 algorithms to openssl command-line tool

This adds SM3 and SM4 (and its various modes) to the openssl command line tool.
I have also replace the remaining "tabs" in the "digest" section of apps/progs.pl with spaces following convention used in the file.
There seem to be other algorithms missing as well in apps/progs.pl. Is the preference to add those remaining ones to this file, or was it the intention to keep them separate?
cc: @richsalz @levitte @paulidale @InfoHunter

Thanks @t-j-h !

Merged.  6df34091bac6f82b7d9553dc857123b2bd478c22

Merged.  6df34091bac6f82b7d9553dc857123b2bd478c22

Thank you @levitte !


Decide which section to prioritise in the sidebar

For a reader who knows nothing about the article, which sections convey most information about reputation, context and data?

Closing as the table of contents and article metrics are currently given priority in the sidebar.


Left/Right arrows are too generic for switching tabs.

There is a (strange) registration for VK_LEFT and VK_RIGHT in OptionsPanel. I haven't found a way to trigger the registration from a Swing component - neither in the NetBeans IDE nor products build on top of it.
It makes little sense to bind such lowlevel arrow keys to such high-level task. Thus this change proposes Ctrl-Tab and Ctrl-Shift-Tab instead for switching the categories.
With this change I can easily switch categories in the IDE as well as eliminate the switching on left/right arrow press in a JFXPanel - an issue that motivated this change.

Any reason not to merge this?

Change looks sane - and works :-) -- I prefer, that the author merged himself, I he/she can.