Make windows airy create work

Current state
We build and provide CLI binaries for Windows, but have sofar not tested them or invested any development effort into making them work.

(thanks to @decmcc for the screenshot)
Desired state
We don't want to officially support windows for a lack of capacity and developer share.
As an airy user
Given that I have downloaded the windows CLI binary
When I run the create --provider minikube  command
Then I have a working minikube installation with support for cli commands
TODO:

[ ] Implement user story
[ ] Update docs to say that windows is supported unofficially

The problem with airy create on Windows is because the path of embedded file is read wrong. This line causes problem
https://github.com/airyhq/airy/blob/develop/cli/pkg/workspace/template/copy.go#L43
Even though bazel builds it correctly for Windows with "" instead of what is the default for *nix "/".
I tested with
content, err := templateDir.ReadFile("src/airy.yaml")

and it works correctly.
Also in the embed package, they have stated that: The path separator is a forward slash, even on Windows systems.

@ljupcovangelski That's very interesting. It means that we are reading the embedded directory wrong, because we use filepath.join which seems to use OS-specific path delimiters.
So to fix this we need to recursively list the template directory without relying on that method.

The embedded path was fixed and now airy create starts the provisioning on Windows. However, I was still getting some issues when the helm chart is deployed, that the images cannot be pulled
Failed to pullimage "busybox": rpc error: code = Unknown desc = Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on <IP_ADDRESS>:53 read udp i/o timeout

It needs some more testing and debugging.


ComponentEffects canceling requests

Problem is in the "component.effect.ts". When  multiple components are loaded,  of same type but different UID, all HTTP Requests get cancelled but the last one. This is because in this "ComponentEffects" switchMap is used, when changed to mergeMap everything works fine.

@ilicivan911 have you seen the response at your PR:

This one will be obsolete after GH-1196 (#1253) will be merged,
It probably also address the same issue as the above, with different approach (uses mergeMap to support loading multiple components in parraler with groupBy + switchMap to restart ongoing loading of the same component uid)

We're most likely publishing today/tomorrow a new release with this fix being added. Hope that solves your problem.

closing, assuming it's solved, but ping me if not


storybook-chrome-screenshot does not support "undefined". thrown when scs used with Storyshots

Hi. I'm attempting to use both SCS and Storyshots add-ons in my production project. storybook-chrome-screenshot exits successfully  but jest was failed. The full jest log is the following:
$ NODE_ENV=test jest storyshots.js
 => Loading custom .babelrc
 FAIL  frontend/storyshots.js
  ● Test suite failed to run

    storybook-chrome-screenshot does not support "undefined".

      at Object.<anonymous> (node_modules/storybook-chrome-screenshot/lib/withScreenshot.js:20:15)
      at Object.<anonymous> (node_modules/storybook-chrome-screenshot/lib/index.js:6:24)
      at newRequire (node_modules/@storybook/addon-storyshots/dist/require_context.js:76:12)
      at evalmachine.<anonymous>:224:34
      at runWithRequireContext (node_modules/@storybook/addon-storyshots/dist/require_context.js:102:3)
      at testStorySnapshots (node_modules/@storybook/addon-storyshots/dist/index.js:120:35)
      at Object.<anonymous> (frontend/storyshots.js:27:31)

Are there somebody whose some workarounds?

.storybook/config.js

import { configure, addDecorator } from '@storybook/react'
import bgs from '#/storybookDecorators/backgrounds'
import { initScreenshot, withScreenshot } from 'storybook-chrome-screenshot'

import 'babel-polyfill'

function loadStories() {
  const req = require.context('../src', true, /\.stories\.jsx$/)
  req.keys().forEach(filename => req(filename))
}

addDecorator(initScreenshot())
addDecorator(bgs())
addDecorator(withScreenshot())
configure(loadStories, module)

Entry point for Storyshots:

/* eslint-disable */
import initStoryshots from '@storybook/addon-storyshots'

// Workaround for https://github.com/facebook/react/issues/11565#issuecomment-368877149
const ReactDOM = require('react-dom')
const React = require('react')
ReactDOM.createPortal = node => React.createElement('portal-dummy', null, node)

initStoryshots()

It's caused by https://github.com/tsuyoshiwada/storybook-chrome-screenshot/blob/master/src/withScreenshot.ts#L25 I think it's better to return noop decorator by default rather than to throw exception.
@tsuyoshiwada How about it ?

Hi @Quramy, I'm sorry that response was delayed :cry:
It seems that there is no problem returning noop decorator!
FYI: At the time of implementation, we threw an exception to specify the unsupported framework.


selectionRequired Bug

I'm having an issue with selectionRequired not doing anything. I'm getting my data from a json file and everything is working fine except if I leave the field blank when clicking my submit it doesn't stop it from submitting. I would like for it to prompt for input if there isn't a value or if there is a value but they haven't selected one of the options from the dropdown. I'm using "valueProperty='*'" so I need them to select from the options in order to attach all my data points.

Here is my input tag
<input type="text" id="PlayerName" placeholder="Player Name" class="form-control flexdatalist" data-data='json/player_results.json'  										data-search-in='name' data-visible-properties='["name", "pos", "team", "bye"]' data-value-property='*'  										data-selection-required='true' data-text-property='{name}, {pos}, {team}' data-min-length='0' name="bid[0][playerInfo]:object" >

Hi,
Maybe I misunderstood your problem, but, what you're asking is to flexdatalist do the input validation (prevent form submittion if empty)?
Sérgio

Yes but not just prevent submission if empty. I also want to prevent submission if they haven't selected one of the items from the dropdown. For instance if the I have "John Doe" in the dropdown I don't want them to be able to type "Joh" and submit. I thought this is what the data-selection-required tag would do.

I'm expecting the result from the example for "country_name_required_selection" where you can begin typing and once you click off or tab it clears the field back out if they didn't select one of the items from the dropdown. This isn't happening in my case though.

So i figured out the problem. I can get it to work if I remove "data-value-property='*'".  If I remove this I can type in the field and when I click off of it without selecting an item from the dropdown it goes away. Could you look into this?

Any idea?

Still looking for a solution to this issue. Any chance you could look into it?

I was able to find the issue and fix it. When using "data-value-property='*'" it brings back an object. Because of this I needed to check the size of the object. Below is what I changed.
Original:
'/**
* Clear text/alias input when criteria is met.
*/
clearText: function (event) {
var val = _this.fvalue.get(),
options = _this.options.get();
            if (!options.multiple && options.selectionRequired && val.length === 0) {
                $alias[0].value = '';
            }
        },'

Modified:
'/**
* Clear text/alias input when criteria is met.
*/
clearText: function (event) {
var val = _this.fvalue.get(),
options = _this.options.get();
            if (!options.multiple && options.selectionRequired && (val.length === 0 || Object.keys(val).length === 0)) {
                $alias[0].value = '';
            }
        },'

Hi, I have the same problem, is this the solution?


Provide separate function for getting commit ID

CLOUDBLD-9971
This will be useful for atomic-reactor, to get the commit ID of the
source repo without having to call clone or reset.
Signed-off-by: Adam Cmiel<EMAIL_ADDRESS>Maintainers will complete the following section

[ ] Commit messages are descriptive enough
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request has a link to an osbs-docs PR for user documentation updates

PTAL, prerequisite for https://github.com/containerbuildsystem/atomic-reactor/pull/1915

Ping, this needs to be merged before the atomic-reactor PR that depends on it


Update references to plugin names

This begins work on #227. It updates the text names, but not the screenshots.

Thank you!


How can I use it in script with bash functions?

 ╰─λ cat test.sh
#!/bin/bash
function func {
echo 2
}
await 'echo 1' -e 'func'

 ╰─λ test.sh
sh: line 1: func: command not found
⣷ echo 1

I've tried to pass function with different approaches, but no result. Is it possible to pass function (without using another scripts.sh files or writing entire commands in await) in my case?

Hi.
Await spawns a separate process for every executed command, this process is not aware of functions you created in your bash script.
If you want to call function after something awaitable, you can do it like this:
#!/bin/bash
function func {
  echo 2
}
await 'curl example.com' 'sleep 5' # blocking execution
func #prints 2 after 5 seconds

If you want to launch bash function you can do this like:
await 'bach -e"source yourfile.bash; func"'

https://github.com/Casul51/timetable.sh/blob/main/timetable.sh#L102
I don't get what you want to achieve. So if you'll describe it to me, I can help.


The subset_selectors of cluster subsets could add a case_sensitive switch to select host that match subsets metadata?

The subset_selectors of cluster subsets could add a case sensitive switch to select host that match subsets metadata? forexample：
    lb_subset_config:
      fallback_policy: ANY_ENDPOINT
      subset_selectors:
      case_sensitive: false
      - keys:
        - idc
        fallback_policy: ANY_ENDPOINT
    load_assignment:
      cluster_name: xx
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 8019
          metadata:
            filter_metadata:
              envoy.lb:
                idc: 'xx'
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 8020
          metadata:
            filter_metadata:
              envoy.lb:
                idc: 'XX'

if request lb metadata is xx, then we could get <IP_ADDRESS>:8019 or <IP_ADDRESS>:8020 when case_sensitive is false.

/help wanted

/help wanted


Remove unnecessary declaration

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Signed.


rbac.authorization.k8s.io/v1resources are missing

Resources within therbac.authorization.k8s.io/v1 API group are currently not supported:
$ omc get clusterroles
Invalid object type: clusterroles
$ omc get clusterrolebindings
Invalid object type: clusterrolebindings

kudos to @bverschueren ++ for the PR


api: simplify echo error handler

This improves the code a lot 👍🏼 when you think it is ready to go, please make it as ready.


Add Python build and tests

[x] add python build
[x] add python build makefile recipe
[x] add python build makefile recipe to make build
[x] add python test
[x] add python test makefile recipe
[ ] add documentation

why do we need a python build system? curious...

System tests are all written in Python and need to be migrated. See https://github.com/spacemeshos/go-spacemesh/issues/2185

@lrettig, it seems that the python tests are gone. Can this PR be closed?

It's not especially critical but it would still be nice to include a python build here - I think it's likely we'll use python in the future for tooling, testing, simulation, etc. Ideally we'd add typescript and maybe one or two other languages too.

It's not especially critical but it would still be nice to include a python build here - I think it's likely we'll use python in the future for tooling, testing, simulation, etc. Ideally we'd add typescript and maybe one or two other languages too.

Then I'd suggest closing it and reopening it when there is a use case for it.

Okay


Use getEmitDeclarations instead of .declarations

Fixes an issue @DanielRosenwasser noticed when declaration wasn't explicitly set in the tsconfig file

Please add test for the scenario fixed.

@sheetalkamat 👍 done


SlideMenu is not displayed on UWP

I am trying to use SlideOverKit inside one of my projects. Everything works fine on iOS and Android, however the menu does not seem to display on UWP. There seems to be a problem in the UWP helper code.
I have managed to make the menu show up by adding the following code inside the SlideOverKitUWPHandler -> LayoutMenu() -> _dragGesture.RequestLayout lambda handler, after _popMenuOverlayRenderer.UpdateLayout() :
        if (!_mainCanvas.Children.Contains(_popMenuOverlayRenderer))
        {
          _mainCanvas.Children.Add(_popMenuOverlayRenderer);
        }

However, while this does seem to work as expected, I don't think it's the right approach to fix this. I have looked through the UWP code but unfortunately I did not have the time to go through all of it and understand everything that is in there.
The background overlay renders fine. The menu itself does not.
Please let me know what additional information I could provide in order to aid with fixing this issue.
Thank you.

I cannot reproduce this issue, is the sample in repo still have same problem?

The sample project is working fine.
I have managed to reproduce the issue with a simple sample project here : https://github.com/UizzUW/SOKSample
I think the problem is when I try adding the menu to one of the TabbedPage's children. If you run this sample, on Android it works fine, but on UWP it only shows the background overlay view. If you check the XAML layout tree on UWP, you will see that the only rectangle that gets rendered is the background overlay. I have tried debugging the library code but did not see the code that was supposed to layout the menu actually get called.
Please let me know if you need any more info.
Thank you.

I have the same problem. In our TabbedPage we have a MasterDetail-Page with a SlideMenu on the Detail-page. Everything works fine in Android and iOS. In UWP the Menu is only shown in Debug-Konfiguration. We found out, that in Release-Any CPU the Slide Menu is shown. When we chose x86 or x64 Platform, nothing is displayed.

I have the same problem. In my case, when I first launch the app and try to open the slide menu, it doesn't show anything but the overlay. But, If I try to navigate to some other page and come back to the page where the menu was before, it works as expected.

@jessejiang0214 In my case. I noticed that on the very first page the Appearing and Disappearing event gets fired back to back immediately even if the page is currently visible to the user. This causes the _popMenuOverlayRenderer to be removed from _mainCanvas soon after it was added.

I am also getting the same issue. The SlidePopupView is not visible in UWP


Update versions to match office store. closes #29

@eric-kimbrel,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Implementation of ClearDiagnosticInformation method

Work in progress.

Basic code has been written, and tested.
Testing includes the basic positive test cases to cover DTC clear, and positive testing of the negative response cases. Negative test cases (e.g. handling of an invalid negative response), has not been added yet (currently considered low priority).
Some small level of hardcoding exist to take the groupOfDTCs parameter as a simple 3 byte hex array - this can be changed to whatever is required if necessary.


⚠ Bofrost.de has degraded performance

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

HTTP code: 200
Response time: 818 ms

Resolved: Bofrost.de performance has improved in 64af955.


Tab completer Bug

Describe the bug
A clear and concise description of what the bug is.
Can't using a tab completer
Error (IG) : A tab completer cannot be assigned before the command is defined (blabla.sk line x : on tab competer for "/command":)
To Reproduce
Steps to reproduce the behavior if there are any.

Create a command
make "a on tab completer for "/command":"
/sk reload

Information:

Skript version: 2.2-dev32d (1.8) / 2.3.6 (1.13.2)
Server software: PaperSpigot
Server version: 1.8/1.13.2/1.14....

Additional context
Add any other context about the bug here.
We use a global skript made with monitoring files
The command is defined.
Exemple for a command with tab completer doesn't work :
command /srv <number>:
	trigger:
		if arg is not set:
			send "&cVeuillez choisir le serveur de votre choix !"
			wait 40 ticks
		if arg is set:
			if this server is not "srv%arg%":
				test(player,"srv%arg%")

on tab completer for "/srv":
	add "1" to completions
	add "2" to completions
	add "3" to completions
	add "4" to completions
	add "5" to completions

(For teleport to others servers of my bungeecord)

Since Skript commands aren't technically commands during runtime it's hard for SkQuery to get the command, but I think it finds a way somehow, maybe only after a restart? Either way it's hard to grab a Skript command and it may need a recode to fix.


RP-13 Remove unused code

Remove unused code like ParseRunner, comments in CatalogParser (parseManufacturerCountry) and so on.

Fixed by https://github.com/zwieback/relef-parser/pull/24


How to use options

Could you please provide an example where you explain to set the chart options? Like enabling tooltips and set scales?
Thank you in advance!

@Paulsky No problem I will update the docs!

If you are using Volar on VScode, you will get props autocompletion for options

@victorgarciaesgi Thank you very much! Unfortunately, I'm not using VScode

It's done check it out! Is it enough?


Converting existing parts of a document to empty signature field

Hi! First of all, this is not an issue with the toolkit itself. So far it works great for my uses. I'd love to see more "alpha quality" code like this... ;)
To the point: I'm currently using a headless LibreOffice to convert a template to final PDF file with some replacements along the way. Problem is, I have to manually "target" coordinates for signature fields with trial and error. Do you have an idea how would I go about automating the process in pyHanko? Number of required signatures is dynamic, so I'm thinking some kind of search & replace type solution here.

Hi there!
You're right that targeting a region on the page by trial and error is not really a good way to go about this. That being said, this is generally a pretty hard thing to do. As you may or may not know, a content stream in PDF is just a concatenation of a bunch of graphical operators that draw stuff, so even something as simple as "find the location of all rectangles on the page" is a nontrivial task.
Since PDF 1.4, it's possible to tag content & structure in a PDF file. Essentially, this works by inserting content markers into the content streams in the file, and then arranging these markers into a DOM-like tree. If the document you're operating on is decently tagged, you would then (for example) be able to do things such as finding a particular table cell, grab its bounding box, and put in a signature field that fills the table cell. I know that there's an option in the LibreOffice GUI to output tagged PDF files, so probably the same is true for headless LibreOffice as well.
Right now, only some parts of the validation code in pyHanko are tag-aware at all (and only minimally so). I have plans to expand that functionality in the future, but I'm not sure when that is going to happen. I'll definitely keep your use case in mind, though, and try to think of a sensible API to "convert" PDF structure elements to signature fields that doesn't make too many assumptions about the input.
In the meantime: I thought LibreOffice also had some basic signing functionality. Couldn't you use that to set up the fields? I haven't really used it much myself, though, so I wouldn't be able to tell you how it works.

There are some open requests about this in the wild, but there was no way to export empty signature fields from LibreOffice as of two months ago. One of such requests is here: https://bugs.documentfoundation.org/show_bug.cgi?id=126207 - my message from last year being the last.
Actually that's quite a rare feature in the whole PDF ecosystem to my knowledge, especially when taking only open solutions into account. I'm using this to generate contracts that are pre-stamped with certification feature to prevent unwelcome alterations and with predefined empty signature fields. It works as a PoC and only problem I found so far is adding the new fields in predictable and visually-appealing fashion. Currently I'm adding a plain rectangle in LO and then fill it with sigfield using pyHanko. I'm in full control of the template documents, so I can modify it in a most sensible and approachable fashion, once you find the time to suggest such.

OK, I'll keep you posted! With some luck, I might be able to get this into 0.6.0 in some form, but I can't promise anything quite yet :)

