after version1.7.5, formated code style changed

Description

NOTE:

Check the list of open issues before filing a new issue.
Please update the expect output section to match how you would prefer the code to look.

Input
The code looked like this before beautification:
let test = {
  a: {},
  b: {
    a: async () => {
        console.log('a');
      },

      b: async () => {
        console.log('b');
      },
  }
};

Current Output
The  code actually looked like this after beautification:
let test = {
  a: {},
  b: {
    a: async () => {
        console.log('a');
      },

      b: async () => {
        console.log('b');
      },
  }
};

Expected Output
The code should have looked like this after beautification:
/*Adjust the code to look how you prefer the output to be.*/
let test = {
  a: {},
  b: {
    a: async () => {
      console.log('a');
    },

    b: async () => {
      console.log('b');
    },
  }
};

Environment
Browser User Agent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
Language Selected:
Auto Detect
Settings
Example:
{
  "indent_size": "2",
  "indent_char": " ",
  "max_preserve_newlines": "5",
  "preserve_newlines": true,
  "keep_array_indentation": false,
  "break_chained_methods": false,
  "indent_scripts": "normal",
  "brace_style": "collapse",
  "space_before_conditional": true,
  "unescape_strings": false,
  "jslint_happy": false,
  "end_with_newline": false,
  "wrap_line_length": "0",
  "indent_inner_html": false,
  "comma_first": false,
  "e4x": false
}

#1573


SAK-43033: Bullhorns: Group assignments displaying twice

https://jira.sakaiproject.org/browse/SAK-43033

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- portal/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/BullhornServiceImpl.java  1

See the complete overview on Codacy

I'm not sure about the approach here, either. Firstly, I'd put any code that needs to deal with assignments event, in the assignments handler. Also, refs can be the same for events with very different meanings. Refs are not reliable unique references to events ,they just refer to the entity which has changed.

@adrianfish could you take a look?


FIX: wheel not installed in Actions python

Added step into release.yml workflow to install wheel

Codecov Report

Merging #9 (425b2cc) into main (b82105d) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #9   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines            5         5
=========================================
  Hits             5         5

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b82105d...425b2cc. Read the comment docs.


Both the parsers in vast_utils.py are broken.

I'm trying to figure out how the parse_env() function works. So far, it seems like it doesn't work for anything:
from vastai_client.vast_utils import parse_env
env_strs = [
"'-e INTERRO_USER=mlbox_2'",
"'-e ASR_MODEL=base'",
]

for env_str in env_strs:
	ret = parse_env(env_str)

	print("Env: %s -> '%s'" % (env_str, ret))

returns:
Env: '-e INTERRO_USER=mlbox_2' -> '{}'
Env: '-e ASR_MODEL=base' -> '{}'

The ASR_MODEL example string is literally from the docstring of the function. Nothing I do seems to ever cause it to return anything but an empty dict.

Ok, so this was super dumb:
Leading spaces (completely valid) break the parsing.
Surrounding the string in quotes (like the vast.ai documentation say you should use) breaks the parsing.

Here is a rewritten parse_env() that should handle most valid things you can pass as environment variables:
import shlex
import itertools

def parse_env(envs: str | None) -> dict[str, str]:
	"""Parse the environment variables provided to the docker container.

	Args:
		envs (str | None): String with environment variables: "'-e ASR_MODEL=base'".

	Returns
	-------
		dict[str, str]: The parsed environment variables.
	"""

	result: dict[str, str] = {}
	if envs is None:
		return result

	# Handle wrapping quotes because the docs suck
	if (envs.strip().startswith("'") and envs.strip().endswith("'")) or \
		(envs.strip().startswith('"') and envs.strip().endswith('"')):
		envs = shlex.split(envs)

		assert len(envs) == 1, "Quoted envs argument did not parse into a single item after doing initial quote unwrap"
		envs = envs[0]

	split = shlex.split(envs)

	for first, second in itertools.pairwise(split):
		if first == '-e':

			name, value = second.split('=', 1)
			result[name] = value

		if first == '-p':
			if set(second).issubset(set("0123456789:")):
				result["-p " + second] = "1"

	return result

Ok, so parse_query() is ALSO broken:
Query: 'num_gpus=1 gpu_name in [RTX_6000Ada, A40] gpu_ram>40 rentable=true verified=false' -> '{}'

It appears that the in [list] syntax just causes it to barf and fail.

Really, fundamentally a lot of what the issue here is that the various parse functions fail silent. If any of them receive an input they don't understand, it should produce an error.


Return tensors in text embedding serving

So I've been using the text embedding serving and I've been annoyed multiple times that the output is a map %{embedding: tensor}. I know that it's an embedding, that's what the serving is supposed to do! So in every case I always needed to do something like Nx.Serving.batched_run(my_serving, inputs) |> Enum.map(& &1.embedding) to get a list of tensors to do some actual work on (e.g. cosine similarity). I see no added value in wrapping the tensors in a map.
If there is something that I don't see here, please let me know.

@SteffenDE we return a map from all other servings, I think this is good for consistency and we can easily extend it if ever needed. If we decide to return a single value then extending it will break existing code.

Do you think adding an option to prevent this would be okay? I am thinking of either:

a simple option like return_type: :tensor
a custom mapping function that defaults to fn embeddings, _metadata -> Enum.map(embeddings, &%{embedding: &1}) end) that one could override

I didn't test this, but https://hexdocs.pm/nx/Nx.Serving.html#client_postprocessing/2 allows to override the serving's postprocessing function. So I guess I could just do that. It does not feel right to use undocumented functions from Bumblebee.Utils or Bumblebee.Shared though.

Do you think adding an option to prevent this would be okay?

I wouldn't do that, options changing the output format is generally an anti-pattern in Elixir :)
Honestly, I don't think using the Enum.map/2 on the output is a big deal. In an app, I would encapsulate the serving call behind some function anyway, so that map would be only in a single place.

And for experimentation, it's usual that you need to somehow format outputs of one function to feed into another. For example in the case where you get a list of tensor embeddings, it's unlikely that the next function you call expects exactly a list of tensors.

Alright. Thanks for clarifying that this is indeed intentional!


A .Net binding for txtai?

Hello community, it would be very nice to make a .Net binding. Where can I find a guide for that? So please if anyone can give me some instructions on how to get in that would be great. Of course, I would also like to know if this binding issue is only handled by maintainers or if it is something open to the community.

Thank you for reaching out. A .NET binding would be great.
Currently there are API bindings for Go, Java, JavaScript and Rust. If you're familiar with any of those languages, looking at those projects is the best resource on creating a new binding.
If you do end up creating a .NET binding, I'd be happy to add a link to it here - https://neuml.github.io/txtai/api/#supported-language-bindings

Hi, it's great.
I shall to tell you that library is great job from you.
As soon as possible I want to start develop a binding for this awesome; now I am doing research how works the others bindings.
So I going to bring news about this issue very soon.

Thank you for the kind words. Looking forward to hearing about the .NET bindings. Feel free to reach out if you have any questions.

I think rust is a suitable option to create the .NET interop. I wonder what others think?

I don't know about how to build .Net bindings from Rust source. Since I don't know Rust so I can't say if it's possible or feasible, I do know that there is an API for interoperability between .Net and other assemblies, especially dynamic link libraries using P/Invoke. My opinion is that as long as you can code in C#/VB.Net/F# to produce .Net assemblies, you're better off. Of course there are plenty of exceptions to this rule. But I don't think this is the case.

How we integrate Rust with C#

Thank you for the thoughts and comments on this. Originally when I saw this issue, I thought the bindings would be for the txtai API. Basically make these methods available over HTTP. Is the intention something else?

No, speed is the aim. Not WebAPI.

Basically make these methods available over HTTP. Is the intention something else?

Yes, I thought the same thing, this is the idea that I have, it's basically to make a HTTP client to request the txtai server, or not?

Hi guys, I bring a code to show how I going to make my solution:
public class Similarity
    {
        /// <summary>
        /// The client used to communicate with the TxtAI API.
        /// </summary>
        private readonly HttpClient client;

        /// <summary>
        /// The serializer used to serialize and deserialize the JSON.
        /// </summary>
        private readonly IApiSerializer serializer;

        /// <summary>
        /// Construct to inject HttpClient.
        /// </summary>
        /// <param name="client">HttpClient</param>
        public Similarity(HttpClient client, IApiSerializer serializer) {
            this.client = client;
            this.serializer = serializer;
        }

        /// <summary>
        /// Computes the similarity between query and list of text. Returns a list of
        /// {id: value, score: value} sorted by highest score, where id is the index
        /// in texts.
        /// </summary>
        /// <param name="query">The text to be compared.</param>
        /// <param name="texts">list of text.</param>
        /// <returns>list of <see cref="IndexResult"/></returns>
        public async Task<List<IndexResult>> SimilarityRequest(string query, List<string> texts) {
            // convert to json the query and texts
            var body = new {
                query,
                texts
            };

            // serialize the json
            var json = this.serializer.Serialize(body);

            // post the json to the TxtAI API
            var response = await this.client.PostAsync("/similarity", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));

            // deserialize the json
            return this.serializer.Deserialize<List<IndexResult>>(await response.Content.ReadAsStringAsync());
        }

        /// <summary>
        /// Computes the similarity between list of queries and list of text. Returns a list
        /// * of {id: value, score: value} sorted by highest score per query, where id is the
        /// * index in texts.
        /// </summary>
        /// <param name="queries">list of text.</param>
        /// <param name="texts">list of text.</param>
        /// <returns>list of <see cref="IndexResult"/></returns>
        public async Task<List<IndexResult>> SimilarityRequest(List<string> queries, List<string> texts) {
            // convert to json the queries and texts
            var body = new {
                queries,
                texts
            };

            // serialize the json
            var json = this.serializer.Serialize(body);

            // post the json to the TxtAI API
            var response = await this.client.PostAsync("/similarity", new StringContent(json, System.Text.Encoding.UTF8, "application/json"));

            // deserialize the json
            return this.serializer.Deserialize<List<IndexResult>>(await response.Content.ReadAsStringAsync());
        }
    }

