[Hotfix] Last steps to get the SHARE documents API up and running

Just a few updates to get all the routes pointing to the right place.
Plus a little hack with the return values that may allow us to avoid a migration. Yippee!

Hmm, that's a really good point. docID/source should always be either provided (on new data) or not provided (on old data). We use the two of them as a primary key in the database, so I think if they start coming back as empty strings we're in trouble. They might come back as None though... Probably better to change it, just to be safe. Thanks!


Raw data on cloudstor

It would be useful to have the raw data available to share. How about adding it to ANU cloudstor?
https://cloudstor.aarnet.edu.au
@jbanfield might need to do this, if @MatthewJA does not have enough rights as a student.

ATLASDR3_cmpcat_23July2015.dat.gz
cdfs_11JAN2014_2x2_5x5.tgz
sanitized_radio_2016-03-01.tar.gz
RGZ-ATLAS-Bookkeeping.csv

Can do.  Although cloudstor has an expiry date.

Do you have suggestions on how to share private data?
Another option is a gitlab git lfs, which seems overkill for this.
I also just noticed that there seems to be different instructions online. More files:

SWIRE3_CDFS_cat_IRAC24_21Dec05.tbl.gz or an AllWISE catalogue covering the CDFS field
norris_2006_atlas_classifications_ra_dec_only.dat (pipe-separated RA/DEC from Norris et al. (2006) Table 6)
wise_allwise.wise_allwise_p3as_psd4511.tbl
fan_2015_swire_only.csv

@MatthewJA could you please check why docs/setup.md is different from http://crowdastro.readthedocs.io/en/latest/setup/

On it! They should be the same unless the hook has broken...

Build failing as of 9bd5e390147107625028a2a86e684ea36f38500a. Tests are failing too. I'll fix it.

cloudstor only has an expiry date for email links.  uploading the data now.

all set up except for the sanatised_radio files.  You should have access to modify the directory.

I only see 3 files. @jbanfield could you share it with my login (chengsoon.ong@anu.edu.au), instead of an email link?

Just updating this issue.

Ah, just realised I actually have permissions to upload files here! Uploaded the rest of the data.

Missing data/CDFSmosaic_allch_8March2015.fits

Added.

Do we need the file in crowdastro.json called radio_galaxy_zoo_db?

Yes, that's the MongoDB database. It's not an actual file (possibly this is unclear since the rest of those strings are paths).


🎄 Season's greetings 🎄

Hey good people of @ESMValGroup/esmvaltool-developmentteam wishing you happy and safe holidays, and thank you muchly for all your great contributions and work all through 2021, here's to a good, Greek letter free 2022, and hope to see as many of you in person in the new year!

also for our ditchers @mattiarighi and @bjoernbroetz :grin:

Thank you @valeriupredoi! 🎁
I wish you and the whole @ESMValGroup/esmvaltool-developmentteam a great Christmas and a covid-free 2022. 🎅

great to see @mattiarighi and @bjoernbroetz here too - wishing you guys safe holidays too, a Weissbier (or five) at a Bavarian beergarden next year is the next milestone! :beer:

Happy New Year and hoping people had a good and healthy break, sadly closing this, time for a new year and new serious work :grin:  :beer:


[azure-storage-blob] Blob Upload never finishes if a generator is passed

Package Name: azure-storage-blob
Package Version: 12.6.0
Operating System: Ubuntu 18.04 in WSL on Windows 10 64-Bit
Python Version:  3.8.0

Describe the bug
I want to pass a generator of the form:
def data_generator():
    # do something
    yield data

to the function upload_blob() to avoid the need to hold all of my (potentially huge) data in memory.
The upload, however, never finishes even after the generator is exhausted.
To Reproduce
Steps to reproduce the behavior:

Get a BlobClient
Implement a generator which in total produces more data than your chunk size
Call blob_client.upload_blob(data=<generator>)
Observe that the operation never finishes

Here is a minimal script with which I could tirgger the behaviour every time:
from azure.storage.blob import BlobClient

# Size of raw_string combined with "range" in `test_generator` needs
# to be bigger than the chunk size (otherwise everything is put in one
# go, instead of a "stream" case)
raw_string = "a" * 1024 * 1024 * 3

def test_generator():
    for it in range(0, 2):
        print(it)
        yield raw_string
    print("Exhausted generator")

test: BlobClient = BlobClient.from_connection_string(
    conn_str="<conn_str>",
    container_name="ttp",
    blob_name="generator_test.txt",
)

test.upload_blob(data=test_generator(), overwrite=True)
print("Finished")

The corresponding output is this:
0
1
Exhausted generator

Even after waiting several minutes the program does not finish.
Expected behavior
The upload should succeed normally and the blob should contain all the data produced by the generator.
Additional context
I wasn't completly sure if the upload_blob function was supposed to work as I expected. So I investigated a bit further and I might have found the underlying problem. This IterStreamer does not behave as I would expect. Here some script which visualises my observations:
import six

# Copy of the IterStreamer Class from
# https://github.com/Azure/azure-sdk-for-python/blob/af066bb6990279e5868407918d9cd82ad159e7e7/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py#L503
class IterStreamer(object):
    """
    File-like streaming iterator.
    """

    def __init__(self, generator, encoding="UTF-8"):
        self.generator = generator
        self.iterator = iter(generator)
        self.leftover = b""
        self.encoding = encoding

    def __len__(self):
        return self.generator.__len__()

    def __iter__(self):
        return self.iterator

    def seekable(self):
        return False

    def __next__(self):
        return next(self.iterator)

    next = __next__  # Python 2 compatibility.

    def tell(self, *args, **kwargs):
        raise NotImplementedError("Data generator does not support tell.")

    def seek(self, *args, **kwargs):
        raise NotImplementedError("Data generator is unseekable.")

    def read(self, size):
        data = self.leftover
        # self.leftover = b""  # <-- My "bugfix"
        count = len(self.leftover)
        try:
            while count < size:
                chunk = self.__next__()
                if isinstance(chunk, six.text_type):
                    chunk = chunk.encode(self.encoding)
                data += chunk
                count += len(chunk)
        except StopIteration:
            pass

        if count > size:
            self.leftover = data[size:]

        return data[:size]

test_data = ["some mock data, content does not matter"] * 100
test_stream = IterStreamer(test_data)

read_size = 1024
loop_counter = 0
# Logic closely resampling the code in the function `get_chunk_streams`
# in the class `_ChunkUploader`:
# https://github.com/Azure/azure-sdk-for-python/blob/af066bb6990279e5868407918d9cd82ad159e7e7/sdk/storage/azure-storage-blob/azure/storage/blob/_shared/uploads.py#L159
while True:
    data = b""

    temp = test_stream.read(read_size)
    if not isinstance(temp, six.binary_type):
        raise TypeError("Blob data should be of type bytes.")
    data += temp or b""

    # Debug Print
    print(data)

    # We have read an empty string and so are at the end
    # of the buffer or we have read a full chunk.
    if temp == b"":  # or len(data) == self.chunk_size:
        break

    # Stop an unending loop
    loop_counter += 1
    if loop_counter > 30:
        print("Unending Loop")
        break

The output of the "unfixed" version:
b'some mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock '
b'data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, cont'
b'ent does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does n'
b'ot mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
b'ot matter'
Unending Loop

If you comment in the "bugfix line" the output changes to:
b'some mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock '
b'data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, cont'
b'ent does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does n'
b'ot mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not mattersome mock data, content does not matter'
b''

Thanks for reaching out @mth-cbc! We'll investigate ASAP.
Adding @xiafu-msft who can comment more on this issue.

Hi @mth-cbc great catch!! and great work on your workaround there :)
I will adjust the code slightly so that we account for all edge cases and put out a pr!
Sorry for the inconvenience


Test doesn't work for multi environment of node like nvm

I am using nvm for node version management.
and have issue when running tests.
So I have fixed it and will create a PR for that

Thanks for the fix, Saeid! Closing this now that #15 is merged.


feat(website): set up base Docusaurus install as a test bed for eventual plugins

ℹ Base set to jh/jest until https://github.com/1Password/docusaurus-extensions/pull/2 is merged.
We'll need a Docusaurus instance to demonstrate and test out our eventual plugins, so that's what we've done:

Sets up Docusaurus @ v2.2.0 with very basic config
Creates a simple intro doc home page - more docs will be added as plugins are developed
Now that we have a Docusaurus instance to pull config from I've updated the usage of jest-docusaurus in the monorepo's Jest config so that it can do its job of augmenting the config
Now that we have at least one stylesheet I've updated the GitHub test workflow to use lint:all

I busted this git history up real bad. Trying again.


Searchbox, Ctrl+A should select all.

In searchbox, Ctrl+A should select all text, but it does not.
Courtesy of @cardiff.

Fixed by #109.


Replace section of a file

I'd like to replace the section of a file. Something quite similar to this question on stackoverflow
Following the stackoverflow example, the idea is to replace the section between  and  (including restApi tags) with another string leaving the other parts of the file unchanged:
....
  <restApi>
    <baseUrl>https://domain.com/nexus</baseUrl>
    <forceBaseUrl>true</forceBaseUrl>
    <uiTimeout>60000</uiTimeout>
  </restApi>
.....

With awk you may execute
awk  'BEGIN {A = 1};/<restApi>/{A=0; print "<sometag>stuff</sometag>"};/.*/ { if ( A == 1) print $0};/<\/restApi>/{A=1}; ' file.xml
I wonder if it's possible to do this with your library?
With Auto or range examples (Examples 15a and 15b) is possible to extract lines between <restApi> and </restApi>, but not the inverse (all lines but the lines within the range), so I haven't find a way to replace those lines without modifying the rest of the file.
Any help or suggestion will be appreciated.

Yes, you can convert the AWK code statement-by-statement to Go:
package main

import (
	"github.com/spakin/awk"
	"os"
)

func main() {
	s := awk.NewScript()

	// BEGIN {A = 1}
	s.Begin = func(s *awk.Script) {
		s.State = true
	}

	// /<restApi>/{A=0; print "<sometag>stuff</sometag>"}
	s.AppendStmt(
		func(s *awk.Script) bool {
			return s.F(0).Match("<restApi>")
		},
		func(s *awk.Script) {
			s.State = false
			s.Println("<sometag>stuff</sometag>")
		})

	// A == 1
	s.AppendStmt(
		func(s *awk.Script) bool {
			return s.State.(bool)
		},
		nil)

	// /<\/restApi>/{A=1}
	s.AppendStmt(
		func(s *awk.Script) bool {
			return s.F(0).Match("</restApi>")
		},
		func(s *awk.Script) {
			s.State = true
		})

	if err := s.Run(os.Stdin); err != nil {
		panic(err)
	}
}