I did some exploratory testing using LibreOffice, and it seems that this is going to be even harder than I thought.... I tried adding a text box (to serve as a signature placeholder) to a one-page, fairly well-structured ODF file. The text box was anchored to a paragraph in a table. I also gave the text box with a visible red border, just to make it easier to find when scrolling through the graphics operators in the content stream. I then exported the file to tagged PDF.
This is what happened structurally:

LibreOffice ignored the fact that the text box "belonged" to the table. In the structure tree, it was represented as a floating paragraph object dangling from the top-level document object.
None of the structure elements have bounding boxes. Given the definition of the BBox attribute in the PDF spec, I expected this to be the case for "reflowable" structure elements such as tables and paragraphs in the documents, but I was hoping that the text box would have one...
The text box is not tagged in a way that makes it easy to identify as a text box, nor does the structure element dictionary have an ActualText key that we could leverage instead.

Graphically, it's even more of a mess. This is the PDF graphics code generated by LibreOffice to render the text box:
1 0 0 RG
q
1.4 w
0 J
1 j
325.55 468.139 m
214.4 468.139 l
214.4 504.339 l
436.65 504.339 l
436.65 468.139 l
325.55 468.139 l
h
S
Q
/P <</MCID 13 >> BDC
q
0 0 0 rg
BT
215.1 493.589 Td
/F3 12 Tf
<0102030405060708090a0b0c0d060e0a0f100d110a0912> Tj
ET
Q
EMC

As you can see, the marked content sequence (MCID 13) that identifies the text box doesn't even cover the border of the text box. Hence, even if you have the right structure element, figuring out where it lives on the page is hard. The graphics operators drawing the border happen to be positioned close by in this case, but that's obviously not something we can rely on in general. Also, instead of using the rectangle operator, LibreOffice draws the text box's border as a piecewise linear path (in fact, with dotted line styles, it gets even more ridiculous).
All this doesn't even begin to touch the issue of compatibility between rendering applications... So yeah, this is going to be a tricky one to get right ;)

Yup, that pretty much sums my research with pdf2py that I've done some time ago. From my point of view I'd accept pretty much conversion of any object that doesn't collide with "normal" contact's text, as in buttons or other objects. Help! :)

Here's an idle thought (haven't had coffee yet, so take this with a grain of salt). Any solution that relies on the actual content stream of the page to identify a region to be signed will be tricky to implement, since it requires a parser that understands the various geometric operators in PDF with a fairly high degree of generality.
Part of the problem here is that form fields are fundamentally different from page content in a way: they are rendered as widget annotations that live "outside" the page's main content, both in terms of file structure and how they're rendered graphically. So one possible way to get around the problem might be to rely on placeholder annotations instead. These require much less effort to manipulate into a form field widget.
Of course, it assumes that whatever you're using to produce your PDFs has the ability to output annotations, but if I recall correctly, that's the case for LibreOffice, right?
Anyway, you could then convert LibreOffice output (potentially with form fields already embedded) into a "signable" form by (for example) replacing all text annotations with a particular content string with form fields.
I'll toy around with that idea a bit when I find the time...

