[@thumbtack/thumbprint-react]: Custom alignment for  and

In <Checkbox> and <Radio> components, the root containing input and text (label) are always vertically center-aligned.
(i.e. https://github.com/thumbtack/thumbprint/blob/master/packages/thumbprint-react/components/Checkbox/index.module.scss#L6)
I've seen several designs where we would want them to be aligned at the start, especially in case where text wraps over multiple lines. Previously, I got around this by having two separate <Checkbox> component and vanilla <label> tag but seeing that this is a recurring pattern, what do you think about adding align prop to<Checkbox>/<Radio> components whose value may be either 'center' or 'start' (open to naming suggestions). I can put up a PR if this is okay.

Thanks for the thoughtful issue, @jichan-thumbtack!
One issue I see in the first screenshot is that the spacing between the checkbox and the text is not standard. Would that be an issue?
Regardless, I'm open to adding a prop for the vertical alignment. Seems like a common pattern! What do you think it should be called? verticalAlign? checkboxVerticalAlignment? Would it be propTypes.oneOf('top', 'center')?

I talked with designer and he was fine with using the standard Checkbox's horizontal spacing. However, I realize the bigger problem is with vertical spacing. I feel like the top/bottom margin around the input should also be configurable such that it aligns nicely with line-height of the first line of label (since Checkbox's children (=label) can be an any node of arbitrary line height)

I don't want to bastardize the interface any further but what do you think of one extra prop (such as checkboxMargin) that accepts a similar string as props.labelPadding? (I would still want to use <Checkbox> and all its supported functionality instead of having to customize a vanilla  tag just for this issue in a relatively common scenario)
I like checkboxVerticalAlign checkboxMargin for prop names, and I agree we can limit it to just propTypes.oneOf('top', 'center').

@jichan-thumbtack I agree the vertical alignment is off but I think we could avoid adding the checkboxMargin prop and fix it in CSS. For checkboxVerticalAlign="top" try margin-top: 2px. In my testing that works for the possible range of font-sizes/line-heights we support.

+1 on Tom's recommendation. I imagine that there is a margin-top value that we can pair with checkboxVerticalAlign that looks good in all cases.

Thanks for the suggestion. Assuming the provided label is a standard <Text size={1,2,3} /> components, this is what looks like with margin-top: 2px. Not pixel-perfect, but I think it can work especially given that default size={1} are most commonly used. I can go ahead and submit PR if you guys can confirm.

Looks great to me! Feel free to make the PR!

Could also try 1px, that might be the happy medium.


Update Commands List.md

removed link to github wiki

that's not how it works sam, you know already :D

yeah xD


Introduce a groundtruths argument in the call method of tf.keras.layer

System information: Ubuntu 16.04

TensorFlow version (you are using): 2.2.0
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
Today, the API only support three arguments (inputs, training, masks):
class MyNetwork(tf.keras.layers.Layer):

  def call(self, inputs, training=None):
     # Do somestuff
      return stuff

I propose to introduce a fourth one (groundtruths or other):
class MyNetwork(tf.keras.layers.Layer):

  def call(self, inputs, training=None, groundtruths=None):
     # Do somestuff
      return stuff

You could tell: why don't you put your groundtruths inside the inputs? It leads to issue with the SavedModel format. My inputs in training and inference won't be the same which leads to errors.
Example:
training_inputs = {'image': tf.zeros((1, 800, 800, 3)), 'gt_bbox':  tf.constant([[0, 0, 1, 1]], tf.float32)}
inference_inputs = {'image': tf.zeros((1, 800, 800, 3))}

Will this change the current api? How?
It will change the interface of the call method from tf.keras.layers.Layer.
Who will benefit with this feature?
People working on algorithms like FasterRCNN need to pass during the training the groundtruths
to perform sampling on it. Currently you need to perform lot of hacks to be able to export your model.
Any Other info.
Maybe adding new arguments to the call method isn't the right way. Allowing saved_model to understand that you have two types of signatures, when training is True or False, for your model would be great.  It would make the following behavior compatible to saved_model.
Example:
class MyNetwork(tf.keras.Model):

  def call(self, inputs, training=None):
     if training:
          groundtruths = inputs['groundtruths']
          # Do somestuff with the groundtruths
      return stuff

    def train_step(self, data):
        data = data_adapter.expand_1d(data)
        x, y, _ = data_adapter.unpack_x_y_sample_weight(data)

        with tf.GradientTape() as tape:
            x['ground_truths'] = y
            y_pred = self(x, training=True)
            loss = self.compiled_loss(None, y_pred, None, regularization_losses=self.losses)
        training._minimize(self.distribute_strategy, tape, self.optimizer, loss,
                           self.trainable_variables)
        return {m.name: m.result() for m in self.metrics}

@EmGarr Thanks for filing the request! This is a rather important feature which I think we should support. However special-casing an argument for detection models would make things too complicated. In general I don't think we can make that into keras.Layer. But likely into keras.layers.ImageLayer which inherits from it and deals with both image and gt boxes

@tanzhenyu I think the issue can be closed. It seems that the futur handling of nested arguments for a tf.function will solve this issue:
https://www.tensorflow.org/guide/concrete_function#changes_for_tensorflow_23.


Added button hover shadow effect

Looks like button raises up on mouse over.

Hmm, Google Material Design spec doesn't show buttons doing this: they merely (and quite subtly too) change colour. Not sure deviating from spec would be a good idea, yo.

I understand, but material design originally was design for mobile platforms where doesn't exist any hover effect. In case of web, some materialdesign sites introduce a hover effect for theirs controls: http://diskforyou.com/ http://materializecss.com/buttons.html and on.
And i use materialdesign for one internal project at my work, and some users asks me to add an hover behavior, because it confused when u don't see any reactions from UI when cursor over a button.

Well, there's already the subtle background colour change I mentioned but I can see on Google's own sites the mouse cursor changes to a hand too (like it has traditionally done for links in a web browser). Not sure if that is part of the spec but it certainly seems to be present in all of the examples I can find (e.g. even in the desktop Google Keep).

Hi...this is a good discussion...I appreciate the fact there isn't any sort of hover effect right now...and also, any kind of guideline from google is coming late to the party as the design language was mobile first.
I think wherever possible we have to work to the Google spec...I have already had people rightly point out where i have deviated, and in those cases I've tried to get back on track.
I think we have to primarily follow two guidelines:

The official spec (which currently says little on this subject) https://www.google.com/design/spec/material-design/introduction.html
Material Design Lite (Googles own web implementation) http://www.getmdl.io/

Currently, for both raised and flat buttons MDLite is using a hand cursor:
http://www.getmdl.io/components/index.html#buttons-section
It's not amazing, but if we stick to this we can evolve in line with Google in the future.
Your shadow does look nice, but I think for v1.1 we'll get the hand cursor in and the background hover for the flat buttons (which is also on the MDLite page).

By the way, Material Design Lite buttons click effect uses shadows. Thanks for answering, i will be waiting for a new version

@l1pton17 interesting point...i hadn't noticed that...only seems to kick in if you hold the mouse...