I will declare consts to http path, at the moment this may be the final results, the java binding help me a lot 'cause is a type static language like C#, so I think that this is the most coherent about other bindings.
Please, give me feedback, If is this correct I going to finish really soon.

This looks great @oliver021. Once you have a GitHub repo ready, let me know and I'll take a look.

Hi David, this is a initial view of the final job, I can't test all methods but you can take a look now.
https://github.com/oliver021/txtai.net

Thank you @oliver021! I'll take a look at the project and try to get it up and running. Will let you know.

Hi David, how you look the project?

Thank you for following up.
I have taken a look at the code and it all looks like it would work. I just haven't have the time to spin up a .NET environment to test it out but plan to do so within the next week.

Thank you.
I am very interested in this project, txtai is a really good work. So I will continue follow up.

Hi @oliver021, I've dug through the code in more detail and it looks like it is porting everything over as I would expect. Thank you once again for putting this together!
Do you have instructions on how to get this up and running? I see the solution files in the project but the README is empty. Did you intend for this library to be cross platform (i.e. can a developer on Linux use it?)? Is Visual Studio the only option to compile or can it be done other ways?

Yes David, there are severals options to run this code, It's cross platform too. Le me prepare instructions for you,

Thank you!

Hello, just wanted to follow up and see if this was still planned.


:bug: Fix error with no badger options being loaded

My apologies, I forget to test with only Database option given in Config, without using ConfigDefault
This PR, is a fix to this bug
When BadgerOptions is not passed, a panic error is thrown
panic: Invalid ValueLogFileSize, must be in range [1MB, 2GB)

@Jictyvoo what about the test ?

@Jictyvoo what about the test ?

Sorry for the delay, I take the weekend to rest a little.
Tests added

Ok, no problem, takr your time

Already added the tests. I don't know if has more to add


getpeername: Socket not connected (107)

Hello! I installed bluez-alsa on Void Linux and I'm trying to connect to my BT speaker, but connection fails.
Output of bluetoothd:
bluetoothd[2669]: Bluetooth daemon 5.50
bluetoothd[2669]: Starting SDP server
bluetoothd[2669]: Bluetooth management interface 1.14 initialized
bluetoothd[2669]: Endpoint registered: sender=:1.39 path=/A2DP/SBC/Source/1
bluetoothd[2669]: Unable to get io data for Hands-Free Voice gateway: getpeername: Socket not connected (107)
bluetoothd[2669]: Unable to get connect data for Headset Voice gateway: getpeername: Socket not connected (107)
bluetoothd[2669]: connect error: Host is down (112)

Output of bluealsa:
bluealsa: bluez.c:675: Registering endpoint: /A2DP/SBC/Source/1
bluealsa: ctl.c:571: Starting controller loop
bluealsa: bluez.c:910: Registering profile: /HSP/AudioGateway
bluealsa: bluez.c:910: Registering profile: /HFP/AudioGateway
bluealsa: main.c:302: Starting main dispatching loop
bluealsa: bluez.c:857: Profile method call: org.bluez.Profile1.NewConnection()
bluealsa: transport.c:688: State transition: 0 -> 2
bluealsa: transport.c:104: Created new IO thread: HFP Audio Gateway
bluealsa: io.c:1195: Starting IO loop: HFP Audio Gateway
bluealsa: ctl.c:675: +-+-
bluealsa: bluez.c:797: HFP Audio Gateway configured for device FF:39:92:00:0E:CE
bluealsa: transport.c:688: State transition: 0 -> 2
bluealsa: transport.c:104: Created new IO thread: HFP Audio Gateway
bluealsa: rfcomm.c:573: Starting RFCOMM loop: HFP Audio Gateway
bluealsa: rfcomm.c:803: RFCOMM disconnected: Connection reset by peer
bluealsa: transport.c:907: Closing RFCOMM: 19
bluealsa: transport.c:350: Freeing transport: HFP Audio Gateway (N/A)

bluez-alsa version is 1.3.1

To be honest, dunno what it wrong... Try to disable HFP and enable A2DP only (bluealsa -p a2dp-source), because it looks like bluez misbehaviour. When I've got connection issues, almost always help removing device from bluez and pairing it once more.

Yes, it works, thank you very much! I suffered a whole month :D
I tried only -p a2dp-sink, but not -p a2dp-source. I thought, since speaker is a sink, then I need a2dp-sink :)


 How to make that? Or exist other options?

i want to call abandonAudioFocus in my AudioFocusChange interface when i press pause on notification. How to make that? Or exist other options?

If you want to know when the player becomes paused you can listen to Player.Listener.onPlayWhenReadyChanged. See also https://developer.android.com/guide/topics/media/exoplayer/listening-to-player-events

i want to call abandonAudioFocus in my AudioFocusChange interface when i press pause on notification. How to make that? Or exist other options?

If you want to know when the player becomes paused you can listen to Player.Listener.onPlayWhenReadyChanged. See also https://developer.android.com/guide/topics/media/exoplayer/listening-to-player-events

if i will abandon audio focus when player is paused it is wrong. because for example  it plays video in other app and audio focus listener will be triggered set  pause , after i close video it will not resume music because listener was abandoned. i need to abandon only when i set pause from notification. that is why i asking this question.

i want to call abandonAudioFocus in my AudioFocusChange interface when i press pause on notification. How to make that? Or exist other options?

If you want to know when the player becomes paused you can listen to Player.Listener.onPlayWhenReadyChanged. See also https://developer.android.com/guide/topics/media/exoplayer/listening-to-player-events

if i will abandon audio focus when player is paused it is wrong. because for example i play video in other app and audio focus listener will be triggered set pause , after i close video it will not resume music because listener was abandoned. i need to abandon only when i set pause from notification. that is why i asking this question.

i am sorry for my question, i investigated that i dont need all this i just can add this when build ExoPlayer instance
.setAudioAttributes(
              AudioAttributes.Builder()
                  .setUsage(C.USAGE_MEDIA)
                  .setContentType(C.AUDIO_CONTENT_TYPE_MUSIC)
                  .build()
              ,true)


[DRAFT] chore(templates): add example custom resolver

DRAFT
This PR adds a custom resolver to the Postgres Backend template.
Opening this as a draft so you can see if this is a good approach. It is pretty much as was discussed in  https://github.com/aerogear/graphback/issues/1637
Once we have agreement I can follow up and add this to the other templates.

We need:

Documentation
Add this to mongodb as well
Use custom method in the client


Tests: ->seeJson() breaks when not json is returned

Laravel Version: 5.3.22
PHP Version: 7.0.8

Description:
When non-json data is returned, the ->seeJson() method breaks and outputs a non-helpful warning:

There was 1 error:

Api_ProducerDb_ProducerTest::testCreate
ErrorException: Invalid argument supplied for foreach()

/var/www/vendor/laravel/framework/src/Illuminate/Support/Arr.php:480
/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:297
/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:323
/var/www/tests/Api_ProducerDb_ProducerTest.php:24

It should be tested if the returned content is really json, or at least if it's an array/object.
Steps To Reproduce:
Create an API that returns a "401 Unauthorized" status code with body content "Unauthorized" and try to unit-test it:
$this->json('POST, '/api/foo', ['foo' => 'bar'])->seeJson(['foo' => 'bar'])

I've bumped in to same issue. It tries to pass the response to validation even though it is not JSON. If you look at the current implementation of seeJson you can see that there is actually check in place but it is only done if the if you use seeJson without passing any data.
Could this be changed to something where Laravel would always check that the response is JSON before continuing with the validation? This would provide a bit more meaningful error message.

I have added a PR for this here.

@GrahamCampbell: could you please explain why you closed this bug report?

Closed once there is an open pr.

The PR has been closed in the meantime, without being merged. Could you please reopen this issue?


Add Dockerfile and docker-compose.yml

This enables the building of a complete, functional Docker image, as well as bringing the system up locally with docker-compose.
Also updated the ./go script with updates from go-template in v1.7.0 and set the package.json version to v0.1.0, since I plan to cut a release soon, before all the v1.0.0 features are finished.

Coverage remained the same at 98.1% when pulling 608ffffd12dedcfc3ac93c81318aeede00bdddb4 on dockerize into c65b53e981eb70224f8c1c8d1982e4c3d8230c43 on master.


Fix main class in pom file.

Building with mvn install currently results in a jar with a missing main class, as main was moved to core/src/main/java/com/facebook/ktfmt/cli/Main.kt

Thanks for the fix, @mpetrov!
This also points out something we need to include to our testing to make sure it we don't break this going forward. @davidtorosyan is working on it.


Struggling to get screengrab working after reading all the docs

Question Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Question Subject

Screengrab
I've read all the documentation and issues I can find for Screengrab but, so far, not found a solution.

Question Description
I'm familiar with using Fastlane for iOS projects and in particular using Snapshot for screenshots. This is my first exploration in to both Android and screen grab, so apologies if I've made some huge glaring omission - but I've followed the documentation carefully and hit upon a few key issues and still been unable to generate screenshots successfully.
I have a bare bones Android app and I'm attempting to just take a single screenshot of it's launch phase. I've setup Espresso as per the docs and whilst I can run most of the tests OK in Android Studio, it will fail on the specific calls to screengrab, but I understand from GitHub issues that this is expected behaviour as it's not running in the way it expects when fastlane triggers the test.
I had issues adding the rules required to the test due to the project being in Kotlin and various updates to the framework since the docs where last updated, here's the closest I manage to get to compile and run:
package com.example.myfirstapp

import androidx.test.rule.ActivityTestRule
import org.junit.BeforeClass
import org.junit.ClassRule
import org.junit.Rule
import org.junit.Test
import tools.fastlane.screengrab.Screengrab
import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy
import tools.fastlane.screengrab.locale.LocaleTestRule

class ScreenshotTest {

    @Rule @JvmField
    var activityRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)

    @Test
    fun useAppContext() {
        Screengrab.setDefaultScreenshotStrategy(UiAutomatorScreenshotStrategy())
        Screengrab.screenshot("default")
    }

}