I took the liberty of replacing /.*/ { if ( A == 1) print $0}; with the simpler A == 1.  Also, because the program uses only a single variable (A), I stored its value directly in Script.State for convenience.  Regular expressions are overkill for comparing against the static strings <restApi> and </restApi>.  To more closely match the original, I didn't change these to (faster) string compares, but I'd advise you to do so—in both the AWK and Go versions.


Add aria-expanded indicator to the HTTP Verb Selector.

The HTTP VERB selector doesn't currently indicate that it can be expanded. It just lists as a button with the label "GET" which can be anything really. Adding aria-expanded to this and toggling it with JS when it toggles would already fix this.

I think there is some relevant code to start investigating in packages/insomnia-app/app/ui/components/dropdowns/method-dropdown.js

packages/insomnia-app/app/ui/components/base/dropdown/dropdown.js
This is the base dropdown component. Modifying it will affect all dropdowns. This might be the spot to add some the aria-expanded code.

Here is a live code example that demonstrates how the aria-expanded toggle works. LINK.

Two functions, starting on line 264
  hide() {
    // Focus the dropdown button after hiding
    if (this._node) {
      const button = this._node.querySelector('button');
      button && button.focus();
    }

    this.setState({ open: false });
    this.props.onHide && this.props.onHide();
  }

  show(filterVisible = false, forcedPosition = null) {
    const bodyHeight = document.body.getBoundingClientRect().height;
    const dropdownTop = this._node.getBoundingClientRect().top;
    const dropUp = dropdownTop > bodyHeight - 200;

    this.setState({
      open: true,
      dropUp,
      forcedPosition,
      filterVisible,
      filter: '',
      filterItems: null,
      filterActiveIndex: -1,
      uniquenessKey: this.state.uniquenessKey + 1,
    });

    this.props.onOpen && this.props.onOpen();
  }

I think I have figured out. In dropdown.js, I added the aria-expanded attribute to the "render, return" block. It's bound to a boolean that already exists, called open. The open boolean also already has a click handler to toggle the dropdown.


Temperature sensor with automation

Is there a way to get the temperature sensor appear as one of sensor to trigger automation in HomeKit?

as far as i know, homekit doesn't support that(trigger based on numeric value from sensor) unfortunately,


HTTP_RAW_POST_DATA Deprecated

Get a deprecated warning with the spellchecker in framework/thirdparty/tinymce-spellchecker/rpc.php related to HTTP_RAW_POST_DATA.
This is using PHP 5.6
It can be prevented by setting always_populate_raw_post_data to -1.

Can you post the full error message please?

Deprecated:  Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

Warning:  Cannot modify header information - headers already sent in Unknown on line 0
ERROR [User Warning]: Couldn't set response type to 400 because of output on line 0 of
IN POST /spellcheck/?SecurityID=657a04d6dbdde671b5104327187ac865497db6c9
Line 266 in /home/websites/cwp/public/framework/control/HTTPResponse.php
Doing a search shows framework/thirdparty/tinymce-spellchecker/rpc.php is the only place where HTTP_RAW_POST_DATA is used.

The error message comes through in a tinymce popup when trying to use the spellchecker


⚠ Bofrost.de has degraded performance

In bd0100f, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1015 ms

Resolved: Bofrost.de performance has improved in ff398f8.


using Electron instead of phantomjs

I see in the doc electron vs nw.js that Electron can be a replacement of Phantomjs:

Electron's APIs are lower level so you can use it for browser testing in place of PhantomJS.

I am writing a desktop application that needs to go browse a few website to collect some data (PDF bills).
I tried 2 things in order to automate a BrowserWindow instance and have it navigate the website(s) by inputing the credentials, clicking on link etc, but I quickly met blockers.
solution 1
use a preload script and communicate via ipcMain messages. The preload script handle the message and click on the buttons and inputs the data in the input fields via javascript.
The problem is that the preload code is not available after navigating from one page to another.
solution 2
using BrowserWindow.webContents.executeJavascript("code") I send the code to click and input the data but in order to get a feedback from the browser, I am using:
function clientClick(cssSelector) {
	const ipcRenderer = require('electron').ipcRenderer;

	var domElemement = document.querySelectorAll(cssSelector)

	console.log('clientClick: ', cssSelector)
	if (!domElemement || domElemement.length == 0) {
		callback(new Error("dom element not found for css selector: "+ cssSelector));

		return ;
	}

	domElemement[0].click();

	ipcRenderer.send('doneExecuting');

}

on github.com for example, the line  const ipcRenderer = require('electron').ipcRenderer; throws an error because Github has its own require() function exposed in the browser.
Here is the error thrown:
Uncaught Error: Could not find module electronn @ frameworks-9ee55ceaf87fc34dc86334249fef6cbece88e815478e0fbe81642d57ed0fff89.js:1clientClick @ VM102:2(anonymous function) @ VM102:17electron.ipcRenderer.on @ /Users/ariclasry/dev/hellobill/electron-quick-start/node_modules/electron-prebuilt/dist/Electron.ap…:45emitThree @ events.js:97emit @ events.js:175

What is the best solution to use Electron as PhantomJS?
I know that nightmarejs is doing something similar so I will start looking at the source code right now.

after looking at nightmarejs source code, I understand that in the preload script you can attach your code to the window object, which will persist across page change.
// preload.js
window.__hellobill = {};
window.__hellobill.ipc = require('electron').ipcRenderer;
window.__hellobill.runLoop = __hellobillLoop;

//main.js

mainWindow.webContents.on('did-finish-load', function() {
 mainWindow.webContents.executeJavaScript("__hellobill.runLoop()");
});

@lasryaric Electron isn't a direct replacement of PhantomJS but can be used to build something similar to that. I'll clear up that documentation :soon:
Looking at others like nightmarejs will hopefully get you on the right path. You might also find maxogden/electron-microscope useful :microscope:


Proposal: Support managing releases for external clusters in Tiller

Addresses #1586,  #1650 and #1714.

We differe from Kubernetes in that proposals for us go into the issue queue as issues, not PRs. So if you'd like to just copy the text of the Markdown file into an issue and open it there, that'd be better.
There's a lot to that proposal. The core team is reading through it.

@technosophos , I have copies the test in #1586

Thanks!

You are welcome. So, I can close this pr?

yeah


urho feature sample not working on UWP

You see only the start screen and the program hangs.

Fixed


p3io jubeats - Issues thread

In GitLab by @mon on Jan 6, 2022, 10:54
After releasing the p3io support for Jubeat, a number of issues have been reported. I'll be collating them here so I have a nice list of things to work on.

knit, sometimes test menu is entered randomly. Seems identical to #89? What have you learnt about it so far @icex2?
Black plug code for knit/copious seems like it must match exactly. I am getting some reports of security failures. Should be fixable by just using the provided sidcode instead of a hardcoded one
knit/copious, some timers run fast (end-of-song timer, attract mode "welcome to jubeat" voice line). Happens in Spice too, so it's not bemanitools specific
reported by @HAYU "If knit use eamio-icca.dll together, It can use wavepass reader perfectly, but if copious use it, copious will have a problem after reading the card once"
Documentation needs to be clearer, I've had someone try to use the knit jbhook2 on copious
knit has been reported to crash when saving settings in the test menu (needs triage)
It may be better for vertical rendering to be the default as the crash is logless and everyone expects vertical rendering

I will be adding to this list as things are reported, removing from it as I triage and resolve issues, and linking it to other people to submit their own issues as required.

FYI that the PR https://github.com/djhackersdev/bemanitools/pull/236 includes potential fixes. Any testing feedback is welcome.


OpenAI Parallel Tool Calls not configurable

According to the OpenAI docs, parallel tool calls (multiple function calls per assistant turn) are enabled by default. Currently, there is no way to disable/configure this which may cause issues/wasted tokens.
Looking at this problem from afar, this will likely be a recurring theme. I feel like there should be something akin to generation_kwargs within the GenerateConfig class that would allow passing arguments that are specific to a single provider flexibly and enable users to work around constantly changing provider API specs without requiring explicit support in inspect.
Open to suggestions on this and I see that this is not how it was handled in the past. But with a growing number of providers will it remain the ambition to support each of their arguments?

I agree that it would be nice to pass arbitrary stuff through to GenerateConfig. For this one though it's going to be common enough that adding a formal parameter seemed like the way to go. It looks like parallel tool calling occurs by default for OpenAI, Anthropic, and Mistral (it does not occur for Google). So far OpenAI is the only provider that lets you turn this off, which you can now do with the parallel_tool_calls GenerateConfig option.
PR here: https://github.com/UKGovernmentBEIS/inspect_ai/pull/122


Examples only use line, can you extend

Hi there
The examples provided only show one line to add. e.g. JQuery and no other example shows how to add content via a script that does not read an .innerHTML. Can you please expand on the example that uses JQuery to add more content to the diagram.
Thanks

There is no jQuery option that doesn't read the innerHTML. The non-jQuery approach is simple to use in that case.
Really the jQuery was there so you could do something like

A->B: Diagram one

C->D: Diagram two

// Turn all the divs with the diagram class into diagrams.
$(".diagram").sequenceDiagram(options);

To add multiple lines it should be as simple as:

A->B: Message
B->C: blah

I would be happy to review a pull request updating the docs, if you think they can be clearer. Thanks.


"Failed to start Flutter renderer: Unable to create a GL context" on Linux ARM64 devices.

Steps to Reproduce

Use ChromeBook with ARM64 CPU, enable Linux support on System settings.
Follow this link: https://docs.flutter.dev/get-started/install/chromeos download  and install flutter sdk for linux
Install all dependency packages for Linux flutter including git, clang, ninja-build, libgtk-3-dev, zlib, etc..
flutter create an app called linux_flutter
flutter build linux && ./build/linux/arm64/release/bundle/flutter_linux
App window launched but no content with a white screen, and shows a error: Failed to start Flutter renderer: Unable to create a GL context