Hi,
I've also been working on a method to replace placeholders in PDFs generated from a docx file. The following code works fine for me, but my use-case has also has documents that are more or less standardized. I am using pdfplumber to search for table cells or rectangles that contain a certain string, e.g. "signature field" in the PDF.
Perhaps it gives you some inspirations. I haven't checked it with PDFs generated with other programs than MS Word yet.
You can find the code attached.
Best regards
Thorsten
extract.zip
example.pdf

Thanks Matthias and Thorsten, I'll take another deep look at this tomorrow and figure something out from your suggestions. In the meantime I've moved signature boxes to a static location relative to bottom of last page, which seems like a workable workaround for the time being.

It doesn't really solve the exact issue that you're having, but if you're willing to migrate your templating work to TeX, there are LaTeX packages that are capable of producing forms (including signature fields) out there: https://tex.stackexchange.com/questions/51090/how-do-i-create-a-pdf-file-that-can-be-digitally-signed.
(I still haven't found a good way to solve the general problem, though)

It doesn't really solve the exact issue that you're having, but if you're willing to migrate your templating work to TeX, there are LaTeX packages that are capable of producing forms (including signature fields) out there: https://tex.stackexchange.com/questions/51090/how-do-i-create-a-pdf-file-that-can-be-digitally-signed.
(I still haven't found a good way to solve the general problem, though)
Well, I have been working in a similar problem. I want to position the visible signature somewhere in the last page of a A4 document. Positioning in the last page is not a problem. Tick. Positioning horizontally is not a problem. Tick. The problem is finding the vertical displacement. It varies from document to document. A page may have a single, short paragraph, or various short and long paragraphs. So, the visible signature should appear perhaps 2 cm or so after the last line of the last paragraph. Finding this position automagically has not been easy.

What I have tried to do is to get the vertical displacement using a macro in Basic (but called by a function in python) that returns the visual cursor position (x, y).
Now, before calling pyhanko, I convert LO cursor position X, Y into "--field -1/x,y,x+a,y+a/Sig". Not particularly elegant, but works.
I am still working to perfect this solution and make it fool proof.
I would guess you could apply a similar trick but using your template as reference. Perhaps counting the number of lines in the page where you want the signature to be placed.

Thanks; interesting approach! I can imagine that idea working quite well if you have access to the LO template. That said, I don't think it works out of the box if all you have is a PDF file. The reason being that there is no (universal) concept of paragraphs / lines of text in raw PDF graphics, so you'd have to implement a line detector first. That still requires parsing PDF graphics operators. Perhaps there's a better way if the input document has particularly good tagging. but that's a very unreliable assumption.
Anyway, once you're at the point where you have to parse content streams in a PDF file, I actually think that finding rectangular shapes with a particular colour in the page content is easier than trying to count lines of text.
This is a tricky one for sure....

To the point: I'm currently using a headless LibreOffice to convert a template to final PDF file with some replacements along the way. Problem is, I have to manually "target" coordinates for signature fields with trial and error. Do you have an idea how would I go about automating the process in pyHanko? Number of required signatures is dynamic, so I'm thinking some kind of search & replace type solution here.

Anyway, once you're at the point where you have to parse content streams in a PDF file, I actually think that finding rectangular shapes with a particular colour in the page content is easier than trying to count lines of text.

Right. My suggestion is to resort to the LO template (or to the ODT itself) and leave PDF alone. It is too messy to work with for this purpose. Since ODT e in fact a XML file, reading it could work too (I have not tried this approach because I sign the document immediately after finishing it, so I have it open in front of me. I see where I need the signature to be. I put the cursor there and get the coordinates. But reading the ODT file or using the template as reference should work better).

My suggestion is to resort to the LO template (or to the ODT itself) and leave PDF alone.

Unfortunately this won't help me much, as end result has to be a PDF file, and working out coordinates for pyHanko from ODT automatically is definitely beyond my expertise. That being said, I could remove signature bounding boxes and signing person's name below the box from template itself, and leave adding them to pyHanko. Is this something that could be easily accomplished from command line?
i.e.
pyhanko sign addfields --field 4/41,141,293,178/FieldName=DigSig1/FieldCaption="John Smith"/FieldStyle=box
with alternaty FieldStyle being for example line.
This would only require making sure, that there's enough room for signatures at the bottom of the desired page and it could possibly be useful in many more cases.

Right. My suggestion is to resort to the LO template (or to the ODT itself) and leave PDF alone. It is too messy to work with for this purpose. Since ODT e in fact a XML file, reading it could work too (I have not tried this approach because I sign the document immediately after finishing it, so I have it open in front of me. I see where I need the signature to be. I put the cursor there and get the coordinates. But reading the ODT file or using the template as reference should work better).

Well, I have finally put together a working solution for my own problem that is similar to yours. Similar, but not equal. What I do is to put the cursor where I want the signature to appear (if visible) and call my "signPdf" macro. It grabs the cursor position on the document and calculates the rectangle coordinates where to place the signature. If not visible, it just calls pyhanko with the field name, without any coordinates. The macro starts pyhanko with all command line options.
I' ve tested it in many different documents and many different ways. So far, it has worked to my satisfaction.
But, it seems you are running LO in the headless mode, so, figuring out where to place the signature has to resort to a different method. This might be a mark in the document. This way your program could open the document in the background, search for the mark, save the position, remove the mark, generate the PDF, call pyhanko. pyhanko will sign the PDF and place the signed copy where you want it. You will end up with three documents: ODT/PDF/signedPDF (unless you also remove some of them after signing).
The difference between this solution and my solution is that, in my case, signature is placed where the cursor is; in your case, it would be placed where a certain mark is.
My code is in Python. If you want to check it up, I can provide you with the source code. Comments, variable and function names are in Portuguese, but the code is simple enough to be easily understood even without understanding the docstrings and variable names.

EDIT: Perhaps I am wrong about you using the headless mode. If you have the document before your eyes, then you can use the same macro I am using.

No, you are not wrong; it's full auto headless. I'm already using python in the pipeline, so extending it a bit shouldn't be a problem. If your script/macro isn't overly complicated, then please do share it.

EDIT: Perhaps I am wrong about you using the headless mode. If you have the document before your eyes, then you can use the same macro I am using.

No, you are not wrong; it's full auto headless. I'm already using python in the pipeline, so extending it a bit shouldn't be a problem. If your script/macro isn't overly complicated, then please do share it.

I will share it with you. I'll do it a little bit later because I am busy now and also because I think I should translate into English at least the docstrings and the most important variable names. This will make it easier for you to understand the code. But, rest assured it is quite simple. It has some magic numbers, but on the macro itself I'll explain how I found them and why they are there.

Here is the Python macro that converts an ODT file to PDF and signs it using pyhanko. I've added a lot of comments in the hope that it may make it easier for you to understand what each step.
This file is a sample of the pyhanko.yml. It must be renamed to pyhanko.html and updated accordingly.
[pyhanko.txt](https://github.com/MatthiasValvekens/pyHanko/files/7262854/pyhanko.txt
This is the macro file. Adding the txt extension was added because github does not accept a file with
the extension .py.
signFile.py.txt

Thank you, at first glance it should integrate nicely with what I'm already doing for a headless conversion from template to pdf - I'll just need to figure out finding coordinates of rectangles instead of non-existent mouse cursor, but it shouldn't be that hard.

Thank you, at first glance it should integrate nicely with what I'm already doing for a headless conversion from template to pdf - I'll just need to figure out finding coordinates of rectangles instead of non-existent mouse cursor, but it shouldn't be that hard.

I'd guess if you are working with the XML file it may be harder. On the other hand, if you are working with the ODT file open in the background it should be easy to move to the last page, find the last line and place the signature a certain distance bellow it. If it is in a different page (not the last one) you could place a well-chosen string where you want the signature to be (say: "#PutSignatureHere#"). Then your macro could search for this string and replace it with the visible signature. In this case probably it will be much easier to use the line number to find the vertical position (line number times character height + spacing + top margin + etc.).

I also have a repo of docs that are made with LibreOffice and need signature fields. I took a slightly different solution to what has been talked about, in case it helps anyone.
LibreOffice also does not mark fields as required for some reason, so this script takes any field name that starts with r_ and sets the flags to be required in the PDF.

Use PyMuPDF to locate all field names that start with sig
Store the rectangle coords and page number in a dict
Remove the field from the PDF and save to a temp file
Open with pyHanko and add new signature fields using the rectangle coords from PyMuPDF

It works really, really well and you can export the LibreOffice doc via command line to keep everything in python.
Here are the two functions. Note that pyHanko and PyMuPDF do the y coordinates differently, so you can't just use the Rect coords from PyMuPDF directly, you need to subtract them from the page height so pyHanko places things correctly.
Also, fitz == PyMuPDF
import fitz
from os import remove, scandir, rename
from os.path import exists
from pyhanko.pdf_utils.incremental_writer import IncrementalPdfFileWriter
from pyhanko.sign.fields import SigFieldSpec, append_signature_field

# store signature field data, and convert required fields, using PyMuPDF
def convert_fields(_old_path : str, _new_path : str) -> dict:
    print("Setting up new file...")
    if exists(_new_path):
        remove(_new_path)

    # make a copy
    copyfile(_old_path, _new_path)

    _boxes = {}
    print(f"Getting signature field data and removing placeholders...")

    # iterate the pages
    _pn = 0
    _fdoc = fitz.open(_old_path)
    for page in _fdoc:
        # store the page's height for placement
        _page_rect = page.bound()
        _page_height = _page_rect.y1

        # iterate the fields on this page
        for field in page.widgets():
            n = field.field_name
            print(f"Found field '{n}' on page {_pn}...")

            # if it's a signature, store the dimensions of the box
            if n.startswith("sig") or n.startswith("init"):
                print("...storing info for signature and removing...")
                _type = 1 if n.startswith("sig") else 2
                # PyMuPDF y coords go top-to-bottom, but pyHanko goes bottom-to-top
                # Subtract the y coords from the current page height for pyHanko
                _boxes[n] = {
                    "page": _pn,
                    "type": _type,
                    "box": (
                        field.rect.x0,
                        _page_height-field.rect.y0,
                        field.rect.x1,
                        _page_height-field.rect.y1
                    )
                }

                # mark the field for removal on save
                w = page.delete_widget(field)
                print("...marked for removal!")

            # if it's a required field, mark it as such the PDF-way
            elif n.startswith("r_"):
                print("...marking as required...")
                field.field_name = n.replace("r_", "")
                field.field_flags = 2
                if field.field_type in [5, 2]:
                    field.field_value = "Off"
                field.update()

        _pn += 1

    # save the document updates
    _fdoc.save(_new_path, garbage=1)
    _fdoc.close()

    # return the box dimensions for add_signatures()
    return _boxes

# add proper PDF signature fields based on placeholder data using pyHanko
def add_signatures(_new_path : str, _boxes : dict) -> bool:
    print("Adding new signature fields to document...")
    try:
        with open(_new_path, 'rb+') as _doc:
            _d = IncrementalPdfFileWriter(_doc)
            for name in _boxes.keys():
                _dict = _boxes[name]
                append_signature_field(_d, SigFieldSpec(
                                            sig_field_name=name,
                                            on_page=_dict["page"],
                                            box=_dict["box"]
                                        ))
            _d.write_in_place()
        print("...done!")
        return True
    except Exception as e:
        print(f"...failed to add signature fields.\nERROR: {e}")
        return False


req.url() always returns production url

read title.
For ms oauth2 i need to send a redirect URL when getting the token and I want to get the URL used programatically instead of somehow hard coding it for dev and prod
        .get_async("/microsoft_auth", |req, ctx| async move {
            let url = req.url().unwrap(); // this is always the production url

This causes problem with local development where we need to get real host (ie. localhost:8787)


ch_set_frequency is inconsistent

ch_set_frequency function sets different frequencies everytime even when its arguments didnot change.
verified the same frequency using ch_get_frequency

Hi @vmanoj1996. Can you tell us what the variation in the set frequency is?
Some variation is expected. There are a couple reasons for this:

The on-chip digitally controlled oscillator has a finite step size. This is on the order of a few hundred Hz.
When you set the frequency, the ICU chip runs a frequency search routine to find the closest frequency step to the frequency you specified.
The frequency of the on-chip DCO may be re-measured when changing the operating frequency.

I was getting really different numbers. The fluctuation was between ~52KHz to ~100kHz.
But I also found that some wires are loose. Lemme fix that for good and try again.

Ah ok. Yes, that's way too much. I would expect no more than a few hundred Hz. Which part are you using? 30201?

Yep. I am using 30201.


Fix stream buffering with Minio

This fixes the deserialisation code when it is given a Minio file. I don’t know why it fixes it.
It just does. 🤷🏼♂
(It also needs to be followed by a release because otherwise the tests in n1analytics/entity-service#339 won’t pass.)

Yeah, I don’t like that approach either. I feel I don’t know enough about the different stream subclasses to do it properly. It seems to work 🤷🏼♂


Add remote desktop control using the Java Robot class and Chrome Native messaging

Replicate a better version of ofmeet remote control (ver 0.3.x) . This time use the Java Robot class to control a remote mouse and keyboard instead of nodejs and take advantage of the together.js code already in Pade that does co-browsing and multiple user cursors

Decided to re-use the Jitsi-meet remote control UI and intercept the remote control commands being sent down the webrtc data channel. That part is working. Making those commnads work with Java Robot Class is next.
First enable remote control in Pade

That will cause the remote control feature to appear for that user in a meeting

Click on the icon to request permission to remote control. That will cause a prompt to appear in the UI of the user whose desktop can be controlled.

That user can then allow or cancel.

Allow will trigger the webrtc screenshare for only screens. No support for applications yet. Choose a screen if you have multiple monitors and that should starts the process.

Now fully working in version 0.4.6. Needs documentation on how to setup before I can close Issue

My team can handle user documentation. Just need a working example, and we'll make nice screenshots and some explanations.
We document here?
https://igniterealtime.github.io/Pade/
Thanks!

Yes, the actual location in GitHub is
https://github.com/igniterealtime/Pade/tree/master/docs
Just submit PRs to add more documentation. It is vanilla HTML
-dele
Sent from Mail for Windows 10
From: Marc Laporte
Sent: 21 June 2018 18:58
To: igniterealtime/Pade
Cc: Dele Olajide; Author
Subject: Re: [igniterealtime/Pade] Add remote desktop control using the JavaRobot class and Chrome Native messaging (#24)
My team can handle user documentation. Just need a working example, and we'll make nice screenshots and some explanations.
We document here?
https://igniterealtime.github.io/Pade/
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

There is also an oustanding task of packaging the Pade Java native messaging client that actually controls the mouse/keyboard via the native messages from the Pade chrome extension. The packaging has to install correctly for OSX, Linux and Windows.
I will probably start with Windows first and would require assistance with OSX and Linux

Pàdé setup/installer/packager ver 0.1 for Windows now done and uploaded.
See https://github.com/igniterealtime/Pade/releases/tag/v0.1

Please note that only screen 1 can be remote controlled for now. I am seeking a solution that will support multi-screen desktops with the Java Robot Class

Hello
I am trying create Skype for Business Alternative for my business. I looking to built Unified Communication Platform where my users login and have following features

Audio / Video Calling ( Option to auto accept)
Request Desktop Access ( Option to auto accept)
Co-Browsing
SIP Calling
Conference
Text Chatting
Call Recording

Can you let me know if anybody can help us do this.
Prem

2 Windows computers with

Both Pàdé 0.6.0
Both installed Pàdé Remote Control (Windows) v 0.1
Different XMPP accounts under same XMPP domain, with Openfire 4.2.3
I launched an audio/video call. Seems all normal. But I don't see the "icon to request permission to remote control" which "will cause a prompt to appear in the UI of the user whose desktop can be controlled"

@premanandmanimaran Those are all things that are done at various levels of quality. Join the community to make them even better!
Please see: http://wikisuite.org/Why-Openfire

First configure on PC that has installed the remote control native application

To debug, open the dev tools window for the chrome background page. Check log to see that extension is talking to binary app

Start Jitsi Meet and check for remote control

I confirm we had both activated the "Enable Remote Control" checkbox.
I will ask 2 devs to try again and share their findings.
Thanks!

Use only Pade@Work. Pade@Home is not yet on the white-list of the remote control desktop application.

ahhh, that must be it!

Hello, the remote desktop option isn't showing between 2 participants
Openfire v4.5.2
Audio and video call working
Both Remote desktop : v0.2 and activate the "Enable remote control"
1- Opera Pade@Work v1.6.8 :
_generated_background_page : remote control incoming {message: "hello too"}
2- Chrome Pade@Home v1.5.4 :
_generated_background_page : "Access to the specified native messaging host is forbidden."
The extension id is the same as in the pade.remote.control.json file however

This is currently broken and not working

Hello, thanks for your fast answer
Do you have an ETA for this issue ?

Hello, thanks for your fast answer
Do you have an ETA for this issue ?

It was broken by this issue
Jitsi-Meet is no more included in the chrome extension. This means that remote control has to be implemented directly in ofmeet.
No, I dont have an ETA

pade remote desktop control should still be working through openfire plugin ?

Pade no more supports remote desktop control and there are no plans to add it back

Upppps, don't tell me that :( I had pinned my hopes on that solution because it doesn't need or depends  on a third party account service like teamviewer or anydesk wich you don't control and depends precisely on internet but instead a closed solution like Openfire wich works very well in our intranet only
Thanks anyway!
is it difficult to develop and bring back the remote desktop service ? I mean, if we can cooperate :)

You don't need to use Teamviewer anymore. There is now an open source alternative.
https://rustdesk.com/


Fix * The following settings shouldn't exist: vmFolder

Found the bug causing this error.  Misspelled variable in lib/vagrant-vcenter/action/inventory_check.rb

Thanks @mmarseglia,
That was actually my mistake when working on the develop branch.


Bump PHP Parser version to support PHP 8.3

This PR addresses problems parsing PHP 8.3 syntax, by bumping the version of php-parser to the latest patch release.
There continue to be deprecation warnings from phpdocumentor/graphviz but this project appears to be abandoned.
Other than that this is working for me perfectly on my project recently upgraded to PHP 8.3.
Resolves #1341

Sorry yes I just saw the failed builds. Lock file is now updated but "Composer Diff" check is failing still - what's that about?

Also, we should add PHP 8.3 to the CI but I guess not in this PR.

@benr77 Not sure where that is coming from but I don't think it's related to your patch.

The composer Diff check always fails if the PR is coming from a fork and you are changing the composer file. Nothing to worry about.

@benr77 thank you very much for this PR!

Is there any chance we can get a release with this change?


✨ Add dragNdrop folder support 🥓

renderer.js

Add function to support drag and drop for folder. Also ignore .DS_Store by default.

Credit: https://stackoverflow.com/a/11410455/11812935

Wow, nice! Thx! I will check that soon.

Works as aspected! Great work! :) 👍


refactor: improve subscription api

add goTo utility
improve internal subscription api

allow to provide callback for simpler hooking
expose history.unsubscribe handler for cleanup
allow second param of proxyWithHistory to be optionally a callback

closing for now


Initial (2) addition of the ORBital DAO feature CPF-278

Example of testing script:
orb = new foam.dao.ORBitalDAO();
acc1 = new net.nanopay.account.Account(x, 11, true, false, "MyAccount", "Personal account", true,
true, "PersAcc", true, "Personal", 100, 150, new java.util.Date(2019, 12, 01), 1,
new java.util.Date(2019, 12, 01), 1, 0, 1);
print(acc1.getBalance());
Object[] args = new Object[1];
args[0] = x;
req = new foam.dao.ORBRequest(acc1, "findBalance", args);
print(orb.cmd_(x, req));

What is the addition of the ProxyDAO compared to the AbstractDAO? Currently
you can make something like:
orb = new foam.dao.ORBitalDAO();
acc1 = //some account object
Object[] args = { x };
req = new foam.dao.ORBRequest(acc1, "findBalance", args);
orb.cmd_(x, req);   // The OrbitalDAO converts the req to an ORBRequest
object
On Tue, Aug 27, 2019 at 11:51 PM Joel Hughes<EMAIL_ADDRESS>wrote:

@jlhughes commented on this pull request.
In src/foam/dao/ORBitalDAO.java
https://github.com/foam-framework/foam2/pull/2547#discussion_r318382160:

@@ -0,0 +1,54 @@
+package foam.dao;

+import foam.core.ClassInfo;
+import foam.core.FObject;
+import foam.core.MethodInfo;
+import foam.core.X;
+import foam.mlang.order.Comparator;
+import foam.mlang.predicate.Predicate;
+
+/**

DAO class used to delegate a method execution request to the specified object (specified by an ORBRequest object).

*/
+public class ORBitalDAO extends foam.dao.AbstractDAO{

What is the expected ORBitalDAO setup?
Example: I expect to create an ORBRequest on the client and call cmd(),
then on the server the ORBitalDAO, somewhere in the DAO stack, tests the
cmd object and if an ORBRequest, executes it.
In this scenario the ORBitalDAO should extend ProxyDAO, and test if the
cmd object is an ORBRequest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/2547?email_source=notifications&email_token=AB5AGLCOERSAZWCZVESHEN3QGXY4DA5CNFSM4IQFFNLKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCC4UH5A#pullrequestreview-280577012,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5AGLENBNAEDS3KUIY6VHTQGXY4DANCNFSM4IQFFNLA
.

Do you mean that the ORBitalDAO should be installed as a service?
On Tue, Aug 27, 2019 at 11:51 PM Joel Hughes<EMAIL_ADDRESS>wrote:

@jlhughes commented on this pull request.
In src/foam/dao/ORBitalDAO.java
https://github.com/foam-framework/foam2/pull/2547#discussion_r318382160:

@@ -0,0 +1,54 @@
+package foam.dao;

+import foam.core.ClassInfo;
+import foam.core.FObject;
+import foam.core.MethodInfo;
+import foam.core.X;
+import foam.mlang.order.Comparator;
+import foam.mlang.predicate.Predicate;
+
+/**

DAO class used to delegate a method execution request to the specified object (specified by an ORBRequest object).

*/
+public class ORBitalDAO extends foam.dao.AbstractDAO{

What is the expected ORBitalDAO setup?
Example: I expect to create an ORBRequest on the client and call cmd(),
then on the server the ORBitalDAO, somewhere in the DAO stack, tests the
cmd object and if an ORBRequest, executes it.
In this scenario the ORBitalDAO should extend ProxyDAO, and test if the
cmd object is an ORBRequest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/2547?email_source=notifications&email_token=AB5AGLCOERSAZWCZVESHEN3QGXY4DA5CNFSM4IQFFNLKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCC4UH5A#pullrequestreview-280577012,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB5AGLENBNAEDS3KUIY6VHTQGXY4DANCNFSM4IQFFNLA
.

Thinking:
on the javascript side:
req = await acc1.findBalance(x);
calls something like:
accountDAO.cmd(x, ORBRequest.create({"receiverObjectId": this.id, "methodName", "findBalance", "args": args})
on the server/java side:
An ORBitalDAO on the localAccountDAO delegate chain will intercept cmd(), find the object, call the method, return the result.

@skanderturki why did you close this?

I made a mistake to commit to my main forked branch. So I needed to close
it to be able to work on other tasks. I will republish the code on another
branch
On Thu, Oct 24, 2019, 10:05 PM Joel Hughes<EMAIL_ADDRESS>wrote:

@skanderturki https://github.com/skanderturki why did you close this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/foam-framework/foam2/pull/2547?email_source=notifications&email_token=AB5AGLBGCTGNH3P6S6VP4QDQQHWXZA5CNFSM4IQFFNLKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECGDDYI#issuecomment-546058721,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5AGLFTPBLBAOVVP5OAGXTQQHWXZANCNFSM4IQFFNLA
.


Entity extraction performance

The Entity Extraction feature is not very accurate. It is hard to tell if the feature has regressed from previous versions of Newman. The feature correctly identified John Doe as a Person but did not recognize Jane Doe.
I'm going to label this as an enhancement for now until I can verify if the accuracy has regressed from previoius versions of Newman.

o	Steps to reproduce
	Search for test. This finds all 9 emails in the dataset.
	Select the second email “test email”
o	Expected it to mark “Jane Doe” as a person (it found John Doe). Not really sure if entity extraction has gotten worse than before. Just seems strange its finding some entities but skipping other obvious ones.


GitHub upload feature broken [solved: extension settings]

Trying to “attach files by dragging & dropping, selecting them or pasting from the clipboard” to an issue doesn’t work. I’m not sure which settings cause this though.

I know. I just flick open opera, login and make my post there when I want to attach a file. I also had major issues with dropbox (which I no longer use), and it was all sorts of things (context menus, uploading, seeing folder contents - you name it - gave on it) - other than that, I'm peachy.
Never bothered to track the cause of this upload on github business. I also get an error viewing some image files in diffs/commits etc.
I'll see if I can work it out

works fine for me. You need to allow github-something-something.s3.amazonaws.com in NoScript and the XHR to that domain in uMatrix and/or uBO

I do not see any github-something-something.s3.amazonaws.com in NoScript

^^Nice chimp.
Where do you pull all those stuff. You should be a stand up comedian, :)

That's the famous selfie monkey .. have a read, hilarity ensues
Wiki: https://en.wikipedia.org/wiki/Monkey_selfie_copyright_dispute

Well I have no uMatrix, no uBO, no NoScript cause I don’t like the UI of the first twos and I’m living on Nightly (so no non-webextension addons). And it still doesn’t work.

So in a new profile on Nightly, with no tweaks, it works? And then if you add the v55 user.js, it breaks? Is that what you're saying?

This is me on a default brand new 56.0b10 (which want to auto update when I checked the about Firefox)

Success

This is me on that same default nilla profile but now on 56.0b11 - BUT with the default user.js (no changes)

Success
I do not have a 57 to test on

and I’m living on Nightly

well, our user.js is maintained and tested only for Release, not Nightly. Nightly users should expect some breakage, with or without this user.js. Thorin's tests prove that the user.js in its current form is not the problem, at least not until up to and including 56 beta11. Maybe you didn't reset some of the things we made inactive over the last couple releases? Or you made your own changes to the user.js that cause this. Nightly users should be able to figure things like this out for themselves.
https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting

To be fair, I did not test pasting - but file select and drag'n'drop work

pasting doesn't work :) not copying an image, or an image file.

This is really strange. I’ve installed uMatrix and whitelisted the XHR (from github-production-user-asset-6210df.s3.amazonaws.com), and it worked. I don’t understand why it wasn’t working without uMatrix, but anyway now I’m on uMatrix, so… :p

^^ so where's your monkey picture? Pics or it didn't happen .. as they say

Even by Ctrl+V’ing it. :p


Diana@uni fixes

Fixed errors:

error finding getDeafaulChain (provide the chain address with the transaction request)
error for EventEmitter (adjusted vita config):

Uncaught SyntaxError: The requested module '/node_modules/events/events.js?v=cd7df096'
does not provide an export named 'EventEmitter' (at index.es.js?v=cd7df096:1:8)

It was approved in PR#16 which was closed by mistake


Create Search UI With Material UI

Recreate the search UI in a new branch using Material UI

Status: Working on updating the UI with material. Action for @tdddblog to restart the search server on pds-dev-el7

@eddiesarevalo status: began updates on the old search ui, and set it up ability to swap themes, and documenting appropriately.

Eddie is working on implementation of material design on search ui headers and footers. Once done, that will be easy to switch to the material design compliant inputs provided by Edward.

@eddiesarevalo will create a pull request.

Pull request created.


IP Address GraphQL Transformer

Is your feature request related to a problem? Please describe.
In some cases, it's helpful to log the ip address a mutation came from.
Describe the solution you'd like
Some kind of graphql directive like so:
ip: AWSIPAddress @ip_address
Describe alternatives you've considered
Build my own transformer, call a rest api / lambda that does this for now, or just skip this feature for now.

Hi @hisham
I am not sure on this but info you can also also get IP address in $context.Identity or $context.request object?
$context object contain sourceIPs as mentioned here : https://docs.aws.amazon.com/appsync/latest/devguide/resolver-context-reference.html

@akshbhu yes that's correct. What I'm saying is I want to save ip address as another column in the dynamodb entry. Use case is public API to submit some content to us, would be not a bad idea to store ip address alongside the submitted content in case we need to debug something or identify bots (though you can argue WAF can be used here). This is a nice to have currently. But seems to be a common use case in web apps to store ip address to the database sometimes.
So the transformer would get the user's ip address from $context and save it to the specified column name.

Also once Cloudfront geolocation headers are added to AppSync (https://github.com/awslabs/aws-mobile-appsync-sdk-js/issues/584), might be helpful to have ip geo location address saved to the db as well.

Also once Cloudfront geolocation headers are added to AppSync (https://github.com/awslabs/aws-mobile-appsync-sdk-js/issues/584), might be helpful to have ip geo location address saved to the db as well.

same issue here.

Another request for this is to ability to save user agent string of the client that did the request.


SPIFFS.open("/application.properties".....

Can you tell where the data is stored?
thank you

This segment is only relevant if you install the application through our App Fairy application: https://github.com/ThingPulse/app-fairy. If you code, compile and upload yourself through Arduino IDE you won't have and won't need this file.


Adding details to LSTM documentation #31237

Fixing  #31237

Hmm, the two failing builds have apparently nothing to do with the proposed changes...


alert, confirm and prompt methods don't work on Firefox

Describe the bug
It seems that on Firefox, alert(), confirm() and prompt() are not allowed in background scripts:

alert method executes successfully, but it doesn't show any dialog boxes. These messages are printed to the browser console:

alert() is not supported in background windows; please use console.log instead.        background.js:1:47278
MetaMask Notice:
http://localhost:8081/package.json States:
Hello, localhost!        background.js:1:47278

confirm and prompt methods fail with this error:

TypeError: window.gBrowser is undefined        PromptParent.jsm:182:21

To Reproduce
Execute wallet.send({ method: 'prompt', params: ['test'] }); from a plugin module.
Expected behavior
I expected these methods to show dialog boxes.
Browser details (please complete the following information):

OS: Linux
Browser: Firefox 70.0.1
MetaMask Version: AddIdentityApi branch

@xuhcc, thank you for bringing this to our attention. We have plans to add a more comprehensive notification API that will be compatible with all browsers. This will unfortunately have to wait until we get around to that.
In related news, we've decided to make Google Chrome (and by extension, probably up-to-date Chromium browsers as well) the only officially supported browser for beta at this time. We will fully support Firefox as we approach the launch date sometime in 2020.


minor tweak to reports to avoid parsing issues when lifting > 1

Right now if you want to run ruler for a doubly lifted domain like complex-real, you have to manually remove the rules over rationals since they are not part of the grammar for complex (real and complex ops are). With this change, that will no longer be needed.
There are a few caveats however:

for lifted rule inference, you can't see the old ruleset used to learn the new rules
all_eqs is therefore just new_eqs and old_eqs = []

I think this prevents us from running in the same domain multiple times. For example, imagine running the rational domain 5 times each with different parameters. You'll only be able to save rules for one additional run since they'll be thrown out after the next run.

I think this prevents us from running in the same domain multiple times. For example, imagine running the rational domain 5 times each with different parameters. You'll only be able to save rules for one additional run since they'll be thrown out after the next run.

@bksaiki is that true? Note that I changed the report only for run_rule_lifting and not for run_cvec_synth. Another thing to note is that in the body of pub fn new(params: SynthParams) { ... } when old_eqs is populated, it is actually taking all the rules from the prior_rules file, not just the old rules. I may be wrong here in my reasoning so let's double or even triple check this.


Feature/improved exception handling

The AstBuilder now gets source positions (line number and character position/index) from the CST generated by ANTLR.
Additionally, most exceptions have been modified to hopefully make them more modifiable (e.g., if we want to give a very specific error message in a very specific scenario), and exceptions are now "handled" in Main (by printing a formatted error message and stopping compilation).
Things to consider: Sometimes the compiler may be able to correct a mistake and continue the compilation. Since we want our compiler to be very explicit, the compilation stops completely when it encounters an error. This approach may seem a bit lazy, so we should defend it bravely when it inevitably is viciously attacked by Lone and her evil censor companion.

 Add line numbers, etc., to error messages in our compiler (transfer source positions from parser to our AST)


Fix typo in Find.md

Should be two arguments for the find method. Not just one string passed in.

oo I’m a dummy and now get you can pass in a many parameters for the selector


chore: bdd-spring-1574549751 to 0.0.1

chore: Promote bdd-spring-1574549751 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


test suite leaves temp cache file behind

Hi,
after running the test suite, the file requests_cache_test.sqlite is not deleted

A context manager could be a good idea.
See for example https://github.com/pydata/pandas/blob/master/pandas/util/testing.py ensure_clean
and its usage for example in https://github.com/pydata/pandas/blob/master/pandas/io/tests/test_excel.py
see also http://stackoverflow.com/questions/13379742/right-way-to-clean-up-a-temporary-folder-in-python-class


Duplicates in "import project"

The screenshot says it all I suppose. It looks like it's related to case sensitivity because most (all?) of my repositories are duplicated.

Not sure if this is something we'll code against -- these are all separate repositories as far as GitHub tells us. If anyone has a good idea of how to fix this, feel free to reopen this issue. I'll close this for now.
We do have plans to update this page with a fuzzy search mechanism, but that doesn't necessarily fix this issue -- it does however hopefully make sorting through a list of doubled repositories quicker.

Why not? It's as simple as a case sensitive unique constraint isn't it? As far as I am aware Github doesn't allow mulitiple users with multiple case variations (or at the very least, they shouldn't).


Reenabling pysam windpower with greenheart

hopp_mgmt.py needs to see "pysam" not "sam" from .yaml for the wind technology if we want to use pysam instead of floris
turbine_rating_kw needs to be a float for pysam, was coming in as a tuple
Error message threw syntax error when I first tried "windpower" in the .yaml

Test appears to be failing due to a deprecated numpy call in ORBIT code, idk how to handle that...

@jmartin4nrel the easiest way to resolve this is to set the "numpy<2" in the requirements.txt, which works on my end for both your updates and the base branch. That said this should be resolved with ORBIT v1.1, but that's not relevant to this PR and should be addressed separately. I believe any existing environments would have to be updated with pip install --upgrade numpy<2 in order to work.


Karma: Skip Flakey Media Fetch Test

Context
Last week the media fetch karma test was fixed, or seemed fixed, now it's flakey again.  Skips the media fetch karma test once again (from here: https://github.com/google/web-stories-wp/pull/9757) so that time can be taken to solve the root issue and karma tests can pass (or fail for other reasons) for other branches.
Summary

Relevant Technical Choices

To-do
This will be enabled again here: https://github.com/google/web-stories-wp/pull/9780
User-facing changes

Testing Instructions

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[ ] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[ ] I have tested this code to the best of my abilities
[ ] I have verified accessibility to the best of my abilities (docs)
[ ] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[ ] This code is covered by automated tests (unit, integration, and/or e2e) to verify it works as intended (docs)
[ ] I have added documentation where necessary
[ ] I have added a matching Type: XYZ label to the PR

Fixes #

This still has test failures but the mediaPane is no skipped so that's not adding to the failures anymore. Fix is getting worked on, it's just being really stubborn. I thought skipping in the mean time would help.
@miina @swissspidy I'm tagging you since your work day is closer to starting. I'm not really sure why all these other tests are failing, but they're consistent across other PRs I've seen today. Perhaps one of you has more insight.

I see lots of test failures related to PageMenu integration. @miina If Prometheus pod could look into those, that would be great!

If Prometheus pod could look into those, that would be great!

Sure! I think https://github.com/google/web-stories-wp/pull/9787 might fix some of those focus issues but will create a separate issue if not.

Thanks, @swissspidy & @miina !


Where do you get these cmdlets from?

Install-Module RemoteAccess doesn't return anything, and there are no packages in Powershell Gallery that reference it's name.  Where are you supposed to get these from??

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 898d597d-1791-c75f-eee4-040ee7782bd0
Version Independent ID: f94f978d-8758-64d5-a474-a5f5274069aa
Content: RemoteAccess
Content Source: docset/windows/remoteaccess/RemoteAccess.md
Product: w10
Technology: powershell-windows
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

You install them as an additional Windows feature:
Install-WindowsFeature RSAT-RemoteAccess-PowerShell

It seems that the question has been answered by the community,  and thus the issue is being marked as resolved.
Thank you.


oe_create_enclave doesn't support platform-agnostic caller

host.h explains, in comments about oe_create_enclave:
* @param path The path of an enclave image file in ELF-64 format.
and

@param type The type of enclave supported by the enclave image file.

- OE_ENCLAVE_TYPE_SGX - An SGX enclave

So even if the path is the same for an SGX enclave on an Intel machine, vs a TA on a TrustZone machine, the caller has to have separate source code for the two platforms because the flag has to be different.   But having an SGX-specific flag doesn't seem to provide significant value because the architecture should be able to be derived from the enclave image file... e.g., if it's built for ARM it would be TrustZone not SGX.
I can imagine a flag that says whether to use hardware vs some other virtualized or emulated environment, on the same type of processor, but having to specify a flag to tell the library what type of processor the image file is built for just seems like extra burden for little benefit.

@paulcallen What is the current status of this issue?


ContentType should be: 'application/json;charset=utf-8'

Description
Issue on trying of use of Update-VSTeamRelease as described in below article is happening while release data has the special characters in display name like: "í","ą","ę","á". To fix it the the charset should be set to utf-8 as described in title (further reading on below link).
https://developercommunity.visualstudio.com/content/problem/617371/unable-to-update-release-pipeline-through-rest-api.html
Steps to reproduce
Create a release in Azure DevOps by a person which has special characters in display name like: "í","ą","ę","á"
In the coding try to use Update-VSTeamRelease.

Expected behavior
Release would be updated without an error.

Actual behavior
Error like below is being thrown for the line with Update-VSTeamRelease:
2020-02-03T14:26:04.1385318Z WARNING: VS402865: An empty body in the POST request is not allowed.
2020-02-03T14:26:04.2041753Z Invoke-RestMethod : {"$id":"1","innerException":null,"message":"VS402865: An empty body in the POST request is not
2020-02-03T14:26:04.2041894Z allowed.","typeName":"Microsoft.VisualStudio.Services.ReleaseManagement.Data.Exceptions.InvalidRequestException, Micros
2020-02-03T14:26:04.2041993Z oft.VisualStudio.Services.ReleaseManagement2.Data","typeKey":"InvalidRequestException","errorCode":0,"eventId":3000}
2020-02-03T14:26:04.2042390Z At C:\Users\VssAdministrator\Documents\WindowsPowerShell\Modules\VSTeam\6.4.2\vsteam.functions.ps1:696 char:15
2020-02-03T14:26:04.2042568Z +       $resp = Invoke-RestMethod @params
2020-02-03T14:26:04.2042643Z +               ~~~~~~~~~~~~~~~~~~~~~~~~~
2020-02-03T14:26:04.2042722Z     + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
2020-02-03T14:26:04.2042776Z    eption
2020-02-03T14:26:04.2042847Z     + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
2020-02-03T14:26:04.3181443Z ##[error]PowerShell exited with code '1'.

Environment data
OS

[ ] macOS
[X] Windows
[ ] Linux

Server

[ ] TFS 2017
[ ] TFS 2018
[ ] Azure DevOps Server
[X] Azure DevOps Service

> Get-VSTeamAPIVersion

> $PSVersionTable

Would you be able to give it a try and submit a PR? This fix should be fairly simple, but important.


Broken links

[ ] https://www.commbus.com/eventsupport - the office on location link currently not working:

[x] Blog images on mobile aren't pulling through

[ ] Can this link be to the final deckerdence URL (instead of netlify) (on this page https://www.commbus.com/eventsupport) - so https://www.deckerdence.com

[ ] On same page - link this to office on location

[ ] On same page link this to public address page

Hey @kpierduta how are you

At order 22, and  6, and 4 news blogs mobile images empty in contentful. I just add existing mobile images. That's is why the site is not built by Netlify. Please check Order numbers 22, 6, and 4 I just add random images.
-On the office on the location link the slug (button link) in capital letters that's why page not open. Now I fixed please check.


[FEATURE REQUEST] Boot secondary, physically installed OS as a VM

It would be a great addition if UTM could boot other, physically on the Mac installed OS. This could be other versions of macOS as well as Windows or Linux. Parallels Desktop as well as VMWare provide this functionality, at least for Bootcamp.
This would be a great feature on Intel Mac and a stand out feature on apple silicon (for Asahi based installs).

Unfortunately because UTM is a sandboxed app, it can't access physical partitions.
You can use nbd (via qemu-nbd) to serve the partition as a block device to a Linux VM, and/or you might be able to host a network boot server to be able to boot from that partition, but I've never tried this.
Hmm @osy is the utmctl command also sandboxed, and if not, could functionality to host a network boot server be implemented eventually?

Yes, utmctl is still sandboxed

Huh, that's unfortunate. Thanks for confirming

@martin-braun serving a block device doesn't need higher privileges AFAIK, just that it needs to be unsandboxed, which UTM can't do as it is on the App Store.
You can already do this with qemu-nbd currently, so I don't see a need for a custom UTM helper if it can't be bundled in the main UTM.app anyway.

I would gladly have an un-sandboxed UTM app for this purpose.


Updates file to display LoadBalanced message

Fixes https://github.com/Shippable/admiral/issues/943

@himanshu0503

we're using a tooltip to show help messages like in https://github.com/Shippable/admiral/pull/941. lets use the same here
the message here should be This field requires a FQDN where Shippable API is available


CartoDB Connect and Direct SQL Connection

Is the CartoDB Connect and Direct SQL Connection feature not available in the open source setup?
If I go to the "Connect" tab when adding a new dataset, I see the "Database" card with a lock over it saying "Enterprise"
As for the Direct SQL Connection, I don't see any "Connections" menu in the Settings. I would really like to connect externally, if possible, to avoid having to make Carto's SQL API calls from a separate API project and just have it connected through a PSQL connector.
Thank you

it is only available in CARTO for enterprise accounts. It is not open source, sorry.

it is only available in CARTO for enterprise accounts. It is not open source, sorry.


Assign from the description view

To assign oneself to a PR from the description view.

I guess it missed the May 2019 sprint.  :-(

Then I think this can be closed now.

We implemented adding/removing reviewers, not changing assignment, so I think this feature request should still be open :)

would be good to have this option/feature added into Description view but it had been a year since any activity on this


[1276] Fix rake tasks on Heroku

Resolves #1276, also adds tests for the last few rake tasks that didn't have them.
I wasn't sure if I should change the tasks that had logger messages in the fail state, like email_overdue_reminder, so I left those alone.

Nice, this looks really good! I verified that this resolves the original issue (running the bundled Heroku rake tasks now works). There are a bunch of comments inline; nothing too major, a little semantics and structural stuff and then one suggestion for DRY-ing up some of the test code. Once those are resolved we can re-review and hopefully pull this in.

this should be good now!

Looks good, merging now! Please update the CHANGELOG, great work!


(ESPSTUDIO-8016)

Grafana dashboards for Sailing and ONNX examples don't work out of the box
update after the examples names have been changed by Sean

You might want to hold of on this one untill Sean's changes are in


[POC] Mirage on FastBoot with express

This is more a POC/RFC than a PR to be merge.
The idea is that in fastboot mode we can start a express server instead of pretender to respond to backend requests during development/testing. (Disclaimer: I'm newbie so not sure if this all makes sense.)
Issues/changes:

replace pretender with express - this looks more or less straightforward see the PR
unlike normal mode we want an express server once which will be shared across ember app instances, as fastboot creates one instance of app for each request. I'm using a hack like this instance-initializers/fastboot/start-mirage.js to get it started just once.
I need to disable regular pretender based mirage which would be per instance. I'm using an env var, in config/environment.jsif (process.env.FASTBOOT) {
   ENV['ember-cli-mirage'] = { enabled: false };
}

I need to point ember data to the express instance started. I'm using an env var: FASTBOOT_MIRAGE_PORT for that. In config/environment.js i doif (process.env.FASTBOOT_MIRAGE_PORT) {
   let port = parseInt(process.env.FASTBOOT_MIRAGE_PORT);
   ENV['ember-cli-mirage'].fastbootGlobal = { port };
   config.api_host = `http://localhost:${port}`
 }

then in app/adapters/application.js i doexport default DS.JSONAPIAdapter.extend({
   namespace: 'api',
   host: config.api_host || '...'
});

App needs to be started with an env vars like:

FASTBOOT=1 FASTBOOT_MIRAGE_PORT=1234 FASTBOOT_LOAD_MIRAGE=1 ember fastboot --serve-assets

The result is an ember app running in fastboot served by mirage. See https://github.com/mfazekas/fastboot-mirage-test for working example

#1014 replaces this


A TextField/ComboBox without label and description loses focus when the errorMessage is shown or hidden.

🐛 Bug Report
A TextField component that doesn't have label and description loses focus when the errorMessage is shown or hidden.
🤔 Expected Behavior
The component should not lose focus.
😯 Current Behavior
Focus is lost when the error message is shown or hidden.
💁 Possible Solution
If you don't plan to fix this issue very quickly, maybe you can add a warning in documentation or in the console log.
🔦 Context
It is very annoying to lose focus of the input while you are typing . I lost 2 days debugging my application until I found the problem.
This error was first reported 9 months ago, but no bug was logged at that time. I think other people will be affected by this and my suggestion would be to raise the priority of this bug.
💻 Code Sample
https://codesandbox.io/s/react-spectrum-input-error-problem-6ftlye
🌍 Your Environment

Software
Version(s)

react-spectrum
3.21.1

Browser
Chrome

Operating System
macOS Monterey

🧢 Your Company/Team
Adobe RTCDP Connections
🕷 Tracking Issue (optional)

Possible ways to deal with this as discussed.

If you're going to provide error messages, provide a description to help people avoid the error in the first place.
Pass an empty string for the description

We accept PR's as well if we aren't getting to an issue fast enough for you.
The issues is that we have two render paths branched off hasHelpText variable here https://github.com/adobe/react-spectrum/blob/main/packages/%40react-spectrum/label/src/Field.tsx#L52
Wrapping https://github.com/adobe/react-spectrum/blob/main/packages/%40react-spectrum/label/src/Field.tsx#L122 in a React Fragment like line 93 might be enough for React to reuse the elements instead of rendering completely new DOM.

@snowystinger Thanks for your response. I will go on the route of passing an empty string for the description for the time being.
My comment about priority is referring just to the fact that others might go through the same painful debug process like I did. This case doesn't seem very improbable. It was already reported by another person before me.


reference not found when running soft

I think I accidentally screwed up my config file and now I get:
reference not found

when running soft
Does anybody know where the config file is stored locally on the server so I can delete it and start again?

@maxall41 How did you resolve this? I'm currently getting the same message.

Yeah i just ran soft in a different directory

Huh... I did it by removing ~/.repos, since I had just started...


Avoid to update id, name, login_permission or create_users current values.

I seen unnecessary to prevent changes on id field cause that can be done with foreign keys instead


Any demo code??

Something like demo_GUI.py from the original repo.
Thanks.

I am working on this (https://github.com/ekosman/AnomalyDetectionCVPR2018-Pytorch/issues/16) which should do what you want thou you would need a pertained wights to run with it.
I will make sure to put in a pull request when I have this "live_GUI" working :-)

I have some demo code that will take any video and run the Anomaly Detection code (including CD3 feature extraction) and output a video with a graph of the Anomaly Detection prediction on the right-hand side (like in the demo code for the paper). It is all still a bit rough but it works and I do plan to add to it so I can always update later.
I am a bit new to contributing to other people's GitHub so not sure what would be easier, just adding the code here or making a pull request.
I think the pull request would be best as I make a small change in the data_loader method in order to get it all to work, but what would you rather @ekosman :-)

@PHDPeter This is wonderful!
PR would be great!

@PHDPeter BTW, when you submit the PR, can you add a few lines to README (the command for running your script + your credit :) )


Refactor variable name

A few reasons to use robot instead of app:

All the docs use robot
The type/class of the variable is Robot
app is used in other examples for a different thing: const app = robot.route('/my-app'); https://probot.github.io/api/latest/Robot.html

Thanks @gimenete. All the docs will be changing in the next day or two when we release 7 (https://github.com/probot/probot/issues/576).
See #64 and discussion in https://github.com/probot/probot/pull/542 for the reasoning behind changing it from robot => app.

Sounds good! 👍


Github private repo access

Is it possible to use this code with Github Private repository also?
I would like to check in user has valid subscription with us and if yes, give him access to upgrade to the latest release. Don't want to give permanent access to private repository but temporary to download the release.

I think it's already possible.
Create your own repository type, which has a response the zip archive with the latest version.
Via a a config attribute, you can define a API token or something like that, to verify that only valid users can fetch the latest version (or whatever you want).

@codedge should add default support for private repos using access_token in config.

Can anyone tell me how to configure GitHub private repo?

Any news about it?

No, currently not. I have too less time to implement. If anyone wants to open a PR I am happy to check and merge.

Any news about it?

I added support for private repositories via Bearer Tokens: https://github.com/codedge/laravel-selfupdater#private-repositories.
There is now a private_access_token field inside the config file.


use ringbuffer in the framer

#3826

Sure, should I write the test without Genkgo? Since we are going to get rid of it.

Yes, please still write with Ginkgo. I imagine these tests won't be very complicated, and we can hopefully use AI at some point to rewrite them. The more complicated tests (integration tests, connection tests, etc.) will probably require some manual work though.

However, when writing benchmarks, please use normal Go benchmarking. A benchmark test would be a great idea for this component, actually :)

I did a test on a few queue implementions. Code can be found here: https://github.com/Glonee/QueueBench.
BenchmarkTwoStagesQueue-2<PHONE_NUMBER>	         2.724 ns/op	       0 B/op	       0 allocs/op
BenchmarkTwoStagesQueueWithGrow-2<PHONE_NUMBER>	        10.25 ns/op	      32 B/op	       0 allocs/op
BenchmarkRingBuffer-2<PHONE_NUMBER>	         4.057 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBufferWithGrow-2<PHONE_NUMBER>	        13.34 ns/op	      31 B/op	       0 allocs/op
BenchmarkRingBufferWithCheck-2<PHONE_NUMBER>	         5.832 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBufferWithCheckAndGrow-2<PHONE_NUMBER>	        16.27 ns/op	      31 B/op	       0 allocs/op
BenchmarkSlice-2<PHONE_NUMBER>	         4.329 ns/op	      15 B/op	       0 allocs/op
BenchmarkSliceWithGrow-2<PHONE_NUMBER>	        10.81 ns/op	      44 B/op	       0 allocs/op

It seems like the two stages queue has the best performance, as it is used in the standard library(see https://github.com/golang/go/blob/e4e8f9b8ffff9d1bcbaaf4b98307d0b88c26678f/src/net/http/transport.go#L1264-L1303).
I think we might be able to use it as our queue implemention? Or use ringbuffer anyway.

Interesting benchmark results. Where do you think does the performance difference come from? Is it all cache locality?
Why does BenchmarkTwoStagesQueueWithGrow allocate though (haven't looked at the code). There shouldn't be any allocations, unless you keep continuously growing the buffer (which doesn't make too much sense to benchmark).
How does the ring buffer perform vs. the two-stage queue for the case where you only add and retrieve a single element to the list?

Why does BenchmarkTwoStagesQueueWithGrow allocate though (haven't looked at the code). There shouldn't be any allocations, unless you keep continuously growing the buffer (which doesn't make too much sense to benchmark).

I kept growing the buffer😢

How does the ring buffer perform vs. the two-stage queue for the case where you only add and retrieve a single element to the list?

Here is the result.
BenchmarkTwoStagesQueue-2<PHONE_NUMBER>	         4.777 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBuffer-2<PHONE_NUMBER>	         4.735 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBufferWithCheck-2<PHONE_NUMBER>	         6.753 ns/op	       0 B/op	       0 allocs/op
BenchmarkSlice-2<PHONE_NUMBER>	        30.31 ns/op	       8 B/op	       1 allocs/op

It says when the queue is not too short(i.e length is 1), the two-stage queue has a better performance. This is because the two-stage queue has a simpler Push method since it is just a append operation. The ringbuffer's Push method have to determine if we are at the end of the ring or wether the queue is full each time.

That makes sense, thank you for the detailed benchmarks.
Having a queue of 1 is a very common case here: If there's only one stream that's sending data, the queue will only ever have one element.

But if the Pop method check wether the queue is empty every time, the ringbuffer is slower than two-stage queue in all ways. In the two-stage queue, pop from a empty queue is an out-of-range access to a slice, so it will also panic, and it's faster.
The other option to speed up is to use unsafe. This can aviod unnecessary out-of-range checks in the ringbuffer.

How are the benchmarks looking now?

BenchmarkTwoStagesQueue-8                       349521519                3.423 ns/op
BenchmarkTwoStagesQueueBuffered-8               524167392                2.216 ns/op
BenchmarkRingBufferWithCheck-8                  325348203                3.635 ns/op
BenchmarkRingBufferWithCheckBuffered-8          305492370                3.925 ns/op
BenchmarkSlice-8                                47949556                21.15 ns/op
BenchmarkSliceBuffered-8                        144393367                8.239 ns/op

Faster now but still slower than two-stage queue.

@Glonee Why did you close the PR? This was good code!

Regarding the benchmark, how do the numbers look if you add a similar check to the queue: https://github.com/Glonee/QueueBench/blob/main/queue.go#L16

Closed by mistake :(
I will reopen it later.

Regarding the benchmark, how do the numbers look if you add a similar check to the queue

I have updated the benchmark in https://github.com/Glonee/QueueBench.
Here is the result on my laptop.
BenchmarkTwoStagesQueue
BenchmarkTwoStagesQueue-8               339773840                3.443 ns/op           0 B/op          0 allocs/op
BenchmarkTwoStagesQueueBuffered
BenchmarkTwoStagesQueueBuffered-8       477947502                2.486 ns/op           0 B/op          0 allocs/op
BenchmarkRingBuffer
BenchmarkRingBuffer-8                   357796366                3.428 ns/op           0 B/op          0 allocs/op
BenchmarkRingBufferBuffered
BenchmarkRingBufferBuffered-8           337476703                3.573 ns/op           0 B/op          0 allocs/op

Interesting results. I just ran your benchmarks:
M1 Macbook Pro:
goos: darwin
goarch: arm64
pkg: queue
BenchmarkTwoStagesQueue-10            	479846928	         2.370 ns/op	       0 B/op	       0 allocs/op
BenchmarkTwoStagesQueueBuffered-10    	563241345	         2.192 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBuffer-10                	480112345	         2.548 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBufferBuffered-10        	469203624	         2.543 ns/op	       0 B/op	       0 allocs/op
PASS

Ubuntu cloud server:
goos: linux
goarch: amd64
pkg: queue
cpu: AMD EPYC 7542 32-Core Processor
BenchmarkTwoStagesQueue-2           	162548380	         7.373 ns/op	       0 B/op	       0 allocs/op
BenchmarkTwoStagesQueueBuffered-2   	184529250	         6.631 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBuffer-2               	196241442	         6.180 ns/op	       0 B/op	       0 allocs/op
BenchmarkRingBufferBuffered-2       	194265243	         6.172 ns/op	       0 B/op	       0 allocs/op


[feature] Add flink-sql-template module

Purpose of this pull request
This pr solves #530

Can you add workflow steps building flink sql template image automatically to docker-build.yml, docker-release.yml and release.yml?

Can you add workflow steps building flink sql template image automatically to docker-build.yml, docker-release.yml and release.yml?

OK

+1


Are you planning to upgrade it for 14.1 version?

Can you please guide me for the changes i need to do to support 14.1 protocol? I debug the code and everything seems execute perfectly except decoder->GetXml().

hi dpatel , you mean MS-ActiveSync version 14.1?   actually ASWBXml-c  is nothing with specific MS-ActiveSync version. Would you show your console info and debug log ?

OK sure. Please check attached console log screenshot.

You can also check the NSData i am getting from : https://www.dropbox.com/s/m5mc90w2bkkbfa8/data.rtf?dl=0

OK sure. Please check attached console log screenshot.

You can also check the NSData i am getting from : https://www.dropbox.com/s/m5mc90w2bkkbfa8/data.rtf?dl=0

Any thoughts?

It seems there issue with parsing the CDATA. Can you please quick look in to it? I tried to solve that but yet not get any success.

hi dpatel, your NSData might be expired in dropbox and i can't download it . would you send it to me in email and i'll check it as soon as possible<EMAIL_ADDRESS>

hi dwijsoft-dipen, what's your problem about parsing CData? would you show your console log?

Here you go with the dropbox link of my data : https://www.dropbox.com/s/evf795ocn088hx8/SampleData.rtf?dl=0
In my case when i am using 14.1 protocol i am getting conversation id as CDATA, so i keep NSUTF8Encoding then it fails to give me string in +(NSString *)wb2xml:(NSData *) bytes function.
//    NSString * xml = [NSString stringWithCString:decoder->GetXml().c_str() encoding:NSUTF8StringEncoding];
NSString * xml = [NSString stringWithCString:decoder->GetXml().c_str() encoding:NSASCIIStringEncoding];
So i changed encoding to ASCII as above. Now i am getting text but getting CDATA totally junk which break my xml parsing.

all right.  dwijsoft-dipen,  i have decoded your NSData , the coversation id in CDATA look like below:

\304v\216\267x}\317A\240\303#\200\201yV

\320v\314*

i don't know what encoding it used.
in fact ,the xml is returned in std::string  correctly by function "std::string WB2XML(unsigned char* byteWBXML ,unsigned int len);" ,  i suggest you to parse xml in c++  std::string instead of converting it to NSString.

CDATA is in byte array with utf 8 encoding let me try to parse with c++ std::string.

i spend good amount of time in the code, as i am getting byte array for conversation id what i am trying to do it if the tag the conversation id then it will take the byte array from there i am getting WBXML hex data which i am trying to convert in the ASWBXML.mm file under the LoadBytes function so far no success. Can you please guide me?


Rate limiting for admin and API

Description
Rate limiting for admin and API
Related issues
#31
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue).
[X] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist

[X] I have read and understood the rules about how to Contribute to this project
[X] The pull request is for the branch dev
[X] The tests gave 0 errors.
[X] Linters (Black, Flake, Isort) gave 0 errors. If you have correctly installed pre-commit, it does these checks and adjustments on your behalf.
[X] The commits were squashed into a single one (optional, they will be squashed anyway by the maintainer)

Important Rules

If your changes decrease the overall tests coverage (you will know after the Codecov CI job is done), you should add the required tests to fix the problem
Everytime you make changes to the PR and you think the work is done, you should explicitly ask for a review

Done

🚀


Maintaining order on options in a MultiSelect when the key is an integer

Package
filament/forms
Package Version
v2.3.5
Laravel Version
v8.68.1
Livewire Version
v2.7.2
PHP Version
8.0.9
Bug description
When passing a list to the -options() method for a MultiSelect if the list is indexed by an integer (i.e. Users from a database ordered by Name keyed by their id), the order is maintained all the way until you get to the loop within the multi-select.blade.php where it calls Object.keys(options) on the list which will return then keys in numerical order and ignoring the original ordering (a feature of the Object.keys method in javascript).
To get round the issue I've forced the key to be an actual string by appending "#" to the key then having to strip the "#" when it comes back.
Steps to reproduce
Get a list from the db ordered by an alphanumeric identity and then ->pluck('identity','id') *where id is a integer, pass into the options() of a multiselect and then look at it in the browser.
Relevant log output
No response

Yeah, this is just something JavaScript does and not something we can really avoid. It's a known issue for us and we haven't found a way to fix it.
If you find a clean way to avoid the issue, please submit a PR!

@danharrin maybe there should be an option to pass shouldSort or shouldSortItems to choices.js? This should solve 99% of the problems as it is most often sorted alphabetically. A bit uglier solution is to pass a sort function.

It's not a problem with Choices, its a JS thing. Theres an open PR to fix it with a workaround

@danharrin I meant something like that poc

Have you actually tested this? I haven't, but I highly doubt it works. The options will already be reordered before they reach Choices.

Yes, here you have the effects. You just have to think about how to pass the sort type (desc or asc)
before

after

What happens if you have a list of options with numeric keys, then reorder them out of numeric order within PHP. Is that order preserved in JS?


MSSQL binary column cannot set to null

Environment
Knex version: ^0.19.0
Database + version: MSSQL
OS: Osx
Select applicable template from below.
If issue is about oracledb support, tag @ atiertant. For MSSql tag @ smorey2.
Rest of dialects don't need tags.
If issue is about TypeScript definitions, tag @ lorefnon.
Bug

Explain what kind of behaviour you are getting and how you think it should do
Table with binary type cannot update/set into NULL in MSSQL
Error message

{ RequestError: Implicit conversion from data type nvarchar to varbinary(max) is not allowed. Use the CONVERT function to run this query.
    at handleError (/Users/kamote/NodeProjects/fpc/knex-binary-null/node_modules/mssql/lib/tedious.js:566:15)

Reduced test code, for example in https://npm.runkit.com/knex or if it needs real
database connection to MySQL or PostgreSQL, then single file example which initializes
needed data and demonstrates the problem.

I created a repo here to reproduce issue
https://github.com/kamote/knex-binary-null
Feature discussion / request

Explain what is your use case

Explain what kind of feature would support this

Give some API proposal, how the feature should work

Missing / erroneus documentation
Send issue to documentation repo, or fix it and send PR https://github.com/knex/documentation
Questions about how to use knex
GitHub issues are for knex development. Please send questions how to use knex to
Stack Overflow or ask about it in gitter chat.
@smorey2 @elhigu

I came up to same problem today. for some reason null is convrted to nvarchar ? and I can null varbinary