I've included the following in the build.gradle:
androidTestImplementation 'tools.fastlane:screengrab:1.2.0'
And the debug manifest includes the following:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" tools:ignore="ProtectedPermissions" />

However when run via Fastlane I get the following error:
[10:55:40]: ▸ java.lang.RuntimeException: Unable to capture screenshot.
[10:55:40]: ▸ 	at tools.fastlane.screengrab.FileWritingScreenshotCallback.screenshotCaptured(FileWritingScreenshotCallback.java:56)

Taking a look at that line, seems to be related to filesystem access to write the screenshot file. I note these lines during fast lane's startup:
[10:55:25]: Cleaning screenshots on device
ls: /sdcard/com.example.myfirstapp/screengrab: No such file or directory
[10:55:25]: Exit status: 1
ls: /data/data/com.example.myfirstapp/app_screengrab: No such file or directory
[10:55:25]: Exit status: 1
ls: /data/user/0/com.example.myfirstapp/files/com.example.myfirstapp/screengrab/en-US/images/screenshots: No such file or directory
[10:55:25]: Exit status: 1

But I initially assumed these were just because I've never actually taken any screenshots, so the path is empty?
I've found similar (outdated) issues that often revolve around the specific version/runtime of the emulator. I've tried in a Pixel 3 emulator and an older Nexus 7 emulator, with API level 29.
Any ideas on what I'm doing wrong? Thanks in advance.

✅ fastlane environment ✅
Stack

Key
Value

OS
10.14.6

Ruby
2.6.5

Bundler?
true

Git
git version 2.23.0

Installation Source
/usr/local/lib/ruby/gems/2.6.0/bin/fastlane

Host
Mac OS X 10.14.6 (18G2022)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.6.5/lib

OpenSSL Version
OpenSSL 1.1.1d  10 Sep 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
11.2.1

System Locale

Variable
Value

LANG
en_GB.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
platform :ios do
  lane :screenshots do
    update_app_identifier(
      plist_path: 'ios/Demo/Info.plist',
      app_identifier: app_identifier
    )
    update_info_plist(
      plist_path: 'ios/Demo/Info.plist',
      display_name: display_name
    )
    snapshot
  end
end

platform :android do
  lane :screenshots do
    build_android_app(
      project_dir: 'android',
      task: 'assemble',
      build_type: 'debug'
    )
    build_android_app(
      project_dir: 'android',
      task: 'assemble',
      build_type: 'AndroidTest'
    )
    capture_android_screenshots(
      app_apk_path: 'android/app/build/outputs/apk/debug/app-debug.apk',
      tests_apk_path: 'android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk',
      app_package_name: 'com.example.myfirstapp'
    )
  end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.140.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.1

bundler
2.1.0

CFPropertyList
3.0.2

public_suffix
2.0.5

addressable
2.7.0

atomos
0.1.3

babosa
1.0.3

claide
1.0.3

colored
1.2

colored2
3.1.2

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.10

declarative-option
0.1.0

digest-crc
0.4.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.7.5

emoji_regex
1.0.1

excon
0.71.1

multipart-post
2.0.0

faraday
0.17.3

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.13.1

fastimage
2.1.7

gh_inspector
1.1.3

jwt
2.1.0

memoist
0.16.2

multi_json
1.14.1

os
1.0.1

signet
0.12.0

googleauth
0.10.0

httpclient
2.8.3

mini_mime
1.0.2

uber
0.1.0

representable
3.0.4

retriable
3.1.2

google-api-client
0.36.4

google-cloud-env
1.3.0

google-cloud-errors
1.0.0

google-cloud-core
1.5.0

google-cloud-storage
1.25.1

json
2.3.0

mini_magick
4.10.1

multi_xml
0.6.0

plist
3.5.0

rubyzip
1.3.0

security
0.1.3

naturally
2.2.0

simctl
1.6.7

slack-notifier
2.3.2

terminal-notifier
2.0.0

unicode-display_width
1.6.0

terminal-table
1.8.0

tty-screen
0.7.0

tty-cursor
0.7.0

tty-spinner
0.9.2

word_wrap
1.0.0

nanaimo
0.2.6

xcodeproj
1.14.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.0

generated on: 2020-01-13

I've found rolling back to API Level 28 resolves this issue (I get a screenshot), but would still be curious to know if this is a bug or an error on my part.

Rolling back to API Level 28 should not be a proper solution just a workaround, as the Screengrab should work with the latest Android API level...or at least investigate what is the issue. Hope there is a fix soon!

I'm also experiencing this.  My output looks just like the screenshot in https://github.com/fastlane/fastlane/issues/15886#issuecomment-588337548.
@Diegolotr99 Were you able to overcome this issue?
I'm not even seeing the output as described in the original ticket
[10:55:40]: ▸ java.lang.RuntimeException: Unable to capture screenshot.

I'm also experiencing this. My output looks just like the screenshot in #15886 (comment).
@Diegolotr99 Were you able to overcome this issue?
I'm not even seeing the output as described in the original ticket
[10:55:40]: ▸ java.lang.RuntimeException: Unable to capture screenshot.

@jl-gogovapps I am still having the same issue...I even updated to the latest version of fastlane a few days ago...and still getting the exact same errors...

I just had a bit of luck downgrading to tools.fastlane:screengrab:1.2.0, but I have to manually pull them from the /sdcard directory


small addition to template_tags.py if_current_page()

hi, i've found several reasons for wanting to easily know if i'm in a pages "subtree" of my site within a template, so i made the following tiny addition to template_tags.py so that  if_current_page() can be used for this purpose.
with the small edit in place you can add 'true' as an optional final argument in a {% if_current_page ...  %}  tag to have it match a path starting with the passed in link_url instead of matching the whole link_url.
dunno if this is of any more general use than my own, but fwiw here is my edited  if_current_page(),
my comments start with "smg - " :
def if_current_page(context, link_url, positive=True, negative=False, startswith='false'):
    """
    Return one of the passed parameters if the URL passed is the current one.
    For consistency reasons, we use the link_url of the page.
    smg - added startswith, if 'true' operate on url startswith instead of whole url.
    """
    page = context['__CACTUS_CURRENT_PAGE__']
    if startswith == 'true':  # smg - mods as above in docstring
        return positive if page.link_url.startswith(link_url) else negative
    else:
        return positive if page.link_url == link_url else negative

Can you show me how this is used in your template files?
Note that you can add your own template tags with a plugin, so I'm not sure it's necessary to have this built-in to Cactus.
E.g. create plugins/my_template_tags.py, and add:
from django import template

def is_subtree(...):
    ...

def preBuild(site):
    register = template.Library()
    register.simple_tag(takes_context=True)(is_subtree)
    template.base.builtins.append(register)

Better docs on this might be useful
Let me know.

i agree a plugin is a much cleaner way to do this, so with the extra guidance you've given i'll attempt this solution instead.
as for how i use it, as i mentioned it may be unwanted for general use. the site in question is divided into "sections" (like "Photos", ""Files", "Music" etc.) that are each a subtree of the pages directory. i found it useful to be able to easily tell, in a template, if the page i was at was in a particular section/subtree. one example use is for having different content in a sidebar depending what site section the page is in, another is for keeping the toplevel/navbar item of the dropdown for the section active while on any page in the section, like so:

but as i now have some info on creating a plugin for my own template tags i'll probably use that solution instead.

ok implemented the functionality i wanted as a custom tag via plugin per example and it works well.
and yes, one day some docs on how to hook into various things via plugins would be awesome. ;) thanks.


Timeout was reached error with incorrect status: SUCCESS

Bug report

Run supabase/postgres docker
Run sql

CREATE EXTENSION IF NOT EXISTS pg_net;
select
    net.http_post(
        url:='https://httpbin.org/post',
        body:='{"hello": "world"}'::jsonb
    );

select
  *
from
  net.http_collect_response(1);

@see

pg_net: Timeout was reached - Watch Video

Notice how the status says SUCCESS, but upon inspecting the net._http_response table, it says timeout was reached. Additionally it appears that the request was never made according to the remote server.

Thanks for the report. Note that there's a timeout(by default 2 seconds) you can add to the function.
select
    net.http_post(
        url:='https://httpbin.org/post',
        body:='{"hello": "world"}'::jsonb,
        timeout_milliseconds := 5000
    );

The SUCCESS is indeed a mistake.

I see. What's the default timeout on supabase itself? Or is it simply faster on supabase and therefore within the 2000ms timeframe?

Default it's the same - 2 seconds.

Or is it simply faster on supabase and therefore within the 2000ms timeframe?

Yeah, latency might be lower due to network proximity.

http_collect_response was made a private function on https://github.com/supabase/pg_net/pull/81.
For now it's better to inspect net._http_response directly. We're going to improve this on https://github.com/supabase/pg_net/issues/62.


[VS Code] Joining collaboration session: The specified value isn’t a valid Live Share URL. Please check the link provided by the host and try again.

%0A%0A%23%23 Error:%0AJoining collaboration session: The specified value isn’t a valid Live Share URL. Please check the link provided by the host and try again.%0A%0A%23%23 Steps to Reproduce:%0A1.%0A2.%0A%0A||Version Data|%0A|-:|:-|%0A|**extensionName**|VSLS|%0A|**extensionVersion**|1.0.337|%0A|**protocolVersion**|2.2|%0A|**applicationName**|VSCode|%0A|**applicationVersion**|1.35.0|%0A|**platformName**|MacOS|%0A|**platformVersion**|17.7.0|