Logs

Logs

** (flutter_linux:10763): WARNING **: 16:56:32.522: Failed to start Flutter renderer: Unable to create a GL context

$ flutter doctor -v
[✓] Flutter (Channel master, 3.1.0-0.0.pre.1468, on Debian GNU/Linux 11 (bullseye) 5.10.114-16024-gbdf1547bd4f4,
    locale en_US.UTF-8)
    • Flutter version 3.1.0-0.0.pre.1468 on channel master at /home/eggfly/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1add0d790d (4 hours ago), 2022-07-01 00:39:07 -0400
    • Engine revision caec3e305a
    • Dart version 2.18.0 (build [2.18.0-242.0.dev](http://2.18.0-242.0.dev/))
    • DevTools version 2.14.1

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • Debian clang version 11.0.1-2
    • cmake version 3.18.4
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[!] Flutter IDE Support (No supported IDEs installed)
    • IntelliJ - https://www.jetbrains.com/idea/
    • Android Studio - https://developer.android.com/studio/
    • VS Code - https://code.visualstudio.com/

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-arm64 • Debian GNU/Linux 11 (bullseye) 5.10.114-16024-gbdf1547bd4f4

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

But when I use export LIBGL_ALWAYS_SOFTWARE=1 after run app, it shows the right app content.

Seems like a more specific duplicate of #76178

We use PopOS which is essentially Ubuntu 22.04 running Gnome.
Built for release running our app we get:
(<app>:188401): Gdk-CRITICAL **: 16:01:16.698: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
** (<app>188401): WARNING **: 16:01:17.066: Failed to start Flutter renderer: Unable to create a GL context

We use PopOS which is essentially Ubuntu 22.04 running Gnome. Built for release running our app we get:
(<app>:188401): Gdk-CRITICAL **: 16:01:16.698: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
** (<app>188401): WARNING **: 16:01:17.066: Failed to start Flutter renderer: Unable to create a GL context

I'm on Ubuntu 20.04 Gnome. Have same problem when trying to run as desktop app. But then after restarting, it was running correctly again without any problem. The only problem I have now are these:
(app:13033): Gdk-CRITICAL **: 17:06:29.425: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed

** (app:13033): CRITICAL **: 17:06:29.537: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.portal.Error.NotFound: Requested setting not found

** (app:13033): CRITICAL **: 17:06:29.542: Failed to read XDG desktop portal settings: GDBus.Error:org.freedesktop.portal.Error.NotFound: Requested setting not found

At least it is running now

perhaps it helps: same happens on chromeos/linux aarch64 machine and produces an EGL_BAD_MATCH error
Details

olifink@penguin:~/code/try/flutter/hello$ EGL_LOG_LEVEL=debug ./build/linux/arm64/release/bundle/hello

(hello:5150): Gdk-CRITICAL **: 11:21:37.282: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
libEGL debug: using driver virtio_gpu for 15

libEGL debug: pci id for fd 15: 1af4:1050, driver virtio_gpu

libEGL debug: MESA-LOADER: dlopen(/usr/lib/aarch64-linux-gnu/dri//virtio_gpu_dri.so)

libEGL debug: found extension `DRI_Core'
libEGL info: found extension DRI_Core version 2
libEGL debug: found extension `DRI_IMAGE_DRIVER'
libEGL info: found extension DRI_IMAGE_DRIVER version 1
libEGL debug: found extension `DRI_DRI2'
libEGL debug: found extension `DRI_ConfigOptions'
libEGL debug: found extension `DRI_Core'
libEGL debug: found extension `DRI_IMAGE_DRIVER'
libEGL debug: found extension `DRI_DRI2'
libEGL debug: found extension `DRI_ConfigOptions'
libEGL info: found extension DRI_ConfigOptions version 2
libEGL debug: found extension `DRI_TexBuffer'
libEGL info: found extension DRI_TexBuffer version 2
libEGL debug: found extension `DRI2_Flush'
libEGL info: found extension DRI2_Flush version 4
libEGL debug: found extension `DRI_RENDERER_QUERY'
libEGL debug: found extension `DRI_CONFIG_QUERY'
libEGL debug: found extension `DRI2_Throttle'
libEGL debug: found extension `DRI2_Fence'
libEGL debug: found extension `DRI2_Interop'
libEGL debug: found extension `DRI_NoError'
libEGL debug: found extension `DRI2_Blob'
libEGL debug: found extension `DRI_MutableRenderBufferDriver'
libEGL debug: found extension `DRI_IMAGE'
libEGL info: found extension DRI_IMAGE version 19
libEGL debug: found extension `DRI2_BufferDamage'
libEGL debug: found extension `DRI_TexBuffer'
libEGL debug: found extension `DRI2_Flush'
libEGL debug: found extension `DRI_RENDERER_QUERY'
libEGL info: found extension DRI_RENDERER_QUERY version 1
libEGL debug: found extension `DRI_CONFIG_QUERY'
libEGL info: found extension DRI_CONFIG_QUERY version 2
libEGL debug: found extension `DRI2_Throttle'
libEGL debug: found extension `DRI2_Fence'
libEGL info: found extension DRI2_Fence version 2
libEGL debug: found extension `DRI2_Interop'
libEGL info: found extension DRI2_Interop version 1
libEGL debug: found extension `DRI_NoError'
libEGL info: found extension DRI_NoError version 1
libEGL debug: found extension `DRI2_Blob'
libEGL info: found extension DRI2_Blob version 1
libEGL debug: found extension `DRI_MutableRenderBufferDriver'
libEGL info: found extension DRI_MutableRenderBufferDriver version 1
libEGL debug: found extension `DRI_IMAGE'
libEGL info: found extension DRI_IMAGE version 19
libEGL debug: found extension `DRI2_BufferDamage'
libEGL info: found extension DRI2_BufferDamage version 1
libEGL debug: did not find optional extension DRI_Robustness version 1
libEGL debug: did not find optional extension DRI_FlushControl version 1
libEGL debug: No DRI config supports native format ABGR16F
libEGL debug: No DRI config supports native format XBGR16F
libEGL debug: No DRI config supports native format XRGB2101010
libEGL debug: No DRI config supports native format ARGB2101010
libEGL debug: No DRI config supports native format XBGR2101010
libEGL debug: No DRI config supports native format ABGR2101010
libEGL debug: EGL user error 0x3009 (EGL_BAD_MATCH) in eglCreateContext: dri2_create_context

libEGL debug: EGL user error 0x3009 (EGL_BAD_MATCH) in eglCreateContext: dri2_create_context

** (hello:5150): WARNING **: 11:21:37.509: Failed to start Flutter renderer: Unable to create a GL context

** (hello:5150): WARNING **: 11:21:39.285: Unable to retrieve framework response: No engine to send to

** (hello:5150): WARNING **: 11:22:57.870: Unable to retrieve framework response: No engine to send to

turning LIBGL_ALWAYS_SOFTWARE seems to work and produces
Details

olifink@penguin:~/code/try/flutter/hello$ LIBGL_ALWAYS_SOFTWARE=1 EGL_LOG_LEVEL=debug ./build/linux/arm64/release/bundle/hello

(hello:5109): Gdk-CRITICAL **: 11:20:48.835: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
libEGL debug: Found 'LIBGL_ALWAYS_SOFTWARE' set, will use a CPU renderer
libEGL debug: MESA-LOADER: dlopen(/usr/lib/aarch64-linux-gnu/dri//swrast_dri.so)

libEGL debug: found extension `DRI_Core'
libEGL info: found extension DRI_Core version 2
libEGL debug: found extension `DRI_SWRast'
libEGL info: found extension DRI_SWRast version 4
libEGL debug: found extension `DRI_CopySubBuffer'
libEGL debug: found extension `DRI_ConfigOptions'
libEGL debug: found extension `DRI_Core'
libEGL debug: found extension `DRI_SWRast'
libEGL debug: found extension `DRI_CopySubBuffer'
libEGL debug: found extension `DRI_ConfigOptions'
libEGL info: found extension DRI_ConfigOptions version 2
libEGL debug: found extension `DRI_TexBuffer'
libEGL info: found extension DRI_TexBuffer version 2
libEGL debug: found extension `DRI_RENDERER_QUERY'
libEGL debug: found extension `DRI_CONFIG_QUERY'
libEGL debug: found extension `DRI2_Fence'
libEGL debug: found extension `DRI_NoError'
libEGL debug: found extension `DRI_Robustness'
libEGL debug: found extension `DRI_IMAGE'
libEGL debug: found extension `DRI_FlushControl'
libEGL debug: found extension `DRI_TexBuffer'
libEGL debug: found extension `DRI_RENDERER_QUERY'
libEGL info: found extension DRI_RENDERER_QUERY version 1
libEGL debug: found extension `DRI_CONFIG_QUERY'
libEGL info: found extension DRI_CONFIG_QUERY version 2
libEGL debug: found extension `DRI2_Fence'
libEGL info: found extension DRI2_Fence version 2
libEGL debug: found extension `DRI_NoError'
libEGL info: found extension DRI_NoError version 1
libEGL debug: found extension `DRI_Robustness'
libEGL info: found extension DRI_Robustness version 1
libEGL debug: found extension `DRI_IMAGE'
libEGL info: found extension DRI_IMAGE version 6
libEGL debug: found extension `DRI_FlushControl'
libEGL info: found extension DRI_FlushControl version 1
libEGL debug: did not find optional extension DRI2_BufferDamage version 1
libEGL debug: did not find optional extension DRI2_Interop version 1
libEGL debug: did not find optional extension DRI2_Blob version 1
libEGL debug: did not find optional extension DRI_MutableRenderBufferDriver version 1
libEGL debug: No DRI config supports native format ABGR16F
libEGL debug: No DRI config supports native format XBGR16F
libEGL debug: No DRI config supports native format XRGB2101010
libEGL debug: No DRI config supports native format ARGB2101010
libEGL debug: No DRI config supports native format XBGR2101010
libEGL debug: No DRI config supports native format ABGR2101010
libEGL debug: EGL user error 0x300d (EGL_BAD_SURFACE) in eglSwapInterval

libEGL debug: EGL user error 0x300d (EGL_BAD_SURFACE) in eglSwapInterval

libEGL debug: EGL user error 0x300d (EGL_BAD_SURFACE) in eglSwapInterval

I had the same problem. And, according to our customs, I restarted my system. :)


unable to combine bold with italic

Hello,
I can't seem to combine bold and italic with inline styles or css. Anyone got a fix for this issue?
It also doesn't work in the demo application and there isn't any sample in there that applies it.

will check soon

Sorry, something happened, I'm not sure how long would it take before I can examine into this.

Thanks anyway.
I found it grabs the weight and style and seems to get the proper font but then just renders it normal.
(i should add it's for WPF)


examples: remove wlroots dep from client examples

See individual commits.
cc @berylline

Another thing is that I was originally going to replace wlr_log with fprintf for #2666, but I didn't know if you wanted me to do that or not, so I didn't do that in the end, but thanks for doing that anyway!


In concurrent environment, should use AtomicXXX instead of volatile to increase

[ ] I have searched the issues of this repository and believe that this is not a duplicate.
[ ] I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Dubbo version: xxx
Operating System version: xxx
Java version: xxx

Steps to reproduce this issue

Pls. provide [GitHub address] to reproduce this issue.
Expected Result
What do you expected from the above steps？
Actual Result
What actually happens?
If there is an exception, please attach the exception trace:
Just put your stack trace here!

how about to make the org.apache.dubbo.cache.support.AbstractCacheFactory#createCache synchronized like the following:
@Override
    public Cache getCache(URL url, Invocation invocation) {
        url = url.addParameter(METHOD_KEY, invocation.getMethodName());
        String key = url.toFullString();
        Cache cache = caches.get(key);
        if (cache == null) {
            cacheLock.lock();
            if (null == caches.get(key)) {
                try {
                    caches.put(key, createCache(url));
                }finally {
                    cacheLock.unlock();
                }
            }
            cache = caches.get(key);
        }
        return cache;
    }


Undo delete functionality for files and folders

What happened:
I was editing in this browser, and all to quickly hit the 'delete' key while focused on the wrong part of the page. I was already about to type 'Enter', and so I deleted my entire lib.rs file with no way of recovery.
What would help:
An "Undo Delete" feature would improve the usability of this project by helping users avoid painful losses from a mistroke of the keyboard.
Possible Implementation, High-Level:
All files and folders could be deleted "softly", so that if the user focuses the sidebar and presses 'Crl+Z', or clicks an 'Undo' icon, they can restore their file. This would likely require storing the file data in either localStorage, or not really removing it from state and instead moving it to a 'deleted' state, that can be recovered.

Factors like the size of the file(s) deleted or time after deletion could also be used to hard delete files if that optimization is desired

Sorry that this happened to you, will definitely integrate this feature after moving file system to indexed db(which is next on my todo list).

I figured out that if you forward delete on Mac (fn + delete), even if you are in the editor typing, this opens the pop-up to confirm the file delete! This should not happen. The editor even deleted the character after I closed the popup. The app should check for a selected file or folder in the sidebar before enabling a delete from the keyboard like this!

Agreed, that shouldn't happen. Thanks for reporting, fixed in 1a9b7375e4b6e28f13674cb225785c95fc3f4926.


Update docs as the flag changes

Ⅰ. Describe what this PR did
Update docs as the flag changes between 0.4.2 and 0.3.0
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Update docs only.

@hainesc  Thanks for your contribution. But there is already one PR doing the same thing.
Could you please checkout https://github.com/dragonflyoss/Dragonfly/pull/690?

@hainesc Thanks for your contribution. But there is already one PR doing the same thing.
Could you please checkout #690?

Thanks, I see. Please merge #690 ASAP.


Resource label should be specified for predefined metric type ALBRequestCountPerTarget

Description
When you set a scaling_policy of type ALBRequestCountPerTarget you need to specify a Resource Label and this in not consider in code, so this module fail to create the resource aws_autoscaling_policy.this

[X ] ✋ I have searched the open/closed issues and my issue is not listed.

⚠ Note
Before you submit an issue, please perform the following first:

Remove the local .terraform directory (! ONLY if state is stored remotely, which hopefully you are following that best practice!): rm -rf .terraform/
Re-initialize the project root to pull down modules: terraform init
Re-attempt your terraform plan or apply and check if the issue still persists

Versions

Module version 6.3.0:

Terraform version:
Terraform v1.0.6
on linux_amd64

Provider version(s):
provider registry.terraform.io/hashicorp/aws v4.8.0

Reproduction Code [Required]

Steps to reproduce the behavior:
 no
 yes

Expected behavior
I expect to be able to create an aws_autoscaling_policy if type ALBRequestCountPerTarget like this
  # Target scaling policy schedule based on Request Count per target
  scaling_policies = {
    request-count-per-target = {
      policy_type               = "TargetTrackingScaling"
      estimated_instance_warmup = 120
      target_tracking_configuration = {
        predefined_metric_specification = {
          predefined_metric_type = "ALBRequestCountPerTarget"
          resource_label         = "app/my-lb/abababababab/targetgroup/my-lb-tg/45fafafafafafa"
        }
        target_value = 1600
      }
    },
  }

Actual behavior
It can't be created.
Terminal Output Screenshot(s)
aws_autoscaling_policy.this["request-count-per-target"]: Creating...
╷
│ Error: Error putting scaling policy: ValidationError: Resource label should be specified for predefined metric type ALBRequestCountPerTarget
│       status code: 400, request id: 8da7c386-4988-45d3-a6cd-9974ea8c9e32
│
│   with aws_autoscaling_policy.this["request-count-per-target"],
│   on main.tf line 570, in resource "aws_autoscaling_policy" "this":
│  570: resource "aws_autoscaling_policy" "this"

Additional context

hi @obi-juan1971  - we'll need a reproduction to troubleshoot

hi @obi-juan1971 - we'll need a reproduction to troubleshoot

Hi @bryantbiggs I hope this help. Using your complete example, just add a scaling_policy like this and you'll get the error:
request-count-per-target = {
    policy_type               = "TargetTrackingScaling"
    estimated_instance_warmup = 120
    target_tracking_configuration = {
    predefined_metric_specification = {
        predefined_metric_type = "ALBRequestCountPerTarget"
        resource_label         = "${module.alb.lb_arn_suffix}/${module.alb.target_group_arn_suffixes[0]}"
    }
    target_value = 800
    }
},

I have the exact same issue with the following versions:
"terraform_version": "1.1.9",
module "autoscaling" {
source  = "terraform-aws-modules/autoscaling/aws"
version = "6.3.0"
module "alb" {
source = "terraform-aws-modules/alb/aws"
version = "6.10.0"
Tried to make sure the resource_label is in the format of:
app/my-alb/id-xxx/targetgroup/my-alb-target-group/id-yyy
Everything seems ok except when trying to add the ALBRequestCountPerTarget.
│ Error: Error putting scaling policy: ValidationError: Resource label should be specified for predefined metric type ALBRequestCountPerTarget
│ 	status code: 400, request id: 3479e05e-bc3a-4419-87b1-74743363d8ec
│
│   with module.autoscaling.aws_autoscaling_policy.this["alb-target-requests-greater-than-yy"],
│   on .terraform/modules/autoscaling/main.tf line 570, in resource "aws_autoscaling_policy" "this":
│  570: resource "aws_autoscaling_policy" "this" {

Thanks @obi-juan1971 for the repro - fix is coming shortly!

This issue has been resolved in version 6.5.0 :tada:


Custom scalar serializer - InvalidType error

Hi! I'm stuck with using a custom scalar serializer, the code generation worked fine before I added the serializer code. I was getting this error in runtime:
_type 'double' is not a subtype of type 'String?' in type cast_
in relation to Decimal fields, which are being sent as Strings from backend, here is the query:

type ItemReturnDto {
  id: Int!
  unitOfMeasure: ItemReturnUnitOfMeasureDto
  isDeleted: Boolean!
  name: String
  description: String
  unitOfMeasureId: Int
  unitsContained: Decimal
  unitPrice: Decimal
}

I wanted to make a custom serializer for that scalar Decimal that would use Decimal in the decimal package.
My schema is lib/schema.graphql
GraphQL files in lib/graphql/[grouped by folders]/xyz.graphql, the failing file is lib/graphql/Sync/getItemsForSync.graphql
Here is my build.yaml:
targets:
  $default:
    builders:
      ferry_generator|serializer_builder:
        enabled: true
        options:
          schema: waste_wise|lib/schema.graphql
          type_overrides:
            Decimal:
              name: Decimal
              import: "package:decimal/decimal.dart"
          custom_serializers:
            - import: "package:waste_wise/serializers/decimal_serializer.dart"
              name: DecimalSerializer
      ferry_generator|graphql_builder:
        enabled: true
        options:
          schema: waste_wise|lib/schema.graphql
          type_overrides:
            Decimal:
              name: Decimal
              import: "package:decimal/decimal.dart"

Here is the error log after adding the serializer code to build.yaml:

[INFO] Generating SDK summary completed, took 2.4s
[SEVERE] built_value_generator:built_value on lib/graphql/Sync/__generated__/getItemsForSync.data.gql.dart:
Error in BuiltValueGenerator for abstract class GgetItemsForSyncData_itemsForSync implements Built<GgetItemsForSyncData_itemsForSync, InvalidType>.
Please make the following changes to use BuiltValue:

Make field unitsContained have non-dynamic type. If you are already specifying a type, please make sure the type is correctly imported.
Make field unitPrice have non-dynamic type. If you are already specifying a type, please make sure the type is correctly imported.
[INFO] Running build completed, took 28.3s
[INFO] Caching finalized dependency graph completed, took 160ms
[SEVERE] Failed after 28.4s

And finally here is my lib/serializers/decimal_serializer.dart:
import 'package:decimal/decimal.dart';
import 'package:built_value/serializer.dart';

class DecimalSerializer implements PrimitiveSerializer<Decimal> {
  final bool structured = false;

  @override
  Decimal deserialize(Serializers serializers, Object serialized, {FullType specifiedType = FullType.unspecified}) {
    assert(serialized is String, 'serialized is not a String');
    return Decimal.parse(serialized as String);
  }

  @override
  Iterable<Type> get types => [Decimal];

  @override
  String get wireName => 'Decimal';

  @override
  Object serialize(Serializers serializers, Decimal object, {FullType specifiedType = FullType.unspecified}) {
    return object.toString();
  }
}

Even the generated code looks mostly fine, without errors, as far as I can tell, the Decimal type is correctly imported. I'm not sure where to look. Thank you in advance

For some reason it worked after I flattened my GraphQL folder. Instead of lib/graphql/[some folder]/getDataForSync.graphql I made it lib/graphql/getDataForSync.graphql for all my graphql files


Feat/spinner

Add optional spinner while fetching choices.
Updated documentation coming soon..
Example
import time

from InquirerPy import inquirer
from InquirerPy.spinner import SPINNERS

def get_choices(_):
    time.sleep(2)
    return ["1", "2", "3", "4"]

words = inquirer.fuzzy(
    message="Select preferred words:",
    choices=get_choices,
    multiselect=True,
    spinner_enable=True,
    spinner_pattern=SPINNERS.line,
    spinner_text="Fetching sample texts ...",
).execute()
words = inquirer.fuzzy(
    message="Select preferred words:",
    choices=get_choices,
    multiselect=True,
    spinner_enable=True,
    spinner_pattern=SPINNERS.line,
).execute()

https://user-images.githubusercontent.com/43941510/129318610-81e896b2-3043-4153-a6d0-61d766d12411.mov

@kazhala I want to use the spinner option line in this example but it seems that it is not implemented.
InquirerPy.spinner not exists, there is InquirerPy.container.spinner module but when I try to use it like the example I get:
Traceback (most recent call last):
  File "/Users/arossert/tests/aws/aws.py", line 11, in <module>
    inquirer.select(message="", choices=lambda _: [1, 2, 3], spinner_pattern=SPINNERS.dots)
TypeError: __init__() got an unexpected keyword argument 'spinner_pattern'

Is there an option to use a spinner while loading data?

Hi @arossert ,
Unfortunately, the spinner implementation introduced a bit too many side issues on the async side and I have to take it out for the release. This is noted in the release note of 0.3.0
I've been quite busy lately but I'm working on a simpler spinner again for the future release. For now, my suggestion would be use another library such as yaspin to load longer waiting time choices and once loaded, trigger the InquirerPy to display them.
Thanks

@kazhala Thanks for the quick response, I missed that point in the release noted.
Seems like wrapping the collection function with yaspin works pretty good, it will be nice if it will be a part of this awsome module 😃


Logs to supabase

Resolves #592
View of log_entries on my DB

It was made to work like the previous memzo logger

Could you add us to your supabase as a contributor so we can try manipulating your bot and seeing the logs?
Your screenshot looks promising!

Could you add us to your supabase as a contributor so we can try manipulating your bot and seeing the logs?
Your screenshot looks promising!

Which email should I use to invite you?, i'd have leave my bot running locally

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>
Sent a request, you should let me know when you'd be available to test this

I'm not concerned about race conditions because logs print in series.
Not reinventing libraries is only valid before the reinvention of libraries. It looks like this pull request is already finished?

Although in most cases it is better to use a "battle tested" logging library (like winston) in this particular case (when we simply need to store a row in a DB) we don't need anything fancy so keeping it simple is also the solution.
Regarding the queue feature, I anticipate hard to catch bugs in the future so I would remove the queue logic from log.ts and apply it (or check for other solution) only when we spot issues with supabase API.
@whilefoo @0xcodercrane help

only when we spot issues with supabase API.

I've tried something like this on a production environment, where we didn't need something fancy but the queue was a fix to the supabase api not responding sometimes..
That's why I anticipated it here, we won't know when logs go missing without a proper look.. That's why there's a queue and retry

Regarding the queue feature, I anticipate hard to catch bugs in the future

It is because of the queue feature I recommended a battle tested library because I'm worried there may be race conditions and bugs that are hard to spot on PR review and can later cause issues that we can't pinpoint.

1/ Please resolve conversations first.
2/ Create 1 migration file. I don't see any reason we have to have 2 migrations for simple queries.
3/ Lets resolve the lint stuff

The two queries didn't work together, so I had to separate it.. So you create the table first and enable RLS

In terms of the queue feature, I like this idea but if supabase API works properly, we don't need to add them to the queue right?
In terms of the processing performance (ubiquibot is a lambda function that is executed from the github events), we should consider the function timeout (< 10s). In case we have tons of retries, it will definitely affect the performance.
so I think you can add a flag to enable/disable or make retryLimit configurable. Totally we should get the control of the factors that affect the performance.

The two queries didn't work together, so I had to separate it.. So you create the table first and enable RLS

Interesting, but I still think its possible. would you post the error message here so I can help with that?

The two queries didn't work together, so I had to separate it.. So you create the table first and enable RLS

Interesting, but I still think its possible. would you post the error message here so I can help with that?

Its just an invalid sql query, it's expecting the table to be created already

In terms of the queue feature, I like this idea but if supabase API works properly, we don't need to add them to the queue right?
In terms of the processing performance (ubiquibot is a lambda function that is executed from the github events), we should consider the function timeout (< 10s). In case we have tons of retries, it will definitely affect the performance.
so I think you can add a flag to enable/disable or make retryLimit configurable. Totally we should get the control of the factors that affect the performance.
@devpanther @rndquu

So you're talking about:

Add a flag to enable/disable the logs queue
Disable the queue by default

Right?

Right?

I think he means a flag to disable/enable retryLimit or control the number of times it can retry

So you're talking about:

Add a flag to enable/disable the logs queue
Disable the queue by default

Right?

Right

Looks like pretty solid progress so far.

@0xcodercrane should I add the retry Limit configuration as an env?

@0xcodercrane should I add the retry Limit configuration as an env?

Please configure it in ubiquibot-config.yml/ubiquibot-config-default.json/env.

@0xcodercrane should I add the retry Limit configuration as an env?

Please configure it in ubiquibot-config.yml/ubiquibot-config-default.json/env.

Shouldn't this be some type of environment variable inside of Netlify that we control internally? I don't think we should let our partners configure settings related to logging! Other than the secret option of fully disabling logging.

@0xcodercrane should I add the retry Limit configuration as an env?

Please configure it in ubiquibot-config.yml/ubiquibot-config-default.json/env.

Shouldn't this be some type of environment variable inside of Netlify that we control internally? I don't think we should let our partners configure settings related to logging! Other than the secret option of fully disabling logging.

That's why I asked, it's supposed to be an internal variable..
I'd make it an env and push now

last commit added retryLimit configurable using env.. so it can be controlled internally
0 for retry disabled
> 0 for number of retries
@pavlovcik @0xcodercrane

https://github.com/ubiquity/ubiquibot/commit/f6e99dfb406559a044969bb82aff478daae172cd
Create a migration for you @devpanther. please use this.

f6e99df
Create a migration for you @devpanther. please use this.

Thank you, used that in the latest commit

@0xcodercrane @rndquu @whilefoo I guess this is ready to merge?

just some minor changes for naming and typing

Should be good now

@devpanther I just tested this locally and it appears some logs are missing.
stdout output:
INFO (server): Running Probot v12.3.1 (Node.js: v18.16.0)
INFO (server): Forwarding https://smee.io/dFBMktaX9Gr0bZd8 to http://localhost:3000/
INFO (server): Listening on http://localhost:3000
INFO (server): Connected
DEBUG (octokit): GitHub request: GET https://api.github.com/repos/whilefoo/ubiquibot/contents/.github%2Fubiquibot-config.yml - 200
UbiquiBot Config loaded! config: {"price":{"baseMultiplier":1.5,"issueCreatorMultiplier":1000,"timeLabels":[{"name":"Time: <1 Hour","weight":0.125,"value":3600},{"name":"Time: <2 Hours","weight":0.25,"value":7200},{"name":"Time: <4 Hours","weight":0.5,"value":14400},{"name":"Time: <1 Day","weight":1,"value":86400},{"name":"Time: <1 Week","weight":2,"value":604800}],"priorityLabels":[{"name":"Priority: 0 (Normal)","weight":1},{"name":"Priority: 1 (Medium)","weight":2},{"name":"Priority: 2 (High)","weight":3},{"name":"Priority: 3 (Urgent)","weight":4},{"name":"Priority: 4 (Emergency)","weight":5}],"commentElementPricing":{"blockquote":0,"break":0,"code":0,"definition":0,"emphasis":0,"heading":0,"html":0,"image":0,"imageReference":0,"inlineCode":0,"link":0,"linkReference":0,"list":0,"listItem":0,"paragraph":0,"root":0,"strong":0,"text":0,"thematicBreak":0,"delete":0,"footnoteDefinition":0,"footnoteReference":0,"table":0,"tableCell":0,"tableRow":0,"alignType":0,"flowContent":0,"listContent":0,"phrasingContent":0,"rowContent":0,"tableContent":0},"defaultLabels":["Time: <1 Hour","Priority: 0 (Normal)"]},"unassign":{"followUpTime":345600000,"disqualifyTime":604800000},"mode":{"paymentPermitMaxPrice":0,"disableAnalytics":false,"incentiveMode":true,"assistivePricing":true},"log":{"logEnvironment":"development","level":"debug","retryLimit":0},"wallet":{"registerWalletWithVerification":false}} undefined
UbiquiBot Started binding events... id: 5e9e73e0-3dbd-11ee-838e-48c9cf1f38c0, name: issue_comment.created, allowedEvents: issues.labeled,issues.unlabeled,issues.assigned,issues.unassigned,issues.closed,issues.opened,issues.reopened,issue_comment.created,issue_comment.edited,pull_request.opened,installation_repositories.added,push undefined
UbiquiBot Creating adapters for supabase, telegram, twitter, etc... undefined
UbiquiBot Running pre handlers: nullHandler, event: issue_comment.created undefined
UbiquiBot Running handler, name: nullHandler undefined
UbiquiBot Running main handlers: handleComment, event: issue_comment.created undefined
UbiquiBot Handling an issue comment on issue 21 undefined
UbiquiBot Running a comment handler: query undefined
UbiquiBot Skipping '/query' because it is disabled on this repo undefined
DEBUG (octokit): GitHub request: POST https://api.github.com/repos/whilefoo/ubiquibot/issues/21/comments - 201
    body: "Skipping `/query` because it is disabled on this repo"
UbiquiBot Running post handlers: nullHandler, event: issue_comment.created undefined
UbiquiBot Running handler, name: nullHandler undefined
UbiquiBot Running wildcard handlers: checkBountiesToUnassign,collectAnalytics,checkWeeklyUpdate undefined
UbiquiBot Getting all the issues... undefined
DEBUG (octokit): GitHub request: GET https://api.github.com/repos/whilefoo/ubiquibot/issues?state=open&per_page=100&page=1 - 200
UbiquiBot Checking expired bounties done! total: 0, unassigned: 0 undefined
UbiquiBot Collecting analytics information... undefined
DEBUG (octokit): GitHub request: GET https://api.github.com/repos/whilefoo/ubiquibot/contents/.github%2Fubiquibot-config.yml - 200
UbiquiBot Config loaded! config: {"price":{"baseMultiplier":1.5,"issueCreatorMultiplier":1000,"timeLabels":[{"name":"Time: <1 Hour","weight":0.125,"value":3600},{"name":"Time: <2 Hours","weight":0.25,"value":7200},{"name":"Time: <4 Hours","weight":0.5,"value":14400},{"name":"Time: <1 Day","weight":1,"value":86400},{"name":"Time: <1 Week","weight":2,"value":604800}],"priorityLabels":[{"name":"Priority: 0 (Normal)","weight":1},{"name":"Priority: 1 (Medium)","weight":2},{"name":"Priority: 2 (High)","weight":3},{"name":"Priority: 3 (Urgent)","weight":4},{"name":"Priority: 4 (Emergency)","weight":5}],"commentElementPricing":{"blockquote":0,"break":0,"code":0,"definition":0,"emphasis":0,"heading":0,"html":0,"image":0,"imageReference":0,"inlineCode":0,"link":0,"linkReference":0,"list":0,"listItem":0,"paragraph":0,"root":0,"strong":0,"text":0,"thematicBreak":0,"delete":0,"footnoteDefinition":0,"footnoteReference":0,"table":0,"tableCell":0,"tableRow":0,"alignType":0,"flowContent":0,"listContent":0,"phrasingContent":0,"rowContent":0,"tableContent":0},"defaultLabels":["Time: <1 Hour","Priority: 0 (Normal)"]},"unassign":{"followUpTime":345600000,"disqualifyTime":604800000},"mode":{"paymentPermitMaxPrice":0,"disableAnalytics":false,"incentiveMode":true,"assistivePricing":true},"log":{"logEnvironment":"development","level":"debug","retryLimit":0},"wallet":{"registerWalletWithVerification":false}} undefined
UbiquiBot Started binding events... id: 5fffffb0-3dbd-11ee-83f8-b19997698e79, name: issue_comment.created, allowedEvents: issues.labeled,issues.unlabeled,issues.assigned,issues.unassigned,issues.closed,issues.opened,issues.reopened,issue_comment.created,issue_comment.edited,pull_request.opened,installation_repositories.added,push undefined
UbiquiBot Creating adapters for supabase, telegram, twitter, etc... undefined
UbiquiBot Skipping the event. reason: sender is a bot undefined
INFO (http): POST / 200 - 370ms
INFO (server): POST http://localhost:3000/ - 200
DEBUG (octokit): GitHub request: GET https://api.github.com/repos/whilefoo/ubiquibot/issues?state=all&per_page=30&page=1 - 200
DEBUG (octokit): GitHub request: GET https://api.github.com/users/whilefoo - 200
DEBUG (octokit): GitHub request: GET https://api.github.com/users/whilefoo2 - 200
UbiquiBot Upserting users: whilefoo2,whilefoo undefined
UbiquiBot Creating a new user done", { data: null, error: [object Object] } undefined
UbiquiBot Creating a new user done", { data: null, error: [object Object] } undefined
UbiquiBot Upserting bounties: QA for Html comments,Bounty Proposal: testing default labels undefined
UbiquiBot Upserting an issue done, data: [object Object], error: null undefined
UbiquiBot Upserting an issue done, data: [object Object], error: null undefined
INFO (http): POST / 200 - 3535ms
INFO (server): POST http://localhost:3000/ - 200

Database:

@devpanther I just tested this locally and it appears some logs are missing.

I think at that point the supabase adapter is not set, from the second event.. it sends all of the logs

@devpanther I just tested this locally and it appears some logs are missing.

I've moved the creation of adapters before the log engine and it works now


Create Azure storage resources

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az storage account create
Errors:

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az storage account create --kind {} --resource-group {} --location {} --name {}

Expected Behavior
Environment Summary
Linux-5.4.0-1056-azure-x86_64-with-debian-10.2 (Cloud Shell)
Python 3.6.10
Installer: DEB

azure-cli 2.27.0 *

Extensions:
ai-examples 0.2.5
ssh 0.1.5

Additional Context

storage


Regions Issue. Guest Checkout. Unable to Complete Checkout

Steps to Reproduce:

Navigate to server deployed with guest checkout feature.
1.a. http://dev-com-12.accdemo.b2c.ydev.hybris.com:4200
Add products to cart and checkout.
Select "Guest Checkout"
Enter shipping address, shipping method and payment method.
Attempt to move to "order review" step.

Expected Results:
5. Order review page is shown.
Actual Results:
5. Failure. Unable to advance.
5.a. Getting HTTP 400 on https://dev-com-12.accdemo.b2c.ydev.hybris.com:9002/rest/v2/electronics-spa/users/anonymous/carts/f0e74236-62d6-4595-a4d3-55d93d1ad0b0/payment/sop/response?lang=en&curr=USD
5.b. Region model not found

Using Chrome 76. Connected to sap's internal corp network.

If I do page refresh/reload, attempt now works...

This issue seems intermittent...

ok


Can not get result from query

Hello,
I've found that I cannot get result from query, though I can dump/echo it.
Sorry, if it is something that I should knew about reactphp promises or etc.. While, I'm using the same operations with other (non-mysql) promises and it works.
$loop = React\EventLoop\Factory::create();

$factory = new React\MySQL\Factory($loop);
$uri = 'user:password@localhost/databaseName';
$connection = $factory->createLazyConnection($uri);

$query = "SELECT * FROM someTable;";

$result_array = array();
$exception = '';

$connection->query($query)->
  then(function (React\MySQL\QueryResult $command) use (&$result_array) {
    if (isset($command->resultRows))
    {
      // this doesn't work
      $result_array = $command->resultRows;

      // but this work
      echo 'command->resultRows
' . var_export($command->resultRows, true) . '
';
    }
  }, function (Exception $error) use (&$exception) {
    echo 'Error: ' . $error->getMessage() . PHP_EOL;
    $exception = $error->getMessage();
  });
$connection->quit();
$loop->run();

// I got empty array here
echo 'result_array:
' . var_export($result_array, true) . '
';

The problem was that I were trying to get result_array before $loop->run.


CIV-8023 Test 8023

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

it's only for testing purposes


feat: Set currently selected model back to Canvas if it exists

What type of PR is this? (check all applicable)

[x] Feature
[x] Bug Fix

Have you discussed this change with the InvokeAI team?

[x] Yes

Description
If the currently selected model is available for canvas, then set it instead of defaulting to the first in the list.
Related Tickets & Documents

Closes #4215

Post Merge

Remember to add SDXL to this list when SDXL inpainting is merged in.

Resolved in #4221


Error on curve25519-donna installation (Update readme)

The error output was:
curve25519-donna.c(49) : fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Common Files\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2

The README says

Note: On Windows curve25519-donna requires Microsoft Visual C++ 9.0 and you need to copy stdint.h into C:\Users\YOUR USERNAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\include.

But the installed include path isn't this. But it works with this path:
C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC\include

The code for curve25519-donna is pretty outdated, try using PyNaCl, you don't need anything else installed and it is up to date with comprehensive documentation. Infact the curve25519-donna GitHub repo itself recommends PyNaCl.


Port forwarding problem please solve

Port forwarding problem please solve

@SmartSmart3 I am working on it. I will provide new options were you can custom ssh tunnel port.

Thank you my brother for your great effort and I hope it will soon be stopped 💜


some OpenCore settings do not work ...

Program itself works OK
but there is some kind of conflict with
AllowSetDefault=No, HideAuxiliary=Yes and Auxiliary=Yes
in OC config, it is impossible to show hidden Recovery HD by SPACE key etc

It's an initial version,  I am aware of the issue you mentioned, will fix them and make it behave just like text version.  Thanks for reporting!

Fixed as tested. v0.0.2


 IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/blob/main/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by asting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

TYwqFfrn1i1XuwxjnscuZev4TtsXvC8tC9

Please submit the correct information, invalid information will cause the issue to close


Flake8 - set max line length to 99

Set max-line-length expected by flake8 to 99. Must be done both on template and package level, because flake8 seems to only respect settings in the folder from which it is run.

Thanks @codingjoe for approving and merging so fast! :speedboat:


Ferdium.Ferdium.Nightly version 6.2.5-nightly.1

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run

@stephengillie Since this nightly seems to fail the validation (do you know why?), but a later one has gone through without any problems, I am fine with closing this PR even if the problem is unresolved, unless you would prefer to keep it open to investigate where the issue is coming from.


Alternative nested tags with dot instead of slash

It would be good if you could also use points to separate the hierarchies. Maybe via further settings.
tags: [here/is/a/nested/example, project.task.nested]

My goal is a virtual file system that follows this idea of hierarchical notes:
https://wiki.dendron.so/notes/f3a41725-c5e5-4851-a6ed-5f541054d409/#whats-with-the-s
Thereby a file has only one (1) filename like
project1.area1.item1.adoc
But the file can optionally get additional virtual filenames via tags. The result would be something similar to symbolic links.
project2.area3.item1
definition.item1
etc
The use of dot instead of slash would be important because there cannot be slash or backslash in filenames. These mark real folders.


Update README.md

Please review and let me know if there are additions I should make before considering to add our repo to the list of electron-vue implementations - thanks for an awesome tool 👍

Hey @mattRedBox, this app looks awesome! Could you please also update the READMEs in the docs/ directory. Once you get that updated, it'll be ready to merge!

Hi @SimulatedGREG,
Not sure if you've had a chance to look, but those changes are in (if I've done them correctly)


misleading documentation

import {config} from 'redux-auth' in README
...then uses configure(..) call

Thanks, I think that may be a typo. I'll review ASAP.

configure example is misleading too.
// client-side usage
store.dispatch(configure(
  {apiUrl: "https://api.graveflex.com"}
).then(() => {
  // your store should now have the current user. now render your
  // app to the DOM. see the demo app for a more complete example.
});

should be
// client-side usage
store.dispatch(configure(
  {apiUrl: "https://api.graveflex.com"}
)).then(() => { // <- note the added parenthesis
  // your store should now have the current user. now render your
  // app to the DOM. see the demo app for a more complete example.
});

Kept me an hour wondering why configure().then is not a function :laughing:

Can you guys please submit a PR for these fixes?


Proposed Fix for #3

I found out of the box this provider wouldn't work with a different mongodb that wasnt configured in the way this provider assumes.
changing the users role from readWriteAnyDatabase to readAnyDatabase resulted in an error.
destroying the resource would work from terraform perspective but the user was retained on the mongodb.
found a few hardcoded vars and suggest using dropUser command to delete the user on update (there is a discussion about maybe updating the user in place but this PR doesn't address that)
just to say thanks for this TF provider as well!

thanks a lot for the contribution.  :+1:
i will review the changes and test the provider behaviour  then  merge the proposed fixes

@androidwiltron  thank you again :) merged  your changes


Please provide Custom WebGL layer example

I'm trying to add webgl layer to draw geometry primitives with shaders. Someone has suggested me to dive into HeatmapLayer example, but it seem to complex for me. Please provide a simple example to draw, for example,  triangle with shaders, same as mapbox example.

The experimental webgl api does not currently allow drawing triangles. The only thing implemented is a points renderer, for which you can either look at the HeatmapLayer or WebGLPointsLayer classes.
The mapbox example you cited is essentially just an illustration on how to use the WebGL api. You could do pretty much the same by simply using this option of the base Layer class to create a completely custom layer element based on a WebGL canvas:
https://github.com/openlayers/openlayers/blob/fe8f7c04adcd27e331de2f963876c924aad9a3b4/src/ol/layer/Layer.js#L38-L39

Thank you @jahow! Is there an example how to pass data to RenderFunction?

This example uses a layer with custom render function to embed a Mapbox element inside an OpenLayers map.
You can do anything you want in this render function: read a source, transform coordinates, create a canvas element and render to it, etc.

Thank you @jahow for example link, I've also found an useful example at openlayers workshop


Announcement UI

I'm submitting a ...

[ ] bug report
[x] feature request
[ ] other

Current behavior:
No way to make announcement on site for visitors.
Expected / new behavior:
Add UI(which stick on header unless user close it) for announcing sitewise message to visitors.
Anything else:

We've disabled word by word translation and zendesk is flooded with tickets, there should be a way to letting visitors know what is going on.

So idea is, admins can add announcements using community app

frontend fetching these messages using api
show messages to users
use cookies to make sure user don't see messages when they click on "close"

@naveed-ahmad I been thinking about this a lot. Thoughts about fetching the announcements from zendesk?


Reduce bundle size

The bundle is ±160KB with comments and whitespaces.
The Google Closure Compiler is available in the Docker development container. Try any of these compilation level (although the ADVANCED level is most likely not possible for this project):
 --compilation_level (-O) VAL           : Specifies the compilation level to
                                          use. Options: BUNDLE, WHITESPACE_ONLY,
                                          SIMPLE (default), ADVANCED (default:
                                          SIMPLE)

In addition ajv could become a peer dependency. In this case this should be a breaking change.
Suggestions:

[ ] Breaking changes
[ ] A Webpack config to bundle the library for a browser usage


Best approach to have actions column with buttons. When hit to open a modal outside Griddle.

Hi,
I'm trying to have an Actions column with Edit and View buttons. I am using a customComponent.
const GriddleActionColumn = ({value}) => {
    return (

             Edit
             View

    );
}

I need to somehow grab the  onClick event and open a Modal.
I also tried making this component connected to my Redux store.
import React from 'react';
import {connect} from 'react-redux';
import { editAccount } from '../actions';

class ListActions extends React.Component {
    render() {
        const { value } = this.props;

        return (

                 { this.props.editAccount({value); } } className="btn btn-sm btn-outline blue-madison"> Edit

        );
    }
}

export default connect(null, { editAccount } )(ListActions);

but i got an error when clicking the Edit button:
Uncaught TypeError: Cannot read property 'map' of undefined    dataSelectors.js:246
/** Gets the griddleIds for the visible rows */
var visibleRowIdsSelector = exports.visibleRowIdsSelector = (0, _reselect.createSelector)(dataSelector, function (currentPageData) {
  return currentPageData.map(function (c) {
    return c.get('griddleKey');
  });
});

at return currentPageData.map(function (c) {
Any idea what is the best approach to get the onClick event in the button? Again my goal is to have actions col with actions buttons. When clicking Edit I want to communicate outside Griddle and show a popup.
Thanks.

Also related: #680


Schemabuilder support for fixed-length strings.

Currently schemabuilder has methods for various data types, amongst them is ->string(12) which would create a VARCHAR on MySql and (something like) CHARACTER VARYING on PgSql.
As far as I know all supported DBMS's also support fixed length strings, it would be great to add this support to the schema builder.

Hmm I see there is a char data type in most classes; but no function for that in the schema builder trait.

Never mind apparently it is in the framework now...
https://github.com/yiisoft/yii2/commit/eaeb9267687b7ea567b460a026a3172461b760de


Add metal flavour set, gem set, spray set, etc.

Similar to the liquid flavour set here: https://github.com/LambdaHack/LambdaHack/blob/grenades/Game/LambdaHack/Common/Flavour.hs#L112
This is not yet a serious item material system, just flavour, so the meaning is "it looks like that", not "making this ring of this metal would be practical". Nevertheless, for simplicity, preferably 'silver' than 'silvery'. Let's try to keep it rather short and one-word (with hyphens if needed). The immediate use will be for jewelry. The spray set will be used for some blasts (mists, clouds, showers). A couple of entries from colorToLiquidName fits the purpose, so they can be appropriated, but others more specifically liquid-like would need to be substituted.
Other set ideas, to be gradually used for dungeon tile flavour, etc.: wood set, non-precious stone set, medieval human strong material set (wrought iron, cast iron, mild steel; one word rule doesn't apply), cloth/skin/paper material look&condition set (tattered, rough), contemporary or near future material set, flower set (also to be used for potions), and whatever strikes your fancy. :)

About the metal flavour set, e.g., steely, bronze, copper, when using these beware of "copper swords", etc. Perhaps first use them for items where it's obvious these are not materials, e.g., potions or when the material doesn't matter much, e.g., necklaces. Wait for a serious materials system and/or item quality system, before using the set for weapons or tools.


fix(ngTouch): fix ghost click on small touch delta

Request Type: bug
How to reproduce: http://plnkr.co/w1q2AJ
Small movements of your finger or touch device when tapping causes both a touchEnd and Click event to trigger the ngClick callback causing it to fire twice. Rapidly tap the numbers from bottom to top to observe this happening occasionally. By tapping rapidly in an upward directions it's easier to get your finger to skid a little. Try out this plunker on a mobile device or with touch emulation enabled.
Component(s): ngTouch
Impact: medium
Complexity: small
This issue is related to:
Detailed Description:
ngClick was leaking ghost click events when a touch moved a small
distance. This is because if there was a touchMove event between the
touchStart and touchEnd preventGhostClick would not be called. This also
caused the MOVE_TOLERANCE threshold to be ignored because any change in
position would stop preventGhostClick from being run.
Cancelling a tap is now correctly based on the MOVE_TOLERANCE, and ghost
clicks are not leaked.
Other Comments:
Closes #6251

Hello, I guess this bug behave the same on web-apps using Cordova.
I don't understand why this pull is waiting so long before being pushed?
Please Please press the button !

Someone wrote to me asking why I closed this PR, here is my response in case anyone else is curious.
The PR was open for over 1 year and didn't receive any attention from any maintainers of Angular. I think that whoever was originally in charge of the ngTouch module is no longer actively involved in Angular, and none of the other maintainers feel comfortable enough with the module to merge in the PR (though the specs pass, and the change makes sense). I saw that the PR had a merge conflict, and I don't feel it's worth the time to resolve it just to have the PR sit open for another year. It's unfortunate that the fix wasn't merged, I've seen how many people are affected by this problem in the issues(https://github.com/angular/angular.js/issues/6251). At Uken Games (where I work) we've been running with this patch in prod for over a year because without it our game has a number of bugs caused by click events firing twice.
If you are feeling adventurous, feel free to make the PR merge-able and try to get it in :)
:beers:


faq/troubleshooting: when are device types discontinued

Thread: https://balena.zulipchat.com/#narrow/stream/345746-aspect.2Fproduct/topic/balenaFin.20discontinuation
Arch call: https://drive.google.com/file/d/1hl1D3q9AwpUrp7XxgQk7HoGDInWL_Z0J/view?usp=drive_web

lgtm


[storage] add list-accounts option for LibraDB storage inspector

Motivation
Add list-accounts option for libra-storage-inspector. Read AccountStates from disk using backup handler and prints addresses.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Running libra-swarm with 4 validators, and create account using the CLI (and mint for good measure):
libra% a create
>> Creating/retrieving next account from wallet
Created/retrieved account #0 address 285b23268a44747c61dee6ab2bb543ac
libra% account mint 0 110
>> Minting coins
Mint request submitted
libra% query balance 0
Balance is: 110.000000

Run list-accounts:
$ cargo run -p libra-storage-inspector -- --db ~/libra-tmp/logs/0/libradb/db list-accounts
   Compiling libra-storage-inspector v0.1.0 (/home/rustielin/libra/storage/inspector)
    Finished dev [unoptimized + debuginfo] target(s) in 20.11s
     Running `target/debug/libra-storage-inspector --db /home/rustielin/libra-tmp/logs/0/libradb/db list-accounts`
INFO 2020-04-08 01:47:43 storage/inspector/src/main.rs:166 Opening DB at: "/home/rustielin/libra-tmp/logs/0/libradb/db", log at "/tmp/.tmpah1ORO"
INFO 2020-04-08 01:47:43 storage/libradb/src/lib.rs:183 log stored at "/tmp/.tmpah1ORO"
INFO 2020-04-08 01:47:43 storage/libradb/src/lib.rs:189 Opened LibraDB at "/home/rustielin/libra-tmp/logs/0/libradb/db/libradb" in 115 ms
INFO 2020-04-08 01:47:43 storage/inspector/src/main.rs:169 DB opened successfully.
Address: 140582ca819341f2a1cb1e787d3a81ae
Address:<PHONE_NUMBER>000000000000000a550c18
Address: 5707b4b64d213a0f67b07268e307fed4
Address: a8fab1c11fa355845fb6a263acba518c
Address: 51f0a592c41bc9331f76d7df80480fdd
Address: 285b23268a44747c61dee6ab2bb543ac
Address:<PHONE_NUMBER>0000000000000000000fee
Address:<PHONE_NUMBER>00000000000000000d15c0
Address:<PHONE_NUMBER>00000000000000000001d8
Invalid Address: None
INFO 2020-04-08 01:47:43 storage/inspector/src/main.rs:150 Total Accounts: 10

We have 9 valid addresses, 4 of which are the validators, and 285b23268a44747c61dee6ab2bb543ac, which we created above. The rest are faucet or created by libra-swarm for other reasons.
NOTE: Regarding the invalid address: the count is generated by getting the account state iterator's count method from backup, but seems there's an error and it counts a null address that's been persisted to disk. This affects print_head's acc count as well for the same reaosns.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/libra/website, and link to your PR here.)

The test seems just flaky.  I re-ran the tests .

@bors-libra r=thefallentree

:pushpin: Commit e299dc3 has been approved by thefallentree

:hourglass: Testing commit e299dc342e0ca376a6ec2213c983886ec5d30ed6 with merge 35f15c176fc92a4dcf24f70de4bb173f5068e31a...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: thefallentree
Pushing 35f15c176fc92a4dcf24f70de4bb173f5068e31a to master...


Containers will automatically follow configuration

Disabled containers will be killed/removed.
Enabled containers will start if not already started.
Reconfigured containers will be killed/removed/started.

Current coverage is 91.56% (diff: 26.41%)

Merging #155 into master will decrease coverage by 1.36%

@@             master       #155   diff @@
==========================================
  Files            26         26
  Lines          2900       2858    -42
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           2695       2617    -78
- Misses          205        241    +36
  Partials          0          0

Powered by Codecov. Last update 8522c74...3773521


After setting the paper direction and then changing the paper size, the page is displayed incorrect.

version
0.9.31
Link to minimal reproduction
No response
Steps to reproduce

Set paper direction, e.g. landscape.
Set page size, e.g. A5.
Position of footer and main content in a wrong position.

What is expected?
Should fit the paper size correctly.
What is actually happening?

https://drive.google.com/file/d/1fiLr6gDKh3Qc-K2JP2SR_TD6ajcrhJl0/view?usp=sharing
System Info
System:
    OS: macOS 13.3.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 193.17 MB / 32.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.16.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.1.2 - /opt/homebrew/bin/npm
  Browsers:
    Chrome: 112.0.5615.137
    Edge: 112.0.1722.58
    Firefox: 112.0.1
    Safari: 16.4

Any additional comments?
Is it possible to modify it this way?
public setPaperSize(width: number, height: number) {
    const dpr = window.devicePixelRatio
    this.options.width = width
    this.options.height = height
    this.container.style.width = `${this.getWidth()}px`
    this.pageList.forEach((p, i) => {
      p.width = this.getWidth() * dpr // replace width with this.getWidth()
      p.height = this.getHeight() * dpr // replace height with this.getHeight()
      p.style.width = `${this.getWidth() }px`
      p.style.height = `${this.getHeight() }px`
      this._initPageContext(this.ctxList[i])
    })
    this.render({
      isSubmitHistory: false,
      isSetCursor: false
    })
  }

Thank you for your issue. I look forward to your direct PR request next time


[Bug]: Prettier v3 doesn't work with jest-snapshots

Version
29.6.1
Steps to reproduce

Install<EMAIL_ADDRESS>which was just released yesterday
Write a test that would generate an inline snapshot, like:

test('snapshot', () => {
  expect('abc').toMatchInlineSnapshot();
});

Expected behavior
The inline snapshot is updated
Actual behavior
Jest fails with
  ● Test suite failed to run

    TypeError: prettier.resolveConfig.sync is not a function

      at runPrettier (node_modules/jest-snapshot/build/InlineSnapshots.js:308:30)

Additional context
Prettier just released v3, which removed this line that added the sync function to resolveConfig. It looks like eslint-plugin-prettier ran into a similar problem. based on this issue.
Environment
System:
    OS: macOS 13.4.1
    CPU: (10) arm64 Apple M1 Pro
  Binaries:
    Node: 18.16.0 - ~/.nvm/versions/node/v18.16.0/bin/node
    npm: 9.5.1 - ~/.nvm/versions/node/v18.16.0/bin/npm
    pnpm: 8.5.1 - ~/Library/pnpm/pnpm
  npmPackages:
    jest: ^29.6.0 => 29.6.1

Confirmed: if Prettier v3 is installed, Jest fails to update or create inline snapshots. Existing inline snapshots work fine if they are passing.

Seems like it is possible to add prettierPath: null to Jest config. Formatting can be done using Prettier outside of Jest run. That can be a workaround until solution will be found.

I doubt we'll ever support Prettier v3 as we need it to work synchronously.
However, we might be able to add support for @prettier/sync.

That module is currently broken (https://github.com/prettier/prettier-synchronized/pull/5), but I think it should work after that is released. We'll then have to look at the version of prettier we load, and decide which API to use

Maybe @prettier/sync shoud expost a factory to accept prettierPath  instead?

That would great, of course.

With the release of that, we should be able to integrate here.

FWIW, added an explicit error in https://github.com/jestjs/jest/releases/tag/v29.6.2, and updated the docs with workarounds

For anyone that lands here for a temporary fix, this works for now:

Manually add "prettier-2": "npm:prettier@^2", to devDependencies in your package.json
Run npm install
Add prettierPath to your jest configuration

ie: "prettierPath": "<rootDir>/node_modules/prettier-2/index.js"

some package managers (definitely yarn 1, likely others too) will nondeterministically choose which prettier binary (from v2 or v3) to link under node_modules/.bin.

Good catch! In my case, it chose v2.

I'm looking forward for a fix. I'll avoid inline snapshots in the meantime... 😢

If we really need a synchronized version of prettier, and, since the inline snapshots formatting ain't requiring good performances since intended to be rarely performed, why not just use the prettier executable and use execSync?

If we really need a synchronized version of prettier, and, since the inline snapshots formatting ain't requiring good performances since intended to be rarely performed, why not just use the prettier executable and use execSync?

That's pretty much what @prettier/sync does, but doesn't work due to https://github.com/prettier/prettier-synchronized/issues/4#issuecomment-1649355749

Easiest would be to make toMatchInlineSnapshot async. But that's horribly breaking

Maybe making a new toMatchInlineSnapshotAsync?

@SimenB Just curious about when/how the release process works to publish a new version with the changes merged in https://github.com/jestjs/jest/pull/14566, thanks!

It'll be in Jest 30. Not sure when there'll be a release, but within the next few weeks, hopefully 🙂

Thanks for the good work! 💪🏻

@SimenB Do you know already when Jest v30 will be released? Is there some nightly release that I can install right now and use Prettier v3?

I don't have a firm date in mind, but I can probably do a prerelease.
Nightlies would be awesome (or CI publishing in general), but we don't have that at the moment, unfortunately.

https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.1


Reset credentials keeps crashing VS

Trying to add a new user to the Windows Credentials (plugin release v<IP_ADDRESS>-q3_master)
After saying yes to reset password:

VS crashes

I verified that the VM was up and running (I RDPed into it first)
I launched the debugger, and this is what it gives me:
System.Reflection.TargetInvocationException was unhandled
Message: An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.

Crud... Can you provide the output of gcloud info to see if that is the problem?
This is related to #198, the extension should never cause VS to crash.

This shoud not happen anymore.


Page Not Found: docs.zowe.org/404.html

Description

Pages to Update

Screenshots

Expected behavior

Additional context

Hey @gejqim-bipciw-5Tonri, thank you for reaching out! Could you provide more context about this issue you encountered to help us locate the page where this issue exists?


TextureSettingsTest double-sided test failed

I tried testing TextureSettingsTest.
However, the double-sided test seems to have failed.
TextureSettingsTest.gltf result

I am looking forward to becoming all green.

@cx20 should have fixed the issue at the lastest HEAD. Only example renderer is modified.
Thanks!

@shrekshao It's all green. good job!


Transition MVC TagHelpers to use TargetElementAttributes attribute targeting.

Now that TagHelpers can target attributes we should transition our existing TagHelpers to utilize this new "required" attributes functionality.
One example: ValidationSummaryTagHelper shouldn't target "div" elements then no-op if the attribute doesn't exist: It should target the asp-validation-summary attribute on any HTML element.
This should also enable us to no longer have ambiguity between "should I be a tag helper" for all of our tag helpers.

it's likely views would perform better if tag helpers were not created only to no-op.  however we should measure things to confirm this is worthwhile since the MVC tag helpers are doing simple checks that work today.
specifically:

ValidationSummaryTagHelper shouldn't target "div" elements then no-op if the attribute doesn't exist: It should target the asp-validation-summary attribute on any HTML element.

"any" is too broad.  we likely want to target <div> and <span> and that's about it.  in any case, we should strive to preserve the chosen behaviour and limit work on this issue to the implementation choice.  deal with reevaluating the behaviours separately.

This should also enable us to no longer have ambiguity between "should I be a tag helper" ...

could you clarify this statement?  is this another point about changing the current MVC tag helper behaviours?

@DamianEdwards Let us know if you think we need to pull this back into the current milestone.

We should do this now

@dougbu The ambiguity bit I mentioned will drastically improve TagHelper tooling. For instance, today in the pre-bits for TagHelper tooling every div tag is highlighted because of the validation summary maybe being a TagHelper on div elements. Same thing goes for all other TagHelpers.

@NTaylorMullen thanks, that was much clearer

Part 1 - https://github.com/aspnet/Mvc/commit/bfdeda797df054a4ae8a6fa9250e65f07cd63a1e
Part 2 - https://github.com/aspnet/Mvc/commit/e2058905ec30facdf41d1eca2360be3c4b6b7314
Part 3 - https://github.com/aspnet/Mvc/commit/fd5e07dd0323812263b9fc0160ad56be3a4f3f6c