(PMX) Unable to import a MMD model to Blender.

When I hover my cursor over to the 'Import Model', it says it can also support '.pmx' or '.pmd' files. I've tried to import one mode to Blender, but it didn't work, I've done it again this time I selected an import type 'MMD', still nothing.
How do I successfully import an MMD model into Blender?
Blender Version: 3.0
Cats Plugin: 0.19.0

To import the .pmx file to Blender, is by going to Files>Import>MikuMikuDance Models (.pmd .pmx).
Importing through the cats tab will NOT work!


INVALID_ARGUMENT: Missing 'parts' field when submitting Prompt with UserMessage and AssistantMessage in Spring AI Memory

Bug description
When trying to submit a Prompt with UserMessage and AssistantMessage using Spring AI's memory manager, I encountered the following error:
INVALID_ARGUMENT: Unable to submit request because it must include at least one parts field, which describes the prompt input.
The issue arises when calling the model with the Prompt object that includes the system message and the messages from memory. The error suggests that the Prompt does not have the required parts field to describe the input.

Environment

Spring AI version: 1.0.0-SNAPSHOT
Java version: 21
Other dependencies:

chatModelName: gemini-1.5-flash-001

Steps to reproduce

Add UserMessage and AssistantMessage to the memory manager using:memoryManager.addMessage("TODO-CHAT-ID", userMessage);
memoryManager.addMessage("TODO-CHAT-ID", assistantMessage);

Retrieve the messages from memory and construct the Prompt object:List<Message> memoryMessages = memoryManager.getMessages("TODO-CHAT-ID");
List<Message> messages = new ArrayList<>();
messages.add(systemMessage);
messages.addAll(memoryMessages);
var prompt = new Prompt(messages, chatOptions);

Call the model with the constructed Prompt:AssistantMessage assistantMessage = chatModel.call(prompt).getResult().getOutput();
memoryManager.addMessage("TODO-CHAT-ID", assistantMessage);

The following error occurs:
INVALID_ARGUMENT: Unable to submit request because it must include at least one parts field, which describes the prompt input.

Expected behavior
The model should process the Prompt correctly, using the stored messages from memory and the system message, and return a valid response without triggering the INVALID_ARGUMENT error. The parts field should automatically include the relevant user input and assistant responses.

Minimal Complete Reproducible example
memoryManager.addMessage("TODO-CHAT-ID", userMessage);
memoryManager.addMessage("TODO-CHAT-ID", assistantMessage);

List<Message> memoryMessages = memoryManager.getMessages("TODO-CHAT-ID");
List<Message> messages = new ArrayList<>();
messages.add(systemMessage);
messages.addAll(memoryMessages);

var prompt = new Prompt(messages, chatOptions);

AssistantMessage assistantMessage = chatModel.call(prompt).getResult().getOutput();
memoryManager.addMessage("TODO-CHAT-ID", assistantMessage);

The error occurs at the line where chatModel.call(prompt) is invoked, with the INVALID_ARGUMENT message indicating the missing parts field in the Prompt.

I believe this PR, which has been merged and will be released in 1.0.0-M3 will fix the issue.


fix(fe-writer) Add missing JS files(changes_loader and changes_preview ) as ts files

fix for #676
Because of the ignore here
https://github.com/SAP/open-ux-tools/blob/main/packages/fiori-elements-writer/src/index.ts#L102
the js files are not copied. Adding a TS copy of the files so that the copy works.
transpiling middleware removes the comments but otherwise seems ok.
Added a test to cover the case

Please fix the type errors (Found 46 errors in 3 files.). To see them just run in packages/fiori-elements-writer
UX_DEBUG=x pnpm test
cd test/test-output/lropTemplates/lropV2_ts
npm i
npm run ts-typecheck

It shows one error. I think you mentioned this is missing in the types module so we need an updated version with that added?
OK to merge in the meantime or we should add ts ignore / ts no check in that case for now?

It shows one error. I think you mentioned this is missing in the types module so we need an updated version with that added?
OK to merge in the meantime or we should add ts ignore / ts no check in that case for now?

Yes, I have reached out to the corresponding team already and hope it get fixed soon.

I have to admit, I expected a different fix than // @ts-nocheck but since these files are rather static, I am ok with it.

I looked into adding exclude to the tsconfig for webapp/test like we discussed and this worked ok for npm run ts-typecheck. But in VS Code it showed various TS errors in these files. // @ts-nocheck  gives a consistent result.
I also looked into converting these files to full TS, but there was various errors with types not exposed so seem safer to ignore them for now. I think these will be removed eventually when middleware takes care of this for V2 projects like in V4.


Routing key from a template (?)

Sorry, I don't know how to express exactly what I meant in words, so, here is code.
We have several teams here, and alerts are routed to the responsible team. For example:
    - match_re:
        service: ^(foo|bar).*
      receiver: team1-info
      routes:
        - match:
             severity: page
           receiver: team1-page

Later, we define the receivers as:
- name: 'team1-page'
  victorops_configs:
  - routing_key: team1
    message_type: CRITICAL

- name: 'team1-info'
  victorops_configs:
  - routing_key: team1
    message_type: WARNING

The problem with this is that we need to replicate a lot of code (for example, matching services, instances, etc), which is not a breaker but it makes the config more difficult to read because of the repetition.
I wonder if there is a way of doing something like:
- name: team1
  victorops_configs:
  - routing_key: team1
    message_type: {{ $labels.severity }}

If that was possible, it would be easier to maintain this configs.
Any tips?

This is a usage question, which in the future should be directed to<EMAIL_ADDRESS>The config file is read as a complete file, with no interpolation happening when parsing. We recommend using templating as provided by your config management software of choice (chef, ansible, etc.) to turn an alertmanager config template into an alertmanager config on your node.

If you look at the documentation, you can see how to accomplish this: https://prometheus.io/docs/alerting/notification_examples/
- name: team1
  victorops_configs:
  - routing_key: team1
    message_type: {{ .Labels.severity }}

This might do what you want.

Hello, having the same issue here with the following config:
    - name: 'victorops'
      victorops_configs:
        - api_key: 'XXXXXXXXXXXXXXXXXXXX'
          routing_key: 'myenvironment'
          message_type: '{{ .Labels.severity | toUpper }}'  # <-------
          state_message: 'Alert: {{ .CommonLabels.alertname }}. Summary:{{ .CommonAnnotations.summary }}. RawData: {{ .CommonLabels }}'

On VictorOps, all alerts have "message_type = CRITICAL", as if the value of the expanded message_type was not one of INFO, WARNING or CRITICAL and the default value (CRITICAL) was used.

Please move your usage question to<EMAIL_ADDRESS>

@stuartnelson3 what @jperville seems to be a bug... doesn't it?

Maybe we could even always set state_message to upper, as all valid options in the victorops side are uppercase as well

https://github.com/prometheus/alertmanager/blob/master/notify/impl.go#L862-L868
It looks like the code doesn't support templating the message_type key. It also sets a firing alert to CRITICAL if it's not set to one of the accepted variables. So, what's happening is your template string isn't being used, and then it's being set to CRITICAL because what you have doesn't match an accepted message type.
I'm guessing that this was done to make sure alertmanager couldn't send an invalid message.
If you want, you can replace the code on line 862 to template out the message_type:
messageType  = tmpl(n.conf.MessageType)

The check below should remain to make sure the templating is resulting in an acceptable value.
Adding code in this notifier to upcase all strings would also be cool, if that's required by victorops.

Thanks @stuartnelson3 , I will page the victorops people to see if they can fix (even if this is not their code it is in their interest that the issue gets fixed).

@jperville I can work on a patch as well

@jperville @stuartnelson3 see #1083

Thank you @caarlos0 for the PR. For information, my contact at VictorOps told me that the message_type field is not case-sensitive, so the toUpper in the alertmanager template is not necessary, we can just the value of the severity label (as long as that value is valid for VictorOps API).

@jperville hmm, I tested it and it defaulted to CRITICAL when I passed a  lowercased warning...

Right, that must be because of https://github.com/prometheus/alertmanager/blob/master/notify/impl.go#L866 ; what my VictorOps contact said is that their API will ignore the case of the message_type value (I forgot about the check in the notifier which forces the value to CRITICAL if it is not in a case-sensitive whitelist). So we have to uppercase.

The documentation in https://prometheus.io/docs/alerting/configuration/#<victorops_config> should be updated to say that the values must be uppercase and not snakecase as implied by the following comment:
# Describes the behavior of the alert (Critical, Acknowledgement, Info, Recovery).
[ message_type: <string> ]

I will prepare a PR immediately.

@jperville oh, totally missed that.
I had seen the docs and forgot about updating them. Thanks for the help here 🚀

@caarlos0 here we go: https://github.com/prometheus/docs/pull/863

Note that the official documentation of the VictorOps REST API does not document the WARNING value for the message_type attribute. I will tell them to update their documentation.


Replace jtssql with jsontableschema

@roll

API usage looks correct

Thanks :)
On Mon, Mar 14, 2016 at 6:50 PM roll<EMAIL_ADDRESS>wrote:

API usage looks correct
—
Reply to this email directly or view it on GitHub
https://github.com/openspending/babbage.fiscal-data-package/pull/8#issuecomment-196407097
.

Coverage increased (+0.03%) to 96.454% when pulling 83fbc1ce8949eb8d1507f5a5099a65b9c6fd556e on feature/integrate-jsontableschema-sql-py into c094fca709496a34b3b9bb07142b7dbeebe7653d on master.


Document prebuilt UI libraries for Azure AD and Azure AD B2C

Check to see if/where/how to document prebuilt UI libraries for Azure AD and Azure AD B2C:

The UI and components required for setting up authentication with Azure AD or Azure AD B2C are now available in this preview as prebuilt packages:

Microsoft.AspNetCore.Authentication.AzureAD.UI
Microsoft.AspNetCore.Authentication.AzureADB2C.UI

This is the TOC area in question: https://docs.microsoft.com/aspnet/core/security/authentication/azure-active-directory

Turns out that all of our Azure AD/B2C coverage is in the Azure doc set.


upstream PR14

Codecov Report

Merging #25 into master will decrease coverage by 35.06%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #25       +/-   ##
===========================================
- Coverage   85.95%   50.88%   -35.07%
===========================================
  Files          20        4       -16
  Lines        1175      169     -1006
  Branches        6        6
===========================================
- Hits         1010       86      -924
+ Misses        165       83       -82

Impacted Files
Coverage Δ

python/sparkdl/image/imageIO.py

python/tests/transformers/image_utils.py

python/docs/conf.py

python/sparkdl/transformers/keras_utils.py

python/tests/image/test_imageIO.py

python/tests/transformers/named_image_test.py

python/sparkdl/transformers/param.py

python/tests/transformers/keras_image_test.py

Continue to review full report at Codecov.

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


Put Estimate Runtime for Each Tutorial

In the previous tutorials, Ravi put estimate time for each tutorial:

https://github.com/ATOMScience-org/AMPL/blob/1.6.1/atomsci/ddm/examples/archive/tutorials2021/02_Explore_Data_ExcapeDB_curation.ipynb
https://github.com/ATOMScience-org/AMPL/blob/1.6.1/atomsci/ddm/examples/archive/tutorials2021/01_Exploring_Target_Activity_ExcapeDB.ipynb

This gives people an idea on how long each tutorial will take to run. Suggest to add that on the new tutorials.

After talking to the team, this probably doesn't provided much value. Close this.


Update master with upstream

This tries to update our master with upstream master.
After this we are going to rebase kastenhq/stow:master to kastenhq/stow:kasten

force pushed upstream changes on master


why do the message 'connecting' in SampleApp ?

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:

When i run ./SampleApp ../../Integration/AlexaClient.json
it enter the  keyword console ,after meet "press t "... "press h" .
Then it show message 'connecting'  ,'connecting'
What is the expected behavior?

It should not be show  'connecting'
What behavior are you observing?

connecting message is always
Provide the steps to reproduce the issue, if applicable:

./SampleApp ../../Integration/AlexaClient.json
Tell us about your environment:
ubuntu 14.04 bit

What version of the AVS Device SDK are you using?
  AVS <1.2.0>

Tell us what hardware you're using:

[V ] Desktop / Laptop
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[ V] Linux
[ ] MacOS
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi @captainpanther,
Can you collect debug logs by building the SampleApp in DEBUG mode and running it with DEBUG9?


Fix integration test "Interaction in bug1844576.pdf must check that a field has the correct formatted value"

The commit messages contain more information about the individual changes.
Fixes #16930.

/botio integrationtest

/botio-linux integrationtest

/botio-linux integrationtest


[core/cyclicbuffer] : Cherry-picked from '907031e6b3d4055be0859fa8934…ea404ca2b42f9' 'development/cylicbuffer'.

Triggers false positives with Thread use as multiple Worker execution might be done from the same underlying POSIX pthread.

This was discussed with MFransen69.

@pwielders I am closing the PR. Be informed that neither the API (header, declarations) nor documentation do hint on single (Thunder type) Thread use per process as suggestively is intended. I recommend updating the documentation to make clear these ASSERTs are meant to be as part of that restriction.


some forms have a strange latenty in clicks

Screencast from 2023-06-13 18-20-19.webm
you need to do an extra click here on the title to make change visible and effective
infected elements:

switches
accordion
save button (stays blue)

this is causes by bugs in the bundle manager


Added a blue sun in challenge 2 :D

Also just learned that not all of images that have the background transparent are actually transparent ahah

Looks cool!


Migrate script-evaluation-dump from BuildKite to GHA

I'm going to merge this so that the new Workflow will show-up and I can trigger it manually


changed filenames and variable-names for consitency with other scripts

please merge together with:
https://github.com/kiegroup/kie-jenkins-scripts/pull/32
https://github.com/kiegroup/droolsjbpm-build-bootstrap/pull/495
https://github.com/mbiarnes/dashbuilder/tree/changeFileNames

@mbiarnes could you please write a more clear commit message?

@ederign edited a more clear commit message

Jenkins retest this please


ImportError: Module 'pywintypes' isn't in frozen sys.path

opens documents when finished building and theres nothing in documents

fixed , now getting this error :
Traceback (most recent call last):
File "PyInstaller\hooks\rthooks\pyi_rth_win32api.py", line 18, in
File "PyInstaller\loader\pyimod03_importers.py", line 476, in exec_module
File "pywintypes.py", line 128, in
File "pywintypes.py", line 44, in import_pywin32_system_module
ImportError: Module 'pywintypes' isn't in frozen sys.path ['C:\Users\KHIERA~1\AppData\Local\Temp\_MEI117602\base_library.zip', 'C:\Users\KHIERA~1\AppData\Local\Temp\_MEI117602\lib-dynload', 'C:\Users\KHIERA~1\AppData\Local\Temp\_MEI117602']

Its a device related issue. Try to build the grabber in a virtual machine: https://app.apponfly.com/trial

What python version are you using?

python 3.9

Try upgrading your python version. Delete the env folder and then retry the builder. If you still got error, build the file in a vps/vm.

@GoldenS0ulz Is the issue fixed? If not, contact me on discord Blank?#0886

Issue isn't fixed, updated python version & still have the same error

@GoldenS0ulz
Follow these steps, if it didn't work, then contact me on discord:

Open cmd normally from the search box.
Type pip install --upgrade pywin32.
Follow this video from 23 seconds https://youtu.be/6RyCt2xWBcM?t=23.
Build the grabber again.

Note: Your lib folder will be inside the env folder which is where your grabber's builder is.

Please reply ASAP or I'd have to mark this issue as stale!

This issue is related with pyinstaller and is device specific. Try on other device.


when the mackerel season is starting

As a fisherman I would like to know when the mackerel season is starting so that I know when the fleet is diversifying https://github.com/StAResComp/sifids/issues/7

Could


After upgrading to flutter 2.2.5, gettimg Checking Dart SDK version... was unexpected at this time

Checking Dart SDK version...
<< was unexpected at this time.

Hi @JohnKinyanjui
Which platform are you using? Make sure your firewall or antivirus has Flutter and its directories in the allowlist or whitelist.
Could you please provide your complete flutter doctor -v outpit
Thank you

@TahaTesser am using Windows 11 currently i have been able to resolve the issue, on my pc i have an ssd and hdd.The ssd is where the main windows os and hdd for storing stuff
.
This error is based on permissions because when the flutter sdk was on hdd,  dart could not installed or runned properly hence caused the issue even if run it as admin .
Its a pretty weird error
I decided to move the flutter sdk to ssd and it started working correctly cause the both admin and primary user of the computer had permissions on the pc.

Closing based on this comment

facing the same issue. any solution. Both dart and flutter showing this error after running dart upgrade on PowerShell using choco upgrade dart-sdk and taking a pull from flutter master branch

@parmarravi
uninstall flutter from choco and download the sdk, finally extrach it on a public folders or a place where you user has enough features c

Done . I did git reset --hard and then called flutter upgrade


[kubeflow] cannot install 1.17/stable

instruction (step1)
$ sudo snap install microk8s --classic --channel=1.17/stable
$ sudo usermod -a -G microk8s ubuntu
$ sudo chown -f -R ubuntu ~/.kube

relogon(step2)
$ sudo snap alias microk8s.kubectl kubectl
$ microk8s.status --wait-ready
$ microk8s.enable dns dashboard storage
$ microk8s.enable kubeflow

Following message appeared
Enabling dns...
Enabling storage...
Enabling dashboard...
Enabling ingress...
Enabling rbac...
Enabling juju...
Deploying Kubeflow...
Located bundle "cs:bundle/kubeflow-185"
ERROR cannot deploy bundle: the provided bundle has the following errors:
empty charm path
invalid charm URL in application "kubeflow-gatekeeper": cannot parse URL "": name "" not valid

Command '('microk8s-juju.wrapper', 'deploy', 'cs:kubeflow', '--channel', 'stable', '--overlay', '/tmp/tmpy9x5u0qq')' returned non-zero exit status 1
Failed to enable kubeflow

This is following problem.
$ sudo snap install microk8s --classic --channel=1.17/stable

For latest version, this error is not appeared. (successfully finished)
$ sudo snap install microk8s --classic --channel=stable

Yeah, 1.18 introduced a new login service that matches upstream's 1.0 release. Is there a reason you're not using 1.18?

Thank you, I understand situation.
Since microk8s1.18 with kubeflow does not connect WebUI properly on EC2,
I try  to use microk8s 1.17.
Currently I use microk8s 1.15 + kubeflow 1.0.2 with modify following script.
https://gist.github.com/fdasilva59/f3a84afa93bb4fe394833120afff5a53


Docs update to create talk

Update create talk documentation to add the fields duration and slides_link.
Also rename the talk_type field to type so that the field used in create is the same name as in the returned data.

test this please

test this please


openid (keycloak) auth: kibana does not refresh access token

Version: ES / Kibana 1.0.1
Reproduce:

Setup keycloak as openid provider in both securityconfig and kibana configuration
Successfully authenticate
Wait 1 minute on the main page (or until session expiration / delete cookies )
Try to browse anywhere
Kibana will fail to respond unless page is refreshed