Hi @ariMarcello , thanks for the feedback! Do you remember what was the link you've used? What channel/app did you use to transfer it over the network?
Thanks!

Also, consolidating with #2179


[BUG] Incompatibility with v10

Hi,
I'm testing my needed modules to update to v10 and I get the following error when I load a world into a world, where the only active module is Simple Calendar:
foundry.js:747 Error: Error thrown in hooked function '' for hook 'init'. Setting Model Validation Errors
[Setting.value]: may not be undefined
    at SchemaField._validateType (commons.js:4082:15)
    at SchemaField.validate (commons.js:3809:37)
    at Setting.validate (commons.js:5462:35)
    at new DataModel (commons.js:5239:26)
    at new Document (commons.js:5778:3)
    at new BaseSetting (commons.js:9789:3)
    at new ClientDocumentMixin (foundry.js:12941:5)
    at new Setting (foundry.js:21171:1)
    at ClientSettings.get (foundry.js:2773:21)
    at $.LoadYearData (index.js:1:123955)
onError @ foundry.js:747
#call @ foundry.js:728
callAll @ foundry.js:681
initialize @ foundry.js:7712
window.addEventListener.once @ foundry.js:78838

Foundry Information

Foundry Version: 10.286
Game System: DnD5e
Simple Calendar Version: 1.3.75

Hmmm... I just saw that the current version is 2.19. Strange that the module did not update.
I'm closing this issue! Sorry for the bother!


docs: fix typos

Thx. for the Pull request! .. Sorry for the late merge , been off on paternity leave for a while.

Hey, no worries! Congrats on the newborn :)


Compact layout

Describe the feature request
When there are many endpoints to monitor, a compact layout mode may come in handy (to avoid scrolling!).
It would collect all the information of an endpoint on a single line.
It would look like this (the example has only 3 endpoints but imagine this with dozens more...)

Why do you personally want this feature to be implemented?
I'd like to monitor about 80 endpoints total. I'd like to fit as many as possible on a single page.
How long have you been using this project?
No response
Additional information
No response

That's not a bad idea. We could add a button to toggle "compact mode" on/off, and persist the user's preference at the browser-level by using session or local storage like we already are for refresh interval and dark/light theme in https://github.com/TwiN/gatus/blob/master/web/app/src/components/Settings.vue

This feature would be awesome!

There is a project with alternative view https://github.com/BluemediaGER/fancy-gatus

There is a project with alternative view https://github.com/BluemediaGER/fancy-gatus

Thank you @skhokhlov you are awesome!


Fix grammar

Happy new year. Thanks for creating this.

@all-contributors please add @ablakey for Documentation

@all-contributors please add @ablakey for Documentation


Plugin fails to load on snapshot: Caused by: java.lang.ClassNotFoundException: se.llbit.chunky.block.UnknownBlock

This is a result of chunky-dev/chunky#1572.

Same issue here!

Fixed in v0.7.4, this issue can be closed.


refactor: migrate to whiskers

TODO

[x] RGBA -> ARGB https://github.com/catppuccin/whiskers/issues/8
[x] mkdir -p before writing to file https://github.com/catppuccin/toolbox/pull/182

You can do ARGB with a Tera macro by the way. Also I'd recommend adding a justfile like https://github.com/catppuccin/fr33zmenu/blob/main/justfile to build with Whiskers and create the zips or whatever else you are doing, and you should move the templates into templates/xyz.tera instead of mimicking the output directory structure.

Welp you've already merged it 😅 I'd still recommend refactoring to remove the excess usage of flavor.colors.


created dedicated hierarchy vis

show the current sorting and grouping hierarchy
separation line between grouping and sorting
toggle sorting order as action
remove from sorting as action
add via drag-and-drop

current version in sgratzl/hierarchy branch

open questions:

how to add new columns and do an dnd reorder - or is the up/down buttons enough when adding a simple dropdown at the bottom to add and skip the dnd at all since it is more direct

Thanks for your suggestion. I tried it briefly and it looks already good. 👍

how to add new columns and do an dnd reorder - or is the up/down buttons enough when adding a simple dropdown at the bottom to add and skip the dnd at all since it is more direct

I assume we need both, dnd and the dropdown. Having a dropdown to add (existing) columns to the grouping/sorting hierarchy is necessary. Because dragging a column from the bottom to the top (into the hierarchy) can be too far away and cumbersome. Alternatively, we could hide the summaries (i.e., forms, histogram) once the user starts dragging the column header in the side panel towards the hierarchies.
As for reordering: I would expect to use dnd to reorder the columns within the hierarchy. Because using the arrows is convenient for one step up or down, but requires a lot of effort and targeting when moving a newly added column to the top. Moreover, the dnd approach would be consistent with the other dnd interactions (e.g., drag columns to reposition or create a group).
Additional point: With the explicit grouping and sorting hierarchies we can turn off the sorting of the columns in the side panel and prevent the jumping of columns in the side panel. Then the column order in the side panel would be consistent with the order in the ranking.
Minor points:

Rename Up to Move up and Down to Move Down
Rename Remove to Remove from hierarchy (to make clear that it does not remove the column from the ranking)

current state:

I don't think thank that dnd is really needed since with the buttons you have direct control and you usually have at most 2-3 criteria thus the distance is not big

Yes, that looks good. I assume, if there would be more than two categorical grouping criteria, then it would show the input field for the third one, right?
Do you think we can also add groupings for numerical columns, too? I think, that we need an additional field for the threshold.

Done with PR #44.


Angular 13

Do you have plans to update to Angular 13?

I'm working on it...
There are some breaking changes with Angular 13 because of 'strict' and 'ivy'.

Hi @efgiese, any news about the progress?

Hi @efgiese, can you take a look at #27  ?

See new release...


Question: How does this compare against Laravel?

I'm currently using Laravel. Other than performance, what does this framework offer that is better? Bearing in mind that if I do need raw performance, I can use Lumen.