@l1pton17 its pity that you closed your PR. I`d like to see this effect in material design and I agree that google gideline is not 100% correct for desktop apps, especially WPF.

I don't know should i create a new pull request for each contribution =)
So, i have commit some improvement for textbox validationerror:

It shows only if textbox is in focus (case if show all errors together that they can be mixed with themselves)
Use popup for showing error hence it popup over the window

And bug fix: now can select text under a floating hint in textbox

hey @l1pton17 , yes please do the validation stuff in a separate PR, easier for me to untangle from the button stuff.  Also, I'd like to propose some changes, it'll be easier for us to work through them on a cleaner branch.


Open all external  webLink in app not in default browser

Summary:
Like when click on the viewpage or viewcategory the webpage open in default web browser but  not in app
But when click on the signup signup webpage open in app
**SignUp page open  in app **

Would you like to work on the issue?
YES
Please let us know whether you want to fix the issue by yourself. If not, anyone can get the issue assigned to them.
YES

@nicolas-raoul can i work on this issue

Maybe it was intended? When I open my browser it is nice to see my categories/etc tabs, but seeing the signup form again might not make as much sense?

@nicolas-raoul in latest android api all external weblink of app open in app not in default browser
this feature is also  in my android phone Redmi y3 api:29


Build output stucks in terminal

VSCode Version: Code 1.19.1 (0759f77bb8d86658bc935a10a64f6182c5a1eeba, 2017-12-19T09:41:01.414Z)
OS Version: Linux x64 4.4.0-104-generic (Ubuntu 14.04.5)
Extensions:

Extension
Author (truncated)
Version

gitlens
eam
7.2.0

nightswitch-lite
gha
2.0.3

Go
luk
0.6.70

cpptools
ms-
0.14.5

shader
sle
1.1.2

cmake
twx
0.0.17

code-navigation
vik
0.2.0

vscode-todo-highlight
way
0.5.11

lua-for-vscode
xxx
0.0.23

(1 theme extensions excluded)

Steps to Reproduce:

Start build (Run Build Task)
Observe terminal output

Result 1: terminal output hangs somewhere during build process (doesn't always reproduce)
Result 2: actual build continues in background ("Building..." appears in status bar, then disappears after some time)

Repeat steps 1-2

Result 3: terminal output doesn't change, it stays in "hanged" state from previous build
Result 4: build presumably executes in background, "Building..." appears in status bar, just no output in terminal

Reproduces without extensions: Yes/No
I'm using multithreaded CMake build with ccache. Issue reproduces more or less stably when i'm rebuilding my project in different configurations (Debug/Release). My tasks.json:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "make -j 4",
            "options": {
                "cwd": "${workspaceRoot}/build"
            },
            "presentation": {
                "reveal": "silent"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

Point where output hangs is always on printing a warning from GCC (4.8.5). It goes like this:

Multithreaded build starts
Output from parallel jobs is mixed in terminal (that's fine)
Build comes to the point where warning is printed
At point 3 terminal might or might not hang

Surprisingly it's always the very same warning from very same file where output hangs: warning: ‘...[skip]...’ defined but not used [-Wunused-function]. If it hangs, i've found two workarounds to "unstuck" terminal:

Restart vscode
Click on terminal window and press Enter. After this build output disappears, terminal switches to shell and i can restart build again normally, with build output correctly appearing on screen.

Additional info: i'm using ccache, so build doesn't recompile objects but gets them from cache instead. All parallel build jobs are executed very fast on cache, like 10-20 objects are "compiled" per second, so i suspect it's some sort of race condition. When i try to reproduce this issue i have to do 3-5 tries, but it does always reproduce after relatively small number of attempts.

Verification steps?

@roblourens best would be to do a code review / inspection. I didn't have any steps either but concluded the problem from the provided stack traces here: https://github.com/Microsoft/vscode/issues/41165#issuecomment-355464739


Memory leak when using JProxy with instance containing Java member

On the java side, the following code will leak Strings and Runnables all over the place. The problem seems to be the reference of the Test instance to data. If this is rewritten inst=Test(None), nothing is leaked.
#!/usr/bin/env python3

from jpype import *

startJVM(getDefaultJVMPath())

class Test:
    def __init__(self, data):
        self.data = data

    def run(self):
        pass

for _ in range(1000):
    data = JString('foobar'*10000)
    proxy = JProxy('java.lang.Runnable', inst=Test(data))
    del proxy
    del data

Which version did you use? We fixed some leaks on master recently.

I am using v0.6.2 from PyPI. I just retried with a fresh install from master and the problem persists.

I'm not even close to properly understanding this, but it looks to me as if two references to the container jpype.JProxy python object leak in this case. The following test script prints two (three including the temporary reference passed to sys.getrefcount) for the host python jpype.JProxy object after all python references to it have been deleted. This looks two too high to me.
import sys
import gc
import pprint

from jpype import *

startJVM(getDefaultJVMPath(), '-Xrs', '-Djava.compiler=NONE')

class Test:
    def __init__(self, data):
        self.data = data

    def run(self):
        pass

print('CREATING DATA', file=sys.stderr)
data = JString('foobar')#*10000)
print('CREATING PROXY', file=sys.stderr)
proxy = JProxy('java.lang.Runnable', inst=Test(data))
print('PRE GC', file=sys.stderr)
print('\033[91mproxy refcount:\033[0m', sys.getrefcount(proxy)-1)
del proxy
print('\033[91mproxy refcount:\033[0m', sys.getrefcount([o for o in gc.get_objects() if 'proxy' in str(type(o)).lower()][0])-1)
print('\033[91mproxy referrers:\033[0m')
pprint.pprint(gc.get_referrers([o for o in gc.get_objects() if 'proxy' in str(type(o)).lower()][0]))
del data

gc.collect()
print('POST GC', file=sys.stderr)

Doing a brief review of the involved code I spotted at least this line in jp_proxy.cpp where the refcount to the host JProxy AFAICT is incremented in copy, but the resulting pointer is not freed again anywhere.

it looks indeed like there is an additional unnecessary copy in line
226. Have you tried removing this copy? One copy is released in the
destructor.

I just tried that. That reduces the refcount from two to one dangling reference. 🎉

Ok, I think I have found the other issue. However I'm a bit out of my comfort zone here so please double check my theory.
With HostRef::copy in its constructor and HostRef::release in its destructore, JPProxy holds a reference to the python JProxy. Since JPProxy is only released when JProxy is destroyed, this constitutes a circular reference. Removing the copy in the constructor of JPProxy and the release in its destructor, the above test script stopped leaking.

This is a good spot! However I'm unsure of the implications if we remove this. Could it be that python proxy is only used by the java side, but not referenced directly by any python code?!

Ok, it wasn't quite as simple in the end but this commit seems to fix the python end on superficial testing.
The main change is that JPProxy does no longer hold any references to the corresponding JProxy. This means python's gc can do its job when the corresponding JProxy goes out of scope. In this case, the JPProxy gets taken care of by deleteJPProxyDestructor.
The remaining uncertainty for me is what happens to the other end if one end only gets gc'ed. As far as I understand, previously everything always worked because (at least on the python side) nothing could ever get gc'ed. But now, nothing prevents the python end from gc while the java end might still be alive and kicking. Thus what my current solution really lacks I think is proper cross-linking of both refcounts to make sure both ends stay alive as long as either one is still referenced.

The solution may be correct, but I am unable to get a good picture of how the proxy system is supposed to work.  The problem here is that we need to hold both a python object and a java object in scope for the duration that either objects are alive.  I took care of all of the java object leaks with the local frame interface with JNI.  But this one is much more complex as we have java objects holding python objects.  The python reference system is more likely to hit circular problems than java so I am a bit less comfortable with it.
To be a solution we would need to ensure

The java object lives a long as java holds a reference to the object.  (Pass the created object to java, delete the python object, gc java, check it alive, gc java, and see perhaps if it is now dead.)
The python object lives as long as java holds a reference to the object.  (Not sure how to check this other than accessing it after python has lost the access.)
The java object lives as long as the python object lives.  (I think this is already ensured by our system.)
The python object lives as long as the python holds a reference.  (Making sure that if java gcs the object we don't lose the python object.)

If we can test each of the four cases then it would be a valid solution.

I have analyzed the fix, but I believe that it did not satisfy the requirement that the scope of the JPProxy be the maximum of both the Java and the Python objects.  The design of JPProxy is fundamentally flawed in that it requires holding a global reference to the java JProxy object. Instead it should produce a new JProxy object each time that the object is passed to java.  These should be left for java to manage lifespan.  If we suffer a performance hit then we can have it use a weak reference to cache.
The key difficulty with this change is I have no idea where the JProxy thunk code is that made the byte code.  We need to overload the equals operator so the clone objects properly have equals.

I believe this issue is currently resolved in the devel branch and has a worrk around in master.


type mismatch error in helpprinter when getting benchdiff

Hi,
I am getting following errors when I am trying to go get benchdiff.
❯ go get -u github.com/willabides/benchdiff/cmd/benchdiff
# github.com/willabides/benchdiff/cmd/benchdiff/internal/helpprinter
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:31:22: cannot use flag.Group (type *kong.Group) as type string in map index
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:33:14: cannot use flag.Group (type *kong.Group) as type string in map index
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:37:20: cannot use flags[i].Group (type *kong.Group) as type string in map index
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:37:49: cannot use flags[j].Group (type *kong.Group) as type string in map index
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:139:39: invalid operation: group[0].Group != "" (mismatched types *kong.Group and string)
../../../../go/pkg/mod/github.com/willabides/benchdiff@v0.7.0/cmd/benchdiff/internal/helpprinter/helpprinter.go:140:35: invalid operation: group[0].Group + "GroupHelp" (mismatched types *kong.Group and string)

Sorry about that.  This appears to be from breaking change in github.com/alecthomas/kong somewhere between v0.2.12 and v0.2.16. I'm trying to get this sorted out.  In the mean time you can download the binary from https://github.com/WillAbides/benchdiff/releases/tag/v0.7.0

After looking in depth I shouldn't have said it's a backward incompatible change (though technically it was). It was benchdiff's  internal package that grouped command line args in the help output. Kong added that ability itself in a way that conflicted with the assumptions I made in the internal package.
I released the fix in v0.7.1 and go get -u<EMAIL_ADDRESS>now works for me.


[WIP] added infer schema which improves the schema as you add rows of data

Implemented using InferSchema object which is interchangeable with the normal Schema object
The InferSchema object learns and improves the schema as you add rows

Coverage increased (+2.2%) to 87.375% when pulling a5e26de489140a9d8538c263f27dfea9d8b60c42 on OriHoch:7-infer-schema-take-2 into 0e3ff026f20f226d4e3c1a58790ceff03629ddb7 on frictionlessdata:master.

Coverage increased (+1.9%) to 87.086% when pulling d51a02e454cddc01fbbcebd4c94cc474a300b458 on OriHoch:7-infer-schema-take-2 into 0e3ff026f20f226d4e3c1a58790ceff03629ddb7 on frictionlessdata:master.

Coverage increased (+1.9%) to 87.086% when pulling 37e9e5547af7840148f5549c3b45b7af25569e75 on OriHoch:7-infer-schema-take-2 into 0e3ff026f20f226d4e3c1a58790ceff03629ddb7 on frictionlessdata:master.

Coverage increased (+2.0%) to 87.129% when pulling dc32b679f1fb0b0c408f26f8998bc544f54f775d on OriHoch:7-infer-schema-take-2 into 0e3ff026f20f226d4e3c1a58790ceff03629ddb7 on frictionlessdata:master.


sync connect call gets stuck if reconnect is already running and succeeds

my program is set up as an endless loop of sync calls.  if a packet is sent and fails this seems to trigger the internal reconnect logic, while my program goes into a timeout wait and then calls sync connect() after some time.  I've observed it getting stuck indefinitely if the reconnect is already running and succeeds right after the connect() call is made.  connect() then never returns.
Can you suggest a workaround for this?  Is it possible to disable the automatic reconnect stuff?  Or can you fix this race condition?

Hi @larsonmpdx,
You can disable the autoreconnect logic by calling  SetAutoReconnectEnabled(false) for the client instance.
Let us know if that fixes the issue you are seeing.
Thanks!
Varun

The issue happens randomly, I don't have a test case for it.  I can make the change but it'll be a few days before I know if it helped.  Can you read the code and figure out why it might deadlock?  I looked but it was hard to understand.
Are there any problems I might have with disabling auto reconnect?  Is it recommended to disable it in my case where I have a manual reconnect in an endless loop?

Hi @larsonmpdx,
I will investigate the code to see where the deadlock happens. What is the flow that your application go through (connect, publish, timeout, connect, etc)?
Since you are checking for failed sync calls and manually reconnecting, there should be no issues with disabling auto-reconnect in your case.
Thanks!
Varun

all sync: disconnect, connect, publish in a loop until any error, on error timeout, then start over


[Email Routing]Deleted firewall metadata from docs-config

Fix for me please.  When I get my company back in order I will make sure
the history book will speak about you for a in this life and your next you
have my word.
On Fri, Nov 26, 2021, 6:22 AM Pedro Sousa @.***> wrote:

@.**** approved this pull request.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cloudflare/cloudflare-docs/pull/2795#pullrequestreview-816843999,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWS2SNNDAK4FQWJFIN2GFGTUN6JYXANCNFSM5I2YKIPA
.


simplify: remove a couple of attrs in the Reconciler that are no longer needed

The tests passed in CircleCI https://circleci.com/gh/3scale/kourier/670 even though it does not appear here.


Unable to build flutter app using firebase (codelab flutter tutorial)

Gettting issues with gradle buils.................
running "flutter pub get" in baby_names... 4.0s
Launching lib\main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...
[{"event":"app.progress","params":{"appId":"c881b45f-e92e-41ce-bf0f-97c7f5ffd491","id":"1","progressId":null,"message":"Resolving dependencies..."}}]Resolving dependencies...
Error running Gradle:
ProcessException: Process "D:\android_projects\baby_names\android\gradlew.bat" exited abnormally:
Configure project :cloud_firestore
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.
FAILURE: Build failed with an exception.
What went wrong:
A problem occurred configuring project ':cloud_firestore'.
Could not resolve all artifacts for configuration ':cloud_firestore:classpath'.
Could not resolve com.android.tools.build:gradle:3.1.3.
Required by:
project :cloud_firestore

Could not resolve com.android.tools.build:gradle:3.1.3.
Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom'.
Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom'.
Connect to <IP_ADDRESS>:8080 [/<IP_ADDRESS>] failed: Connection timed out: connect
Could not resolve com.android.tools.build:gradle:3.1.3.
Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom'.
Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.1.3/gradle-3.1.3.pom'.
Connect to <IP_ADDRESS>:8080 [/<IP_ADDRESS>] failed: Connection timed out: connect

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
BUILD FAILED in 45s
Command: D:\android_projects\baby_names\android\gradlew.bat app:properties
Finished with error: Please review your Gradle project setup in the android/ folder.
** Can anyone tell me whats the problem is????
This is what i got for "flutter doctor"
[√] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.18362.239], locale en-IN)
• Flutter version 1.7.8+hotfix.4 at D:\flutter\flutter
• Framework revision 20e5931 (9 days ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at C:\Users\Rajesh\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: D:\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.4)
• Android Studio at D:\Android\Android Studio
• Flutter plugin version 37.1.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[√] IntelliJ IDEA Community Edition (version 2017.3)
• IntelliJ at C:\ideaIC-2017.3.4.win
• Flutter plugin version 22.2.2
• Dart plugin version 173.4548.30
[√] VS Code, 64-bit edition (version 1.35.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.1.0
[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 5.1.1 (API 22) (emulator)
• No issues found!
This is build.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
}

}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}

This should not be an issue on github.
The logs clearly say that you're having an internet issue.

@rajeshyel This is a question better suited for StackOverflow, since there doesn’t seem to be anything wrong with Flutter itself. Closing, as this is not an issue report. See https://flutter.dev/community for support options.
If you disagree, feel free to comment and I will reopen the issue.


_renderFooter error when adding multiple sub reports

Hi,
Thanks for your work on this project. I raised some issue when tried to add multiples sub reports on a main report, like this :
 var mainReport = new Report('assets/report.pdf')
        .data(formData)
        .pageheader('test')
        .footer('test')
        .pageFooter('test');

        var overviewReport = new Report(mainReport)
        .data(formData)
        .titleHeader('title1');

        var introductionReport = new Report(mainReport)
        .data(formData);

My goal is to use these subreports as "modules", and rendering later only selected subreports in the main report.
When rendering, i get an error on _renderFooter property of children, on line 3927 of fluentReport.js :
    _renderFooter: function (Rpt, State, callback) {
        var i, cnt = this._children.length, done = -1;
        var self = this;

        var renderFooterHandler = function () {
            done++;
            if (done === cnt) {
                callback();
            } else {
                self._children[done]._renderFooter(Rpt, State, renderFooterHandler);
            }
        };

        if (callback) {
            renderFooterHandler();
        } else {
            for (i=0;i<cnt;i++) {
                this._children[i]._renderFooter(Rpt, State); //_renderFooter is undefined :(
            }
        }
    },

I tried to use these reports with and without footers, but I can't figure out what I'm doing wrong ; your code seems to basically manage multiple children reports.
Can you give me a sample code of multiple subreports ?

I'll take a look at it. Their was some serious rewriting for version 1.0 and so it is possible something was missed on sub-reports...

@AlanFonderflick -- Sorry about the lengthily delay in looking at this -- I have been totally swamped.  But it is now fixed in the latest version!


Hardware API: Factor out pipette control from the hardware control

Overview
We should pull out configuration loading for pipettes so that we can pass in new configuration(s) for a given pipette model.
Acceptance Criteria

Cache pipettes (and other related functions) should live in its own separate file
Call sites should remain in the hardware controller where necessary

No longer applicable for this issue tracker


Docs for simple logging

Fixes #2085
Note that this is the first part of several new pages/updates for logging and interception. For now, I'm linking to the new page from the old top-level logging. As more of this gets done that will gradually be replaced. I didn't add anything to the table of contents yet so as not to make this too confusing.

Updated Links.

Link errors


Dependencies analysis returning no rows

When a pbix report definition is extracted, a list of all the fields used in the report should be exported as csv to the _Dependencies folder. The csv contain no rows of data.

This appears to be due to [string]$reportjson which converts $reportjson back to a string. Need to remove that casting


Whether gredis supports multi/exec or pipeline

1. What version of Go and system type/arch are you using?

2. What version of GoFrame are you using?

3. Can this issue be re-produced with the latest release?
4. What did you do?

5. What did you expect to see?
6. What did you see instead?

https://github.com/gogf/gf/pull/2146

@dimichen Use Conn and Conn.Do/Receive?


Instructions mismatch

After running php artisan laracogs:starter I get
Update the model in: config/auth.php, database/factory/ModelFactory.php

App\Repositories\User\User::class

Build something worth sharing!

Don't forget to run:
composer dump
Then:
artisan migrate

while the docs say:
Update the App\User::class in: 'config/auth.php' and 'database/factory/ModelFactory.php' to this:
App\Models\User::class
The generator uses the docs style.

Thanks for the PR


Increase telethon version to avoid exceptions

Got an issue with current using version 0.18.3
Traceback (most recent call last):
  File "...\telegram_messages_dump\telegram_dumper.py", line 80, in run
    chatObj = self._getChannel()
  File "...\telegram_messages_dump\telegram_dumper.py", line 173, in _getChannel
    dialogs = self.get_dialogs(limit=None)
  File "...\venv\lib\site-packages\telethon-0.18.3-py3.6.egg\telethon\telegram_client.py", line 619, in get_dialogs
    dialogs = UserList(self.iter_dialogs(*args, **kwargs))
  File "C:\Python36\lib\collections\__init__.py", line 1039, in __init__
    self.data = list(initlist)
  File "...\venv\lib\site-packages\telethon-0.18.3-py3.6.egg\telethon\telegram_client.py", line 600, in iter_dialogs
    yield Dialog(self, d, entities, messages)
  File "...\venv\lib\site-packages\telethon-0.18.3-py3.6.egg\telethon\tl\custom\dialog.py", line 69, in __init__
    self.draft = Draft(client, dialog.peer, dialog.draft)
  File "...\venv\lib\site-packages\telethon-0.18.3-py3.6.egg\telethon\tl\custom\draft.py", line 32, in __init__
    self._text = markdown.unparse(draft.message, draft.entities)
AttributeError: 'DraftMessageEmpty' object has no attribute 'message'

It is already investigated and fixed in next releases (the latest is 1.0.3).
See discussion: https://github.com/LonamiWebs/Telethon/issues/844

Ok. Thank you. I merged in your changes.


chore: Tidy up Echo Server, closing small issues

Description
Resolves #84,
Resolves #69,
Resolves #63
How Has This Been Tested?
N/a
Due Diligence

[ ] Breaking change
[ ] Requires a documentation update
[ ] Requires a e2e/integration test update

Remember: Set TEST_TENANT_ID before merging and ensure FCM and APNS setup on tenant!


I hava a pd-server question

When I execute follow command, I'm in trouble
./pd-server --name=pd1 --data-dir=pd1 --client-urls="http://localhost:2379" --peer-urls="http://localhost:2380" -L "info" --log-file=pd.log

failed to get tidb schema version
[2021/06/10 16:19:02.034 +08:00] [INFO] [etcd.go:576] ["serving peer traffic"] [address=<IP_ADDRESS>:2380]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:923] ["ee8770e2b82d270a is starting a new election at term 2"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:729] ["ee8770e2b82d270a became pre-candidate at term 2"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:824] ["ee8770e2b82d270a received MsgPreVoteResp from ee8770e2b82d270a at term 2"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:713] ["ee8770e2b82d270a became candidate at term 3"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:824] ["ee8770e2b82d270a received MsgVoteResp from ee8770e2b82d270a at term 3"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [raft.go:765] ["ee8770e2b82d270a became leader at term 3"]
[2021/06/10 16:19:03.525 +08:00] [INFO] [node.go:325] ["raft.node: ee8770e2b82d270a elected leader ee8770e2b82d270a at term 3"]
[2021/06/10 16:19:03.530 +08:00] [INFO] [server.go:2016] ["published local member to cluster through raft"] [local-member-id=ee8770e2b82d270a] [local-member-attributes="{Name:pd1 ClientURLs:[http://localhost:2379]}"] [request-path=/0/members/ee8770e2b82d270a/attributes] [cluster-id=2b6c1f350c95acd6] [publish-timeout=11s]
[2021/06/10 16:19:03.530 +08:00] [INFO] [server.go:291] ["create etcd v3 client"] [endpoints="[http://localhost:2379]"] [cert="{\"cacert-path\":\"\",\"cert-path\":\"\",\"key-path\":\"\",\"cert-allowed-cn\":null}"]
[2021/06/10 16:19:03.531 +08:00] [INFO] [serve.go:139] ["serving client traffic insecurely; this is strongly discouraged!"] [address=<IP_ADDRESS>:2379]
[2021/06/10 16:19:03.533 +08:00] [INFO] [server.go:313] ["update advertise peer urls"] [from=http://localhost:2380] [to=http://<IP_ADDRESS>:2380]
[2021/06/10 16:19:03.534 +08:00] [INFO] [server.go:343] ["init cluster id"] [cluster-id=6972062380264930987]
[2021/06/10 16:19:03.553 +08:00] [WARN] [history_buffer.go:139] ["load history index failed"] [error="leveldb: not found"]
[2021/06/10 16:19:03.553 +08:00] [INFO] [history_buffer.go:147] ["start from history index"] [start-index=0]
[2021/06/10 16:19:03.554 +08:00] [INFO] [server.go:1112] ["start to campaign leader"] [campaign-leader-name=pd1]
[2021/06/10 16:19:03.556 +08:00] [INFO] [server.go:1131] ["campaign leader ok"] [campaign-leader-name=pd1]
[2021/06/10 16:19:03.558 +08:00] [INFO] [tso.go:158] ["sync and save timestamp"] [last=2021/06/10 15:56:12.817 +08:00] [save=2021/06/10 16:19:06.558 +08:00] [next=2021/06/10 16:19:03.558 +08:00]
[2021/06/10 16:19:03.560 +08:00] [INFO] [server.go:1220] ["server enable region storage"]
[2021/06/10 16:19:03.561 +08:00] [INFO] [id.go:114] ["idAllocator allocates a new id"] [alloc-id=2000]
[2021/06/10 16:19:03.561 +08:00] [INFO] [util.go:78] ["load cluster version"] [cluster-version=0.0.0]
[2021/06/10 16:19:03.561 +08:00] [INFO] [server.go:1164] ["PD cluster leader is ready to serve"] [leader-name=pd1]
[2021/06/10 16:19:04.554 +08:00] [INFO] [server.go:858] ["PD server config is updated"] [new="{\"use-region-storage\":\"true\",\"max-gap-reset-ts\":\"24h0m0s\",\"key-type\":\"table\",\"runtime-services\":\"\",\"metric-storage\":\"\",\"dashboard-address\":\"http://localhost:2379\",\"trace-region-flow\":\"true\"}"] [old="{\"use-region-storage\":\"true\",\"max-gap-reset-ts\":\"24h0m0s\",\"key-type\":\"table\",\"runtime-services\":\"\",\"metric-storage\":\"\",\"dashboard-address\":\"http://<IP_ADDRESS>:2379\",\"trace-region-flow\":\"true\"}"]
[2021/06/10 16:19:05.557 +08:00] [INFO] [dbstore.go:44] ["Dashboard initializing local storage file"] [path=/usr/local/tidb/tidb-v4.0.11-linux-amd64/bin/pd1/dashboard.sqlite.db]
[2021/06/10 16:19:05.563 +08:00] [INFO] [proxy.go:199] ["start serve requests to remotes"] [endpoint=<IP_ADDRESS>:37983] [remotes="[]"]
[2021/06/10 16:19:05.563 +08:00] [INFO] [proxy.go:199] ["start serve requests to remotes"] [endpoint=<IP_ADDRESS>:36846] [remotes="[]"]
[2021/06/10 16:19:05.563 +08:00] [INFO] [version.go:41] ["TiDB Dashboard started"] [internal-version=2<IP_ADDRESS>] [standalone=No] [pd-version=v4.0.11] [build-time="2021-02-25 04:39:45"] [build-git-hash=41a0a3a87e75]
[2021/06/10 16:19:05.563 +08:00] [INFO] [manager.go:200] ["Dashboard server is started"]
[2021/06/10 16:19:05.564 +08:00] [INFO] [dynamic_config_manager.go:176] ["Load dynamic config from etcd"] [json="{\"keyvisual\":{\"auto_collection_disabled\":false,\"policy\":\"db\",\"policy_kv_separator\":\"\"},\"profiling\":{\"auto_collection_targets\":null,\"auto_collection_duration_secs\":0,\"auto_collection_interval_secs\":0}}"]
[2021/06/10 16:19:05.566 +08:00] [INFO] [dynamic_config_manager.go:197] ["Save dynamic config to etcd"] [json="{\"keyvisual\":{\"auto_collection_disabled\":false,\"policy\":\"db\",\"policy_kv_separator\":\"\"},\"profiling\":{\"auto_collection_targets\":null,\"auto_collection_duration_secs\":0,\"auto_collection_interval_secs\":0}}"]
[2021/06/10 16:19:05.651 +08:00] [INFO] [manager.go:85] ["Key visual service is started"]
[2021/06/10 16:20:05.569 +08:00] [WARN] [tidb_requests.go:47] ["failed to get tidb schema version"] []
[2021/06/10 16:21:05.569 +08:00] [WARN] [tidb_requests.go:47] ["failed to get tidb schema version"] []
[2021/06/10 16:22:05.568 +08:00] [WARN] [tidb_requests.go:47] ["failed to get tidb schema version"] []
[2021/06/10 16:23:05.568 +08:00] [WARN] [tidb_requests.go:47] ["failed to get tidb schema version"] []

Because we prioritized PostgreSQL compatible system tables when we were compatible with PostgreSQL, we changed the names of some of the system tables in the INFORMATION_SCHEMA library of the original TIDB. To avoid having a table with the same name as the PostgreSQL system library in this library, we will fix this bug later. XD


[run application] question, bug?

Hi.
Yesterday I tried the run application in my banglejs1. The application looks very nice and after fixing the position and pressing BTN2, it started recording my running session. The issue is that the interface gets frozen while recording, not updating the time, pace or heartbeat rate. Only when I stop recording by pressing BTN2 again I can see some data about the session.
Is this behaviour expected?
Device: Banglejs 1
Firmware version: 2v12
App version: v0.14
Regards,
Pablo

Firmware version: 2v12

Please can you update your firmware and report back? This is extremely likely to be your problem (that the run app relies on some features that were introduced in 2v13/2v14 firmwares)

I have updated to 2v15 and the application is running fine. I can close this.
Thanks.


feat: abtest-jsx

Intoducing abtest-jsx - small npm package for handling toggling of AB tests logic on the client side code.

Pull Request Test Coverage Report for Build 272

26 of 38 (68.42%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-7.6%) to 92.386%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/ab-test-jsx/src/withABTests/withABTests.tsx
1
6
16.67%

packages/ab-test-jsx/src/withABTest/withABTest.tsx
1
8
12.5%

Totals

Change from base Build 271:
-7.6%

Covered Lines:
122

Relevant Lines:
134

💛  - Coveralls

do we want to support this style as well?
<ABTest name="test1"
    A={test1=A,}
    B={test1=B,}
/>

@znut Not really - I think you can achieve this behavior with withABTest HOC though, in a bit cleaner way

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Clarify Windows vNext naming for Vibranium release

Great minds think alike.
I made the changes to this on Monday and pushed them live.
Thanks for keeping us honest, @zhuman!!
Eliot


Anerdw: Watch ^hex py7$

Anerdw requests the watch of the watch_keyword ^hex py7$. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

^hex py7$ has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Rejected by Fastnlight in Charcoal HQ. No rejection reason was provided.


PF Ethernet Sensor bridge peoplenet and bodypose app support

This PR adds peoplenet and bodypose examples support for Microchip PF boards using IMX477 using Linux sockets

Thanks for your code submission!  Code that gets included in the public repo must have test fixture, ensuring that it runs with "pytest".  Please add two new tests that invoke the examples provided here.  To do this,

Borrow the content from tests/test_linux_tao_peoplenet.py.  Don't forget to update the copyright date appropriately.  Note that the test calls the example program with "--frame-limit=300" -- if we reach that number of video frames without a fault then the test passes.
Change the statement that says<EMAIL_ADDRESS>to<EMAIL_ADDRESS> Support for that condition is already in the tree.  This statement tells the test fixture to skip this test unless it's running on a host that has an IMX477 configuration attached.
Build and run the demo container
Run "pytest", show that it passes, and verify that it doesn't run your new IMX477 tests
Run "pytest --imx477", show that it passes, and verify that it does run your new tests


Find a good plant API

we need plants. need that api access. reply to this issue with the link to the api when completed.

I found one!
https://perenual.com/


[WIP] Adding Instagram Filters to Selfies (fixes issue #492)

This is still a work in progress; it has been uploaded to make the code visible.
I've currently got the cssgram filter previews working for the selfie camera, but am unable to get the photos to save.
There is a bit of trouble when saving since the filter is a html class. To get around that, I'm hoping to take a picture of the preview image with the filter and save that. My current thought process is:

creating a separate interface for the selfie-photo image so that a picture can be taken of it
saving the selfie-preview image whenever a filter is selected to a second parameter in the photo object (need the original photo in order to apply filters correctly)
saving the alternate data when "select selfie is saved" if it exists

The code right now has the initial implementation, which doesn't work but provides a bit of structure of how I'm attempting to make it work.
Aside from that, the embedded javascript should probably be changed to listeners, and the cssgram library could be moved outside of the style.css file as well.
There is a bunch of excess code I am using for debugging and testing as well.

I'll do a code review on this early next week.  @flukeout can you try it for UX issues?

@humphd @Pomax I created a new branch for the Caman implementation here.
I think we should close this pull request to keep code clean since I don't really use any of the code from this one. If you guys agree, I'll open a new one for that one once I clean up the code.
The filter and reset is working on the new branch, though I had trouble using the existing canvas so I made a separate one for now.
The save feature is also not working due to the save pattern that Caman uses. Since Caman saves to a file path, we don't have a data object (I believe it's a byte object?) for this this line.
As you can see, I tried using the file path, but that gave me an error when savePhoto() tries to execute due to the incorrect parameter type.
I'll continue to try and figure out how to properly save. It might work if we another function in index.js (like saveFilteredPhoto() and that just refreshes the files since the photo is already saved to a path), but I'll continue that experiment tomorrow.

Sure, let's close this and you can do a new PR.  Quickly looking at your new branch, I think you should be having Caman use the existing canvas vs. creating a new Image.  But let's see the full PR and we'll comment there.


Add .NETCore 3 preview support

WIP 🚨

My plan was to ship an alpha targeting the .NET Core 3 preview alongside netstandard, and when .NET Core 3 ships we can remove the alpha flag.

Blocked by https://github.com/dotnet/sdk/issues/3146

For whatever reason, I can't get CI to work. This is published as 5.0.0-alpha3. @mbaumanndev

@dustinsoftware Since you deleted the AppVeyor build, the dev build NuGet server (https://reactjs.net/getting-started/download.html#development-builds) won't work any more, as that was coming from AppVeyor. Potentially we can use GitHub's package hosting once that's available. In the interim I can probably set up a self-hosted package server again.

Sorry about that.. TIL we have a custom NuGet dev build channel.
I wonder if we can set up Azure Pipelines to publish to a custom NuGet
feed? (I hope so)
I am currently just publishing alpha NuGet builds to the main feed so that
people don’t have to use a new package source to try out alpha features...
On Tue, Jun 4, 2019 at 01:11, Daniel Lo Nigro<EMAIL_ADDRESS>wrote:

@dustinsoftware https://github.com/dustinsoftware Since you deleted the
AppVeyor build, the dev build NuGet server (
https://reactjs.net/getting-started/download.html#development-builds)
won't work any more, as that was coming from AppVeyor. Potentially we can
use GitHub's package hosting once that's available. In the interim I can
probably set up a self-hosted package server again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/reactjs/React.NET/pull/791?email_source=notifications&email_token=AAHGCFXL65MC2DRIFPGIIIDPYX2RZA5CNFSM4HJHVKZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW3N4VA#issuecomment-498523732,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHGCFUG5FIMEXCVLCX7BILPYX2RZANCNFSM4HJHVKZQ
.


“As a social network user viewing an interesting comment on a friends page, I would like to visit the page of the “Friend of a Friend” who made the comment.”

This came up in the context of finding a Friend of a Friend (FOAF) thread

Added to readme

Opening this as part of moving all user stories into issues again.


⚠ File access has degraded performance

In d271e0d, File access (https://fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 8259 ms

Resolved: File access performance has improved in d0cae10 after 10 minutes.


Running LLM Widget command several times deletes LLM Modal command from commands list

Even upon creating a new Obsidian vault, installing BRAT, installing the beta form of this plugin, the Modal command never displays in the command list. The Widget command also never 'does anything.' Clicking it results in no behavior.


Neogit does not recognize git repo when Neovim's CWD contains special characters

Description
When invoking Neogit when Neovim's CWD contains a directory where some folder has special characters which need to be escaped, it does not recognize that it's in a git repo and asks whether I want to initialize a new one.
I noticed this while working in folders which have square brackets in the name. This is common in Nuxt projects to indicate dynamic routes, for example.
It only happens when that folder is in the CWD, for some reason. Opening a file inside such a folder from an nvim instance running in another CWD, does not produce this error.
Neovim version
NVIM v0.9.1
Build type: Release
LuaJIT 2.1.0-beta3
Operating system and version
macOS 13.5
Steps to reproduce
Assuming minimal.lua from below is in the current directory.
mkdir repo
cd repo
git init
mkdir "[bad_name]"
touch "[bad_name]/file.txt"

The following will produce the error when trying to invoke Neogit:
cd "[bad_name]"
nvim -nu ../../minimal.lua file.txt

The following will NOT, however:
nvim -nu ../minimal.lua "[bad_name]/file.txt"

Expected behavior
Neogit sees the repo and shows the git status page.
Actual behavior
Neogit does not recognize the repo and asks whether I want to initialize one.
Minimal config
vim.cmd([[set runtimepath=$VIMRUNTIME]])
vim.cmd([[set packpath=/tmp/nvim/site]])
local package_root = "/tmp/nvim/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
  require("packer").startup({
    {
      "wbthomason/packer.nvim",
      {
        "TimUntersberger/neogit",
        requires = {
          { "nvim-lua/plenary.nvim" },
          { "sindrets/diffview.nvim" },
        },
        config = function()
          print("loaded neogit")
          require("neogit").setup()
        end,
      },
    },
    config = {
      package_root = package_root,
      compile_path = install_path .. "/plugin/packer_compiled.lua",
      display = { non_interactive = true },
    },
  })
end
if vim.fn.isdirectory(install_path) == 0 then
  print("Installing neogit and dependencies.")
  vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end
load_plugins()
require("packer").sync()

I made a quick fix in fork and opened a PR for it. It seems trivially fixable by just quoting the path in git rev-parse so that special characters don't mess it up, and so far it's working. :)


[system] Add unstable_createCssVarsProvider api

the idea behind this PR is that Joy & Material will use unstable_createCssVarsProvider (similar to createStyled) to provide CSS variables that developers can extend and/or override the default theme.
CssVarsProvider at its core is a ThemeProvider + a function that compute theme input to create CSS variables.
The picture below describes the high-level flow that this API is responsible for.

How to use this API
First, the design system has to create the Provider with the default theme and then exports it. The theme structure needs to follow the palette structure (the keys will be the mode name and the value can be any palette structure). To see how type is defined, check out spec file
// in `packages/mui-joy`,

const ThemeContext = React.createContext();

const { CssVarsProvider, getInitModeScript } = createCssVarsProvider(
  ThemeContext,
  {
    defaultMode: 'light',
    theme: {
      palette: {
        light: {
          brand: '',
          appBg: '',
        },
        dark: {
          brand: '',
          appBg: '',
        }
      },
      fontSize: {
        md: '1rem',
        // ...
      },
      // ...the rest theme structure
    },
  }
);

export { CssVarsProvider, getInitModeScript };

Then, developers can import the Provider from the package. (If they don't want to use CSS variables, they can import the ThemeProvider as usual)
import { CssVarsProvider, useTheme } from '@mui/joy';

function App() {
  return (
    <CssVarsProvider
       // theme={{ }} // they can override the default theme
       // theme={{ palette: { comfort: { ... } } }} // or they can extends the palette
    />
  )
}

const CustomComponent = () => {
  const theme = useTheme(); // the theme is the same as in `styled` API
  return (
    <button
      style={{
        // `vars` is the computed object that reference to CSS variables
        color: theme.vars.palette.brand, // the result is `var(--palette-brand)`
      }}>Foo</button>
  )
}

[x] I have followed (at least) the PR section of the contributing guide.

I love it! I played with it a bit. Just to confirm my understanding, it is expected that theme.vars is undefined yet as useTheme for joy isn't in the scope of this PR, right? Code sandbox

Yes, correct. This PR is from system perspective only.


Displaying issue for topics at level 3 and more

Hello,
I founded a displaying issue with topics at level 3 and more :

Used command line:
dita -i "C:\xxx\inputs\flowers\flowers.ditamap" -t "C:\xxx\inputs\flowers\temp" -o "C:\xxx\inputs\flowers\out" -f=html5-bootstrap -v --menubar-toc.include=no --args.breadcrumbs=yes --nav-toc=collapsible
Input and output are here:
flowers.zip
Thanks.

Can you confirm you are running this on the latest DITA-Bootstrap 5.3.2 release with the latest extend.css v1.2.0 ? When I run your transform my arrows expand properly as shown below. I also don't get any excessive whitespace - tested on Chrome and on Firefox.

I noticed that in your output common-extended.css is failing to load - it is looking in the wrong place:
<link rel="stylesheet" type="text/css" href="../../css/commonltr.css">
- <link rel="stylesheet" type="text/css" href="../css/common-extended.css">
+ <link rel="stylesheet" type="text/css" href="../../css/common-extended.css">

My guess is that was a bug and fixed in fox.jason.extend.css at some point.

That is really weird. I cannot reproduce your issue. I tried a local build on Mac and a GitHub Action build here and they both work fine. Maybe it is a Windows issue of some sort?

You are right. It's a Windows specific issue.
I tried the same transformation on Linux and it works well!

This is guess work, but try reversing the slash here
- <xsl:value-of select=" replace($FILEDIR,'[^/]+','..')"/>
+ <xsl:value-of select=" replace($FILEDIR,'[^\]+','..')"/>

I'm guessing your $FILEDIR is not a linux style filepath.  Either way it is not a bug in this plug in, it is a bug in [the other one]((https://github.com/jason-fox/fox.jason.extend.css) = I don't use Windows.

Moving issue to https://github.com/jason-fox/fox.jason.extend.css/issues/5


Fix a bug to respect the HF_HUB_ETAG_TIMEOUT.

The purpose of this pr is to fix a bug that seems the HF_HUB_ETAG_TIMEOUT is not respected.
It looks like the HF_HUB_DOWNLOAD_TIMEOUT is respected in places that the HF_HUB_ETAG_TIMEOUT should be respected.

@Wauplin , a small fix for the previous pr, seems like when I took your suggestion, there were couple of places you put HF_HUB_DOWNLOAD_TIMEOUT instead of HF_HUB_ETAG_TIMEOUT.
So it seems that on the main branch for now, only the HF_HUB_DOWNLOAD_TIMEOUT is respected (:

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@Wauplin Thank you very much for your help!


Make the homu domain name not be buildbot2

Homu is currently hosted at https://buildbot2.rust-lang.org/homu/, but probably shouldn't need the 2.
[to fill out] [irc logs explaining issue]

https://mozilla.logbot.info/rust-infra/20170427#c4093 - I think these are the best logs about it. Instructions still need writing I believe.

https://buildbot2.rust-lang.org/homu/ now redirects to https://bors.rust-lang.org/ 👍


Update netty-tcnative-boringssl-static to 2.0.43.Final

Updates io.netty:netty-tcnative-boringssl-static from 2.0.39.Final to 2.0.43.Final.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.netty", artifactId = "netty-tcnative-boringssl-static" } ]

labels: library-update

Superseded by #429.


Migrate amplify-codegen package (#76)

Release the migrated amplify-codegen

Close it since the [ci skip] tags in commit


traefik UI not functional

since #1035, the traefik UI is broken. Recent releases of traefik (v1.0.alpha.392+) introduced a new web build system that is no long compatible with our proxy. The issue needs to be fixed in nginx-mantlui (see https://github.com/CiscoCloud/nginx-mantlui/issues/12) and then integrated back into Mantl

Hi @ryane, does this have to do with the warning: "API contains no information. If this is not expected, try restarting traefik." that I get in the healt checks? Or should I open a new issue for that?

Hi @mcapuccini. I think that might be a different issue but I actually haven't run across that one (at least not in recent releases). The issue here is that when you load the traefik UI, it won't reflect the correct state b/c all of the API requests are resulting in 404s.

Ok, I better use the 0.5.1 version instead of the master branch. Thanks.


gccgo-go vs. go discrepancy for eval order

What version of Go are you using (go version)?
$ gccgo-go version
go version xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3 linux/amd64
Does this issue reproduce with the latest release?
It works with non-gcc go.
What operating system and processor architecture are you using (go env)?
$ gccgo-go env
GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH=""
GORACE=""
GOROOT="/usr"
GOTOOLDIR="/usr/lib/gccgo/tool"
TERM="dumb"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CXX="g++"
CGO_ENABLED="1"
What did you do?
https://play.golang.org/p/V4-aR5AR5N7
It works on playground, but with gccgo-go it errors out:
$ gccgo-go run repro.go
2018/03/08 19:56:50 Wrong value returned: []
exit status 1
What did you expect to see?
All good!
What did you see instead?
Wrong value returned: []

This is probably a duplicate of #23188 .
We should consider all these order-of-evaluation issues together.
I'll close this, and if it doesn't get solved as part of the solution for #23188 we can reopen.


suix_queryTransactionBlocks

the rpc method : suix_queryTransactionBlocks , it's param : filter , setting like below:
filter: {
FromAddress:  'xxxxxx',
ToAddress: 'xxxxxxx',
}
then result will be :
{
"code": -32602,
"message": "expected value at line 1 column 93"
}

Unfortunately, filters are known not to work well, and in this case, they might not be supported.
From the error message, something else might be wrong here. Could you share a dummy example (not the actual addresses if you don't want to share them).


NullPointerException in SetNewUrl

The following function
BranchIOS.getInstance().SetNewUrl(url);

throws a null pointer exception when called with a URL with no Query string. This happens for Facebook login URLs for instance.
You can work around this bug by just wrapping it up with:
if (url != null && url.Query != null)
{
       BranchIOS.getInstance().SetNewUrl(url);
}

The following code needs to be fixed on line 45 of BranchIOS.cs
It currently does:
void processUrl(NSUrl url) {
   if (url != null) {
      foreach (string query in url.Query.Split (new [] { '&' })) {
                     ...
      }
   }
}

Instead it should be:
void processUrl(NSUrl url) {
   if (url != null && url.Query != null) {
      foreach (string query in url.Query.Split (new [] { '&' })) {
                     ...
      }
   }
}

@kostub Please try v1.2.0 as this should be addressed.


Wrap input files instead of copying them

When possible (HDF5 and pandas) files should be read directly from the file.

84394be adds the HDF5Reader class that reads directly from file. I will also add a PandasReader.


All widgets are deleted when "Pre-render the inner container for each sidebar" activate

All widgets are deleted (really deleted on the database) when we do some change on widget area.
The problem is related with "Pre-render the inner container for each sidebar", when this option are activated the plugin adds a div around the sidebars (even on admin area), and this cause the problem when adding/remove widgets if you refresh after, all widgets are gone, the drag and drop also stop working.
Add  "&& ! is_admin() " in the if in "dynamic_sidebar_before" and "dynamic_sidebar_after" solves the problem.

This has already been fixed in version 1.7.0 which you can download from CodeCanyon. Note that this is the repository for the JavaScript-only version, not the WordPress version.


mod_auth_openidc install not working in centos 7

I'm using a centos 7 box (using vagrant & chef)
installing apache2.
Install dependencies (hiredis, jansson)
install mod_auth_openidc from rpm.
restart apache, which fails.

I get this error message from "systemctl status httpd.service"
httpd: Syntax error on line 123 of /etc/httpd/conf/httpd.conf: Syntax error on line 55 of /etc/httpd/mods-enabled/mod_auth_openidc.conf: </IfModule> without matching <IfModule> section
What do I do different to the .conf file so it is read properly by apache?

Which version are you using? When doing this with 1.7.1 there should be no reference to /etc/httpd/mods-enabled since there is no mod_auth_openidc.conf installed anywhere. Your error should be:
oidc_check_config_openid_openidc: one of 'OIDCProviderIssuer', 'OIDCProviderMetadataURL' or 'OIDCMetadataDir' must be set

at which point you'll need to configure the module according to the docs, usually in /etc/httpd/conf.d. There's only httpd/conf.modules.d/10-auth_openidc.conf  that gets installed on CentOS 7.
Could it be that you've installed a file from a Debian distribution package, since CentOS does not even use the /etc/httpd/mods-enabled directory AFAIK. Can you paste the contents of /etc/httpd/mods-enabled/mod_auth_openidc.conf?

I am in centos7.  however I do see the /etc/httpd/mods-enabled folder structure.  Apache works when I disable the openidc module.  however when I try to just add it in, i get that error.
FYI.  The mod_auth_openidc.conf  in /etc/httpd/mods-enabled/  is one of my own making.   It has all the customizations for the module I'm looking for.  Where should I drop these configurations then, if not in the 'mods-available' folder?  There is no conf.d folder

You seem to have a configuration structure that mixes elements from different distributions (my clean centos7 distro only has conf.modules.d) but nevertheless: since your own mod_auth_openidc.conf gets stuck loading, the error is in there. Could you examine/paste its contents? Looks like it is lacking an <IfModule> statement (although the error could also be in the  file that is including it, usually /etc/httpd/conf/httpd.conf.

I've double-checked the contents of the package for CentOS 7; there's no /etc/httpd/mods-enabled directory, so I'm concluding there's no bug in the module/package but it rather is a configuration error. Feel free to ask on the mailing list for help on that.
# rpm -q -filesbypkg -p mod_auth_openidc-1.7.1-1.el7.centos.x86_64.rpm
mod_auth_openidc          /etc/httpd/conf.modules.d/10-auth_openidc.conf
mod_auth_openidc          /usr/lib64/httpd/modules/mod_auth_openidc.so
mod_auth_openidc          /usr/share/doc/mod_auth_openidc-1.7.1
mod_auth_openidc          /usr/share/doc/mod_auth_openidc-1.7.1/ChangeLog
mod_auth_openidc          /usr/share/doc/mod_auth_openidc-1.7.1/LICENSE.txt

Thanks Zandbelt. I think you are correct.  I was loading in the mod_auth_openidc.conf file in that folder with my chef recipe. Centos does not like that configuration style


Light stuck / not adapting

I have a couple of lights in my hallway I want to control with AL. All are Hue bulbs/spots connected via Zigbee2MQTT. All lights work well and turn on and off and everything just fine. I have an automation with a motion sensor that fires lights.turn_on and off.
For all lights but one AL works well. However there is one light (single light bulb) that does not adjust brightness and color temp when turned on via the automation. It turns on but with the settings that it had earlier.
However if I toggle switch.adaptive_lighting_hallway off and back on then it does adjust. But it stays stuck on that brightness / color temp until I manually toggle again.
I also removed the light from the AL config and put it back but no change. Of course I did a restart of Zigbee2MQTT and HA. Needless to say I am on latest prod version for everything (HA, AL, Z2M). It is very strange. Anyone have an idea?

Quick update, I had experimented with some settings. Mostly the adapt_delay as I thought maybe some lights are too slow to turn on so that they miss the adaptation. While this seemed fixed my one light I now have moved all my rooms to DL and notice that it is a complete Desaster. Most of the lights in some cases entire rooms do not adapt at all with motion triggers. For example I walked into my bathroom this morning and sleep mode was def. Off again but the lights were all still in sleep. Only way as described is to toggle the switch in the integration. That makes the change momentarily but then the lights get stuck again. Maybe it is some weird setting but I don't know what it could be. I need help!!! Thanks

Hi,
I was wondering if this is being addressed? Tbh I am really frustrated and the integration is not running properly for days now and no matter what changes I make to the settings, the lights will always be going into manual control. Even if there is nothing that could be logically triggering it. Because of that my lights are always stuck and do not adapt.
I also added my journey of pain here: https://community.home-assistant.io/t/new-adaptive-lighting-integration/243788/291
I really would appreciate some help and guidance as I am about to kick out that integration for good and move on to some other solution. It is simply not worth my time anymore and all the frustration over the past days

I noticed the same and suspect it broke with 2024.5, but I don't know what exactly.
I have a suspicion about these events:

Here @basnijholt fixed an issue: https://github.com/basnijholt/adaptive-lighting/pull/970
by setting run_immediately=False

run_immediately was deprecated a day later by @bdraco: https://github.com/home-assistant/core/pull/115169

But this was not only a deprecation notice, there was also a code change that removes the code for run_immediately=False, although it was only deprecated for 2025.5:
https://github.com/home-assistant/core/pull/115169/files#diff-79667bda301cc51e7bdf9df436c097570bd3ea3bf7a78091029a8fef9df27587R1505-R1508
@bdraco I guess that was a little too optimistic 🙂

Since its unlikely anyone was calling run_immediately with False [..]

While I'd recommend fixing whatever race is going on instead, you can get the same semantics as before by adding await asyncio.sleep(0) at the top of each function instead.

I can confirm that it wasn't https://github.com/home-assistant/core/pull/115169 after all, at least not in my situation.


eat all the hot dogs in iceland 🌭🌭🌭

Description: iceland has some of the world's best hotdogs. but they don't eat themselves
ETA: 2023-09-28
Maintainer: ansgar, reid, patrick, and amean
### Milestones
- [ ] head to [Bæjarins beztu](https://maps.app.goo.gl/yJkwnG9cXa8Xfm7m9)
- [ ] procure hot dogs 🌭
- [ ] consume hot dogs 🌭
- [ ] recover and ship saturn 🪐

Known dependencies:

stomach compacity
willingness to eat mystery meat

View this starmap here: 🌭

@dchoi27 gauntlet thrown


Search app fails silently on bad facets query parameter

Going to a search URL that has the facets query parameter with url-escaped parentheses fails with a blank page rather than displaying error information and/or recovering by discarding the bad parameter and loading default facet view.

Fixed through commit 7ad26bc4b2363341d79e17a2e152ac099833c593
In case of such an error, an error page is rendered containing the reason of it.
Example of such a message for the URL https://synapse-dev.isrd.isi.edu/chaise/search/#1/Zebrafish:Subject?facets=%28Subject:Issuer::eq::Dsy%29&layout=table&page=1:
ERROR:
    malformed URI sequence
    facets=%28Subject:Issuer::eq::Dsy%29

@karlcz : I think it's better to display an error message and let the user correct it, than to pop up an alert window with that message and loading the default facet view.

ok


dev-hooks-readTheDocs-py36beta

testing beta image on rtd

Coverage increased (+0.03%) to 90.675% when pulling df203cd1c3652395b4f7995b8e85058eeb618ed5 on develop into 42ba4c10c8c8c6f2745e39685cc96f25064d49c1 on master.

Coverage increased (+6.3%) to 96.942% when pulling 31acde8926becd5568c6fdb6091b0d9795897a67 on develop into 42ba4c10c8c8c6f2745e39685cc96f25064d49c1 on master.


[Feature Request] Better error details on why ephemeral test server didn't start

Is your feature request related to a problem? Please describe.
Right now in CI we're randomly getting Failed to start ephemeral server: Failed connecting to test server after 5 seconds errors when calling TestWorkflowEnvironment.createLocal.  But there's no indication as to why the test server couldn't be started.
The relevant code in sdk-core is here. Looks like an attempt is made to start the ephemeral test server, then connect attempts every 100ms for 5s, if not connected at that point throw an error.
Key Problem: No idea why the test server didn't start

Describe the solution you'd like
A clear error reason logged as to why the test server didn't start. Right now it's also impossible to tell if there was an error or if the server was just slow to startup (e.g. maybe it would've started fine after 6s).
Additional context

But there's no indication as to why the test server couldn't be started.

Usually there is, so I think we need to debug your problem specifically and see what it is and if we can improve logs/output on this specific situation.

when calling TestWorkflowEnvironment.createLocal

I assume you're using TypeScript? Can you try setting the server option for that call with a log with a level of info or debug? But that may not show anything either. This should just download latest non-RC of https://github.com/temporalio/cli and execute temporal server start-dev.

Thank you for the fast reply! Great call, let me see what I can do to improve logging. Yes we're using TypeScript. Looks like we were actually only setting level: 'warn', we'll see if 'debug' sheds some light 🤞

Hi @cretz I've had no luck trying a bunch of different things. I've created a barebones reproducible example to show what I'm experiencing. If you can check it out that would be much appreciated 🙏
https://github.com/mikeroelens/temporal-test-server-error-debugging

Transferring to sdk-typescript repo for help here (if it is indeed something we should fix in Core we can transfer back)


Add config option for ssh user for bastion host

Currently the support for bastion hosts (ssh jumphost) only allows specification of a hostname and a port number. In case the username on your bastion does not match exactly the username used on the worker nodes, you simply cannot use a bastion host.
It should be possible to specify a username for bastion-host authentication.

Fixed in https://github.com/kubermatic/kubeone/pull/651


gha: default the helm-default image-tag also in pull request workflows

The blamed commit modified the helm-default action to not perform internal defaulting of the image-tag, in favor of making the defaulting explicit at the caller site. However, it updated the workflow dispatch workflows, but missed the pull request ones. Let's get that fixed.
Fixes: fbd0ea4b128e ("gha: always respect the given image-tag in the helm-default action")

/test


XDMP-VALIDATEMISSINGATTR when using field values query

This is probably user head gap, given that I've been having a very hard time making sense of the jsDoc for valuesBuilder. When I try to specify a field index, I get back XDMP-VALIDATEMISSINGATTR.
My db includes a field (and field range index) on a field named 'questionId'. I was trying to use it like this:
var marklogic = require('marklogic');
var my = require('./my-connection.js');

var db = marklogic.createDatabaseClient(my.connInfo);
var vb = marklogic.valuesBuilder;

db.values.read(
  vb.fromIndexes(vb.field('questionId'))
).result(function (result) {
  console.log(JSON.stringify(result, null, 2));
}, function(error) {
  console.log(JSON.stringify(error, null, 2));
});

The result of running this script is:
{
  "message": "query values: response with invalid 400 status",
  "statusCode": 400,
  "body": {
    "errorResponse": {
      "statusCode": 400,
      "status": "Bad Request",
      "messageCode": "REST-INVALIDPARAM",
      "message": "REST-INVALIDPARAM: (err:FOER0000) Invalid parameter: Invalid combined search\nRESTAPI-INVALIDCONTENT: (err:FOER0000) Invalid content: Operation results in invalid Options: XDMP-VALIDATEMISSINGATTR: (err:XQDY0027) validate strict { $opt } -- Missing required attribute: Found () but required (@name & @collation?) at /search:search/search:options/search:values/search:field using schema \"search.xsd\"()(@name & @collation?)/search:search/search:options/search:values/search:field\"search.xsd\""
    }
  }
}

When I dump out what's created by vb.fromIndexes, it looks like this:
{"fromIndexesClause":[{"field":"questionId"}]}

I thought maybe it was because I wasn't calling where(), but I don't want a qualifying query, and when I tried adding one, it didn't help.
The generated options look like this:
{ values: [ {name: 'structuredef', style: 'consistent', field: 'questionId'} ] }
I think that's wrong. In XML, the field specifier has a name attr, and I believe JSON has a corresponding property name. At least, I convinced myself of that once upon a time:
http://docs.marklogic.com/guide/rest-dev/appendixa#id_24153
I tried to convince myself of this by building a correct REST call by hand, but I think I'm too tired because I can't get it to work, either.  I'll post a followup if I unravel it.

Test added to regression under test-complete/nodejs-documents-values.js
Thanks,
Mayank


Get JSON  files from validators to analyze the subnet data as V1

Problem summary:
Since we are currently not running a validator on the subnet we don't have a way to efficiently measure the volume from miners before and after the merge of the MIP changes that are coming and released via version v1.1.0.
Acceptance Criteria:

[ ] Collect at least 3 JSON files from validators to have a snapshot prior to the validators upgrading version and being able to compare miner scraping volume.

Note: As a next step let's get the validator running.

We will give it another day we got 1 JSON file with good insights. Still shooting for 3 JSON files.


Update COVID19_Fallzahlen_Kanton_TI_total.csv

Updates to this file all done by sarah (cf. https://team.opendata.ch/covid19mon/pl/o7mwxkr9p3ygj8sfxtax6eispe).  I'm just creating a pull request as she mentioned her GitHub acct wasn't working.

why does it say 43 dead when the source says 37 https://www4.ti.ch/dss/dsp/covid19/home/ ?

Sorry, not sure, I didn't make the file.  Will aim to verify next time.


Add kb exhibition for lifelong learning

Add kb exhibition module in lib for lifelong learning

/assign @jaypume


How can i use this library in android?

Basic development processes are out of scope for this issue tracker.
Just build the jar and use it like you use any other library. If you have trouble, use a search engine.

It would be very helpful if you make some releases of the project and upload it on github like jar file or so.
And Thanks by the way for making this library.

That's fair. I'll do that.

Here you go: https://github.com/CalebFenton/apkfile/releases/tag/v1.0.1


Add a dialog to remove an environment

Fixes #59.

[x] Update the documentation to show how to remove images

This is only about removing an image that has been built.
Cancelling of a build could be handled in a separate PR.


Feature-Request: Apply parsers in any order

An example use case would be LDAP schema as retrieved via LDAP
( <IP_ADDRESS>.4.1.14<IP_ADDRESS>.8 DESC 'Certificate' X-BINARY-TRANSFER-REQUIRED 'TRUE' X-NOT-HUMAN-READABLE 'TRUE' )

which I want to parse into
pub struct LDAPSyntax {
    pub oid: ObjectIdentifier,
    pub desc: String,
    pub x_binary_transfer_required: bool,
    pub x_not_human_readable: bool,
}

The tags (DESC, X-BINARY-TRANSFER-REQUIRED,...) here can appear in any order and some of them can be optional (with or without a default value) but others are required (DESC in this case) for a given type of schema entry (the above is one for an LDAP-Syntax). Some have values after the tag and some do not (but a given tag always has a value or never has one). So what we really want is to express the form of each tag as a parser.
I can of course build a parser for a specific entry by chaining or() and then making it repeated() and then manually sifting through the results to create custom errors if required tags are missing but it feels like the general problem of having things to parse that are made from components that are required to exist but in an unspecified order could benefit from a general solution in chumsky directly, maybe something that could take a parameter
vec![ Foobar::Required(parser1),
        Foobar::Required(parser2),
        Foobar::Optional(parser3),
      ]

Maybe the API could even optionally allow the use of a Builder (like the ones created by derive-builder) pattern for the result type.
Alternatively one could return a vector sorted the same way as the input vector with a value for required parsers and Option for optional ones. Then one would probably want to require all the parsers to return the same type.

Thanks for opening this issue!
I have a few thoughts about this:

While I agree that in principle there are cases where it might be useful, this is quite a context-sensitive thing and any slight deviation of the intended semantics from what a user wants would likely make the combinator useless and waste a user's time trying to get it to work, or invite further feature requests to account for such cases. Although chumsky has some combinators that are technically context-sensitive, the general approach of the library is to cater primary to context-free grammars.

I'm not sure how this would be implemented and how this would be communicated. What if an input can be parsed as more than one of the inputs? What if an input can be covered by either a single parser, or by two other parsers chained together?

On a type level, I'm unsure how this might be implemented. Do all of the parsers need to produce the same output? If not, how does the combinator multiplex over them? It sounds like we'd need to figure out how to generate some enum-like data structure at a type level that can abstract over each of the outputs. That sounds difficult or perhaps even impossible without the user providing this enum themselves, which rather defeats the point of the abstraction.

I'm not opposed to this feature in principle, but I'd like to hear your thoughts on this because I'm having difficulty thinking about what form such a feature would take.

Maybe it would make sense to come up with at least a second and possible some more use cases to see what they all have in common. I know I have encountered similar parsing use cases in the past but I can't quite remember which project had similar issues. Probably one I did a few years ago related to parsing information on website imprint pages but I can't recall the specifics.
Some aspects of this problem are certainly more specific to my current problem than to the general problem (e.g. the bit where each parser parses a tag and then a value).
Edge cases are certainly a concern. Presumably the same issue can arise when using or() and I would expect similar behaviour here (the first parser that successfully parses something wins).
One possibility would be to use something like the struct derive-builder produces which is basically a version of the input struct with all fields wrapped in an Option.
My current solution is below (in shortened form, I think the omitted bits should be pretty obvious).
It is far from the most elegant or clean way of solving the problem, nor the most general but it works.
#[derive(PartialEq, Eq, Clone, Debug, Is, EnumAsInner)]
pub enum LDAPSchemaTagValue {
    Standalone,
    OID(ObjectIdentifier),
[...]
}

#[derive(PartialEq, Eq, Debug)]
pub struct LDAPSchemaTag {
    tag_name: String,
    tag_value: LDAPSchemaTagValue,
}

#[derive(PartialEq, Eq, Debug)]
pub enum LDAPSchemaTagType {
    Standalone,
    OID,
[...]
}

#[derive(PartialEq, Eq, Debug)]
pub struct LDAPSchemaTagDescriptor {
    tag_name: String,
    tag_type: LDAPSchemaTagType,
}

pub fn ldap_schema_tag_value_parser(
    tag_type: &LDAPSchemaTagType,
) -> impl Parser<char, LDAPSchemaTagValue, Error = Simple<char>> {
    match tag_type {
        LDAPSchemaTagType::Standalone => empty()
            .map(|_| LDAPSchemaTagValue::Standalone)
            .labelled("no value")
            .boxed(),
        LDAPSchemaTagType::OID => oid_parser()
            .map(LDAPSchemaTagValue::OID)
            .labelled("OID")
            .boxed(),
[...]
    }
}

pub fn ldap_schema_tag_parser(
    tag_descriptor: &LDAPSchemaTagDescriptor,
) -> impl Parser<char, LDAPSchemaTag, Error = Simple<char>> + '_ {
    seq(tag_descriptor.tag_name.chars())
        .padded()
        .ignore_then(ldap_schema_tag_value_parser(&tag_descriptor.tag_type).padded())
        .map(move |tag_value| LDAPSchemaTag {
            tag_name: tag_descriptor.tag_name.to_string(),
            tag_value,
        })
}

pub fn ldap_schema_parser(
    tag_descriptors: &[LDAPSchemaTagDescriptor],
) -> impl Parser<char, (ObjectIdentifier, Vec<LDAPSchemaTag>), Error = Simple<char>> + '_ {
    let (first, rest) = tag_descriptors
        .split_first()
        .expect("tag descriptors must have at least one element");
    oid_parser()
        .then(
            rest.iter()
                .fold(ldap_schema_tag_parser(first).boxed(), |p, td| {
                    p.or(ldap_schema_tag_parser(td)).boxed()
                })
                .padded()
                .repeated(),
        )
        .padded()
        .delimited_by('(', ')')
}

pub fn required_tag(
    tag_name: &str,
    span: &std::ops::Range<usize>,
    tags: &[LDAPSchemaTag],
) -> Result<LDAPSchemaTagValue, Simple<char>> {
    tags.iter()
        .find(|x| x.tag_name == tag_name)
        .ok_or_else(|| {
            Simple::custom(
                span.clone(),
                format!("No {} tag in parsed LDAP schema tag list", tag_name),
            )
        })
        .map(|x| x.tag_value.to_owned())
}

pub fn optional_tag(tag_name: &str, tags: &[LDAPSchemaTag]) -> Option<LDAPSchemaTagValue> {
    tags.iter()
        .find(|x| x.tag_name == tag_name)
        .map(|x| x.tag_value.to_owned())
}

#[derive(Clone, PartialEq, Eq)]
pub struct LDAPSyntax {
    pub oid: ObjectIdentifier,
    pub desc: String,
    pub x_binary_transfer_required: bool,
    pub x_not_human_readable: bool,
}

pub fn ldap_syntax_parser() -> impl Parser<char, LDAPSyntax, Error = Simple<char>> {
    lazy_static! {
        static ref LDAP_SYNTAX_TAGS: Vec<LDAPSchemaTagDescriptor> = vec![
            LDAPSchemaTagDescriptor {
                tag_name: "DESC".to_string(),
                tag_type: LDAPSchemaTagType::String
            },
            LDAPSchemaTagDescriptor {
                tag_name: "X-BINARY-TRANSFER-REQUIRED".to_string(),
                tag_type: LDAPSchemaTagType::Boolean
            },
            LDAPSchemaTagDescriptor {
                tag_name: "X-NOT-HUMAN-READABLE".to_string(),
                tag_type: LDAPSchemaTagType::Boolean
            },
        ];
    }
    ldap_schema_parser(&LDAP_SYNTAX_TAGS).try_map(|(oid, tags), span| {
        Ok(LDAPSyntax {
            oid,
            desc: required_tag("DESC", &span, &tags)?
                .as_string()
                .unwrap()
                .to_string(),
            x_binary_transfer_required: *optional_tag("X-BINARY-TRANSFER-REQUIRED", &tags)
                .unwrap_or(LDAPSchemaTagValue::Boolean(false))
                .as_boolean()
                .unwrap(),
            x_not_human_readable: *optional_tag("X-NOT-HUMAN-READABLE", &tags)
                .unwrap_or(LDAPSchemaTagValue::Boolean(false))
                .as_boolean()
                .unwrap(),
        })
    })
}

Perhaps this sort of thing could be implemented with an extension crate? Intuitively, I feel like it's a bit too complex for the main crate though, and rather diverges from the goal of context-free parsing and into the domain of semantic analysis.

I think I found myself looking for something like this today.
So it should accept both this input:
a=1 b="B"

as well as the other way around:
b="B" a=1

it's important to note that each entry may have its own type.
I want to turn it into a struct:
struct S {
   a: i64,
    b: String
}

So I could implement this by something like:
let a = just("a=").then(int);
let b = just("b=").then(string);

(a.then(b).map(|(a, b) => S { a, b }).or(b.then(a).map(|(b, a) => S { a, b})

but this gets old really fast with more fields in S.
If I had a
(a.next_to(b)).map(|(a, b) => S { a, b })

where next_to was "I don't care about the order" then my life would get a lot easier. The order in the parser still determines the order they appear in map, but the parsers are applied in any order; any permutation of them where they each appear once. If fields are required and missing, the parse would fail. If I need optional fields, I can use  or_not(). If I need default values, I can use a combination of .or_not() with map that does an unwrap_or.
Does the objection that this is a context-sensitive grammar still apply here? Is this expressible in by type system? Generating all the permutations would be one way to implement it but would be explosive - is there a better way?

I think my position for this sort of thing is that this is a semantic issue rather than a syntactic issue. Chumsky isn't intended as some sort of general-purpose input checking/verification system, it's intended to transform unstructured input into structured input: whether that final structuring is semantically correct according to some specification is a job for whatever system is invoking chumsky (although admittedly combinators like validate do allow chumsky to handle this sort of input validation to some extent). I think the best approach is to do ident.then_ignore(eq).then(value).repeated() and have a second pass that ensures that there are no duplicates.

I'm doing that now of course, but I'm frustrated with the work I need to do to get the types out of the vector that creates.
Given the struct
struct S {
   a: i64
   b: String
}

I also need an enum:
enum SField {
   A(i64),
   B(String)
}

so I can do the repeated with arbitrary types. Then I have a vector of SField which I then need to turn back into an instance of the struct S. All of that is verbose.
The alternative is to keep the values as strings (in a hashmap, say) and then take the fields out to convert them later, but then I can't associate knowledge of how to decode a field in the parser anymore. Instead I get a big try_map that tries to convert each string, without the help of parser combinators to convert these strings.
The nice thing about chumsky is that you can compose structured input you get from previous steps. That's why I'm looking for a combinator to help me doing this type of composition.
I'll note that this use case is from a programming language, and not a general-purpose input checking use case. In this case the language is XSLT, which has instructions that are XML elements, which each have XML attributes. The XML is tokenized into a stream of tokens, and some of the tokens are attributes.

I can definitely understand why this would be annoying. I can sort of imagine the design of such a combinator implemented generically, like so:
let (mut a_res, mut b_res, mut c_res) = (None, None, None);

loop {
    if a.is_none() && let Ok(a_out) = a.parse(...) {
        a_res = Some(a_out);
    } else if b.is_none() && let Ok(b_out) = b.parse(...) {
        b_res = Some(b_out);
    } else if c.is_none() && let Ok(c_out) = c.parse(...) {
        c_res = Some(c_out);
    } else if let (Some(a_res), Some(b_res), Some(c_res)) = (a_res, b_res, c_res) {
        break Ok((a_res, b_res, c_res))
    } else {
        break Err(...)
    }
}

API-wise, it would probably look similar to choice, but with an output type which is a tuple of the outputs of each parser in turn.
If someone is interested in having a knock at implementing this, I'd be happy to assist. The first step would probably be to duplicate and then adapt Choice.


client/iOS: fix ios_context_new

fixed wrong signature since ContextNew is BOOL now
added error checking

Thanks @nfedera for this fix. My merge request was based off someone else issue that didn't know how to make a merge request. There was no opposition on the bug filed so I made one on their behalf.


Add prefix capability for leaf hashing

Closes #76 (if this solution to that problem is a good one).

I just enabled CI on forks. Please push and let it run

We dropped this approach, so this PR is stale, closing.


Blog Post:  EoY update from pharmaverse council

Blog Post
We had this idea come up at council meet today and Mike enthusiastically raised his hand

Yay!


Example link in README is broken

I'm not sure if you mean for people to clone the repo and run the example, but the link in the README is broken: http://manleyjster.github.io/Leaflet.Illustrate/examples/0.0.2/simple/

Fixed. Thanks for noticing.


Create CHANGELOG.md

In order to transparently list changed to the library releases. Would be nice if we had a proper changelog with the 2.0.0 release to hightlight, what has changes since we forked mastodon4j.

This can be closed, as we can also generate release notes as part of the GitHub release process.


Cannot find type [Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo]

Hello  everyone,
I try to follow the tutorial
Tutorial: Use PowerShell to bulk invite Microsoft Entra B2B collaboration users

I'm using Powershell 7 on Windows 10

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

The module Microsoft.Graph was installed like described

Get-InstalledModule Microsoft.Graph

Version              Name                                Repository           Description
-------              ----                                ----------           -----------
2.15.0               Microsoft.Graph                     PSGallery            Microsoft Graph PowerShell module

I was also able to connect to the tennant Connect-MgGraph -TenantId "aaa-bbb-ccc-ddd-eee (my real id is a different one, of course)

When I try to create a new Object
$messageInfo = New-Object Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo

I get the error
New-Object: Cannot find type [Microsoft.Open.MSGraph.Model.InvitedUserMessageInfo]: verify that the assembly containing this type is loaded.

I already found InvitedUserMessageInfo - cannot find type #59466 , but it was closed without any solution.
Can you help? Thank you.

@soloplanWK
Thanks for your feedback! We will investigate and update as appropriate.

Hello @soloplanWK
After installing the PowerShell and MSGraph modules, you'll need to sign in to your tenant using PowerShell. Then, to send invitations, execute the following PowerShell script, replacing "c:\bulkinvite\invitations.csv" with the path to your CSV file containing the invitations.
Please refer it below once.
https://learn.microsoft.com/en-us/entra/external-id/bulk-invite-powershell#:~:text=a new line.-,Sign in to your tenant,You should see output similar to the following for each user%3A,-Verify users exist

Hi @Naveenommi-MSFT,
thanks for your reply.

After installing the PowerShell and MSGraph modules, you'll need to sign in to your tenant using PowerShell.

What do you mean?
Is this call
Connect-MgGraph -TenantId "aaa-bbb-ccc-ddd-eee"
not signing in?
If not, how exactly do I have do sigh in?
Thank you.

@soloplanWK
I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows. Microsoft Teams Community forum

@Naveenommi-MSFT
In my opinion the documentation is not complete. I just tried to replay exactly the steps from your tutorial and it doesn't work.
Anyway, I'll try to find help somewhere else.


[WIP] Release 0.16.2

Manager and Docs v0.16.2 (2017-12-11)
Manager
Fixed

Changing Region in Volume attach dialog did not reset Linode Config (#2812)
Volume attachment API requests must use integer config_id (#2813)

Changed

Image and Distro selector combined and fields renamed to match API (#2803)
Addresses /volumes API endpoint moving from /linode/volumes (#2803)

Details

9617ac58 (origin/pr/2811, displague/fix-2803, fix-2803) don't write to iterator in DistributionSelect
1af321bb Rewrite DistributionSelect to support private images
ff490a1a fix final tests related to images/distributions refactor
d2d40303 skip timezone tests
03e6ef3b don't need LinodeFromImage anymore
dc55a5c9 reviste tests for api image and distributions end-points merging (and related component changes)
bfee69b1 transferpool: if transferpool is not ready, render an empty span
22de8c22 prevent optgroup warnings due to dupe vendors in the sorted vendors list
fb432955 distrostyle: if linode prop isnt ready, render "Unknown"
2016b062 api: distribution.disk_minimum is now image.min_deploy_size
047755e6 distributions are now handled via images
a92f75c8 configs_idshould be numeric json values in volumes/ api calls (fixes 2813)
fb06d42d changing volume region should reset linode config (fixes 2812)
42a113c8 api: /linode/volumes is now /volumes

Docs
Added

Deprecation flags (#2756, #2821)
/account/payments/paypal and /account/payments/paypal/execute (#2801)
/domain/clone (#2747)

Changed

renames /linode/volumes to /volumes (#2754)
/distributions are now in /images (#2822, #2823, #2815)
API Changelog updated for 2017-12-11 release

Details

6ef35446 (origin/pr/2825) Reword changelogs box
f10bf0a2 Adds changelog for release and link to mailing list
21c8615a (origin/pr/2823) put vendor in images
2196e8bf (origin/pr/2822) Documents StackScript distro->image rename
b049449b (origin/pr/2821) make deprecated loud
99c6b9f1 add pagination doc
a7c5a057 documentation for distribution/image unification
7a9a4543 (origin/pr/2815, Dorthu/feature/document-image-distro) Documents accepting distributions as images
ef99f497 (origin/pr/2801, Dorthu/feature/document-paypal-endpoints) Document PayPal endpoints
a7f36eec (steve/docs/deprecated, origin/pr/2756) update deprecation copy
4c9842c4 fix typos in docs deprecation warnings
6d8594b3 use better deprecation message
f95a4974 move style into css
2cc68a7a add deprecated flag and support for it
9e389614 (yoshizzle/ref/volumes, origin/pr/2754) ref: Moved /linode/volumes to /volumes
595a13a1 (steve/docs/clone-zone, origin/pr/2747) code review feedback
78e20691 new: Add documentation for POST domain//clone

Coverage decreased (-0.02%) to 68.47% when pulling 2a4e263b9e0f2e9116ef91e44df30f1621bee79f on release-0.16.2 into fb15c63e832b6e868977cd619ab725b33960a7bb on master.

Coverage decreased (-0.05%) to 68.446% when pulling b4690df1c33aaa992a28c5b3e751f80d6eeadedd on release-0.16.2 into fb15c63e832b6e868977cd619ab725b33960a7bb on master.