What it seems to be happening is Kibana responds with a 302 as you might expect. It then does a CORS OPTIONS request against keycloak (which is enabled and allowed in my keycloak). It then does a GET request against the keycloak auth endpoint which returns a 200 but does not renew the existing session but instead assumes it is logged out. What I believe is happening is cookies are not being sent in this final request. After keycloak returns a 200 Kibana will fail to respond unless you browse to timelion or the security panel.
Edit: I am not expert on this codebase... but it seems like there is a pretty massive difference between how searchguard handles this and how open distro does.
This is apparent here: https://github.com/opendistro-for-elasticsearch/security-kibana-plugin/blob/26962427413c7cf734c64ccf1db06d9582477f2f/lib/auth/types/AuthType.js#L178
Compared to here: https://github.com/floragunncom/search-guard-kibana-plugin/blob/77ff5e7503d60841fb987274cc9dd20cd9f90806/lib/auth/types/AuthType.js#L197
and specifically here: https://github.com/floragunncom/search-guard-kibana-plugin/blob/77ff5e7503d60841fb987274cc9dd20cd9f90806/lib/auth/types/AuthType.js#L236
I believe I should also be getting a 401 in this case... otherwise the plugin is reliant on cors enabled in keycloak (or any openid provider) to work at all.

I will be testing this fix myself before doing a PR when I find the time.

So after doing some more diving I have discovered this will never work with a 302... kibana sends an OPTIONS request to the authorization_endpoint discovered in well known. This endpoint will not respond with a valid cors preflight unless you hacked it to test like we did with a frontend proxy...

Yeah that made OIDC unusable, I switched to SAML instead.

Hello,
I currently developed a fix and testing it internally. I am able to refresh the access token and Kibana do not gets struck or redirects to the login page.

After testing, I will be doing a PR.

Hi, I have raised a PR for the above issue. https://github.com/opendistro-for-elasticsearch/security-kibana-plugin/pull/217. Its for ODFE 0.9 w.r.t Kibana 6.7 as i am using this version for our product. Please validate my changes and the same can be migrated for higher versions also.

Experiencing same kind of issue with Opendistro v1.9.0 and Keycloak v9.0.0. Any chance this issue will be resolved in any future updates? For now all users are just refreshing browser page manually to update auth token.

Remember to add the offline_access scope in order to get a refresh token

Remember to add the offline_access scope in order to get a refresh token

We are doing some "spring cleaning in the fall", and to make sure we focus our energies on the right issues and we get a better picture of the state of the repo, we are closing all issues that we are carrying over from the ODFE era (ODFE is no longer supported/maintained, see post here).
If you believe this issue should still be considered for current versions of OpenSearch, apologies! Please let us know by re-opening it.
Thanks!


Missing img/i-f7-material.png and i-f7-ios.png causes webpack build to fail.  Should include these in dist/umd/ in your repo?

I'm adding framework7-react to an existing webpack build.    (i have an existing project so it did not make sense to start from scratch using create-react-app)
I used npm to install using npm install framework7-react --save as mentioned under the Installing in an App with a Build Pipeline section of your documentation.
My process for adding to my existing webpack build was

Importing into my Typescript entry point:

import * as Framework7 from 'framework7-react'
import { Framework7App, Statusbar, Views, View, Pages, Page, Toolbar, Link, Navbar } from "framework7-react";

At the moment this file just does a ReactDOM.render of the component copied from your website's App Layout page:  https://framework7.io/react/app-layout.html

Importing the relevant CSS files into my own LESS file

@import "../node_modules/framework7-react/dist/umd/css/framework7.material.colors.css";
@import "../node_modules/framework7-react/dist/umd/css/framework7.material.css";
@import "../node_modules/framework7-react/dist/umd/css/framework7.ios.colors.css";
@import "../node_modules/framework7-react/dist/umd/css/framework7.ios.css";

By doing so, webpack recognizes the framework7-react sources and CSS as needing to be bundled.
Following this procedure, webpack gives errors about missing image files:
    ERROR in ./node_modules/css-loader!./node_modules/framework7-react/dist/umd/css/framework7.material.css
    Module not found: Error: Can't resolve '../img/i-f7-material.png' in '/Users/mike/development/web/SonicPines/client/node_modules/framework7-react/dist/umd/css'
     @ ./node_modules/css-loader!./node_modules/framework7-react/dist/umd/css/framework7.material.css 6:60158-60193
     @ ./node_modules/css-loader!./node_modules/less-loader/dist/cjs.js!./styles/Framework7Styles.less
     @ ./styles/Framework7Styles.less

and if I try to run my App in Chrome, I get a corresponding runtime error:
Uncaught Error: Cannot find module "../img/i-f7-material.png"
    at webpackMissingModule (framework7.material.css:6)
    at Object.278 (framework7.material.css:6)
    at __webpack_require__ (bootstrap 05fd7dc9ed98e4fbcd80:19)
    at Object.276 (Framework7Styles.less:4)
    at __webpack_require__ (bootstrap 05fd7dc9ed98e4fbcd80:19)
    at Object.275 (Framework7Styles.less?d1ef:4)
    at __webpack_require__ (bootstrap 05fd7dc9ed98e4fbcd80:19)
    at 21.module.exports (bootstrap 05fd7dc9ed98e4fbcd80:62)
    at bootstrap 05fd7dc9ed98e4fbcd80:62