Great Question
For raw performance FastSitePHP is typically 2 to 6 times faster for a minimal app and the performance gap is even better for complex apps. That was one of the key reasons why I wrote FastSitePHP in the first place, that and I felt that the developer experience when using most PHP Frameworks is very poor compared to frameworks in other popular languages. That said Luman is still very fast and the difference is unlikely to be noticed by end users for most sites under normal traffic loads.
In fact, for dynamic sites that need the highest level of performance (example a real-time multiplayer game with a lot of traffic) you would probably want to develop with another language entirely (Java, Go, Node). For example, a case study from AWS shows that Supercell (mobile game maker) uses Java to process 45 billion events per day. Facebook originally used PHP but then for improved performance they modified it into a spate language called Hack Lang.
Personally I would recommend PHP Developers to learn both Laravel and Symfony enough that they can include them on their resume. However the world is a lot different now than it was 5-10 years ago so the bigger challenge is for PHP to stay relevant. Basically node/express generally has better performance than PHP is the first server framework that new developers typically learn on and since Python is great for Data Science flask is ideal for a lot of apps. To address the issue of why someone should learn PHP I include a few points in the readme of this repository.
I myself use many different frameworks and recommend other developers do the same to keep up with trends and stay relevant. In fact my other large GitHub project DataFormsJS uses 3 frameworks and languages on the main site: [PHP with FastSitePHP, node/JavaScript/express for GraphQL, and python/flask for AI/ML services with TensorFlow and scikit-learn.
Here are some reasons to use FastSitePHP aside from overall performance

Easy to work with and learn

Online Playground on the main site allows developers to learn both PHP and the Framework for free without having to install anything.
Well documented - Quick Reference Page on Site, examples, API docs, and more make it easy to quickly find what you need
Very flexible for development, by design FastSitePHP is a minimal Framework that has a lot of built-in components. Major PHP Frameworks typically borrow ideas from Java or .NET which can make them bloated as it’s arguably not appropriate for PHP while FastSitePHP uses an un-opinionated design and is closer to node/express or Python/flask for development.
Small Size - Lumen needs over 5,200+ files (24+ mb) to use while FastSitePHP needs only small files. The full FastSite framework and Starter site are less than 500 files (mostly small JSON files for l10n).
FastSitePHP is extremely easy to install (only 2 shell commands needed for a full Linux Ubuntu server setup). The main site and framework run without having to install anything other than PHP using the GitHub download link and the main FastSitePHP website provides step by step instructions for Linux, Windows, and Mac users.

Easy to use for Data Apps

Database Classes for PDO, ODBC, and IBM DB2/AS400
SMTP Client and Email Support - High Performance and minimal in size. Includes SMTP logging ability for easy debugging of SMTP issues.
Easy to use Data Validation
High performance DotEnv port based on most widely used node/JavaScript version
File System Tools for Searching and Syncing
Networking - Easy to work with class and functions for working with IP Addresses and CIDR Strings (often important for security)
System Info with wide OS support: (Linux, Mac, Windows, FreeBSD, IBM)
Encoding

Base64 URL’s (not included with PHP by default)
JSON (BigInt Support for older versions of PHP)
UTF8 for Array’s -needed for JSON Services if a server or database isn’t using UTF8 by default

Strong support for Multilingual Sites

Simple Internationalization (I18N) API - works with JSON and Text Files and does not require a complex setup
Easy to use Localization (l10n) API (formatting of date, time, and numbers)

Focus on Security

File System Security - Working with user input for file paths, reading images, etc
JSON Web Tokens (JWT)
Easy to use Data Encryption [string, int, float, bool, array, object, and null]. Advanced Encryption Standard (AES) with Block Modes CBC, CTR, GCM, and CCM are all supported and fully tested. Data Encryption is useful for Cookies, and Web Data.
File Encryption - high performance and works with huge files (100+ gb), compatible bash script
Generic Signed Data Format.  Just like Encryption this is use for Cookies, Authentication and other Web Data
CSRF (both Session and Stateless). Stateless CSRF are not common however are very useful - in fact PayPal uses them with Node/JavaScript
Easy to use Password Class for Security Password Storage
Rate Limiting, example usage

A Web API allowing users to submit no more than 1 request every second.
No more than 2 new accounts per day per IP address.
Limit users from sending more than 10 messages per hour.

PHP Support

Works with all versions of PHP from 5.3 to 7.3
FastSitePHP runs fast even on very old PHP 5.3 servers

Performance Comparison with Larvel/Lumen
For this comparison AWS Lightsail is used with Linux Ubuntu 18.04 LTS, SSD, 1 GB of memory and 1 vCPU. FastSitePHP can be installed on the smaller 512 mb of memory server, however Lumen requires at least 1 GB otherwise composer will not work.

FastSitePHP Starter Site Install
# The bash script [create-fastsitephp-app.sh] automatically installs everything
# needed [Apache, PHP, etc], and performs setup, permissions, and other tasks.
wget https://www.fastsitephp.com/downloads/create-fastsitephp-app.sh
sudo bash create-fastsitephp-app.sh
# View site by IP (public IP will be displayed in terminal).

Laravel Lumen Starter Site Basic Install
# Install Apache, PHP, etc
sudo apt update
sudo apt install -y apache2 unzip php libapache2-mod-php php7.2-zip php7.2-pdo php7.2-xml php7.2-mbstring

# Setup Fallback Resource of [/index.php] for Apache
sudo sed -i '/<Directory \/var\/www\/>/a \\tFallbackResource \/index.php' /etc/apache2/apache2.conf
sudo service apache2 restart

# Install Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'baf1608c33254d00611ac1705c1d9958c817a1a33bce370c0595974b342601bd80b92a3f46067da89e3b06bff421f182') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

# Set permissions and create a Lumen project in the default [~] directory
sudo adduser ubuntu www-data
sudo chown ubuntu:www-data -R /var/www
sudo chmod 0775 -R /var/www
php composer.phar create-project laravel/lumen blog "5.1.*"

# Copy needed files and delete the default Apache page
cp -r ~/blog/app /var/www/app
cp -r ~/blog/bootstrap /var/www/bootstrap
cp -r ~/blog/database /var/www/database
cp -r ~/blog/public/. /var/www/html
cp -r ~/blog/resources /var/www/resources
cp -r ~/blog/storage /var/www/storage
cp -r ~/blog/vendor /var/www/vendor
sudo rm /var/www/html/index.html

# View site by IP

AWS provides a browser based terminal so a server can be setup using the above commands from any computer with internet access once you create an AWS account. Note, the IP addresses shown below were for a temporary server that has now been deleted.

For a raw performance comparison of speed and memory on a single request the following steps can be used.
FastSitePHP Server
# Add [?_debug=stats] to the end of any URL and view the page
# Example:
#     http://{server}/en/?_debug=stats

# Example Output:
# Script Time: 0.00032806396484375
# Starting Memory Usage: 376.578125 KB
# Ending Memory Usage:<PHONE_NUMBER> KB
# Peak Memory Usage:<PHONE_NUMBER> KB

Laravel/Lumen Server
cd /var/www/html
wget https://raw.githubusercontent.com/fastsitephp/fastsitephp/master/src/Utilities/debug.php
nano index.php
# Add to the 2nd line of the file:
#	require __DIR__ . '/debug.php';
# Add as the last line in the file:
#	$showDebugInfo();

# Example Output:
# Script Time: 0.00067901611328125
# Starting Memory Usage: 375.75 KB
# Ending Memory Usage: 667.109375 KB
# Peak Memory Usage: 679.09375 KB

The above example shows that FastSitePHP was twice as fast and used 38% less memory, however the speed for both is very fast the difference is so tiny that no user would notice the difference on a single page view.
The reason for this is simply because Laravel needs to load 40 classes for a hello world example while FastSitePHP is loading only 3, this can be shown by adding the following to bottom of each [index.php] file:
$all_classes = array_values(get_declared_classes());
$all_classes = array_filter($all_classes, function($class) {
    return (strpos($class, '\\') !== false);
});
echo 'Classes Used: ' . count($all_classes);
echo '
';
echo implode('
', $all_classes);

However we need a more real-world test than a single page view so for that we are going to use Apache Benchmark to make 10,000 total requests using 100 concurrent users. First make, if you added $showDebugInfo(); or the above classes code to the Laravel Server make sure to comment it out.
# Install
sudo apt install apache2-utils

# Then run tests:

# For the Laravel Server
ab -n 10000 -c 100 http://localhost/

# For the FastSitePHP Server
ab -n 10000 -c 100 http://localhost/en/

Requests per second for FastSitePHP are typically around 3500 to 6500 while Laravel Lumen supports around 1100 to 2200 for the tested servers.

Summary
For raw performance FastSitePHP is typically 2 to 6 times faster than Larvel Lumen but the difference is unlikely to be noticed by end users for most sites under normal traffic loads.
The earlier list provides reasons why you would want to use FastSitePHP for development and for why you would want to learn PHP in the first place see the README of this repository.
Additionally most of the classes for FastSitePHP are plain PHP classes and do not require FastSitePHP so you can use them with your existing apps and favorite PHP frameworks such as Symfony, Laravel, Zend, Slim, and more.
If you haven't already tried FastSitePHP try it in out in one second with one button click using the Code Playground:
https://www.fastsitephp.com/en/playground

Latest update after a Benchmark Comparison:
FastSitePHP scored the fastest of all PHP Frameworks using a standard nginx setup.

19.6 times faster than Laravel
3.5 times faster than Symfony

https://github.com/the-benchmarker/web-frameworks
There are other faster PHP frameworks but all depend on swoole or other custom servers that require service reboot when PHP files change.

Thanks, but I'll stick with Laravel purely because of the quality of life features and their ecosystem.
My original question excluded performance.
"Other than performance, what does this framework offer that is better?"

Sure, I just wanted to provide a performance update here.
I wouldn't really say one framework is better than another in general but rather use the right framework/tool for the job needed. In fact the main site for expressjs doesn't event use express and instead uses GitHub pages (Ruby/Jekyll) so that is a good example of a popular framework using other technology for it's site.
Laravel does have a huge ecosystem and is one of the most popular frameworks from all languages so it's a good choice for many developers and good for the resume.
Quite possibly most important (at least for a lot of people) is to pick a language that pays well in the area you live. When I started writing the original code FastSitePHP back in 2013/2014 PHP was a well paid language in Los Angeles (where I live), however in general selecting other languages (and non-PHP frameworks) pays much more.
Because of this I most commonly work with Python, Node, and DotNet for Server Side code. However I do consider PHP to be very useful due to it's flexibility and ability to simply update individual files without having to restart services on a server. WordPress is good examples of this because you can fully update the sever code with only a browser. In the future I plan on creating CMS based on FastSitepPHP but will do it as I have time or when I create more real-world sites from it.
As for using FastSitePHP the points I listed in my original response are what I would recommend it for. Basically FastSitePHP is good if you want a lot of flexibility for programming (similar to using node/express or python/flask) compared to the Laravel which is highly structured and has a lot of API's. Additionally FastSitePHP is well suited for sites with high security needs as it has a lot of security features built in without the need for third-party code and it's designed to be very easy to use so developers from other languages can get started right away without having to know much PHP.


Cannot read property 'dense' of undefined in development env

I use  + react-async-bootstrapper for react ssr development, it will report an error in the development environment, the production environment is normal, how should this problem be solved, thank you
"TypeError: Cannot read property 'dense' of undefined\n
 at Object.children (server-entry.js:29:31469)\n
at recursive (/Users/ender/learning/github/react-cnode/node_modules/react-tree-walker/dist/react-tree-walker.js:129:41)\n
 at /Users/ender/learning/github/react-cnode/node_modules/react-tree-walker/dist/react-tree-walker.js:153:26\n
 at <anonymous>\n
 at process._tickCallback (internal/process/next_tick.js:189:7)"

I miss the error too.


V4

Platform team requirements:

[x] 1. Nightly tests in CI.
[x] 2. Disable dev dependencies check during audit.
[x] 3. Version should adhere to semver rules. Breaking change - new major version.
[x] 4. All tests from object-storage-client must be present here. Especially which cover some edge cases (like passing the same stream on retry).
(Passing same stream could be covered only with positive test)
[x] 5. Exponential back-off like in object-storage-client.
(Because of having ability to config "delay on retry" was implemented logic like this)
[ ] 6. All errors should be handled like in latest object-storage-client. Now they don't. E.g. I don't see Client error handler.
(Error handling were left as it is, you may familiar with handling approach in integration-tests)

Now related to how our services are using the lib

[x] 1. We should be able to create an instance to make add/update/delete requests. The instance should accept maester uri and jwtSecret.
[x] 2. Each method that modifies DB object should accept ttl. ttl can have -1 value.
[x] 3. There should be ability to add stream for encrypt/decrypt.
[x] 4. There should be ability to GET object as stream with specified jwt payload.
[x] 5. There should be ability to PUT as stream with retries: 0.
[x] 6. There should be ability to PUT with custom ttl and contentType (we get it from webhook request headers).
(currently, there is no way to pass custom contentType, because it's calculated automatically)
[x] 7. There should be ability to POST a json object.
[x] 8. There should be ability to GET object as json object.
(ObjectStorage will return a string. And ObjectStorageWrapper will return parsed object (this class is designed to work with JSON objects)
[x] 9. There should be ability to DELETE an object by ID.

Can you provide an example on how to override Content-Type for update?


emacs updater: trivialBuild -> melpaBuild

This can cause some problems...
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I am slightly against this change because I do not see much benefit it brings and it add "noise" to git blame.

Well, it is a good thing to be consistent.
We should use the tools we recommend to the community, even more given that we improved them for that same purpose.

We should use the tools we recommend to the community

melpaBuild is recommended for most cases but not all.  There are cases where trivialBuild is better.  There are cases where trivialBuild is equally good, such as here.  There are also cases where elpaBuild is equally good.

it is a good thing to be consistent.

Consistence without cost is good.  Consistence at the cost of more noisy git history is a judgement call, I guess.  If changes for version and hash are factored into different commits and changes for src.repo, src.owner and moving lines are removed, the git history is less noisy.  Then I may support this change.

Consistence at the cost of more noisy git history is a judgement call, I guess.

If I remove the commit that changed the repos to emacsmirror, the patch will change less than 20 lines.
Further, technically the hashes were not "changed", they were merely rewritten in SRI format.
Since the original repos are still there, I am fine with removing the mirror.

If changes for version and hash are factored out into different commits

Done :)

If changes for version and hash are factored out into different commits

Done :)

I still only see one commit in this PR.

Since it is an important part for updating MELPA packages, tests must be done before this can be merged.  I may not be able to do the test because my network is not very good.

I still only see one commit in this PR.

My network delayed. Apologies for the technical failure.

Since it is an important part for updating MELPA packages, tests must be done before this can be merged. I may not be able to do the test because my network is not very good.

I am not sure, but if "run the update scripts inside elisp-packages" can be regarded as a test, I believe I can do it.
The only problem is that, as far as I know, the scripts fail in my current flake setup.
I am doing some tests in my spare notebook, installing NixOS from scratch without flakes.

Could you provide the error and reproducible steps for your error?  I do not think a new installable of NixOS is necessary.

Full log (click to expand)
$> master/pkgs/applications/editors/emacs/elisp-packages >$
./update-elpa

error:
       … while calling the 'import' builtin
         at «string»:1:2:
            1| (import <nixpkgs> {}).bashInteractive
             |  ^

       … while realising the context of a path

       … while calling the 'findFile' builtin
         at «string»:1:9:
            1| (import <nixpkgs> {}).bashInteractive
             |         ^

       error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I)
will use bash from your environment
this derivation will be built:
  /nix/store/n8z3cvgmq3pwzg5b46908jpgvdcgjrla-source.drv
building '/nix/store/n8z3cvgmq3pwzg5b46908jpgvdcgjrla-source.drv'...
sourcing setup hook '/nix/store/yq6n8b0mnk0qxzbs3ajsjcp8ziwqylrl-patchelf-0.15.0/nix-support/setup-hook'
sourcing setup hook '/nix/store/iks1pihvbilsh5sy8qvpd638k422w9i8-update-autotools-gnu-config-scripts-hook/nix-support/setup-hook'
sourcing setup hook '/nix/store/h9lc1dpi14z7is86ffhl3ld569138595-audit-tmpdir.sh'
sourcing setup hook '/nix/store/m54bmrhj6fqz8nds5zcj97w9s9bckc9v-compress-man-pages.sh'
sourcing setup hook '/nix/store/wgrbkkaldkrlrni33ccvm3b6vbxzb656-make-symlinks-relative.sh'
sourcing setup hook '/nix/store/5yzw0vhkyszf2d179m0qfkgxmp5wjjx4-move-docs.sh'
sourcing setup hook '/nix/store/fyaryjvghbkpfnsyw97hb3lyb37s1pd6-move-lib64.sh'
sourcing setup hook '/nix/store/kd4xwxjpjxi71jkm6ka0np72if9rm3y0-move-sbin.sh'
sourcing setup hook '/nix/store/pag6l61paj1dc9sv15l7bm5c17xn5kyk-move-systemd-user-units.sh'
sourcing setup hook '/nix/store/jivxp510zxakaaic7qkrb7v1dd2rdbw9-multiple-outputs.sh'
sourcing setup hook '/nix/store/ilaf1w22bxi6jsi45alhmvvdgy4ly3zs-patch-shebangs.sh'
sourcing setup hook '/nix/store/cickvswrvann041nqxb0rxilc46svw1n-prune-libtool-files.sh'
sourcing setup hook '/nix/store/xyff06pkhki3qy1ls77w10s0v79c9il0-reproducible-builds.sh'
sourcing setup hook '/nix/store/ngg1cv31c8c7bcm2n8ww4g06nq7s4zhm-set-source-date-epoch-to-latest.sh'
sourcing setup hook '/nix/store/gps9qrh99j7g02840wv5x78ykmz30byp-strip.sh'
exporting https://github.com/nix-community/emacs2nix.git (rev e5389c3d7be9c3af135f022d86c61767d41c364f) into /nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source
Initialized empty Git repository in /nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source/.git/
remote: Enumerating objects: 62, done.
remote: Counting objects: 100% (62/62), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 62 (delta 14), reused 27 (delta 1), pack-reused 0
Unpacking objects: 100% (62/62), 50.42 KiB | 1.94 MiB/s, done.
From https://github.com/nix-community/emacs2nix
 * branch            e5389c3d7be9c3af135f022d86c61767d41c364f -> FETCH_HEAD
Switched to a new branch 'fetchgit'
Submodule 'hnix' (https://github.com/jwiegley/hnix.git) registered for path 'hnix'
Cloning into '/nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source/hnix'...
remote: Enumerating objects: 412, done.
remote: Counting objects: 100% (412/412), done.
remote: Compressing objects: 100% (282/282), done.
remote: Total 412 (delta 9), reused 302 (delta 5), pack-reused 0
Receiving objects: 100% (412/412), 387.14 KiB | 941.00 KiB/s, done.
Resolving deltas: 100% (9/9), done.
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Enumerating objects: 142, done.
remote: Counting objects: 100% (142/142), done.
remote: Compressing objects: 100% (73/73), done.
remote: Total 77 (delta 12), reused 20 (delta 0), pack-reused 0
Unpacking objects: 100% (77/77), 108.01 KiB | 4.91 MiB/s, done.
From https://github.com/jwiegley/hnix
 * branch            2828d32144acf5c6632f4fa088279b3a51032ea1 -> FETCH_HEAD
Submodule path 'hnix': checked out '2828d32144acf5c6632f4fa088279b3a51032ea1'
Submodule 'data/nix' (https://github.com/haskell-nix/nix) registered for path 'hnix/data/nix'
Cloning into '/nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source/hnix/data/nix'...
remote: Enumerating objects: 1056, done.
remote: Counting objects: 100% (1056/1056), done.
remote: Compressing objects: 100% (931/931), done.
remote: Total 1056 (delta 18), reused 479 (delta 5), pack-reused 0
Receiving objects: 100% (1056/1056), 1.30 MiB | 3.82 MiB/s, done.
Resolving deltas: 100% (18/18), done.
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Enumerating objects: 779, done.
remote: Counting objects: 100% (779/779), done.
remote: Compressing objects: 100% (458/458), done.
remote: Total 485 (delta 244), reused 86 (delta 13), pack-reused 0
Receiving objects: 100% (485/485), 521.94 KiB | 2.01 MiB/s, done.
Resolving deltas: 100% (244/244), completed with 223 local objects.
From https://github.com/haskell-nix/nix
 * branch            c43033101cbba5f23e8b1165521a8a6e1eb082ea -> FETCH_HEAD
Submodule path 'hnix/data/nix': checked out 'c43033101cbba5f23e8b1165521a8a6e1eb082ea'
removing `.git'...
error:
       … while calling the 'import' builtin
         at /nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source/shell-fetch.nix:3:13:
            2|   emacs2nix = import ./default.nix;
            3|   nixpkgs = import <nixpkgs> {};
             |             ^
            4|

       … while realising the context of a path

       … while calling the 'findFile' builtin
         at /nix/store/xyb2gnlj8rivpknig8w0dmssh7rhnvn3-source/shell-fetch.nix:3:20:
            2|   emacs2nix = import ./default.nix;
            3|   nixpkgs = import <nixpkgs> {};
             |                    ^
            4|

       error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I)

Looks like you do not have NIX_PATH env.  You can set that like this:
export NIX_PATH=nixpkgs=/path/to/your/nixpkgs
./update-elpa

or
# flake:nixpkgs means nixpkgs in your flake registry
export NIX_PATH=nixpkgs=flake:nixpkgs
./update-elpa

If it is useful, my setup is on Bitbucket: https://bitbucket.org/anderson_torres/etc/src/trunk/

Oh, please delete nix.channel.enable = false.  It's a known issue

https://github.com/NixOS/nixpkgs/pull/242098
https://github.com/NixOS/nixpkgs/pull/273170
https://github.com/NixOS/nixpkgs/pull/323613

I find that the built result is the same on my system using diff, so presumably this change should be pretty safe.
# default.nix
let
  pkgs = import <nixpkgs> { };
  epkgs = pkgs.emacs.pkgs;
  # builder = pkgs.emacs.pkgs.trivialBuild;
  builder = epkgs.melpaBuild;
in
rec {
  promise = builder {
    pname = "promise";
    version = "1";
    src = pkgs.fetchFromGitHub {
      owner = "bendlas";
      repo = "emacs-promise";
      rev = "4da97087c5babbd8429b5ce62a8323b9b03c6022";
      sha256 = "0yin7kj69g4zxs30pvk47cnfygxlaw7jc7chr3b36lz51yqczjsy";
    };
    # add missing dependency async
    packageRequires = [ epkgs.async ];
    postPatch = ''
      substituteInPlace promise.el \
        --replace-fail "(require 'promise-done)" "(require 'promise-done) (require 'async)"
    '';
  };

  semaphore = builder {
    pname = "semaphore";
    version = "1";
    packageRequires = [ promise ];
    src = pkgs.fetchFromGitHub {
      owner = "webnf";
      repo = "semaphore.el";
      rev = "93802cb093073bc6a6ccd797328dafffcef248e0";
      sha256 = "09pfyp27m35sv340xarhld7xx2vv5fs5xj4418709iw6l6hpk853";
    };
  };
}

nix build --include nixpkgs-system=/path/to/nixpkgs --file .

Now I am running the scritps;  the melpa one is stuck at cmake

updater-emacs.nix is only used when updating MELPA (unstable and stable).  So to test this PR, only running update-melpa is enough.
Or you do not even need to run anything to test, if the built result of emacsEnv is the same bit-by-bit.

When I used el-get, I remember that cmake-mode was very slow since it downloaded the whole cmake project just to pick one file...
Does it occur in the elisp overlay too?

Here is a dump of strace when running update-melpa:

I have verified that with this diff, the build results are the same bit-by-bit.
--- a/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/updater-emacs.nix
@@ -3,9 +3,10 @@ let

   emacsEnv = pkgs.emacs.pkgs.withPackages (epkgs: let

-    promise = epkgs.trivialBuild {
+    promise = epkgs.melpaBuild {
       pname = "promise";
       version = "1";
+      packageRequires = [ epkgs.async ];
       src = pkgs.fetchFromGitHub {
         owner = "bendlas";
         repo = "emacs-promise";
@@ -14,7 +15,7 @@ let
       };
     };

-    semaphore = epkgs.trivialBuild {
+    semaphore = epkgs.melpaBuild {
       pname = "semaphore";
       version = "1";
       packageRequires = [ promise ];

Weird,  I think I have posted this.


modified cell 3 to run correctly and re-ran whole notebook.

Summary
default-params changed to main in cell 3
Details and comments
reran each cell.

Many thanks for catching this.


Initial windows CI that should build release from sources

Subj

This PR depends on #431 for successful build.

@gshimansky can you rebase this on main since #431 was merged?

@gshimansky can you rebase this on main since #431 was merged?

Ok, rebased.


Update to proc-macro2 v1.0.x ?

It would be nice to update to dependencies, so it would require the proc-macro2 v1.0.x.

Closing as per https://github.com/dtolnay/mashup/pull/23#pullrequestreview-455337034.


fix: dataset_train inheritance warnings

After the edits merged with PR #446, the code was throwing warnings any time an instance of GraphDataset/GridDataset with train=False, dataset_train=dataset_train (the correct one), and with default task, target, features, ... parameters was defined.
More in detail, the internal function _check_inherited_params (dataset.py module) was throwing a warning any time the attributes of the validation/test sets were different from the ones of the training dataset, which can be true if the validation/test sets' attributes themselves are not set by the user, who just passes in the training set (assuming inheritance).

Now the warning is thrown only if the user sets a validation/test sets parameter different from the default and different from the training set one.
Also, features_dict is now defined after having checked for the inherited parameters (if checking is needed, so in validation/test cases), and there is no need of checking its inheritance.

Why is this PR pointing to branch 435 instead of main? It doesn't look like they are modifying the same files, so there shouldn't really be any conflicts, right?

I noticed this while on branch 435, since the training tutorial notebook was giving such warnings. This is one of the possible development flows, you find a bug while working on a branch and you open a PR from that branch, to be merged later with the branch itself before merging the latter to the main.
Since I checked out from branch 435, if you change the base to main then it shows the changes from 435 as well, which is not ideal. In order to merge directly with main I should have checked out from main directly, but while developing it was just more convenient to do it from the branch.


Validator is not strict on date type

Hi,
I'm struggling with validating "date" type. According to specifications it should be in format YYYY-MM-DD (4 digits - 2 digits - 2 digits) but this jsonschema validator is ok with YYYY-M-D.
Example schema snippet:
"d": {
    "type": "string",
    "format": "date"
}

If I test it in https://www.jsonschemavalidator.net/ it properly throws error: String '2000-1-01' does not validate against format 'date'.
I don't think that is expected behaviour.
See live demo here: https://repl.it/@TomasPalider/QueasyDrabServerapplication
I came up with workaround by combination date and regex but I don't like it since schema validation should be strict.
"d": {
    "type": "string",
    "format": "date",
    "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
}

Sounds like a bug if so. An upstream test case would be appreciated in the upstream test suite (and of course a PR even more appreciated).

I don't think this is a bug. The "date" and "time" formats were added in draft 7, and I'm guessing jsonschema.FormatChecker() doesn't default to draft 7. If you replace it with jsonschema.draft7_format_checker your example works as expected:
jsonschema.validate(data, schema, format_checker=jsonschema.draft7_format_checker)

Traceback (most recent call last):
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/jsonschema/_format.py", line 97, in check
    result = func(instance)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/jsonschema/_format.py", line 335, in is_date
    return datetime.datetime.strptime(instance, "%Y-%m-%d")
  File "/usr/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
    tt, fraction, gmtoff_fraction = _strptime(data_string, format)
  File "/usr/lib/python3.8/_strptime.py", line 349, in _strptime
    raise ValueError("time data %r does not match format %r" %
ValueError: time data '200-01-01' does not match format '%Y-%m-%d'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 36, in <module>
    jsonschema.validate(data, schema, format_checker=jsonschema.draft7_format_checker)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/jsonschema/validators.py", line 934, in validate
    raise error
jsonschema.exceptions.ValidationError: '200-01-01' is not a 'date'

Failed validating 'format' in schema['properties']['d']:
    {'format': 'date', 'type': 'string'}

On instance['d']:
    '200-01-01'

@Hubro You're trying/showing a different example than the one reported in this ticket.

@Hubro You're trying/showing a different example than the one reported in this ticket.

No, I followed his repl.it link, modified his validate line as shown, clicked run and copied that error from the output.
If I have completely misunderstood the issue then I'm still lost I'm afraid.

@Hubro See the comments in repl.it: last example will raise error as it should (that's what you posted here). But examples 2. and 3. should raise error too. Only valid example is the first one.
PS: If I understand correctly: If is used format_checker=jsonschema.FormatChecker(), it will detect schema from JSON, which is 7, right? There is no need to specify it as format_checker=jsonschema.draft7_format_checker
I already started creating some detailed tests in my fork.

@DJTommek OK I see, I should have read the problem more thoroughly before responding.

I am experiencing this issue too, which I believe is occurring because strptime will parse dates which do not have zero-padded months or days.
I've added a PR to the upstream validation library.
I'd also be happy to submit a PR here. As I see it there are two options for replacing the current strptime implementation:

Use the built-in fromisoformat() method on datetime.date. The drawback for this is that i t only works on Python 3.7+.
Use a regex check (as OP did)

Any preference?

Awesome! Thank you very much for filing the upstream PR (I saw you already got a review there but yeah you're on the right track).
On implementation... I suppose fromisoformat is the better option, and that on 3.6 we fall back to the current (buggy) behavior.


Incorrect placement with button target

I've made a very simple demo:
https://codesandbox.io/s/rR8XggWW2
I intended for the popper to show to the right of the button, but instead it shows over it (it actually seems to be trying to display to the left of it, but is being pushed over).
Am I doing something wrong?

The code does look right, maybe there's something weird in the way CodeSandbox manages the iframe? Considering they use Popper in CodeSandbox itself I find it weird it doesn't work there 😅

Thanks. I'm poking around in the dark as I've just starting porting some code from Tether to Popper (thanks for the library btw!).
I could be way off here, but it looks like the button is being wrapped in a div (by react-tether presumably), and it's trying to place the popper in relation to this div rather than the button? Since a div is block level and fills the width, it won't be able to place it to the right (or left).
Here's another demo which seems to be suggesting something like this is happening...
https://codesandbox.io/s/1wRA8Grjj

Yeah something like what you say, but I think the problem is that the default tag of "target" is "div" so you get this result.
This fixes it:
https://codesandbox.io/s/JqAWr5jWK

Unfortunately I can't make any assumptions about the target - I'm writing a component which uses the child element (i.e. the result of React.Children.only(children)) as the Target.
Is the wrapping necessary at all? If I'm understanding correctly from the docs I'm supposed to be able to disable wrapping, but that seems to cause its own problems!...
https://codesandbox.io/s/rVE1Jggp

tag=false on Manager is supposed to be used only in this case:
<Manager tag={false}>
  <div>
    <Popper />
    <Target />
  </div>
</Manager>

The problem you are having is on the wrapper generated by Target.
You should provide a custom component tag, which can be a string, or a React component. This should cover your case.


pipeline-level rf

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[x] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:disappointed: fail : 13 / 115 (11.30%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
3
00.00%
[214, 230, 254]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
8
83
09.64%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 562, 563, 565, 566, 567, 569, 741, 742, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[FE Incremental Coverage Report]
:disappointed: fail : 85 / 171 (49.71%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/RuntimeFilterLayout.java
0
62
00.00%
[24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 80, 83, 84, 85, 89, 90, 91, 92, 94, 95, 97, 101, 104, 109, 110, 111, 112, 114, 115, 117, 121, 124, 125, 126, 128, 129, 131, 133, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 152, 153, 155]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
4
50.00%
[1892, 1893]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
46
67
68.66%
[288, 295, 303, 378, 379, 380, 382, 383, 384, 388, 397, 398, 399, 400, 401, 403, 407, 419, 433, 436, 439]

:large_blue_circle:
com/starrocks/qe/CoordinatorPreprocessor.java
37
38
97.37%
[1326]

[BE Incremental Coverage Report]
:disappointed: fail : 13 / 115 (11.30%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
3
00.00%
[214, 230, 254]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
8
83
09.64%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 562, 563, 565, 566, 567, 569, 741, 742, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[FE Incremental Coverage Report]
:disappointed: fail : 107 / 180 (59.44%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/RuntimeFilterLayout.java
0
62
00.00%
[24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 80, 83, 84, 85, 89, 90, 91, 92, 94, 95, 97, 101, 104, 109, 110, 111, 112, 114, 115, 117, 121, 124, 125, 126, 128, 129, 131, 133, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 152, 153, 155]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
6
10
60.00%
[1968, 1969, 1970, 1972]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
61
67
91.04%
[288, 295, 303, 388, 407, 419]

:large_blue_circle:
com/starrocks/qe/CoordinatorPreprocessor.java
37
38
97.37%
[1336]

:large_blue_circle:
com/starrocks/qe/Coordinator.java
3
3
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[FE Incremental Coverage Report]
:disappointed: fail : 107 / 180 (59.44%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/RuntimeFilterLayout.java
0
62
00.00%
[24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 80, 83, 84, 85, 89, 90, 91, 92, 94, 95, 97, 101, 104, 109, 110, 111, 112, 114, 115, 117, 121, 124, 125, 126, 128, 129, 131, 133, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 152, 153, 155]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
6
10
60.00%
[1968, 1969, 1970, 1972]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
61
67
91.04%
[288, 295, 303, 388, 407, 419]

:large_blue_circle:
com/starrocks/qe/CoordinatorPreprocessor.java
37
38
97.37%
[1336]

:large_blue_circle:
com/starrocks/qe/Coordinator.java
3
3
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[FE Incremental Coverage Report]
:disappointed: fail : 107 / 180 (59.44%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/RuntimeFilterLayout.java
0
62
00.00%
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 81, 84, 85, 86, 90, 91, 92, 93, 95, 96, 98, 102, 105, 110, 111, 112, 113, 115, 116, 118, 122, 125, 126, 127, 129, 130, 132, 134, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 153, 154, 156]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
6
10
60.00%
[1968, 1969, 1970, 1972]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
61
67
91.04%
[288, 295, 303, 388, 407, 419]

:large_blue_circle:
com/starrocks/qe/CoordinatorPreprocessor.java
37
38
97.37%
[1336]

:large_blue_circle:
com/starrocks/qe/Coordinator.java
3
3
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]

[FE Incremental Coverage Report]
:disappointed: fail : 107 / 180 (59.44%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/planner/RuntimeFilterLayout.java
0
62
00.00%
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 81, 84, 85, 86, 90, 91, 92, 93, 95, 96, 98, 102, 105, 110, 111, 112, 113, 115, 116, 118, 122, 125, 126, 127, 129, 130, 132, 134, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 153, 154, 156]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
6
10
60.00%
[1992, 1993, 1994, 1996]

:large_blue_circle:
com/starrocks/planner/RuntimeFilterDescription.java
61
67
91.04%
[288, 295, 303, 388, 407, 419]

:large_blue_circle:
com/starrocks/qe/CoordinatorPreprocessor.java
37
38
97.37%
[1328]

:large_blue_circle:
com/starrocks/qe/Coordinator.java
3
3
100.00%
[]

[BE Incremental Coverage Report]
:disappointed: fail : 12 / 116 (10.34%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/exec/hash_joiner.cpp
0
2
00.00%
[578, 580]

:large_blue_circle:
src/exec/pipeline/runtime_filter_types.h
0
12
00.00%
[49, 58, 316, 317, 319, 321, 322, 323, 324, 325, 326, 327]

:large_blue_circle:
src/exprs/runtime_filter_bank.h
0
2
00.00%
[125, 163]

:large_blue_circle:
src/exprs/runtime_filter_bank.cpp
0
4
00.00%
[213, 253, 466, 476]

:large_blue_circle:
src/exec/pipeline/exchange/shuffler.h
0
3
00.00%
[78, 79, 81]

:large_blue_circle:
src/runtime/runtime_filter_worker.cpp
0
2
00.00%
[324, 631]

:large_blue_circle:
src/exprs/runtime_filter.h
7
83
08.43%
[276, 294, 295, 329, 352, 353, 358, 359, 360, 361, 364, 365, 369, 370, 372, 373, 376, 377, 381, 384, 388, 389, 390, 393, 394, 395, 407, 415, 416, 509, 510, 511, 514, 515, 516, 517, 519, 520, 521, 522, 524, 525, 526, 529, 530, 531, 534, 537, 538, 539, 540, 541, 542, 544, 545, 546, 549, 551, 552, 553, 555, 557, 558, 559, 560, 563, 564, 565, 566, 567, 748, 749, 751, 753, 754, 756]

:large_blue_circle:
src/exprs/runtime_filter.cpp
5
8
62.50%
[192, 195, 211]


coding: Search Instances in Survey

FIXED ISSUE odk-x/tool-suite-X#225
Description
Added the Search instances in the forms of ODK-X Survey according to the ODK-X Tables by making changes in the relevant files.
Additional context
Currently I tried to write code to search the instances by their name, but it doesn't work and I am unable to figure it out what is missing. Please review my this PR and help me from should I take any hint/reference to make it work

@khmermenten Please see my comment on the issue https://github.com/odk-x/tool-suite-X/issues/225#issuecomment-813038249

I have researched a lot and according to that made some changes in controller.js too, also continuously tracking in the console but it is still not searching can you please help me to know how can I made changes in the code or can read any documentation so that the search function works properly. That would really be a great help. Thank you!!

@linl33 or @clarlars any guidance?

@wbrunette @elmps2018 @linl33 I have tried to write the function on a javascript file and constantly track what is going on in console. But unable to make the instance display on the screen for what is being searched. Please can you provide me any reference of what I should look for to make the function that runs perfectly.

@elmps2018 Can I take other issues because it's taking time for me to solve this as until now this seems quite difficult to me in finding the way for solving this issue after a lot of research and trying.

@khushishikhu you can take on another issue because like I said before we were counting the two related issues as one.
With regards to approach:

Are you developing using app-designer? This makes it easier because you can you can see the console and put breakpoints in (allowing you to step through code). Check out: https://developer.chrome.com/docs/devtools/console/
When I am trying to do something and I can't find the problem, I use console.error() for my log statements as you can filter out other console.log and console.warn (the console logs being shown can be changed by the serverity of the log can be changed in the devtools console). NOTE: you do not want to check them in as error messages but can help track what what is going on by making your log statements stand out as errors.
I add a word in my log statement that is unique and not likely to used in other log statements so it's easy to use the search bar in the devtools console.

@wbrunette just like you have said for console.log() (which is really helpful and I have understood the information you have given) but here in this repository app-designer I have come across odkCommon.log() term. Can you please explain to me what this term signifies in prompt.js file

When on the android device we also want to write out to a file so it can be reviewed later if problems happen. There are log files written out inside the output folder. See https://docs.odk-x.org/config-file-structure/
Similar to what i said above you can put temporary logs in that work well for you, but please remove them before submitting a pull request.


Updates notes on Configuring external PostgreSQL databases

IMPORTANT: Do Not Merge - To be merged by Docs Team Only
Version(s): 1.2, 1.3

Issue: RHIDP-3734

Link to docs preview:

Reviews:

[x] SME: @rm3l
[x] QE: @zdrapela
[x] Docs review: @hmanwani-rh
[ ] Additional review: @mention assignee (by writer)

Additional information:

/cherrypick release-1.3

/cherrypick 1.2.x


Added limit to followers request

Added limit of 1000 to followers request.

[Current coverage][cc-pull] is 78.98%

Merging [#47][cc-pull] into [master][cc-base-branch] will increase coverage by +<.01%

@@             master        #47   diff @@
==========================================
  Files           601        599     -2
  Lines         12255      12218    -37
  Methods           0          0
  Messages          0          0
  Branches        438        436     -2
==========================================
- Hits           9678       9650    -28
+ Misses         2253       2245     -8
+ Partials        324        323     -1

File ...okMentionV5Data.java (not in diff) was deleted. more
File ...okMentionV5Data.java (not in diff) was deleted. more

Powered by Codecov. Last updated by [a46a98a...6abad01][cc-compare]
[cc-base-branch]: https://codecov.io/gh/percolate/percolate-java-sdk/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/percolate/percolate-java-sdk/compare/a46a98aa2a4c837a88d1e2533517a9f8287de5fc...6abad01a22f48cb9a5b50b9ffb9fd396bf2b3cdc
[cc-pull]: https://codecov.io/gh/percolate/percolate-java-sdk/pull/47?src=pr


Allow user tests to specify branch

Update users tests per microsoft/TypeScript#48128

@weswigham you might be interested in this. The test updates mirror the ones from #48128, and we should eventually shut those down, I think.
Separately, the selection of test projects is 5 years old, and could use some updating as well.

Well, the tests failed about as well as can be expected. I'm going to merge it and try it with an existing test TS PR.

Yep, seems fine.

Re: tests in TS itself. This repo only tracks changes between main and a PR, meanwhile the TS repo tests track changes in main itself (after all, we don't run this in every PR). Different purposes, they just happen to use the same suite.


License of this repository?

Thank you for this great repository.
I am implementing
Curiosity-driven Exploration by Self-supervised Prediction
with pytorch, and this needs A3C.
I wish I could start it with your code, but I couldn't find any license of this repository. May I use codes in this repo for my implementation?

Hi, I'm not good at licenses. Which one is a good one?

The smallest one - http://www.wtfpl.net

I think I'm going to add MIT license. Any objections?

No objections. Many thanks!! :)

The new license is in the repo.


How can we hide the knobs panel by default with coding?

Don't want:

Wanted:

Hi, I don't think it's currently possible. I'm working on a new version, where this panel will be hidden by default.

@ookami-kb
Great, looking forward to your new version of this package.
This is really helpful when we wanna develop some flutter components.
I can support you with money when I get rich (the only problem, for now, I don't have money, so sad

By the way, there also has another feature, which may be good to have:
set the mobile view as default when hot reload. (for example, use desktop chrome to do the mobile web page development.

Panel is now hidden by default.