which is fatal (the app renders with Times Roman so clearly the failure to bundle/load this image has prevented any of the Framework7 CSS rules from functioning at all)
Workaround
I was able to work around this issue by manually copying the required images (there are only two of them) from a previously-created sandbox app that I created elsewhere using  phonegap create mobile --template framework7.    I manually copied them to node_modules/framework7-react/dist/umd/img.
➜  umd git:(master) ✗ mkdir img
➜  umd git:(master) ✗ cd img
➜  img git:(master) ✗ cp ../../../../../../mobile/www/lib/framework7/img/* .
➜  img git:(master) ✗ ls
i-f7-ios.png      i-f7-material.png

Solution
I think either of the following would be an acceptable solution

This repo should include the directory dist/umd/img with these two images, or
The CSS rules which mention the images should be removed

The latter solution may be unacceptable to you since I imagine you are getting these CSS files directly from the main Framework7 repo and you don't want to have unique versions
Note
This may be an issue that would go away if this repo was brought up to date with the latest stuff in the main Framework 7 repo.  I investigated on the main Framework7 repo,  It appears that the newer versions of the CSS don't include any .png's
e.g. these CSS from the 1.6.5 release look like yours however the latest version of the CSS does not mention any .png's.  Also the CSS files appear to have been renamed since the start of 2.0

You might try NPM installing Framework7 in addition to Framework7 React, and then importing the CSS from Framework7. That's what the F7 React CRA template does.

Thanks.   I will try that.   If that's the recommended procedure, it might be good to specify this in the installation document.   Since the "Installing in an App with a Build Pipeline" section said to install only React and framework7-react, I assumed that also installing Framework7 would be redundant and possibly cause compatibility issues due to having conflicting parts.  Especially now that I have discovered that framework7-react is not up to date with the 2.0 version of Framework7, I'm a bit surprised that you say they can work together.   But now that you have suggested it I will give that a try.

Yeah, I agree that it isn't a very refined solution to install Framework7 alongside F7 React just to get the CSS. The kitchen sink has the static CSS files manually copied from F7 in a "css" directory, which also isn't the best solution. I'm going to keep this issue open, since this is something that could definitely be improved.
In the meantime, installing F7 beside F7 React shouldn't create any conflicts, since F7 React uses its own bundled version of F7. Just make sure it is 1.6.5 you install instead of 2.x.


[Feature]: Option to change fill order when using multiple columns

Describe the feature
Currently when using multiple comlumns the window gets filled from left to right and then top to bottum. When using multiple columns i would prefere that they get filled top to bottum first and then left to right. (like it was in Adibags)
How it is now:

How it was: (and how I would like it also be an option in BetterBags)

Describe the implementation
guess like this xD

Was implemented back in May


How can i be part of hacktoberfest, my name is not on the list and it says just add your name to the end of list

That is what you have to do @mohit01-beep. You have to add your name at the end of the list and make a Pull Request to @eddiejaoude by editing the README.md file. If everything seems well he'll be accepting your Pull Request. Details regarding the same are already given in the README.md file. Follow those steps and try to do the thing. If you need any further help just post it here.

For more details about how to take part in Hacktoberfest watch this video: (https://youtu.be/XFLlakeNO10)

Thanks @BhuvaneshHingal 👍

Thanks @BhuvaneshHingal finally, i added my name on the list

@mohit01-beep also sign up to their official newsletter too https://hacktoberfest.digitalocean.com
I will be doing lots of live stream from mid September and through October


Pass necessary props through BigButton

As mentioned in this comment, BigButton needs to pass more props through to its underlying button (onClick at least).

FWIW, the way I've seen most libraries handle things like wrapped inputs is to pass any props that it doesn't directly use itself down to the underlying input (the way it was before); see, for example, Material UI. That doesn't necessarily mean it's right, but it does seem to be the way a lot of people have resolved it in React world. I'm inclined to go that way; there are a lot of props that could be used by consumers that we don't want to have to list out (e.g. onFocus, onBlur, onMouseEnter, form etc.).

Part of the question is about how to pass the props down in a way that's extensible so we can pass down stuff without worrying about accounting for every single possible prop in the code of <BigButton>. One way goes something like this:
const BigButton = function ({ children, specificProp, ...buttonProps }) {
  return (<Button someProp = { specificProp } { ...buttonProps } >{ children }</Button>);
}

<BigButton
  specificProp = {true}
  onClick      = {function () {}}
  onFocus      = {function () {}}>
  Text
</BigButton>

That way's a bit dangerous, but that's the most flexible and easiest to write for. We can pass down things like color and disabled as if we were just handing it down to <Button>. Another way does something more like this:
const BigButton = function ({ children, specificProp, overrides }) {
  return (<Button someProp = { specificProp } { ...overrides } >{ children }</Button>);
}

<BigButton
  specificProp = {true}
  overrides    = {
    onClick: function () {},
    onFocus: function () {},
  }>
  Text
</BigButton>

That's safer, but more painful. Maybe there are other ways to handle it too.
Discuss!

Those last two comments would probably work better switched, lol. My hesitancy in passing down props is getting unintended props in there by accident which would be hard to trace, but I'm not married to any particular method.

Fair point!


Delhi count is coming as 0 for the 9th of June 2020

Open site, search for delhi count.

Looks like it's fixed now


Add topic tags in About section

I suggest adding the topics multiphysics, cfd, navier-stokes in the About section, as explained at https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics

Thank you for the suggestion. We have added it!


Support max http request header size and max http header size configuration separation

Mail link：https://bz.apache.org/bugzilla/show_bug.cgi?id=65866

Please review the code first, if there is no problem, I will support this on other branches as well.

That seems pretty straightforward. I'm slightly skeptical about the real practical use since trying to optimize the sizes too much is risky, but no problem, this is the user's responsibility.

That seems pretty straightforward. I'm slightly skeptical about the real practical use since trying to optimize the sizes too much is risky, but no problem, this is the user's responsibility.

@rmaucher
I saw some discussion about this, you can refer to it:
https://github.com/spring-projects/spring-boot/issues/29382

+1 I see two advantages:

enables cases where "front" tomcat has big incoming headers but "normal" forwarded headers
enables better web server abstractions which often have this configuration

Open question: shouldn't setMaxHttpHeaderSize set both request and response ones and maxHttpHeaderSize field be dropped for backward compat?

Overall, I prefer the PR as it is right now, it's simpler. If the new setters are used, then the behavior could be slightly different, but since this is new API this should be fine.

Overall, I prefer the PR as it is right now, it's simpler. If the new setters are used, then the behavior could be slightly different, but since this is new API this should be fine.

It is not complicated. I forked and edit online to demonstrate the part of change: https://github.com/gmshake/tomcat/commit/75289cf9e7a3920cc6d3ea0463db53a6ab0d090c?diff=split

The proposed patch is still simpler and should work well, so I will merge that one.

@rmaucher
I can patch several other branches, right?

Merged with changed. I didn't understand the changes to TestHttp2Limits, HTTP/2 should use the new request header size and that should be it. Also updated docs and changelog.

@rmaucher
Do i need to resubmit a clean pr?


Parse //# sourceMappingURL= comments that contain inline source maps.

Standalone source maps can already be specified using --source_map_input. This adds support for inline source maps using data URLs with base64 encoding. Inline source maps make it easier to preserve the source map / file association across build steps and file transfers.

This is based on the changes in #1971.

/CC @ChadKillingsworth

I was kind of waiting on #1971 to get merged - makes the diff easier to read.
Of particular note is what behavior is expected if an input sourcemap is provided AND an inline sourcemap for the same file? The gulp sourcemap plugin would never do this, but we should at least know the behavior.

@ChadKillingsworth source maps in files override any from parameters. I think that makes sense - the closer to the source code itself you are, the more "binding".
Also, source map comments later in the file override earlier ones, assuming there are multiple. Also working as intended for me - we don't support arbitrary depth mapping, so taking the last one is the closest reasonable thing we can do (at least we'll correctly map one level).

@mprobst sounds good to me.

@ChadKillingsworth PTAL, this is now rebased on the submitted apply_input_source_maps branch. I've also introduced an option that allows disabling the inline source map parsing, in case somebody runs into issues with it (e.g. memory usage).


cucumber-expressions: Use a parser to parse Cucumber Expressions

Summary
A parser to parse Cucumber Expressions.
Cucumber Expressions currently uses a string rewriting algorithm
to turn Cucumber Expression Strings into regular expressions. This algorithm
has three major problems.

Rewriting optionals interferes with rewriting alternatives as seen in #767.
It is possible to inject regex expressions into Cucumber Expressions as seen in #601.
It is not possible use alternatives containing a space.
Escaping characters is generally inconsistent.

By using a parser to generate the AST of Cucumber expression and rewriting this
AST to a regular expression we can avoid all these problems. For example:
{int} blind\ rat(s)/mouse/mice

Matches:

3 blind rats
1 blind rat
3 mice
1 mouse

Fixes: #767
Fixes: #601
Fixes: #726
Closes: #770
Details
Grammar
cucumber-expression :=  ( alternation | optional | parameter | text )*
alternation := (?<=left-boundary) + alternative* + ( '/' + alternative* )+ + (?=right-boundary)
left-boundary := whitespace | } | ^
right-boundary := whitespace | { | $
alternative: = optional | parameter | text
optional := '(' + option* + ')'
option := optional | parameter | text
parameter := '{' + name* + '}'
name := whitespace | .
text := whitespace | ')' | '}' | .

The AST is constructed from the following tokens:
escape := '\'
token := whitespace | '(' | ')' | '{' | '}' | '/' | .
. := any non-reserved codepoint

Note:

While parameter is allowed to appear as part of alternative and
option in the AST, such an AST is not a valid a Cucumber Expression.
While optional is allowed to appear as part of option in the AST,
such an AST is not a valid a Cucumber Expression.
ASTs with empty alternatives or alternatives that only
contain an optional are valid ASTs but invalid Cucumber Expressions.
All escaped tokens (tokens starting with a backslash) are rewritten to their
unescaped equivalent after parsing.

Types of changes

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

Checklist:

[X] The change has been ported to Java.
[X] The change has been ported to Ruby.
[X] The change has been ported to JavaScript.
[X] The change has been ported to Go.
[X] I've added tests for my code.
[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I've implemented the parser in Go and Java. I'm fairly proficient with both, before I continue with JavaScript and Ruby I'd like to have some feedback.

Nevermind. Found the flaws.
Cases not yet covered:
aaa \( bbb (cccc)
aaa (bbb \)ccc)
aaa \(bbb\)  ccc

Ect.
Currently can't catch these because this parser rewrites tokens collected by regex rather implementing a proper tokenizer + LR(1) parser.

Personal pref, I don't like this (4 escaping ), type of cuke exp. When you've got 4 escaping characters it's starting to get beyond the point that we should support (imo)

We support two escapes at most currently. But if the parser is implemented properly it doesn't matter.

Okay. I've changed the implementation to a regular recursive descent parser. While not strictly necessary it makes the implementation much cleaner and behaves like all the other parsers people are used too (esp w.r.t  escapes).
Additionally I've changed the precedence order. Alternation is now the highest precedent operator. This means that any thing bordering a / without spaces is part of the alternation (it used to be bound by optionals, but that was broken).
To make cucumber expressions easier to validate I've also extended the grammar to allow parameters to be nested in optionals and alternatives and optionals to be nested in parameters. These are not valid cucumber expressions and will throw an error.
For now I'm going to let this percolate a bit. I'll add some examples (for the docs) later on.

@mpkorstanje thats great :+1:
This is something we could definately use/require to support better IDE integration of cucumber (see https://github.com/cucumber/cucumber-jvm/issues/1711) and will greatly improve the further feature development of cucumber-expressions.
As there are ots of changes I'm not completely sure but will it be possible to use acess the different parts of an expression via public API?
What would be required is

Get parameters/alternatives and there positions in the origial string
Get type of parameters
Get alternative values

For your example ({int} blind\ rat(s)/mouse/mice) I would expect the following data:

one parameter at (0, 5) of type int
one alternative at (13, 30) with values [rat, rats, mouse, mice]

Is this already possible? If not can you add it?

Is this already possible? If not can you add it?

Feel free to send a PR against the tokenize-cucumber-expression branch. The java implementation is pretty much  done.
You'll probably want to add start and end indexes to Token and then reuse that information in the Node class to work out the bounds. Once that works we can hammer out the public API for it.

And that is the go implementation of the recursive descent parser done.

Great work @mpkorstanje! Looking forward to porting this to TypoeScript. Maybe this cleanup will make it easier to port to C# too? /cc @SabotageAndi @gasparnagy

Can't believe I just wrote TypoeScript!

I know it is too late and I don't want to screw up the plan, but did you consider using BERP for parsing? That would allow and easier port to other languages.

I don't believe Berp allows look behind (?<=boundary)  and using a windows exectuable was a bit of a barrier to entry for me. :smile:

@mpkorstanje Well, it is not a Windows executable, but a .NET executable and can also be run on any platform using mono, but I can understand. It does not support lookbehind, but it supports rule-level lookahead and that is enough, I think. (For the first look, the alternative* inside the alternation rule sounds strange to me.) Berp is used to parse the berp grammar itself, that also has alternation.
Are you otherwise ready with the Java implementation? Shall I check how berp could support this and discuss it in the tomorrows Cucumber meeting?

I don't think you'll get there with just look ahead. Perhaps you could do it by making the boundary part of the alternation node but then you'd have to rewrite the AST afterwards to move the boundry out of the alternation node again.
 Shall I check how berp could support this and discuss it in the tomorrows Cucumber meeting?

There is a still the open question what we'll do with incomplete optional and parameter types. E.g: "{string" and "(string"

Shall I check how berp could support this and discuss it in the tomorrows Cucumber meeting?

I'm not quite convinced that generating the parser will make the code easier to understand. But lets discuss it tomorrow anyway.

@mpkorstanje OK. I'll think about it.
Just to make sure I understand the tricky cases:

pre a/(b c)/d post -- this matches to pre a post pre b c post pre post and pre d post
pre (a b)/c/d post -- this matches to pre a b post pre post pre c post and pre d post
pre a/{b/c/}d post -- for me this sounds like invalid, because b/c/ is not a type name. But even if it would be pre a/{int}d post, I would still expect that to be invalid because it would make the parameter optional that would mix the matching to the actual parameters of the method. I think I would not allow parameters in alternation and optional at all...

Just to make sure I understand the tricky cases:

I don't think you understood them. They are all valid cucumber expression ASTs with one alternation node in the parse tree.

I would still expect that to be invalid because it would make the parameter optional that would mix the matching to the actual parameters of the method. I think I would not allow parameters in alternation and optional at all...

While using a parameter inside an alternative does not result in valid cucumber expression, this should yield a valid AST. Not treating it as parse error makes it easier to report what the user did wrong because we have the whole AST to work out what is actually wrong.
Using an optional inside alternatives are entirely fine.
It's what allows the variations of this expression to work:
{int} blind\ rat(s)/mouse/mice

e.g:
    3 blind rats
    1 blind rat
    3 mice
    1 mouse

My question was about whether the expressions are valid and what steps would they match to. (So basically as a cucumber user what should I expect by looking at the expression.) Could you confirm that on this level the potential matches I listed are correct?

While using a parameter inside an alternative does not result in valid cucumber expression, it should yield a valid AST. Not treating it as parse error makes it easier to report what the user did wrong because we have the whole AST to work out what is actually going on rather then a stack in the parser.

Well... I think this depends on the error reporting capabilities of the parser... Because creating an AST for something that is obviously senseless makes the code more complex.

Using an optional inside alternatives are entirely fine.

I had no concerns about that. What I said is using parameters inside alternatives (or optional) is the problem.
(Although I think we could even forbid optional inside alternation for the sake of simplicity, because the very few cases where it would make sense can be also done with an empty alternate case. E.g. a/(b)/c with a/b//c...)

My question was about whether the expressions are valid and what steps would they match to

pre a/(b c)/d post -- this matches to pre a post pre b c post pre post and pre d post

Correct.

pre (a b)/c/d post -- this matches to pre a b post pre post pre c post and pre d post

That would be pre  post with two spaces.
Note: We also disallow empty alternatives so an optional that spans the entire alternative is also forbidden.

pre a/{b/c/}d post -- ...

If we'd allows parameter types in alternatives and if b/c/ would have the pattern .+ then the pre a/{b/c/}d post matches pre a post, pre .+ post and pre d post.

I think we could even forbid optional inside alternation for the sake of simplicity

I tried that initially but the syntax becomes much easier to understand when it can be used consistently.
It would also break backwards compatibility.

Note; We should update the cucumber expression generator to generate properly escaped cucumber expressions.

@mpkorstanje I published the demo to https://github.com/gasparnagy/CucumberExpressionParserDemo
I have made a new release of BERP, where I back-ported the tweaked razor files from the Gherkin project. (The original idea was that the razor files should not be project dependent. Now I made them project-independent again, so we could generate both Gherkin and Cucumber Expressions with the same razor files -- with different grammar, of course :))
The new release is on NuGet, but can also be downloaded as a simple zip from: https://www.nuget.org/api/v2/package/Berp/1.1.1.
The ideal would be to make the cucumber build in a way that it wgets BERP and runs the parser generations from there. (So we don't need to commit the binaries.) I would make this for the cucumber expressions and then fix the Gherkin parser generation as well. (I am happy to help.)
Play with it and let me know if something is unclear.

Cheers! I'll have a look at putting berp into the docker image.

@mpkorstanje Sure. I have another tool with a similar approach, for that I documented how to use it through docker. If it helps... https://specsolutions.gitbook.io/specsync/important-concepts/using-specsync-on-osxlinux-page#dockerfile-for-mono-execution

@gasparnagy given these rules below I get a parse error while parsing (three )rats/(some )cats:
[
	Tokens -> #TEXT,#WHITE_SPACE,#ALTERNATION,#BEGIN_OPTIONAL,#END_OPTIONAL,#BEGIN_PARAMETER,#END_PARAMETER
	ClassName -> CucumberExpressionParser
	ParserClassName -> CucumberExpressionParser
	JAVA_Package -> io.cucumber.cucumberexpressions
	SimpleTokenMatcher -> true
	MaxCollectedError -> 1
]

CucumberExpression! := (Separator | Parameter | Alternation )*
Separator! := #WHITE_SPACE
Alternation! := Alternate (#ALTERNATION Alternate)*
Alternate! [->#TEXT] := (Optional | Parameter | AlternateText )+
AlternateText! := #TEXT
Optional! := #BEGIN_OPTIONAL (Text)* #END_OPTIONAL
Parameter! := #BEGIN_PARAMETER (Text)* #END_PARAMETER
Text! := (#TEXT | #WHITE_SPACE)

This is rather curious because the #TEXT token is expected here according to the diagnostics generated by Berp:
token = {Token@1710} "Token{text='rats', type=TEXT}"
 text = "rats"
 tokenType = {CucumberExpressionParser$TokenType@1681} "TEXT"
expectedTokens = {Arrays$ArrayList@1723}  size = 6
 0 = "#EOF"
 1 = "#BEGIN_OPTIONAL"
 2 = "#BEGIN_PARAMETER"
 3 = "#TEXT"
 4 = "#ALTERNATION"
 5 = "#WHITE_SPACE"
stateComment = "State: 7 - CucumberExpression:0>__alt0:2>Alternation:0>Alternate:1>__alt2:0>Optional:2>#END_OPTIONAL:0"

Debugin the generated code it looks like the lookahead_0 requires that the next node is a #TEXT nodes while the next token is an #ALTERNATION .
        if (match_TEXT(context, token))
        {
            if (lookahead_0(context, token))
            {
                endRule(context, RuleType.Optional);
                startRule(context, RuleType.AlternateText);
                build(context, token);
            return 11;
            }
        }
        if (match_TEXT(context, token))
        {
            if (lookahead_0(context, token))
            {
                endRule(context, RuleType.Optional);
                endRule(context, RuleType.Alternate);
                endRule(context, RuleType.Alternation);
                startRule(context, RuleType.Alternation);
                startRule(context, RuleType.Alternate);
                startRule(context, RuleType.AlternateText);
                build(context, token);
            return 11;
            }
        }

So trying to include #ALTERNATION in the lookahead:
Alternate! [->#TEXT | #ALTERNATION] := (Optional | Parameter | AlternateText )+

I run into a parse error in Berp:
Generating parser for grammar 'CucumberExpressionGrammar.berp' using template 'Java.razor'.
Loading grammar...

Generation failed.
Parser errors:
(14:35): expected: #AlternateOp, #Arrow, got ']'
(14:37): expected: #AlternateOp, #Arrow, got ':='
(14:40): expected: #AlternateOp, #Arrow, got '('
(14:41): expected: #AlternateOp, #Arrow, got 'Optional'
(14:52): expected: #Token, got 'Parameter'
(14:62): expected: #Token, got '|'
(14:64): expected: #Token, got 'AlternateText'
(14:78): expected: #Token, got ')'
(14:79): expected: #Token, got '+'
(14:79): expected: #Token, got ''
make: *** [Makefile:4: src/main/java/io/cucumber/cucumberexpressions/CucumberExpressionParser.java] Error 1

And looking at the berp grammar I don't think I'm too far off:
LookAhead! := #LBracket LookAheadTokenList? #Arrow LookAheadTokenList #RBracket
LookAheadTokenList! := #Token (#AlternateOp #Token)*

What am I missing here?

@mpkorstanje Interestingly I've run into the same problem. I agree, that the grammar should be valid. I will take a look, in the meanwhile please revert to the previous grammar. (I can only check it on Monday).

@mpkorstanje I've got the fix for this. The multiple lookahead error was a clear bug in BERP. Fixed.
But... Actually I had to realize that we use the lookaheads here in a non-designed way. BERP lookaheads can help if you need to choose from two branches based on the tokens that come after the first token (hence "ahead"). But in our case we don't really want to look ahead, but we always want to keep the parser continuing the Alternate sequence and do not fall up to the CucumberExpression sequence (and come back to the Alternate rule). So basically we want to have a simple "priority". To be able to support that, I needed to tweak BERP a bit. To keep the things simple, the priority has to be specified as a special, empty lookahead rule [->].
So basically what you need to do:

Upgrade to BERP 1.2.0 (https://www.nuget.org/packages/Berp/1.2.0)
Change the lookahead for rule Alternate to [->] (remove #TEXT)

I've tested it and with that it was able to parse (three )rats/(some )cats as
<CucumberExpression>: []
  <Alternation>: []
      <Alternate>: []
          <Optional>: [three ]
          <Text>: [rats]
      <Alternate>: []
          <Optional>: [some ]
          <Text>: [cats]

Cheers that works!
@gasparnagy now I'm trying to parse an empty alternative a//b. Or more generally speaking //. This is not a valid cucumber expression but it should provide a valid parse tree. This allows us to create a clear error message to explain that empty alternatives are not allowed an highlight common mistakes such as using urls (https://github.com/) as part of a step definition.
    @Test
    void emptyAlternative() {
        assertThat(astOf("//"), equalTo(
                new AstNode(RuleType.CucumberExpression,
                        new AstNode(RuleType.Alternation,
                                new AstNode(RuleType.Alternate),
                                new AstNode(RuleType.Alternate),
                                new AstNode(RuleType.Alternate)
                        )
                )
        ));
    }

To do this I made the Alternate text have 0...n occurances of text tokens using AlternateText! := #TEXT*. Giving me the following berp:
[
	Tokens -> #TEXT,#WHITE_SPACE,#ALTERNATION,#BEGIN_OPTIONAL,#END_OPTIONAL,#BEGIN_PARAMETER,#END_PARAMETER
	ClassName -> CucumberExpressionParser
	ParserClassName -> CucumberExpressionParser
	JAVA_Package -> io.cucumber.cucumberexpressions
	SimpleTokenMatcher -> true
	MaxCollectedError -> 1
]

CucumberExpression! := (Separator | Parameter | Alternation )*
Separator! := #WHITE_SPACE
Alternation! [->] := Alternate (#ALTERNATION Alternate)*
Alternate! [->] := (Optional | Parameter | AlternateText )+
AlternateText! := #TEXT*
Optional! := #BEGIN_OPTIONAL (Text)* #END_OPTIONAL
Parameter! := #BEGIN_PARAMETER (Text)* #END_PARAMETER
Text! := (#TEXT | #WHITE_SPACE)

I had to add the priority to Alternation to the error below:
Generation failed.
Ambiguous rules. Provide more look-ahead hints. Branches:
ALTERNATION -> CucumberExpression:0>__alt0:2>Alternation:1>__grp1:0>#ALTERNATION:0
ALTERNATION -> CucumberExpression:0>__alt0:2>Alternation:1>__grp1:0>#ALTERNATION:0

And using this grammar I run into the problem that the empty alternative does not trigger a startRule or endRule invocation on the builder.
Start rule: CucumberExpression
Start rule: Alternation
Start rule: Alternate
Start rule: AlternateText
Token: a
End rule: AlternateText
End rule: Alternate
Token: /
Token: /
Start rule: Alternate
Start rule: AlternateText
Token: b
End rule: AlternateText
End rule: Alternate
End rule: Alternation
Token:
End rule: CucumberExpression

I would expect it to trigger an begin/end rule because we are entering an empty alternate.

@mpkorstanje Thinking it over the today's session, sorry if I was too nonconstructive. I think the key thing I learned was that I should have been better focusing on your expectations in terms of the ast result and not so much on what I think is good. Anyway probably where we ended (that the expectations should be better preserved as tests) is good.
Also it was a good input, that you don't know how BERP works. I don't know how this could be solved the best, but here is what I have in my mind now: feel free to park it for the time when you get back to it. (I flash it out to myself partly.)
So BERP builds up a finite state machine by discovering the unique branches of the rules. The state transitions are triggered by the tokens: from a particular state you can get to another states depending on the next token that comes. This is represented with the big switch in the generated code, but when calling the parser generator with the -d option, it also displays it.
This is for example the state 1 summary:
1: CucumberExpression:0>__alt0:0>Separator:0>#Separator:0
    EOF -> 14
    Separator -> 1
    LCurl -> 2
    LParen -> 5
    Word -> 8
    Slash -> 9

    EOF -> CucumberExpression:1>#EOF:0
        [E/Separator,P/#TOKEN]
    LCurl -> CucumberExpression:0>__alt0:1>Parameter:0>#LCurl:0
        [E/Separator,S/Parameter,P/#TOKEN]
    LParen -> CucumberExpression:0>__alt0:2>Alternation:0>Alternate:0>__alt2:0>Optional:0>#LParen:0
        [E/Separator,S/Alternation,S/Alternate,S/Optional,P/#TOKEN]
    Separator -> CucumberExpression:0>__alt0:0>Separator:0>#Separator:0
        [E/Separator,S/Separator,P/#TOKEN]
    Slash -> CucumberExpression:0>__alt0:2>Alternation:1>__grp1:0>#Slash:0
        [E/Separator,S/Alternation,P/#TOKEN]
    Word -> CucumberExpression:0>__alt0:2>Alternation:0>Alternate:0>__alt2:1>Text:0>#Word:0
        [E/Separator,S/Alternation,S/Alternate,S/Text,P/#TOKEN]

From that what you can see, that from state 1 the parser can get to states 1, 2,5,8,9,14 depending on the next token. (State 1 was the state where the parser got after processing a single separator.) For example when reading EOF, it gets to state 14 and during this transition it will end the Separator rule and process the EOF token (this you can get from the line above the transition [E/Separator,P/#TOKEN]).
Getting back to our problem: if an alternate was empty, there were no tokens processed, so there will be no state transition related to that rule. This is why it does not make an empty start/end rule for that case. Of course BERP knew that the empty rule had to be considered, so probably it would be possible to convince it to generate the empty rule (this would be the change we need in BERP). (Probably we could even workaround it by reacting on the #ALTERNATION token in the build method of the AST builder. But let's not go into this before the expectations are finalized.)

I've fixed the tokenizer:

Throws when EOL is escaped
Throws when regular characters are escaped

This might seem annoying but it will avoid surprising people with expressions that don't match.
I've fixed the parser:

Mismatched braces are not ignored.
All exceptions thrown now have the form.

This Cucumber Expression has problem at column 22:

three blind mice/rats(
                     ^
The '(' does not have a matching ')'.
If you did not intended to use optional text you can use '\(' to escape the optional text

Still have to consider:

Allowing non-text tokens to be treated as text tokens is nothing else matches

@gasparnagy I think I've got all the parsing exceptions that I'd like to cover covered. They're all listed in CucumberExpressionException. The Java version should have all the tests pass. I'm currently updating the go version.
I think now would be a good time to try to implement a generated parser. It would probably be best to do this from a branch though.

@mpkorstanje super. could you maybe help with creating the branch and setting up BERP generation to the build pipeline? Don't worry if the generated code does not compile, I can take it over from that point on.

Note to self: interesting use case of alternative here:
https://stackoverflow.com/questions/63792710/alternative-parameter-type-in-cucumber

That was surprisingly easy. And it removed an entire error message too.
It is now possible to use: user makes a request for the {int}st/nd/rd/th item .
However {int}/none  will still fail.
While a/i{int}n/y (to match i18n or a11y) is valid.

@gasparnagy I'll give it a try. I might extract some tests out into a file first so testing the go implemetnation might become a bit easier.

Nice shared approval test! But why YAML and not JSON?

Better readability for exception messages:
expression: \
exception: |-
  This Cucumber Expression has a problem at column 2:

  \
  ^
  The end of line can not be escaped.
  You can use "\\" to escape the the "\"

And there is json for data structures
expression: mice/rats
expected: |-
  {type: "EXPRESSION_NODE", start: "0", end: "9", nodes: [
    {type: "ALTERNATION_NODE", start: "0", end: "9", nodes: [
      {type: "ALTERNATIVE_NODE", start: "0", end: "4", nodes: [
        {type: "TEXT_NODE", start: "0", end: "4", token: "mice"}
      ]},
      {type: "ALTERNATIVE_NODE", start: "5", end: "9", nodes: [
        {type: "TEXT_NODE", start: "5", end: "9", token: "rats"}
      ]}
    ]}
  ]}

I dropped the stupid single quote stuff. Yaml doesn't care in a multi-line text thingy.

Currently all the comparisons go via toString because I had the whole rendering already available for debugging.

Still gotta extract the non-java specific stuff from CucumberExpressionTest and CucumberExpressionPatternTest.

I think we can get decent messages by diffing JSON. There are decent libraries for that. Diffing pretty-printed JSON with sorted keys also works surprisingly well.

I think we can get decent messages by diffing JSON. There are decent libraries for that. Diffing pretty-printed JSON with sorted keys also works surprisingly well.

The JSON representation of multi-line text blocks is atrocious. Pretty much impossible to read.
Anyway I'm using a slightly different setup from Gherkin. Each file contains the cucumber expression and the expected output. This will allow us to run the tests as unit tests rather then integration tests. This is much easier to debug and IDEA can show me the diff. It also bypasses the whole problem of having of having to compare the files in a terminal in the first place.

@vincent-psarga I've got no idea why react/javascript is now failing. I didn't change anything that relates to it as far as I can tell. And react doesn't depend on cucumber expressions at all.

@aslakhellesoy Typoscript is done. You can do Ruby.

@aslakhellesoy Typoscript is done. You can do Ruby.

Typoscript 🤣

Note to self: Have a critical look at  the remaining tests for CucumberExpression. Looks like Java and Ruby both contain tests that weren't copied over to Java/Go but aren't Ruby specific. These could be added to the suite.

Note to self: Also check the escapes in the Cucumber expression generator.

Still need to address:

Allowing non-text tokens to be treated as text tokens if nothing else matches. Probably not a good idea because it might confuse people. However it does make escaping some patterns rather cumbersome. E.g. (hello) vs (hello).

And also need to address:
ILLEGAL_PARAMETER_NAME_PATTERN = Pattern.compile("([\\[\\]()$.|?*+])");

Parameter names are part of a cucumber expression and should should not allow reserved characters from that domain. Currently the regex domain is not allowed.

For example given: three (brown/black) mice could depending match either:
three brown/black mice
three mice

Or:
three mice
three brown mice
three black mice

The latter makes sense but cucumber expressions don't support nesting alternatives in an optional. To make sure we can add this in the future and to make sure users understand that this is not a valid Cucumber expression the parser will complain about this.
But don't complain about shorthand
This however is perfectly fine:
three \(brown) mice

Implementation is done. Before releasing this it would be prudent to release the other unreleased fixes first. This release should result in a new major version because the semantics of Cucumber Expressions have subtly changed.
The documentation here would need a small update w.r.t to escaping:
https://cucumber.io/docs/cucumber/cucumber-expressions/

@mpkorstanje is there any example how to use the parser "standalone"? e.g. I have an expression as a string and like to parse it withe the parser to get the different parts?

@mpkorstanje is there any example how to use the parser "standalone"? e.g. I have an expression as a string and like to parse it withe the parser to get the different parts?

Not really. I'd rather not expose that as an API. I'd have to polish the AST even more before I'm confident I won't change it after the first bug we find.

Not really. I'd rather not expose that as an API. I'd have to polish the AST even more before I'm confident I won't change it after the first bug we find.

@mpkorstanje thanks for the feedback, I would be happy even with a "preliminary" API just to test and maybe give some feedback on this. I think this would is a really great addition to support tools in not firing their own (incomplete or differing) parsing algorithms.

@mpkorstanje thanks for the feedback, I would be happy even with a "preliminary" API just to test and maybe give some feedback on this. I think this would is a really great addition to support tools in not firing their own (incomplete or differing) parsing algorithms.


added redis and passport dependencies to package.json for github logi…

…n strategy

Do we need redis for OAuth? Can't this be done using just MongoDB?

Yes, I think it can, Oscar suggested using Redis store to maintain sessions on the dev board.

:+1:

I reopened this pull request on the develop branch. I should have known not to open on master.
thanks

@waterlooSunset no problem :smile:


Discord bar

I like this theme, but MacOs styled bar is not comfortable fofr me. Is there a way to make it look more like windows?
I found "Configurable nav button style (Styled / Windows) #145", but I didn't understand how to recreate this, sorry =(

Hello there!
To customize the bar like in #145, just go to whichever theme of midnight you may be using and you should see this section:

Just change "--windows-nav" to block and "--custom-nav" to none and that should give you the windows control buttons back, if there's more let me know

Hello there! To customize the bar like in #145, just go to whichever theme of midnight you may be using and you should see this section:  Just change "--windows-nav" to block and "--custom-nav" to none and that should give you the windows control buttons back, if there's more let me know

Uuhhh... I can't find it...

Uuhhh... I can't find it...

Redownload the theme file from github.

Uuhhh... I can't find it...

Redownload the theme file from github.

Thanks!!!


Moving to a proper build crate bindgen_cuda.

There are now multiple crates in the candle ecosystem like https://github.com/huggingface/candle-rotary which import the entire build.rs.
This PR aims to fix that by using a newly created lib bindgen_cuda which enables all the previous behavior yet sharing most of the custom logic in a single place.
Biggest notable change is that bindgen_cuda is not linked itself to candle, therefore all candle mentions and special environement variables have been changed to remove the CANDLE prefix.
The CANDLE_FLASH_ATTN_BUILD_DIR variable has been kept here for backward compatibility.
The change only affects CANDLE_NVCC_BIN which has been renamed NVCC_BIN.

Neat, thanks!


Translation issue

Hi,
I haven't thoroughly checked out the Spanish translation, but I've found this issue.
"Temperature" is translated as "Barcelona" (the name of a Spanish city), instead of "Temperatura".
English:

Spanish:

By the way, it would have been more accurate to translate "Feels like" as "Sensación térmica" instead of just "Sensación", but I understand there's a space limititation and the context should complete what's missing.
Thanks!

Looks like its one translators recent submissions, removed it.
There is no space limit, you can contribute translation directly:
https://crowdin.com/project/lively-weather


Drop support for OpenStack on Ubuntu Bionic and older

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

We no longer provide Calico packages for OpenStack on Ubuntu Bionic or older, or test
ourselves on Bionic, as it has become difficult to build a working Felix package for Bionic,
due to glibc and libpcap library API version issues, and Bionic is now more than 5 years
old and beyond its Canonical LTS period.  Our current recommendation is to use Calico
with OpenStack Yoga on Ubuntu Focal or later.

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

Docs PR is at https://github.com/tigera/docs/pull/1058


Fix focus after nav button press

I’m confused about your fork; what’s not accessible about react-dates now?

I’m confused about your fork; what’s not accessible about react-dates now?

Hello! I accidentally opened the PR to the main repo.
Answering your question, there is this PR https://github.com/react-dates/react-dates/pull/1954 that is still open. I created a fork to merge it and use this fix.
I'm facing a problem where the next/prev month buttons lose focus after being pressed via keyboard because the Calendar will focus on the next available date.

Also, one note is that this fix is currently only working for the default button usage. If using a custom button via navPrev or navNext the focus keeps being lost. I'm trying to find some workarounds for that.

If you figure it out, and can post a link to a rebased branch with passing tests on #1954, I'll merge it.


data not getting pushed to sinks

hi, sorry that i can't get started. Here is an example config
# Feed 1
[feeds.github-blog]
url = "https://github.blog/all.atom"
interval = "10m"
retry_limit = 5
sink.type = "discord"
sink.url = "https://discord.com/api/webhooks/84175.../OZdejNBCL1..."

# Feed 2
[feeds.rust-blog]
url = "https://blog.rust-lang.org/feed.xml"
interval = "1m"

[feeds.rust-blog.sink]
type = "slack"
url = "https://slack/"

# testing outside docker image, to have `tee` command
[feeds.xkcd]
url = "https://xkcd.com/atom.xml"
interval = "2m"
sink.type = "custom"
sink.command = "tee"
sink.arguments = ["-a", "/tmp/xkcd.ndjson"]

I tried with 0.5.1 binary, the ghcr images for 0.5.1 and 0.6.0-alpha.0, as well as building git repo. I can see the custom command running:
rss-forwarder-l,179885 config.toml
  |-tee,179900 -a /tmp/xkcd.ndjson
  |-{rss-forwarder-l},179887
  |-{rss-forwarder-l},179888
  |-{rss-forwarder-l},179889
  |-{rss-forwarder-l},179890
  |-{rss-forwarder-l},179891
  |-{rss-forwarder-l},179892
  |-{rss-forwarder-l},179893
  |-{rss-forwarder-l},179894
  |-{rss-forwarder-l},179895
  |-{rss-forwarder-l},179896
  |-{rss-forwarder-l},179897
  `-{rss-forwarder-l},179899

The debug log shows feed fetching happening:

[2022-09-03T06:57:31Z INFO  rss_forwarder] Start watcher for "github-blog"
[2022-09-03T06:57:31Z INFO  rss_forwarder] Start watcher for "rust-blog"
[2022-09-03T06:57:31Z TRACE mio::poll] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
[2022-09-03T06:57:31Z INFO  rss_forwarder] Start watcher for "xkcd"
[2022-09-03T06:57:31Z DEBUG reqwest::connect] starting new connection: https://github.blog/
[2022-09-03T06:57:31Z DEBUG reqwest::connect] starting new connection: https://xkcd.com/
[2022-09-03T06:57:31Z DEBUG reqwest::connect] starting new connection: https://blog.rust-lang.org/
[2022-09-03T06:57:31Z TRACE mio::poll] registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
[2022-09-03T06:57:31Z TRACE mio::poll] registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
[2022-09-03T06:57:31Z TRACE mio::poll] registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:31Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:31Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:31Z DEBUG reqwest::async_impl::client] response '200 OK' for https://blog.rust-lang.org/feed.xml
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z DEBUG reqwest::async_impl::client] response '200 OK' for https://github.blog/all.atom
[2022-09-03T06:57:31Z TRACE want] signal: Want
[2022-09-03T06:57:31Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:31Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:57:32Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:57:32Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:57:32Z DEBUG reqwest::async_impl::client] response '200 OK' for https://xkcd.com/atom.xml
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:57:32Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:57:32Z TRACE want] poll_want: taker wants!
[2022-09-03T06:57:32Z TRACE want] signal: Want
[2022-09-03T06:58:31Z DEBUG reqwest::async_impl::client] response '200 OK' for https://blog.rust-lang.org/feed.xml
[2022-09-03T06:58:31Z TRACE want] signal: Want
[2022-09-03T06:58:31Z TRACE want] signal found waiting giver, notifying
[2022-09-03T06:58:31Z TRACE want] signal: Want
[2022-09-03T06:58:31Z TRACE want] poll_want: taker wants!
[2022-09-03T06:58:31Z TRACE want] signal: Want
[2022-09-03T06:58:42Z TRACE mio::poll] deregistering event source from poller
[2022-09-03T06:58:42Z TRACE want] signal: Closed

At shutdown via ctrl+c:
^C[2022-09-03T07:00:15Z TRACE mio::poll] deregistering event source from poller
[2022-09-03T07:00:15Z INFO  rss_forwarder] Watcher for "rust-blog" has stopped
[2022-09-03T07:00:15Z INFO  rss_forwarder] Watcher for "github-blog" has stopped
[2022-09-03T07:00:15Z INFO  rss_forwarder] Watcher for "xkcd" has stopped
[2022-09-03T07:00:15Z TRACE mio::poll] deregistering event source from poller
[2022-09-03T07:00:15Z TRACE mio::poll] deregistering event source from poller
[2022-09-03T07:00:15Z TRACE want] signal: Closed
[2022-09-03T07:00:15Z TRACE want] signal: Closed

Idling section for 0.6.0:
2022-09-03T07:06:45.053670Z TRACE hyper::proto::h1::io: received 4490 bytes
2022-09-03T07:06:45.053682Z DEBUG hyper::proto::h1::conn: incoming body completed
2022-09-03T07:06:45.053718Z TRACE hyper::proto::h1::conn: maybe_notify; read_from_io blocked
2022-09-03T07:06:45.053734Z TRACE want: signal: Want
2022-09-03T07:06:45.053745Z TRACE want: signal found waiting giver, notifying
2022-09-03T07:06:45.053763Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2022-09-03T07:06:45.053775Z TRACE want: signal: Want
2022-09-03T07:06:45.053781Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }
2022-09-03T07:06:45.053789Z TRACE want: poll_want: taker wants!
2022-09-03T07:06:45.053818Z TRACE hyper::client::pool: put; add idle connection for ("https", github.blog)
2022-09-03T07:06:45.053834Z DEBUG hyper::client::pool: pooling idle connection for ("https", github.blog)
2022-09-03T07:06:45.056467Z TRACE want: signal: Want
2022-09-03T07:06:45.056479Z TRACE hyper::proto::h1::conn: flushed({role=client}): State { reading: Init, writing: Init, keep_alive: Idle }

But we can see that no sink are invoked. The wrong discord token, and the bad slack url are not causing error.
I added a tracing::info event in custom sink:
                let data: Vec<u8> = tokio::select! {
                    biased;
                    _ = kill_rx.recv() => break,
                    v = data_rx.recv() => v.unwrap(),
                };
                tracing::info!(data =? data, "flush");

but it doesn't happen.
I tried to use tokio-console (it's necessary to downgrade to<EMAIL_ADDRESS>--features tracing due to tokio-rs/console#373), there's one warning, but i don't understand async enough to see how task notification works yet.
My environment is Fedora 36, container runtimes docker/moby-engine, podman give same result.
What are your environments? Any pointer on how to check more on my side? thanks!

Regarding custom sink, if you use shell commands, the corresponding shell must be set as a command like bash, as in the examples.
[feeds.xkcd]
url = "https://xkcd.com/atom.xml"
interval = "2m"
sink.type = "custom"
- sink.command = "tee"
+ sink.command = "bash"
- sink.arguments = ["-a", "/tmp/xkcd.ndjson"]
+ sink.arguments = ["-c", "tee -a /tmp/xkcd.ndjson"]

thank you for the feedback, I have updated to bash, and can see it spawning commands, but data doesn't arrive still.
Here's a command-only config:
[feeds.smbc]
url = "https://www.smbc-comics.com/comic/rss"
sink.arguments = ["-x","-c","tee -a /tmp/smbc.ndjson"]
sink.command = "/bin/bash"
interval = "30s"
sink.type = "custom"

[feeds.dinosaur]
url = "https://qwantz.com/rssfeed.php"
sink.arguments = ["-x","-c","tee -a /tmp/qwantz.ndjson"]
sink.command = "/bin/bash"
interval = "1d"
sink.type = "custom"

Starting, with bash -x's output early on, and one poll interval passed:

# env RUST_LOG=trace ~/bin/rss-forwarder-linux-x86_64 feeds.toml
[2022-09-07T01:52:28Z TRACE mio::poll] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
[2022-09-07T01:52:28Z INFO  rss_forwarder] Start watcher for "smbc"
[2022-09-07T01:52:28Z TRACE mio::poll] registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
[2022-09-07T01:52:28Z INFO  rss_forwarder] Start watcher for "dinosaur"
[2022-09-07T01:52:28Z DEBUG reqwest::connect] starting new connection: https://www.smbc-comics.com/
+ tee -a /tmp/smbc.ndjson
+ tee -a /tmp/qwantz.ndjson
[2022-09-07T01:52:28Z DEBUG reqwest::connect] starting new connection: https://qwantz.com/
[2022-09-07T01:52:28Z TRACE mio::poll] registering event source with poller: token=Token(3), interests=READABLE | WRITABLE
[2022-09-07T01:52:28Z TRACE mio::poll] registering event source with poller: token=Token(4), interests=READABLE | WRITABLE
[2022-09-07T01:52:28Z TRACE want] signal: Want
[2022-09-07T01:52:28Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:28Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:29Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:29Z DEBUG reqwest::async_impl::client] response '200 OK' for https://www.smbc-comics.com/comic/rss
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z DEBUG reqwest::async_impl::client] response '200 OK' for https://qwantz.com/rssfeed.php
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:29Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:29Z TRACE want] signal: Want
[2022-09-07T01:52:30Z TRACE mio::poll] deregistering event source from poller
[2022-09-07T01:52:30Z TRACE want] signal: Closed
[2022-09-07T01:52:34Z TRACE mio::poll] deregistering event source from poller
[2022-09-07T01:52:34Z TRACE want] signal: Closed
[2022-09-07T01:52:58Z DEBUG reqwest::connect] starting new connection: https://www.smbc-comics.com/
[2022-09-07T01:52:58Z TRACE mio::poll] registering event source with poller: token=Token(16777220), interests=READABLE | WRITABLE
[2022-09-07T01:52:58Z TRACE want] signal: Want
[2022-09-07T01:52:58Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:58Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:59Z DEBUG reqwest::async_impl::client] response '200 OK' for https://www.smbc-comics.com/comic/rss
[2022-09-07T01:52:59Z TRACE want] signal: Want
[2022-09-07T01:52:59Z TRACE want] signal found waiting giver, notifying
[2022-09-07T01:52:59Z TRACE want] signal: Want
[2022-09-07T01:52:59Z TRACE want] poll_want: taker wants!
[2022-09-07T01:52:59Z TRACE want] signal: Want
[2022-09-07T01:53:00Z TRACE mio::poll] deregistering event source from poller
[2022-09-07T01:53:00Z TRACE want] signal: Closed
^C[2022-09-07T01:53:07Z TRACE mio::poll] deregistering event source from poller
[2022-09-07T01:53:07Z TRACE mio::poll] deregistering event source from poller
[2022-09-07T01:53:07Z INFO  rss_forwarder] Watcher for "dinosaur" has stopped
[2022-09-07T01:53:07Z INFO  rss_forwarder] Watcher for "smbc" has stopped

processlist doesn't show bash somehow:
# pstree -Aap (pgrep -f forwarder-linux )
rss-forwarder-l,24350 feeds.toml
  |-tee,24365 -a /tmp/smbc.ndjson
  |-tee,24366 -a /tmp/qwantz.ndjson
  |-{rss-forwarder-l},24352
  |-{rss-forwarder-l},24353
  |-{rss-forwarder-l},24354
  |-{rss-forwarder-l},24355
  |-{rss-forwarder-l},24356
  |-{rss-forwarder-l},24357
  |-{rss-forwarder-l},24358
  |-{rss-forwarder-l},24359
  |-{rss-forwarder-l},24360
  |-{rss-forwarder-l},24361
  |-{rss-forwarder-l},24362
  |-{rss-forwarder-l},24363
  |-{rss-forwarder-l},24364
  `-{rss-forwarder-l},24367

This will be my main usecase, but because http-based sinks also don't see data, hopefully we can diagnose that with fewer moving parts.

update: my copy of 0.6.0 alpha running on fly does push events, here's a pushing debug log, whose downstream is erroring on one:
2022-09-06T07:34:13.890 app[93f339f6] nrt [info] 2022-09-06T07:34:13.890347Z DEBUG reqwest::async_impl::client: response '200 OK' for https://qwantz.com/rssfeed.php
2022-09-06T07:34:13.949 app[93f339f6] nrt [info] 2022-09-06T07:34:13.949490Z DEBUG reqwest::async_impl::client: response '200 OK' for https://www.smbc-comics.com/comic/rss

2022-09-06T07:34:14.009 app[93f339f6] nrt [info] 2022-09-06T07:34:14.009534Z DEBUG rss_forwarder::watcher: pushing items from feed feed="Dinosaur Comics!" count=1
2022-09-06T07:34:14.011 app[93f339f6] nrt [info] Error: invalid type: string "

archive - contact - sexy exciting merchandise - search - about

← previous	September 5th, 2022	next

September 5th, 2022: Last night we used an underwater drone and almost got it stuck on a rock 20m underwater, which I believe is pretty much the standard underwater drone experience! 10/10 would almost ruin someone else's very expensive piece of technology again.
– Ryan

", expected a borrowed string at line 1 column 1678

2022-09-06T07:34:14.075 app[93f339f6] nrt [info] 2022-09-06T07:34:14.075443Z DEBUG rss_forwarder::watcher: pushing items from feed feed="Saturday Morning Breakfast Cereal" count=1
2022-09-06T07:34:14.076 app[93f339f6] nrt [info] 2022-09-06T07:34:14.075976Z ERROR rss_forwarder: Watcher stopped with an error feed="smbc" error=Sink("broken stdin task")

something is cursed about my fedora36 then.
(heh, i have never noticed custom mail subject on dinosaur comic!)

I close it. If the issue persists, let me know.


Fix failure to build when using GCC-like Clang front-end

At least on Windows, the Clang compiler has two front-end variants:

clang-cl uses a command-line interface that imitates MSVC.
clang and clang++ use a command-line interface that imitates GCC.

CMake version 3.15 gained support for the latter variant of the Clang compiler, but glfw contains a CMake file that uses CMAKE_C_SIMULATE_ID to detect the frontend; however, this variable is misleading when using clang on Windows with the GCC-like front-end. This pull request updates the test to use the (undocumented) variable CMAKE_C_COMPILER_FRONTEND_VARIANT when available (CMake 3.15+), which correctly identifies the command-line variant that must be used for compilation.
In short, this pull request permits building glfw on Windows build systems using clang and clang++, instead of clang-cl.

This should be fixed now with 061a0263a9783c1442ad96a061c717c167ab4a76. Thank you for reporting this!


Skyline/work/20220624 redundant spectra dropdown view spectral libraries

Support for a dropdown in the view spectral libraries menu to view redundant spectra matches in the given library.

Also make sure you deal with ReSharper code inspection warnings, if you haven't already. You can run those locally, and they also happen on TeamCity https://teamcity.labkey.org/viewLog.html?buildId=1881735&tab=Inspection&buildTypeId=ProteoWizard_WindowsX8664msvcProfessionalSkylineResharperChecks

One last thought: You should be using ComboHelper.AutoSizeDropDown() when you change the contents of the dropdown list. That way a user doesn't have to resize the entire form just to see the full contents of the dropdown list when the file names are very long.

Okay. Looks very close to me now after a bit of clean-up. Let's go over the core function to update the combo box, and then we should be able to merge it tomorrow.


RHP dataset

Do you have data processing and training scripts for the RHP dataset?

Thanks for your attention! The data processing and training metrics are the same as InterNet (Baseline of InterHand 2.6M)


Fix scons build

@shenhavba,
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


Initial implementation of indexed column access

See #1133. This is just an initial implementation for feedback.

@jberkel Due to time constraints, I may need to contribute this in an internal fork to support my work. I think we would both benefit if that work goes back into this project, rather than diverging. Can you provide any early guidance here to make sure I meet your expectations and stay on track?
Does the general idea seem sound to you?

Is this part of a performance optimization? In general I don't see issues but a user of the library might be confused which method to use when accessing row data. Also, there's a bit of type loss when going from Expression<V> to Int.

@jberkel I figured out how to access what I needed through the lower level statement object.