Improve genome not found error message ?

Hi,
messing around with the new version, I had to change very little config. Things are improving fast, cheers.
One comment I have is on a better error message when incorrectly entering the input genome string. Instead of Cannot get property 'star' on null object it might be more informative to output genome string not found at (somepath).
Here I put in hg19 instead of GRCh37.
Cheers,
Colin
$ nextflow run /mnt/ngsnfs/tools/nf-core/rnaseq-master/ --singleEnd --profile docker --genome 'hg19' --reads '*.fastq.gz'   --igenomes_base '/mnt/ngsnfs/igenomes_2017'
..
N E X T F L O W  ~  version 0.29.1
Launching `/mnt/ngsnfs/tools/nf-core/rnaseq-master/main.nf` [nostalgic_aryabhata] - revision: 6549eba824
ERROR ~ Cannot get property 'star' on null object

 -- Check script 'main.nf' at line: 86 or see '.nextflow.log' file for more details

Second attempt:
$ nextflow run /mnt/ngsnfs/tools/nf-core/rnaseq-master/ --singleEnd --profile docker --genome 'GRCh37' --reads '*.fastq.gz'   --igenomes_base '/mnt/ngsnfs/igenomes_2017'
Picked up _JAVA_OPTIONS: -Dhttp.proxyHost=<IP_ADDRESS> -Dhttp.proxyPort=8080 -Dhttps.proxyHost=<IP_ADDRESS> -Dhttps.proxyPort=8080
N E X T F L O W  ~  version 0.29.1

.. -> works fine.

Hi @colindaven,
Thanks for the suggestion - definitely a good idea 👍 I think I've looked into the error message for incorrect paths before, but not incorrect --genome keys.
Phil

This has been resolved by @sofiahaglund


RequestLimitExceeded is now treated as ERR_INFRA_RATE_LIMITS_EXCEEDED

How to categorize this PR?

/area ops-productivity
/kind enhancement
What this PR does / why we need it:
RequestLimitExceeded is now treated as ERR_INFRA_RATE_LIMITS_EXCEEDED.
Release note:

Error messages containing `RequestLimitExceeded` are now treated as `ERR_INFRA_RATE_LIMITS_EXCEEDED` (instead of `ERR_INFRA_QUOTA_EXCEEDED` before).

/needs cherry-pick

/remove needs/cherry-pick


Suggestion for adding other languages support

Hi,
I'm interested to contribute in order to offer some sort of localization of the inflexions.
Before going to add a particular language.
I wanted to discuss for the "architecture" of handling the configuration of the locale setting.
I see three ways to do it internally with both a global default and an option to do it per function.
But in any case, this needs to have all the inflexions mechanisms (I mean all the string manipulation and matching functions) separated from all the language related rules and data.

Using the Elixir Config module and setting a locale config value (eg. "en", "fr", etc.)
Using an optional key-value parameter (eg. locale: "fr") in each function
Using a dedicated function that can be invoked at any time to set the locale from that moment on (not fan of that, but it's a possibility)

Another option could be to handle the localization setting itself outside with for example ex_cldr. This needs an extra dependency, but it's possible to add it for those already using a package already using it (like ex_money).
But in this case all the language related rules and data should still be done internally.
Again it's necessary in any case to separate the string manipulation mechanisms with the language data rules themselves.
In this situation, it can be even possible to separate all the data as a separate package (or not).
What do you think?

i really like the idea!


Make token module public

Looks like updated clippy found some issues, will take a look later

LGTM! I don't know how comes tests were able to use the Token without this.


Want to close menu when i tap on outside of UITableView in SlideMenuControllerSwift

Hi,
I want to close menu when user tap on outside of UITableView.
How can i close?

Any one facing the same issue?


Fix code coverage reporting for unit tests

-coverpkg was not set, causing coverage to be missed for some packages
with no unit tests, but exercised by unit tests from another
package. This is often the case for some deeply nested packages,
e.g., pkg/agent/secondarynetwork/cnipodcache/ is exercised by unit
tests defined in pkg/agent/secondarynetwork/podwatch.
coverage was not enabled for Windows unit tests

Signed-off-by: Antonin Bas<EMAIL_ADDRESS>

Great. It's good to have -coverpkg option in the script to calculate the project-wide test coverage. It can reveal hidden untested packages, though which decreases test coverage(66.24%-->60.08%).

/skip-all

@wenqiq if there is a package that doesn't need to be tested or cannot be tested, we can always add it to the codecov.yaml file explicitly. The problem in my case was actually the opposite: the pkg/agent/secondarynetwork package reported a coverage number lower than it actually was for unit tests. We also set coverpkg for other tests (e2e and integration) so unit tests were kind of an exception.

The problem in my case was actually the opposite: the pkg/agent/secondarynetwork package reported a coverage number lower than it actually was for unit tests. We also set coverpkg for other tests (e2e and integration) so unit tests were kind of an exception.

I see. Thanks for the explanation. The pkg/agent/secondarynetwork package is a typical situation where coverage increases after setting -coverpkg option.


Add KSPBurst

Replaces #8418 due to some commit weirdness, and GitHub locking the PR closed and no abillity to force-push to the previous commit.
Quick links:

https://github.com/KSPModdingLibs/KSPBurst
https://forum.kerbalspaceprogram.com/index.php?/topic/201112-18-111-kspburst-burst-compiler-for-kerbal-space-program/

KSPBurst is a library providing the Burst compiler tool. Some mods plan to use it in the future to make use of Unity Jobs, which requires all job code to be located in a single DLL, so this mod allows mods to dynamically register themselves and compiles all code into a single DLL. At least that's my understanding.
Maintained and submitted by @dkavolis

Don't the 2 mods need conflicts with each other since they will install to the same location?

Any suggestions for a better name (and identifier)? Or should I just name it "KSPBurst - Plugins Only", similar to the zip?

What about KSPBurst Lite?

@dkavolis we changed the license to "unknown" given all these bundled DLLs and files that are not MIT. If we'd keep it at "MIT", our infra would automatically mirror all the releases to archive.org, which I'm not happy with without knowing all the rights and restrictions of every license involved.

One more issue I see is that users effectively can't switch from the full to the "Lite" version. Once the compiler is extracted, it stays, and the way the code is written currently, it'll still use the extracted version of the compiler.
But again same applies to manual installs to some degree, you can't "disarm" it by just removing the zip from GameData.
Looks good from our side, thanks again!


MissingSchema: Invalid URL

Hi!
When I try to follow you example (https://github.com/wattsight/wapi-python/blob/master/examples/Timeseries_curve_examples/ts_simple_read.py), I get the following error:
MissingSchema: Invalid URL '/api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s': No schema supplied. Perhaps you meant http:///api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s?
I created a specific environment with conda to eliminate this as an error source:
conda create -n wapi python=3.6 anaconda
And the I run:
pip install -U wapi-python
This is my code:
import pandas as pd
import wapi
session = wapi.Session('config.ini')
start_date = pd.Timestamp('2018-6-1 00:00')
end_date =  pd.Timestamp('2018-6-8 00:00')
curve_name = 'tt de con °c cet min15 s'
curve = session.get_curve(name=curve_name)
Any idea what is wrong? Thanks!

I tried the same code on a machine outside of the company network to check whether it is a proxy issue but I get the same error message.

Hi @raikb,
I suspect you may be missing urlbase in your config file as seen here:
https://github.com/wattsight/wapi-python/blob/master/sampleconfig.ini
Let me know how it goes.
We also usually reply a bit faster on<EMAIL_ADDRESS>for future support questions.

This is the content of my config file without the secret parameters of course:
`[common]
urlbase = https://api.wattsight.com
auth_type = OAuth
timeout = 300
[OAuth]
id =
secret =
auth_urlbase = https://auth.wattsight.com`
So it must be something else. Anything else I could check?

What is interesting is that I get the following error if I switch from https in the base url to http:
MissingSchema: Invalid URL '/api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s': No schema supplied. Perhaps you meant http:///api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s?
So the recommended URL is adjusted based on what I define in the config file.

Try removing the urlbase line entirely. We should have a default in place.

I still get this error:
MissingSchema: Invalid URL '/api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s': No schema supplied. Perhaps you meant http:///api/curves/get?name=tt+de+con+%C2%B0c+cet+min15+s?
However, I think I found the problem. In the code from above I used:
session = wapi.Session('config.ini')
The Session class interprets "config.ini" as the urlbase parameter because this is the first one in line. So all I need to fix this is:
session = wapi.Session(config_file='config.ini')
Quite obvious now.
Now I get this error:
SSLError: HTTPSConnectionPool(host='auth.wattsight.com', port=443): Max retries exceeded with url: /oauth2/token (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))
This might be a proxy problem. I will have a look.
@rune-bk: Thanks for the help so far.

Oh right I missed that. That makes sense.
Yea that looks very much like a proxy problem. You are missing an env.
See https://requests.readthedocs.io/en/master/user/advanced/#proxies on how to set it.


Add Title-Attribute to  Tag so that Screen Reader Anounces As External Link

Please add the 'title' attribute to the external link title='External link', so that screen reader anounces external link
https://swiss.github.io/styleguide/de/typography.html#04-typography-08-links

With chromeVox, links starting with # will be announced

internal link

And other links will be announced

link

title attribute is ignored


Added supported modes for X3000i

@c1em3ntchua , Thanks for your addition!
I have now documented the working of the CLI examine command in the readme:
Detecting your projector capabilities
The benqprojector CLI can detect the commands, sources and modes your
projector supports. If you like to have your projector fully supported by this
Python library please run this command and create an issue on Github with the
output attached.
To examine your projector capabilities: python3 -m benqprojector <serial port> <baud> examine
If you have used this method, great! Otherwise would you be able to run this command and validate the output with your change?

@rrooggiieerr I'm not able to run it yet as it's giving me the "Unexpected response".

C:\benqprojector.py-main>python3 -m benqprojector com4 115200 examine
No command echo received
Response: *modelname=x3000i#
Unexpected response: []
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.3568.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\benqprojector.py-main\benqprojector_main.py", line 35, in
if not projector.connect():
File "C:\benqprojector.py-main\benqprojector\benqprojector.py", line 134, in connect
assert model is not None, "Failed to retrieve projector model"
AssertionError: Failed to retrieve projector model

@c1em3ntchua interesting, *modelname=x3000i# should be a valid response. Could you try the same command with --debug as an extra argument, thus python3 -m benqprojector com4 115200 examine --debug

@c1em3ntchua ok, thanks. It looks like your projector does not echo the command first before responding, unlike my projector. Hence the No command echo received message. I will make the library a bit less strict and make it not fail on a missing command echo.

@rrooggiieerr it worked this time!  Is your projector on? Because it has to to be able to detect most settings. I have to add that to the documentation

@rrooggiieerr yup it is on, but I'm running on the QS01 right now so some settings show blocked item. I note from this manual (page 8) that

If a command with correct format cannot be executed under certain condition, it will echo Block item.

Perhaps you could include the config as supported if it is "blocked".

FYI, this is the document that I based my implementation on:
https://esupportdownload.benq.com/esupport/Projector/Control Protocols/MH535/RS232 Control Guide_0_Windows10_Windows7_Windows8.pdf

@rrooggiieerr the lack of video sources is strange indeed. But thanks for all you've done so far!

@c1em3ntchua New version of the library now handles blocked item as being supported

@rrooggiieerr thanks for the very quick updates!
I ran the examine script again. This time it gets stuck during detection of picture modes.
I noticed one of the comma
benq_x3000i_log.txt
nds was causing my projector display the source select screen. I managed to replicate it by sending a *sour=hdmi# throught Tera Term. For the record, I don't have HDMI1 plugged in. I don't think it causes any issues though.
I've attached the log as a file to avoid cluttering up the chat. Off to work for now.

Strange. I just ran it again and this time it errors out at a different place.
Truncated log:
benq_x3000i_log_2.txt

@c1em3ntchua I released an other test version of the library, could you give that one a try?
pip install 'benqprojector==<IP_ADDRESS>'

@rrooggiieerr version <IP_ADDRESS> seems to handle unexpected responses a lot better. I tried a few different values of _SERIAL_TIMEOUT - 0.5, 0.1 and the original 0.05. I can't say which works best.
All three timeouts produced the same list of support commands, which is good. I'm getting the most picture modes out of 0.5 (4 modes), followed by 0.05 then 0.1. Interestingly, 0.1 produces the most "correct" list of 3D modes. Video, color temp, aspect ratios, projector positions and lamp modes are still missing. I suspect the script is expecting some sort of response after the initial echo.
_SERIAL_TIMEOUT = 0.5
benq_x3000i_log_timeout_0.5.txt
_SERIAL_TIMEOUT = 0.1
benq_x3000i_log_timeout_0.1.txt
_SERIAL_TIMEOUT = 0.05
benq_x3000i_log_timeout_0.05.txt

@rrooggiieerr, thanks for your reply.
This is the Tera Term input/output. The commands are in lower case while the responses are in upper case. For my case, I start with HDMI2 and call HDMI1 *sour=hdmi#. As I do not have a source connected to HDMI1, it brings up the source selection screen. Calling HDMI3 *sour=smartsystem# does change the source to the internal QS01 Android TV stick.

Let me try tweaking the values in benqprojector.py and run the examine code again.
Thanks!

@c1em3ntchua I think I'm onto something, give me a minute to make a modification and push to Github

@c1em3ntchua I now detect if a command echo is expected by the projector, please use the latest version of the Github code

@rrooggiieerr I believe you are really close!
Picture modes and colour temps are still missing with a timeout of 0.05:
2022-12-05 23:32:25,366 INFO     Supported commands: ['3d', 'appmod', 'asp', 'baud', 'blank', 'bri', 'con', 'ct', 'directpower', 'highaltitude', 'lampm', 'ltim', 'menu', 'modelname', 'mute', 'pow', 'pp', 'qas', 'sharp', 'sour', 'vol']
2022-12-05 23:32:25,366 INFO     Supported video sources: ['hdmi', 'hdmi2']
2022-12-05 23:32:25,366 INFO     Supported audio sources: []
2022-12-05 23:32:25,367 INFO     Supported picture modes: []
2022-12-05 23:32:25,367 INFO     Supported color temperatures: []
2022-12-05 23:32:25,368 INFO     Supported aspect ratios: ['4:3', '16:9', 'auto']
2022-12-05 23:32:25,368 INFO     Supported projector positions: ['ft', 're', 'rc', 'fc']
2022-12-05 23:32:25,369 INFO     Supported lamp modes: ['lnor', 'eco', 'seco', 'custom']
2022-12-05 23:32:25,370 INFO     Supported 3D modes: ['off', 'auto', 'tb', 'fs', 'fp', 'sbs', 'da', 'iv']
Timeout of 0.5 produces this:
2022-12-05 23:46:22,853 INFO     Supported commands: ['3d', 'appmod', 'asp', 'baud', 'blank', 'bri', 'con', 'ct', 'directpower', 'highaltitude', 'lampm', 'ltim', 'menu', 'modelname', 'mute', 'pow', 'pp', 'qas', 'sharp', 'sour', 'vol']
2022-12-05 23:46:22,853 INFO     Supported video sources: ['hdmi', 'hdmi2']
2022-12-05 23:46:22,854 INFO     Supported audio sources: []
2022-12-05 23:46:22,854 INFO     Supported picture modes: []
2022-12-05 23:46:22,854 INFO     Supported color temperatures: ['warm', 'normal', 'cool']
2022-12-05 23:46:22,855 INFO     Supported aspect ratios: ['4:3', '16:9', 'auto']
2022-12-05 23:46:22,855 INFO     Supported projector positions: ['ft', 're', 'rc', 'fc']
2022-12-05 23:46:22,855 INFO     Supported lamp modes: ['lnor', 'eco', 'seco', 'custom']
2022-12-05 23:46:22,855 INFO     Supported 3D modes: ['off', 'auto', 'tb', 'fs', 'fp', 'sbs', 'da', 'iv']
I seem to be getting unexpected responses for longer commands. Let me see if I can tweak timings for these:
2022-12-05 23:45:28,121 DEBUG    command *sour=usbdisplay#
2022-12-05 23:45:28,426 DEBUG    Response: #
2022-12-05 23:45:28,428 DEBUG    Raw response: '#'
2022-12-05 23:45:28,455 ERROR    Unexpected response format, response: #
2022-12-05 23:45:32,436 DEBUG    command *sour=smartsystem#
2022-12-05 23:45:32,452 DEBUG    Response: m
2022-12-05 23:45:32,453 DEBUG    Raw response: 'm'
2022-12-05 23:45:32,453 ERROR    Unexpected response format, response: m
2022-12-05 23:46:11,604 DEBUG    command *lampm=singleeco#
2022-12-05 23:46:11,620 DEBUG    Response: #
2022-12-05 23:46:11,621 DEBUG    Raw response: '#'
2022-12-05 23:46:11,621 ERROR    Unexpected response format, response: #

You can also move the detection of picture modes to earlier in the code

Almost there. This is the output with the default timings. Only change I made was to place projector.detect_video_sources() at the end. I seem to have almost everything now. The only things that are missing are the video sources, some picture modes and modes that are not already present in PROJECTOR_CONFIGS["all"].
Interestingly, I found out that native colour temperature is not supported in my projector. I confirmed it in my projector's settings. The manual says otherwise lol.
2022-12-06 00:09:23,399 INFO     Supported commands: ['3d', 'appmod', 'asp', 'baud', 'blank', 'bri', 'con', 'ct', 'directpower', 'highaltitude', 'lampm', 'ltim', 'menu', 'modelname', 'mute', 'pow', 'pp', 'qas', 'sharp', 'sour', 'vol']
2022-12-06 00:09:23,402 INFO     Supported video sources: ['hdmi2']
2022-12-06 00:09:23,405 INFO     Supported audio sources: []
2022-12-06 00:09:23,406 INFO     Supported picture modes: ['game', 'cine', 'std', 'threed']
2022-12-06 00:09:23,406 INFO     Supported color temperatures: ['warm', 'normal', 'cool']
2022-12-06 00:09:23,406 INFO     Supported aspect ratios: ['4:3', '16:9', 'auto']
2022-12-06 00:09:23,407 INFO     Supported projector positions: ['ft', 're', 'rc', 'fc']
2022-12-06 00:09:23,407 INFO     Supported lamp modes: ['lnor', 'eco', 'seco', 'custom']
2022-12-06 00:09:23,408 INFO     Supported 3D modes: ['off', 'auto', 'tb', 'fs', 'fp', 'sbs', 'da', 'iv']
Let me put a time.sleep(5) just before the return statement of def detect_video_sources(self) and see if it works better.

If you also take the latest version of config.py then at least smartsystem should be also detected

Those modes that do not appear in the supported list seem to have an unexpected response to them. I'm not sure what's causing the unexpected response.
I have tried changing values mentioned in the below post but it hasn't worked reliably yet.

@c1em3ntchua , That looks actually very promising!
If the code is detecting your input sources, is it actually switching to the source?
What happens if you send a command like *sour=hdmi# when using Tera Term? Does it immediately respond, or take long before you get a response? Maybe you only get a response when the source is actually switched?
In line 295 of benqprojector.py you can see I'm waiting for 1 timeout until I try to read the response again. After more than 5 failed response I give up (line 281). Since the readline also takes 1 timeout to timeout in the end the code waits about 10 timeouts before it gives up.
You could try to increase the number of times to try (line 279) to maybe 20 and give that a try.
An other thing you could try is wait longer between detecting modes. Currently I'm waiting for 0.2 seconds before I continue detecting the next mode (line 418). Maybe make it 5 seconds at first and then see which other values work
All the timings I used were based on what works with my model of projector, there are no specifications from BenQ which tell me how long to wait for everything. So it's a bit trail and error to find out the right settings and maintain a responsive communication with the projector.
Thanks for debugging my code ;-)

I see you projector supports the menu command which mine doesn't. I'm guessing it shows the on screen menu and with the commands *up#, *down#,*left# and *right# you are able to navigate trough the menu.
Those commands are not yet supported, and I don't know it it adds anything to the implementation because a lot of parameters can be set directly without the need of the onscreen display

Yes it does. It mostly controls the on screen menu which I don't think is required in HA. We can do away with those :)
Below should be the updated list of commands supported.
    "x3000i": {         "commands": [              "3d",              "appmod",              "asp",              "baud",              "blank",              "bri",              "con",              "ct",              "directpower",              "highaltitude",              "hkeystone",              "lampm",              "ltim",              "mcufwversion"              "modelname",              "mute",              "pow",              "pp",              "qas",              "scalerfwversion",              "sharp",              "sour",              "sysfwversion",              "vkeystone",              "vol",         ],         "sources": ["hdmi", "hdmi2", "smartsystem"],         "audio_sources": [],         "picture_modes": ["bright", "livingroom", "game", "cine", "sport", "user1", "threed"],         "color_temperatures": ["warm", "normal", "cool"], # manual says native is supported, but apparently not         "aspect_ratios": ["4:3", "16:9", "2.4:1", "auto"],         "projector_positions": ["ft", "re", "rc", "fc"],         "menu_positions": ["center", "tl", "tr", "br", "bl"],         "lamp_modes": ["lnor", "eco", "seco", "custom"],         "3d_modes": ["off", "auto", "tb", "fs", "fp", "sbs", "da", "iv"], # sbs, tb, and fp were enabled with a firmware update but undocumented         "poweron_time": 100,         "poweroff_time": 100,     }

@rrooggiieerr thank you so much for taking the time to debug the settings. Appreciate it!

New HA integration available. FYI, you can also add the repository as a custom one to HACS (see instructions) so future updates can be easily installed


Catch method signature

The order of arguments passed to a promise chain's catch handler doesn't match the common practice of providing the error as the first argument. This causes issues when another error is thrown as part of the promise chain, since what would have been my xhr argument suddenly becomes the error instead. I think it would be a good idea to provide arguments to the catch handler in the order error, xhr, response, this would result in more consistent behavior.
Thanks for a really nice library!

If I understand well, the problem is that when an error is thrown inside a then callback then the catch callback catches the error but with the wrong parameters? (which is normal)
In that case, shouldn't it be better to catch your errors with a normal try-catch block? Moving arguments seems a good idea, but there's not retro-compatibility at all with the current use of the library.

Yep, that's exactly right!
Well, not all errors can be foreseen (this was how I encountered this problem), so the developer won't be able to catch all errors by adding try/catch blocks. And since error handling is a core feature of promises, and promises are native to modern browsers, interoperability between implementations seems especially important.
I realize that this is a breaking change, but I definitely think it's important enough to warrant it

I think so... You're right, it's better to have a common implementation. I'm fixing this right away and add a note on the docs for that modification.

Cool 👍 Probably appropriate to bump the major version number as well to prevent breakage

Normally, the minor version number should be good enough, isn't it? NPM seems to not update a library if the minor number changes (by default).

Well, generally any incompatible API changes should bump the major version number. Seems silly in a way for such a small change, but if people rely on the current behavior, then it would be a shame if their apps unexpectedly broke

But, maybe I'm wrong, in a web app we don't update libraries otherwise we need too because of a bug or something. And if we update the whole thing, we take a look at the current documentation. Yeah, it seems a bit silly to bump to 3.0.0 although the code has not change at all :p

Furthermore, we don't push the project in production without tests :p

Agreed that ideally there are tests, but maybe there aren't any. And maybe I've just recently cloned a project and I'm running npm install and things aren't working as expected when running the app. Or maybe I have 25 dependencies and I'm running npm update because I need the latest version of a single one. Maybe people have implemented some kind of retry strategy for the request in their catch handler, and they're working with the XHR object somehow and suddenly the XHR is an error instead :/
In any case, I would recommend bumping the major version number. I know the semver rules are supposed to be more like guidelines than absolute law, but they're pretty clear about the backwards compatibility stuff http://semver.org/

Anyway! I cross my fingers and bump to 2.3...

You're right. Fuck. Ok, let's do it ^^

Good call! :) Thanks for the quick reply btw


@textlint/browser

We have noticed that some browser application use textlint.
(But some app use Node.js as backend like Electron)

https://github.com/textlint/playground Browser based
textlint-app Electron based
postem Electron based
Some editor application

Currently, @textlint/kernel provide low-level API.
But, it is unusable and it is almost internal API. Because kernel's version < 1.0.
We want to provide high-level API for browser.
Name
@textlint/browser
Feature
Any idea?

[ ] lintText(text, options): Promise
[ ] WebWorker support

Linting is heavy task
It is good thing for browser

[x] How to load .textlintrc?

Loading is out of scope

Limitation
Some rules are not work on browser because some rules depended on Node.js.
We should careful about error handling.

I think that to support WebWorker is good thing.
Web Workers to the rescue – Rastislav Svarba – Medium

How to load rule and plugin, and config?

I think it is better to define rules like a Babel.
{
  rules: [
    [require('textlint-rule-prh'), {
      ruleContents: [
        `YAML content...`,
      ]
    }]
  ]
}

And using it as below:
import { lintText, lintMarkdown } from '@textlint/browser'

const config = {
  rules: // like above format
}

const text = 'Hello'
const result = await lintText(text, config)

const markdown = '# Hello'
const result2 = await lintMarkdown(markdown, config)

How to load .textlintrc?

I think we don't need support to load .textlintrc.
If anyone want to use .textlintrc, use with Webpack (raw-loader):
import { lintText } from '@textlint/browser'
import textlintrc from './.textlintrc'

const config = JSON.parse(textlintrc)
lintText('...', config)

@azu How about you?

I think it is better to define rules like a Babel.

textlint need to key of the rule/plugin.
This is the reason that kernel require ruleId for opions.
const options = {
    filePath: "/path/to/file.md",
    ext: ".md",
    plugins: [
        {
            pluginId: "markdown",
            plugin: require("@textlint/textlint-plugin-markdown")
        }
    ],
    rules: [
        {
            ruleId: "no-todo",
            rule: require("textlint-rule-no-todo")
        }
    ]
};

@azu Ah sorry.
Then, I think the better format is array of object.
    rules: [
        {
            ruleId: "no-todo",
            rule: require("textlint-rule-no-todo")
        },
        {
            ruleId: "rule-aaa",
            rule: require("textlint-rule-aaa"),
            option: { ... },
        },
    ]

WebWorker support

I think we should support WebWorker.
Textlint does not depend on DOM and TextlintMessage is transferable.

I think we should support WebWorker.

Yes. Probaly, main use-case of textlint/browser is an editor like application.
That app run linting with high frequency.
This task should be split to non-main thread.

Overview of textlint

https://github.com/textlint/textlint/tree/master/packages/textlint/src
textlint includes CLI, Engine, and Core. (This term is historical reasons...)
@textlint/kernel is Kernel.
Probably, @textlint/browser is a sister/brother of Core.
Engine's tasks include loading of .textlintrc.
As a result, we can drop loading task(load .textlinrc and parse it) from @textlint/browser.

We might well have started with creating @textlint/browser as is a wrapper of kernel with WebWorker support.

@textlint/browser = @textlint/kernel + WebWorker + α

@Leko How about you?

@azu I'm sorry for my late reply.

Probably, @textlint/browser is a sister/brother of Core.

@textlint/browser = @textlint/kernel + WebWorker + α

I agree with this plan.
I think core(TextLintCore) is unnecessary to lint in a browser.

We can use playground as MVP(Minimum Viable Product).
It is a just editor that work on browser.
I think that we should have experimental product(like playground app) which use @textlint/browser.
We can start to create a library after we can get actual needs.
It is good process to create good library.
Do you have any product that you want to create?

We can start to create a library after we can get actual needs.

I think so too.
I already created markdown editor(uses monaco-editor, Textlint kernel and React Native for Web etc).
But it is for internal use. I can't publish it as OSS.
Another one, I got nothing for now.

any progress? or anything we may help?

I'm working on https://github.com/textlint/editor
textlint editor works on a browser.


test(material-experimental): harness tests leaking overlay containers

Fixes the cdk-overlay-container nodes not being cleaned up between test harness tests.

Yeah the container is still there. Currently there will always be one, because we have some logic that clears all other containers, but once #17006 lands we'll leak one container per test.


Request: Add support for running code in a new tab

I believe this was the old behavior for the playground. I think someone would need to create some kind of user settings and UI for this too.

This could be an option in the settings page for v3 playground


Can't "easily" edit vue based assets in Visual Studio

In VS2017, I don't see the ClientApp folder in The solution browser, making it difficult to work with the vue components.
I'm assuming because the ClientApp folder is marked for removal in the .csproj file:
  <Content Remove="ClientApp\**" />

Any suggestions (outside of toggling "show all files") on making them visible?

This seems like something strange that dotnet core 2.0 introduced (in combination with VS2017) as these were all working before.
If you get rid of that line in csproj, does it fix the issue?

I see the ClientApp folder just fine, I have VS 2017 15.3.2 installed.

Looks like I jumped the gun on opining the bug. It appears the reason why the folder was not shown was because the folder contents was empty. (I had cleared it out, to replace it with my own files).
Sorry for the confusion.


Merge pull request #1 from QuantStack/master

Update my fork

Hi @Mikeye666
I believe you updated your fork, and then mistakenly made a PR?

I just closed it -- No problem at all.


FlexibleSpaceBar title throws non null String exception

I am using FlecibleSpaceBar and title in it with Text widget.
here is a code
FlexibleSpaceBar(
                  centerTitle: true,
                  collapseMode: CollapseMode.pin,
                  title: Text(
                    _details.name,
                    style: TextStyle(color: CustomColors.darkBlue),
                  ),

however until i am not setting name to empty string at details intiialization i get this error:
A non-null String must be provided to a Text widget
this would be understandabe but what i see the bug is - i keep getting this error even when i do null check this
FlexibleSpaceBar(
                  centerTitle: true,
                  collapseMode: CollapseMode.pin,
                  title: Text(
                    _details.name ?? '',
                    style: TextStyle(color: CustomColors.darkBlue),
                  ),

this eror goes away ONLY if i set name explicitly to empty strin ginside details class.

can you check if this _details is null ? so if is not  _details.name ?? '', that works

Details not null because I am creating new instance just after constructor. However ?? Does not work. Because if I set name = '' explicitly in New instance it works

Details not null because I am creating new instance just after constructor. However ?? Does not work. Because if I set name = '' explicitly in New instance it works

Details not null because I am creating new instance just after constructor.
what do you mean by that ?
Class Details {
final String name;
Deails({this.name= ''});
}

or what ?

Class Details {
}

HI @vytautas-pranskunas-
running this code

sample
import 'package:flutter/material.dart';

/// adapting code from [https://api.flutter.dev/flutter/material/FlexibleSpaceBar-class.html#material.FlexibleSpaceBar.1]

void main() => runApp(MaterialApp(home: MyApp()));

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        physics: const BouncingScrollPhysics(),
        slivers: <Widget>[
          SliverAppBar(
            stretch: true,
            onStretchTrigger: () {
              // Function callback for stretch
              return;
            },
            expandedHeight: 300.0,
            flexibleSpace:

            /// adapted snippet from [https://github.com/flutter/flutter/issues/59368#issue-638024741]

             FlexibleSpaceBar(
              centerTitle: true,
              collapseMode: CollapseMode.pin,
              title: Text(
                '',
                style: TextStyle(color: Colors.white),
              ),
            ),

            /// original

            // FlexibleSpaceBar(
            //   stretchModes: <StretchMode>[
            //     StretchMode.zoomBackground,
            //     StretchMode.blurBackground,
            //     StretchMode.fadeTitle,
            //   ],
            //   centerTitle: true,
            //   title: const Text('Flight Report'),
            //   background: Stack(
            //     fit: StackFit.expand,
            //     children: [
            //       Image.network(
            //         'https://flutter.github.io/assets-for-api-docs/assets/widgets/owl-2.jpg',
            //         fit: BoxFit.cover,
            //       ),
            //       const DecoratedBox(
            //         decoration: BoxDecoration(
            //           gradient: LinearGradient(
            //             begin: Alignment(0.0, 0.5),
            //             end: Alignment(0.0, 0.0),
            //             colors: <Color>[
            //               Color(0x60000000),
            //               Color(0x00000000),
            //             ],
            //           ),
            //         ),
            //       ),
            //     ],
            //   ),
            // ),
          ),
          SliverList(
            delegate: SliverChildListDelegate([
              ListTile(
                leading: Icon(Icons.wb_sunny),
                title: Text('Sunday'),
                subtitle: Text('sunny, h: 80, l: 65'),
              ),
              ListTile(
                leading: Icon(Icons.wb_sunny),
                title: Text('Monday'),
                subtitle: Text('sunny, h: 80, l: 65'),
              ),
            ]),
          ),
        ],
      ),
    );
  }
}

everything seems to work as intended,
could you please provide
your flutter doctor -v,
your flutter run --verbose
and a minimal complete reproducible code sample.
Thank you

@vytautas-pranskunas-
I hope you've solved the issue.
Closing as additional information isn't provided


Why it doesn't recognize BEM?

I have this in my .html

It is incorrect naming in BEM (element can not have element).
Why don't linter show me any error?

Because BEM is hard to verify using regex? I would accept a pull request for a rule that checks BEM class names, and there's a very small chance that I will feel motivated to read up on it myself.

I'm working on this one. Will keep you posted.

Pull request available @mlochbaum


Create a footer black-17

One need to make this component using HTML and Tailwind CSS. I would suggest to use Tailwind Playgrounds to make things faster and quicker.
Here is a reference to the component.

After building the component please raise a PR with a screenshot of the component and add the component in Footer/footer-black17.html.
If you need to use any icon please use it from Hero Icons
Good luck.

assign me this issue

Go ahead @ABSTRAC7ION

Hey, @SarveshPatil29 this footers looks similar I know but give other contributors chance as well. By the time you can pick a new issue.

okay no problem

Hello sir, can you assign this issue to me?


Consider adding binaries to the release artifacts

Can we add cargo-component binaries in the release artifacts? I can work on that

I don't see why not. Thanks for taking that on!

@morenol It looks like the linux one failed: https://github.com/bytecodealliance/cargo-component/actions/runs/6644604756/job/18054113468#step:7:5

Checking it now


From private repo

@rkarlin : Thanks for your contribution! The author(s) have been notified to review your proposed change.


"Built.exe" does not open.

I did everything necessary. I got Python 3, and all that. My antivirus is turned off aswell. Despite all of that, when i try to run the thing, it does not open. Could you help me with this?

Can you recreate the grabber but this time, disable the VMPROTECT option.

no response; reopen if needed


fixed write-good issues to improve readability of readme

I basically took https://github.com/btford/write-good and fixed most issues to try and improve the readability of the readme, especially for non native speakers

What a neat library. Thanks for this!


Engagement Plan Template allows infinite sub-tasks

Users may create an arbitrarily large number of sub tasks for an Engagement Plan Template. This could potentially be harmful.

@chrismcmahon I don't know... what do you mean by 'harmful'? Not sure I agree that we should impose an arbitrary limit, and if so what that amount should be. I don't think it should be limited by the interface. @mpusto what do you think?

Until this is reported as an issue for performance, I don't think we would consider this a problem.


Refactor building Stubby from source

Stubby can now be built standalone with libgetdns as a dependancy (as opposed to a submodule of getdns).

https://dnsprivacy.org/wiki/pages/viewpage.action?pageId=3145786#Installation:Linux(Buildfromsource)-Buildoptions
https://github.com/getdnsapi/stubby#build-stubby-from-source

It needs more testing and refinement, but a proof-of-concept version has been published to the stubby branch.

Re-worked how Stubby is built in https://github.com/MatthewVance/stubby-docker/commit/4a06090ac5500d755387722e470f40ad6a59d289. It's still a sub-module, but works with the latest stable getdns version (1.6.0) and also uses the CMake build system. At this time, the Stubby version is 0.3.0.


toJson on a @DefaultObject

Is it possible to do a toJson() on an object tree with DefaultObjects?
Running a toJson() on the result of a fromJson() doesn't work if any of the incoming types in the tree were unknown (@DefaultObject).
The error:
Expected one of [...] but found com.[].UnknownAction. Register this subtype.
at com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory$PolymorphicJsonAdapter.toJson(PolymorphicJsonAdapterFactory.java:286)

(UnknownAction is my @DefaultObject)
Is there a way around this?

Can you elaborate or share an example?

Example below.

@JsonClass(generateAdapter = true, generator = "sealed:type")
sealed class MyModel {

    @TypeLabel("SEARCH")
    @JsonClass(generateAdapter = true)
    data class MyModelSearch(val term: String) : MyModel()

    @DefaultObject
    object MyModelUnknown : MyModel()
}

try {

    val jsonString = """{
        "type": "NOT-SEARCH",
        "term": "dummy"
      }"""

    val adapter = Moshi.Builder().build().adapter(MyModel::class.java)
    val jsonObj = adapter.fromJson(jsonString)

    System.out.println("jsonObj " + jsonObj.toString()) // correct: prints MyModelUnknown

    val newJsonString = adapter.toJson(jsonObj) // IllegalArgumentException: Expected one of...

} catch (e: Exception) {
    System.out.println(e)
}

Is the problem clear now?

I've been busy and haven't had time to look

It can only handle defaulting to an unknown decoded type, but that should only happen in fromJson cases. If you get an unknown type, you should not be trying to re-encode it again. This would be like a client intentionally trying to encode an unknown type, which is sort of a pathological case

okay. saving it as an object stream instead.


add patch to compile with newer GCC versions.

this is needed to overcome some compile errors. e.g<EMAIL_ADDRESS>fix is borrowed from upstream https://github.com/apache/zookeeper/blob/master/zookeeper-client/zookeeper-client-c/src/zookeeper.c#L5101

closing as I just saw #90


fix(module:drawer): content overflow when placement is top or bottom

close #4354
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number:  #4354
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

please check this, the drawer is flashing when I change nzPlacement with ngModel.
Is it a bug of drawer?

火狐浏览器 依然 溢出被遮挡


Publish 4.0.0-SNAPSHOT

I'd like to make use of a lot of the new functionality (especially metric-servlets).
Can you publish a SNAPSHOT of 4.0.0 ?
You've made mention that you might have already however I was unable to find any maven repo with it.

There's a pretty recent snapshot in the Sonatype snapshots repo: https://oss.sonatype.org/content/repositories/snapshots/io/dropwizard/metrics/


Genie configurations for Spark and hadoop upgrade on EMR

Hello team,
This is not particularly any issue to report, but we need few suggestions to consider while upgrading stack while integration Genie with airflow.
we are currently migration to EMR version 6.0.0 which has - amazon hadoop 3.2.1, spark2.4.4 and hive 3.1.2
our old stack is on EMR 5.23.0 , where we have hadoop -Amazon 2.8.5, Hive 2.3.4 and Spark 2.4.0 , genie version -3.0.1
Need inputs on which version of genie and python client nflx-genie-client , we should use for new stack and what are the configurations setting particularly we should follow for upgrade.

Hi @kraj007. Your Genie is version is quite old. If you want to move to the latest truly stable it would be 3.3.21 however we're running the 4.0.0-rc versions internally at Netflix. We haven't officially open sourced them quite yet as we work out issues and have to get around to documenting some of the changes. You could try out the demo for example of how it's setup. It also uses the latest python client for interacting with the Genie server.

Thanks @tgianos  we will be using python3.7 for our new stack. If we upgrade to 3.3.21 version , will it work well with latest python client ?
Also can we use genie 3.0.1 with latest python client ?

@kraj007 The demo client uses Python 3.8 with pygenie 3.6.16 so 3.7 should be fine with that version as well.
The REST API hasn't changed drastically between versions so you should be fine. We're only supporting 4.x and any major bugs found on 3.3.x at this time. I wouldn't recommend sticking at 3.0.1 if it can be avoided.

Hi @tgianos ,
Are Netflix running the same 4.0.0-rc as GitHub master branch? or does Netflix maintain an internal version?

@yanxiaole we are running RCs releases internally.
However it's still in active development, hence the 'candidate' status. We're making occasionally breaking changes and we need to overhaul documentation before officially releasing 4.0.0. But we're getting close.


Should DOM matcher use input type?

When we determine whether a DOM node matches an element, we use the tag name. We probably don't want to try mutating the type attribute for input objects, though.

Implemented in 641fb3ebcec46a41c3e960e202408bf2ba81bbc0


No option to add multiple custom rules to the same field

Hi @lintu,
A custom rule is a function and so can be flexible enough to check as many things as you want.
You can accomplish multiple, chained validations like so:
var customValidationA = function(value) {
  // Check something and return a promise
};

var customValidationB = function(value) {
  // Check something else and return a promise
};

var validationRules = {
  email: {
    required: true,
    custom: function(value) {
      var promiseA = customValidationA(value);
      var promiseB = customValidationB(value);

      return $q.all([customValidationA, customValidationB]);
    }
  }
};

Closing this issue because I assume the above solution should be flexible enough to work for you. If not, please feel free to re-open it and consider submitting a pull request! :)

One issue i am facing is I am not able to change the validation messages for different rules in "custom". Currently I am doing something like this
if (conditionA) {
  _self.form.validationRules["fieldName"].custom.message = "message a";
  return false;
}
if (conditionB) {
  _self.form.validationRules["fieldName"].custom.message = "message B";
  return false;
}

It is returning faster than applying the changes. Validation is showing the previous error message, not the currently set message. I may need to do a $scope.$apply() after changing the message. But it have other issues.
If you confirm, I will send a pull request.

Sorry for the slow response time @lintu. This was a very busy week and work and I didn't have time in the evenings to check Github.
You can change the validation message by throwing an error instead of returning false, like so:
if (conditionA) {
  throw Error('Message A');
} else if (conditionB) {
  throw Error('Message B');
}


[REQUEST] Make api-endpoint configureable via env-vars

For many setups it would be great, if the url, which houdini uses, could be configured per environment via env-var/.env-file.
It would make houdini more flexible and suited for bigger projects. It could also render the environment-config optional, as it could be provided with a default if the url is provided via .env... Less steps, less code, less errors :)

Hey @benbender!
I think i need a little more information to understand this. Do you mean the value in the config file? If so, you also can totally use environment variables to fill that value, you just have to make sure to use the rollup replace plugin to replace that string with something that can execute when the client imports the file. It's also worth clarifying that the value not used by the runtime - only by the command line tool when updating the schema (with generate -p).
You also should be able to use the rollup replace plugin to set the value inside of the generated environment file if that's what you meant.
Let me know if you need more guidance. You can also always reach out to me on discord if you want to share code privately or anything :)

The context, I was thinking about, was simply userfriendliness... It's less a problem of doing it (even if I initially tripped over the sveltekit-way of handling envs...), but more a question of lower the initial setup-costs and entry-barriers while promoting best practices :)
In an ideal world one would only have to install one (meta-)package, add the preprocessor and an env-var and the preprocessor figures out the rest with established defaults (at least in dev-mode)... It would be so cool and another nice sellingpoint for sveltekit and houdini! :)

Hm, I worry that I've gotten a little confused but I think we're talking about something different from your initial question. It sounds like you now understand how to configure the url that the client will hit with an environment variable so I'm going to close this issue.
I agree with you that the world you describe would be ideal - it's a bit tricky given the current capabilities of a svelte preprocessor. They really only can look at a single file at a time. For some features, this is enough. For example, the fragment definitions found in a query composition can be inferred and retrieved by looking at the import statements in a given file. It would be tricky to make sure we don't process the same component twice, or get caught in circular imports but I digress. Unfortunately, some features of houdini (for example, the list operation fragments) only really make sense by considering all of the files in a particular project. As far as I can tell, this is impossible to do with just a pre-processor alone. Finding that line between an understandable mental model and having enough magic to make the framework useful is a constant challenge.
I think it would be really neat to change the default environment stamped out by init to pull the value from the config file. I do like having the explicit environment.ts file in order to a clear representation of the moving parts. At least that way the user doesn't have to look up more documentation for defining custom network behavior. I suppose the init function could do more to streamline the initial setup such as change an existing src/routes/__layout.svelte to set the environment... 🤔


{"key":null} -> (key . ) (which is unparseable)

apparently jsown:parse can't handle this, as it creates a list that impossible to form/read.

That's strange.  I foresee two main ways in which you want to run this, and both work for me.
The first would be with the default settings.  In this case, you read null and represent it as nil in lisp.  It parses correctly.  Writing the value will write out an empty list, rather than null, as lisp doesn't make a distinction between the two.
cl-user> (jsown:parse "{\"key\": null}")
(:obj ("key"))
cl-user> (jsown:to-json (jsown:parse "{\"key\": null}"))
"{\"key\":[]}"

Alternatively, you could use the injective reader.  Behaviour is a tad different in this case.  You get :null back as a key, but writing the result back gives the same logical content as the input you supplied in the first place.
cl-user> (jsown:with-injective-reader (jsown:parse "{\"key\": null}"))
(:obj ("key" . :null))
cl-user> (jsown:with-injective-reader (jsown:to-json (jsown:parse "{\"key\":null}")))
"{\"key\":null}"

I don't see a case where (key . ) is produced.  It does not seem to be a valid lisp form.  On which common lisp implementation does this occur?


Sequence contains no elements

Prerequisites

[ ] Verify that this is not a Windows issue;
[ ] Refer to the System requirements;
[ ] I do not use a homebrew Windows image;
[ ] I did not tweak Windows before that could cause system instability;
[ ] Attach a created log. You may find it in the Logs folder.

Steps To Reproduce
After run app on Windows 11 and Windows 10 show this message only:
"Sequence contains no elements"

Expected behavior

Actual behaviour

Windows Version
Windows 11 and Windows 10
SophiApp version
<IP_ADDRESS> and <IP_ADDRESS>
SophiApp release type
SophiApp
Logs

Hi. you didn't check all boxes in your issue. and didn't attach any log...

Where is a protocol saved?

You may find it in the Logs folder.

Edited you issue checkboxes. Please draw your attention

Log:
Windows 10 Enterprise G 21H2 build 19044.1645
Computer name: PC
User: Admin
User domain: PC
User culture: Czech (Czechia)
User region: Czechia
App version: <IP_ADDRESS>
App is release: True
App folder: "D:\Data\Temp\SophiApp\"
App localization: EN
App theme: DARK

An error occurred during the startup OS condition check
Information: Sequence contains no elements
The method that caused the error: First

20.04.2022 21:29:02 Debug mode is: False
20.04.2022 21:29:02 Active view is: Loading
20.04.2022 21:29:02 Advanced settings is visible: False
20.04.2022 21:29:02 The "UWP for all users" switch state is: UNCHECKED
20.04.2022 21:29:02 The OS conditions checkings started
20.04.2022 21:29:02 OsVersionCondition: True
20.04.2022 21:29:02 OsBuildVersionCondition: True
20.04.2022 21:29:02 RebootRequiredCondition: True
20.04.2022 21:29:02 SingleInstanceCondition: True
20.04.2022 21:29:02 SingleAdminSessionCondition: True
20.04.2022 21:29:02 Win10TweakerCondition: True
20.04.2022 21:29:02 SycnexScriptCondition: True
20.04.2022 21:29:02 Active view is: SomethingWrong
20.04.2022 21:29:02 It took 0 second(s) to check the OS conditions

Strange. Did you tweak your OS?

No. It is clean install in default settings.
And i am installed (and using) this apps only:

It is so strange... Why the app works on every Windows but not yours? :)

So you didn't tweak it at all? Just installed those apps only?

Yes. I used to use different tweaking tools. Up to the NTLite level, and I went the way of removing components but it did cause problems. So I was looking for a suitable OS distribution that would work quickly and securely without unnecessary applications, advertisements, etc .. When I found the official version of "Enterprise G" that meets it.
I also tried the LTSC 2021 version but it was not safe enough and this installed advertising applications.

"Enterprise G" is different from other distributions in that it has Windows Defender completely disabled by default. So it doesn't have any anti-virus software .... it speeds up the operation of the OS quite a bit. Sometimes I check the OS with portable versions of antivirus applications.

Well.. Could your provide a link where you did you download it?

"Enterprise G" is different from other distributions in that it has Windows Defender completely disabled by default. So it doesn't have any anti-virus software .... it speeds up the operation of the OS quite a bit. Sometimes I check the OS with portable versions of antivirus applications.

So you just approved right now that this is a homebrew image with a broken Defender?

Defender is not broken, but turned off by Microsoft from the factory (it is not removed but only deactivated without the possibility of turning it on - if you want antivirus, you must install another one)

I will not publish the link here, because Enterprise G cannot be downloaded by default - it is intended for governments and not for companies and end users. And it officially exists in only two language versions ... China and English.
This is for more information of this version... https://forums.mydigitallife.net/threads/windows-editions-reconstruction-project.80939/page-3

Have now at least found decent ISOs:
https://download.cmgos.com/oem/login
0101111011111

Or directly: https://archive.org/download/windows-10-china-government-edition-cmge_v2020-l.1207/CMGE_V2020-L.1207.iso

Have now at least found decent ISOs:

Heard about his site.

"Enterprise G" is "Windows 10 CMIT Government Edition"

I know about this special Windows version. But is that image from MDL the authentic image made by MS? Having read the thread I made a conclusion that it was customized. No?

I'm dpwnloading now CMGE_V2022-L.1345.iso. Why you sent a link to CMGE_V2020-L.1207.iso?

I will put it on test, because I guess what causes the bug. :) The Defender checkings. So it's pretty sure we will fix it.

I don't know which of the two is exactly her anymore. But thank you for testing.

It seems, we've fixed you bug. :)

Yes it is fixed. Thank you very much dev-god :)
Tested on version <IP_ADDRESS>


[k8s] convert to valid pod name part with k8s function runtime

Motivation
k8s runtime use tenant, namespace, functionName to create k8s pod name, but functionName might not meet the k8s pod name rule. "[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*", which will cause pod create failed.
Modifications
This PR create a new function called toValidPodName which convert a string to valid pod name part, including convert to lower case and replace all non-char part to "-".

plz run java8 test

run java8 tests

run java8 tests

run java8 tests

run java8 tests

run java8 tests

retest this please

retest this please

run cpp tests

@sijie @freeznet did you guys consider backwards compatibility for this?  Especially for the case when I already have functions running in kubernetes.  With this change existing functions will not be able to be deleted since the expected name of the statefulset will be different.


there is a virus?

when i try to open the thing it wont let me saying, "there is a virus you cant open this" then if you keep trying it auto deletes itself

#245


Skip non-existent runs when reprocessing

Previously these would be attempted anyway, which has some disadvantages:

Reprocessing with e.g. amore-proto reprocess $(seq 1 100) would fail if any run in-between was missing, so it could take multiple invocations to reprocess a range.
Even if a run didn't exist a database row would still be created for it, which meant that any future use of amore-proto reprocess all would also crash when it got to that run.

Note that this doesn't forbid including non-existent runs in the table, it just skips them when reprocessing. That's important because at some point when we hook up the DAQ as a trigger we'll record all created runs, not just those that have been migrated.
(CC @daviddoji)

Thanks, LGTM


MB-11317 Fix flaky test by commenting out time assertion and revisit later

Jira ticket for this change
Summary
Commented out one line of a test assertion regarding time since it was flaky. Will revisit this to make a better test assertion. Time is finicky.
Setup to Run Your Code

💻 You will need to use three separate terminals to test this locally.
Terminal 1
Start the server tests locally.
make server_test

Verification Steps for Author
These are to be checked by the author.

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

Backend

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Messages

:book:
:link: MB-11317

  Generated by :no_entry_sign: dangerJS against 5a328e60be2185248aaf8c55d80110138e703684


google-fonts: new package

Built and tested against the nixos-unstable channel.

Could you rename the commit message according to CONTRIBUTING.md? I.e. mention the version/date in addition.


Welcome page title: use app_name instead of 'Superset'

CATEGORY

[x] Enhancement (new features, refinement)

SUMMARY
The title of the welcome page is a hard coded string (value: "Superset"). When setting the APP_NAME to a custom name, we expect to see this name for the page title.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
When changing the APP_NAME in superset/config.py file:
 # GLOBALS FOR APP Builder
 # ------------------------------
 # Uncomment to setup Your App name
-APP_NAME = "Superset"
+APP_NAME = "My Custom Name"

Before: the title of the welcome page is not updated (neither for pages without an explicit title)

After: the title is updated

Codecov Report

Merging #8427 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8427   +/-   ##
=======================================
  Coverage   67.61%   67.61%
=======================================
  Files         448      448
  Lines       22486    22486
  Branches     2364     2364
=======================================
  Hits        15204    15204
  Misses       7144     7144
  Partials      138      138

Impacted Files
Coverage Δ

superset/views/core.py
71.38% <ø> (ø)
:arrow_up:

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 8f246ce...cc8902f. Read the comment docs.

Sorry for the delay I miss the activity notification.
Your solution is more elegant indeed. I updated the code and tested locally :ok_hand:


None of the demos seem to work on OSx Firefox or Safari

Hey! I wanted to use this polyfill in my library, but when I fired up the demos locally, I noticed that none of them work properly in either OSx Firefox or Safari. On Chrome everything appears to work as expected as far as I can tell.
I am on macOS Ventura (13.6.6)
Here are some recordings:
Chrome, Version 124.0.6367.158
https://github.com/flackr/scroll-timeline/assets/34210193/f2688d5e-8d80-428b-b532-6fb1966765ba
Firefox, version 106.0.1
https://github.com/flackr/scroll-timeline/assets/34210193/06cfab04-253a-4974-b65c-9dd86d51c413
Safari, Version 17.4.1
https://github.com/flackr/scroll-timeline/assets/34210193/feba95f6-ddd6-4415-88c9-d9f870d60fda
Has anyone else ran into a similar issue? I am interested in the scroll( ) function polyfill

Hey @haach, same here. It isn't working locally or when using the CDN on Safari iOS and macOS 17.4."

Check the console. You’ll see an error that it can’t load thescroll-timeline.js file.
E.g, in Safari:
Failed to load resource: the server responded with a status of 404 (Not Found)

The fix is that you need to build the project first before serving the demos.
# Build
npm run build

# Start DevServer
npm run dev

Preferably, npm run dev would also build the project first (and set up a watcher).

Check the console. You’ll see an error that it can’t load thescroll-timeline.js file.
E.g, in Safari:
Failed to load resource: the server responded with a status of 404 (Not Found)

The fix is that you need to build the project first before serving the demos.
# Build
npm run build

# Start DevServer
npm run dev

Preferably, npm run dev would also build the project first (and set up a watcher).

That worked :)

Reopening as it’s best that we get this fixed, or at least make a note of it in the README.


Object schema validation does not convert its values

As is it presented in documentation object schema validation should convert its values into the expected ones, for instance: strings into numbers. Instead of this we get error with invalid type.
Version: 0.6.1
Use case: https://schema.typeofweb.com/docs/validate#example
Expected result:
{
    dateFrom: new Date('2020-10-15T00:00:00.000Z'), // date instance
    dateTo: new Date('2020-10-15T00:00:00.000Z'), // date instance
    resultsPerPage: 10 // number
}

Received result:
ValidationError: Invalid type! Expected { dateFrom: Date, dateTo: Date, resultsPerPage: number } but got {"dateFrom":"2020-10-15","dateTo":"2020-10-15","resultsPerPage":"10"}!

Cannot reproduce it in 0.7.0. Added a test case https://github.com/typeofweb/schema/commit/8d15def03cf336ae1aaed04d088b2e7815848204

@all-contributors please add @Aliath for bug


Fixed Grammatical errors #1003

🛠 Fixes Issue #1003

👨💻 Changes proposed

✔ Check List (Check all the applicable boxes)

[✔] My code follows the code style of this project.
[✔] This PR does not contain plagiarized content.
[✔] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
hey please review it I solved the grammatical error in faq .
📷 Screenshots

Someone is assigned to that issue - let us give them a chance too !

Someone is assigned to that issue - let us give them a chance too !

Hey it was and still  showing no one is assigned that's why i tried to fix it 😀


GVim redraw issue -- some text disappears

Steps to reproduce
I am not sure about exact steps to be frank:

Run gvim with wayland enabled
open buffer.c from vim src dir
enable yegappan/lsp plugin to show diagnostics in virtualtext on the right side
vertically split windows and make guifont big enough some virtual text is hidden (off the window on the right side)
scroll window until part of the text disappears.

Screencast from 2024-03-07 20-06-42.webm
Expected behaviour
no text should disappear
Version of Vim
9.1.151
Environment
debian 12, gvim with wayland enabled
Logs and stack traces
No response

Maybe you can bisect to find which commit caused the bug?

Maybe you can bisect to find which commit caused the bug?

Yep, will try to figure it out plus maybe try it without wayland.
For now if I turn off diganositcs (:LspDiag highlight disable -- there is no virtual text) no issues.
And if I change font size (bigger or smaller) there is no issue as well.

similar/duplicate of #14028 ?

@chrisbra indeed, looks quite similar. And I can reproduce it with quite an old commits. Maybe I shouldn't go to far into history.

Is this still reproducible? Similar issue is marked as closed: https://github.com/vim/vim/issues/14028

let's close for now


daemon: factor out iptables code into pkg/firewall

Navigating daemon.go is confusing; there is a lot of code in various places that
could be separated out into smaller files that more logically indicate the
function of the code contained inside of them. Move iptables related code to its
own file accordingly.
Signed-off by: Ian Vernon<EMAIL_ADDRESS>No functional changes are intended in this PR.

This change is

test-me-please

I think we should refactor this out of daemon/ altogether.

Maybe we should have a separate package for that (i.e. pkg/firewall)? Then in the future it will be easier to abstract that functionality and provide support for nftables and firewalld.

test-me-please

test-me-please

@mrostecki I placed this under pkg/firewall as you suggested.

Sorry to drop in a bit late, but I don't think that pkg/firewall is a very apt name. These rules have more to do with packet routing, load balancing, l7 proxy redirection and kubernetes integration than they do with enforcing policy.

@joestringer no problem at all. What do you think would be a more apt name?

@ianvernon Since the actual function call we use from this new package is named in an implementation-specific way (ie InstallIPTablesRules...) , then we're clearly not abstracting the names out so we could just name the package iptables and do a iptables.InstallRules().

@joestringer sure, makes sense. If we want to abstract out the code into some implementation-agnostic interface like what @mrostecki is suggesting, I think that can be done when such an interface is created.

test-me-please

Coverage decreased (-0.1%) to 42.5% when pulling f87dec6ef5cbed0e08a05eb0f142b045556ab2c7 on pr/ianvernon/split-out-iptables-daemon-code into b5b0c197ac0890950d1f879867b3991590cbd11d on master.

test-me-please

Build failure:
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/7933/
Hit etcd-operator scale-down flake:
21:46:27   Tests upgrade and downgrade from a Cilium stable image to master [It]
21:46:27   /home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-Validated/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:383
21:46:27
21:46:27   etcd-operator is not ready after timeout, pods status:
21:46:27    NAME                            READY     STATUS    RESTARTS   AGE
21:46:27   cilium-etcd-nt87zcxpw2          1/1       Running   0          12m
21:46:27   cilium-etcd-t6s9v4shkl          1/1       Running   0          12m
21:46:27   etcd-operator-8b5cbb6d6-74h5t   1/1       Running   0          13m
21:46:27
21:46:27   Expected
21:46:27       <*errors.errorString | 0xc42172a140>: {
21:46:27           s: "Timeout reached: timed out waiting for pods with filter -l io.cilium/app=etcd-operator to be ready",
21:46:27       }
21:46:27   to be nil
21:46:27

test-me-please

K8s-1.12 tests failed: https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/7944/flowGraphTable/

test-me-please


[TW#13264] LWIP build fails when enabling lwip option MEMP_USE_CUSTOM_POOLS

ESP_THREAD_SAFE macros have the same name as some structure members so preprocessor is substituting macros.
eg in sockets.h there is a macro: #define recv(s,mem,len,flags)                     lwip_recv_r(s,mem,len,flags)
in udp.h the structure struct udp_pcb has a member variable recv.
When compiling referencing code to udp_pcb.recv are been substituted to udp_pcb.lwip_recv_r

@ukfasthands  I want to know whether you have tested this :"When compiling referencing code to udp_pcb.recv are been substituted to udp_pcb.lwip_recv_r".

@ukfasthands I have test about this, When compiling referencing code to udp_pcb.recv, it didn't substitute to udp_pcb.lwip_recv_r.
when call pcb_new() , the "udp_pcb.recv" will be assigned a callback function, its function is to send a mbox to recvmbox when data is received.   However, lwip_recv_r() is to fetch  from recvmbox, and save the data into netbuf.

I'm building under osx
I can recreate by building the ethernet example in esp-idf/examples/ethernet/ethernet
I set MEMP_USE_CUSTOM_POOLS to 1  in  esp-idf/components/lwip/include/lwip/lwip/opt.h
build error is:
/Users/scott/esp32/esp-idf/components/lwip/core/raw.c: In function 'raw_input':
/Users/scott/esp32/esp-idf/components/lwip/core/raw.c:158:20: error: 'struct raw_pcb' has no member named 'lwip_recv_r'
eaten = pcb->recv(pcb->recv_arg, pcb, p, ip_current_src_addr());
^
make[1]: *** [core/raw.o] Error 1
make: *** [lwip-build] Erro
gcc version:
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-61-gab8375a)

@ukfasthands ok, I will test it again according to your steps, and reply you as soon as possible.

Hi @ukfasthands this issue is already fixed in latest IDF, please check.
commit ID: 1c0543fb17ec700d27eaad9c379407047e82eb61


Create a new sub-package for cirq-ft

We want to launch Cirq-FT soon. This task is to create a new empty sub-package for cirq-ft that depends on cirq-core and is compatible with all the Cirq packaging infrastructure.
Once the package has been added, we can start moving files from internal private repository to Cirq open source.

cirq-ft

What is it?
cirq-fault-tolerance?
cirq-fourier-transform?
cirq-full-time?
cirq-feet?

Yeah, Cirq for Fault-Tolerant algorithms. We've been working on a prototype internally and we are targeting a launch by June 12th

Remaining TODO items:

[ ] @tanujkhattar - please check the new README
[ ] remove temporary file dropme_blank_test.py after adding some tests

Can this be closed now?

Yes, this can be closed


Move from crossbeam to async-std

Checklist (some items might not be applicable)

[x] Link PR to Github issue
~[ ] Update documentation~
[x] Cover with tests (unit and/or integration tests)
[ ] Update CHANGELOG.md

Here are some points that I would eventually like to revise:

Serialization/Deserialization with bincode should be async.
Target shouldn't be Clone.
Command should be async.
The value of DEFAULT_CHANNEL_CAP could be revised and improved.

We should notice a notable performance improvement for trivial tasks (e.g. https://github.com/fbecart/zinoma/tree/master/benches/hello_world). However, we also see a large performance reduction on the incremental benchmark (https://github.com/fbecart/zinoma/tree/master/benches/incremental).
I want to look at the big picture and keep going on with the large architectural revamp (actor-based pulled executions).

Here are some points that I would eventually like to revise:

Serialization/Deserialization with bincode should be async.
Target shouldn't be Clone.
Command should be async.
The value of DEFAULT_CHANNEL_CAP could be revised and improved.


Add /bin directory with dotfiles-sync script

From the work dotfiles, add this to dotfiles/bin/dotfiles-sync
#!/usr/bin/zsh

# Ensure that local dotfiles have not been modified and synchronize them with
# the remote git repo

local error=false

if [[ ! -z $(git -C $DOTFILES status --porcelain) ]]; then
  echo "\033[0;31mError\033[0m: dotfiles has uncommited files"
  error=true
fi

local branch=$(git -C $DOTFILES rev-parse --abbrev-ref HEAD)
if [[ "$branch" != "$HOST_SHORT" ]]; then
  echo "\033[0;33mWarning\033[0m: dotfiles is not on the correct branch. ('$branch')"
  git -C $DOTFILES checkout $HOST_SHORT
fi

if [[ "$error" = false ]]; then
    echo "Syncing main dotfiles..."
    git -C $DOTFILES pull -r
    git -C $DOTFILES push
    sh $DOTFILES/install
    echo "...done"
fi

make sure to chmod +x bin/dotfiles-sync to make it executable, and make sure that the dotfiles bin directory is on the path

I added the ~/bin directory already. Still need to copy in the dotfiles-sync script


Possible bug: mjx-container font-size set relative to wrong font

Issue Summary
Giving multiple options for font-family of a parent element appears to sometimes lead MathJax to set the font-size of the mjx-container relative to a backup font that was never rendered in any of the parent’s content.
Minimal complete example
Also at https://jsfiddle.net/randyc/yfzacqjv/3/
<!DOCTYPE html>

    <title>MathJax Overflow</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto">

Inline equation: \(Y=2X+3\)

Same with display: \[Y=2X+3\]

Steps to Reproduce

Save the code to a file
Open the file in a browser
Observe rendering and styling:
a. Note the physical size of the rendered math relative to the rendered regular text
b. Inspect the font-size styling in either mjx-container
c. Inspect the font-family inherited by mjx-container (Firefox inspector shows the font in use underlined)
Edit the font-family styling of body to include only Roboto and do step 3 again
Edit the font-family styling of body to include only sans-serif and do step 3 again

Expected behavior:
As long as Roboto has the highest priority in the font-family styling of the parent element (and Roboto is available, of course),

Rendering of math will not depend on what other font options are listed later
MathJax will set the font-size relative to Roboto

Observed behavior:

When Roboto is the only font option specified, font-size of mjx-container is 101.1% (the exact number is not important)
When sans-serif is the only font option specified, font-size of mjx-container is 117.4% (the exact number is not important; the point is that it is different)
With font-family: Roboto, sans-serif, font-size of mjx-container is 117.4% even though the text in the parent element is rendered with Roboto
The behavior is not specific to Roboto. I tried replacing Roboto with Open Sans, and the problem persisted.

Technical details

MathJax Version: 3 (no idea how to get more specific because I do not know js)
Device 1:

Client OS: Windows 10 Pro 21H2 build 19044.1149
Screen: Dell UltraSharp U3415W
Resolution: 3440×1440 with Windows scaling up to 125%
Browsers tested:

Firefox 90.0.2 (64-bit)
Chrome 92.0.4515.107 (Official Build) (64-bit)
Edge 92.0.902.55 (Official build) (64-bit)

Device 2:

Client OS: Windows 10 Pro 21H1 build 19043.1110
Screen: laptop: Dell XPS 13 9370
Resolution: 3840×2160 with Windows scaling up to 250%
Browser tested: Firefox 90.0.2 (64-bit)

Supporting information
There were no errors, but here are the console warnings:
Unknown property ‘-moz-border-radius’.  Declaration dropped. MathJaxOverflow.html:4:550
Unknown property ‘-moz-box-shadow’.  Declaration dropped. MathJaxOverflow.html:4:798
Expected ‘none’, URL, or filter function but found ‘progid’.  Error in parsing value for ‘filter’.  Declaration dropped. MathJaxOverflow.html:4:909
Unknown property ‘-moz-border-radius’.  Declaration dropped. MathJaxOverflow.html:1:214
Unknown property ‘-moz-border-radius’.  Declaration dropped. MathJaxOverflow.html:2:194
Unknown property ‘-moz-border-radius’.  Declaration dropped. MathJaxOverflow.html:1:506
Unknown property ‘-moz-box-shadow’.  Declaration dropped. MathJaxOverflow.html:1:750
Unknown pseudo-class or pseudo-element ‘future’.  Ruleset ignored due to bad selector. MathJaxOverflow.html:124:31

I am working on a series of screenshots to show the different renderings, but I want to submit this so the page doesn’t time out while I am working on it.

It's not the multiple fonts that are the issue, it is the fact that Roboto is a web font.  That means that it takes time for it to arrive, and the browser may substitute a different font in the meantime.  MathJax tried to measure the ex-height of the surrounding font, and if it does that before Roboto arrives, the value will be determined for the substitute font rather than for Robot itself.  When Roboto is combined with sans-serif, the substitute font appears to be san-serif, so that is why you get the same value for Roboto, sans-serif as for sans-serif.  When Roboto is used by itself, a different font is used as the temporary font, and that yields a different ex-height, so MathJax uses a different font-size value.
Google provides a web-font loader library that lets you determine when the fonts are loaded, so you might try using that to load the fonts and delaying MathJax's typesetting until after the web fonts are available.  That should get the proper sizing.  Something like


Domain Admin has an ability to delete his own Account

Steps:

Create a user in account with role Domain Admin
Log in under that new user and go to Accounts

Expected result: no actionbox in the card/sidebar of his own account
Actual result: actionbox in the card/sidebar of his own account where all actions are enabled
Connected Feature ID:
account_actionbox

Unable to reproduce bug
@Nadya913

@Nadya913  Issue was closed by mistake and branch was merged so you can test it on the master branch

There is actionbox in the sidebar of new user Account where all actions are enabled

@Nadya913 test it on the master branch

Tested on master


grunt starting error

Hi. Thanks for your time.
After install commands:
npm install -g grunt-cli
npm install -g bower
npm install
bower install (error) link to issue https://github.com/DeviateFish/ingress-model-viewer/issues/38
The last command from your readme:  grunt
throws this error
grunt-cli: The grunt command line interface (v1.2.0)
Fatal error: Unable to find local grunt.
If you're seeing this message, grunt hasn't been installed locally to your project.
My environment is:
windows 7
node v6.11.1
Thanks in advance.

Sorry about these, the README is out of date.  This project no longer uses both Bower and Grunt.  It now uses webpack for building, with dependencies all installed via npm.
Closed by #40


Expense Category Selection Blocking Expense Submission

Describe the bug
There can be a case where if there's no expense category can be selected. To reproduce this scenario follow the steps below.
To Reproduce
Steps to reproduce the behavior:

Go to the host settings, to policies section and enable "Require expense submitters to select a category when submitting an expense
"
Go to the "Chart of Accounts" section in settings and make sure there are no categories set there.
Try to submit an expense to a hosted collective

Expected behavior
The expense flow should not show the expense categorisation section as there's nothing to select. If it does show then we need to be able to select "I don't know" which is the only option.
Screenshots
expenseblock.webm

We can also recreate this when all the "Chart of Account" categories are set to be visible to fiscal host admins only and then trying to submit a expense as a regular user will get this block.

This is reported initially at, https://opencollective.freshdesk.com/a/tickets/366569

We should ideally hide the section entirely if there's nothing there for you to select, but as a quick fix we'll pre-select "I don't know" if there's no other option: https://github.com/opencollective/opencollective-frontend/pull/10659.

We should ideally hide the section entirely if there's nothing there for you to select, but as a quick fix we'll pre-select "I don't know" if there's no other option: opencollective/opencollective-frontend#10659.

Thanks a lot; very useful as otherwise users are blocked from submitting expenses in this case.


api: fix inclusion proof verification flake

Signed-off-by: Asra Ali<EMAIL_ADDRESS>
Fixes:

https://github.com/sigstore/cosign/issues/2123
https://github.com/slsa-framework/slsa-github-generator/issues/658
https://github.com/slsa-framework/slsa-github-generator/issues/601

Summary
This fixes a flakey problem with Rekor entry verification.
Every once in a while, we receive errors in validating the inclusion proof from Rekor:
it may either be an error verifying the inclusion proof:
 validating log entry 37: verifying inclusion proof: calculated root:
[73 180 215 55 7 58 247 212 29 155 130 228 142 72 218 20 131 130 3 179 61 150 19 180 243 114 50 157 177 182 130 69]
 does not match expected root:
[237 220 193 22 243 233 200 112 169 46 110 170 96 240 121 161 104 148 224 127 132 219 64 234 88 87 57 75 232 144 114 197]

or may be caught earlier than that with incorrect inclusion proof size:
2022/08/04 15:00:38 validating log entry 25: verifying inclusion proof: wrong proof size 3, want 4

This happens because we

get the current tree size X
ANOTHER client uploads an entry increasing the tree size to Y and then
trillian returns an inclusion proof for the index for tree size X.

See code here
The trillian response for the inclusion proof includes a SignedLogRoot for the tree size at size Y.
https://github.com/google/trillian/blob/44841b0bad99d6b7ed5ab20ff24cfa5ca6add9d3/trillian_log_api.proto#L231-L235
The Rekor server validates the inclusion proof at size X, returning the proof response successfully.
https://github.com/sigstore/rekor/blob/547eb3cef9690bc97e73e35eb3bf1f40b18a3504/pkg/api/trillian_client.go#L229
Rekor returns the proof response with the SignedLogRoot at tree size Y, client attempts to validate with this. This errors out.
https://github.com/sigstore/rekor/blob/45fd37dca40a910910c3292f1f3384b470c7c937/pkg/api/entries.go#L445
This PR returns the SignedLogRoot for the tree size in the requested proof.
On a side note, I dislike very much that Trillian's proof response does not contain the requested tree size X.
Release Note

bug fix: fix inclusion proof response in Rekor server that causes flakey verification problems

Documentation

Amazing find!

This is really fantastic, great work!
Can you add a comment briefly summarizing this design decision in the client so we have context for why it's designed this way?

any thoughts on how we could add regression testing for this?

Adding a regression test that fires two concurrent goroutine uploading and verifying. I'm able to repro the failure at HEAD, and fix here. I had to use 50 uploads/verifies, although I suspect the number can be less.


add proxy test coverage to the core capabilities

we aren't currently running webpack+proxy tests for the core (layer1) capabilities

this also requires that pty-session-status test should be run in the sequential group: it kills the proxy (as part of the test), and so cannot be run in parallel with other webpack+proxy tests


Fixes all api-extractor warnings by exposing all public api correctly

Fixes all api-extractor warnings by exposing all public api correctly

🙌 Thank you!


testing: update helperNames just before checking it

parent's helperNames has not been set when frameSkip called, moving
helperNames initilazing to frameSkip.
Fixes #44887

This PR somehow wasn't closed after CL https://go-review.googlesource.com/c/go/+/302469 got merged. Kindly ccing @dmitshur @cagedmantis @toothrot, and then I shall close it.


LSTM implementation

Question: Why does the LSTM implementation not inherit from Recurrent? I it seems that (something like) this is equivalent to the current LSTM implementation, but avoids a lot of code duplication.
nn = require 'nn'
require 'rnn'

local hiddenSize = 2
local nIndex = 2

-- A silly hack to make sure LSTM.recurrentModule is fed zeros at step 1
local Start = torch.class('nn.Start', 'nn.Identity')

function Start:updateOutput(input)
  self.output = {input, torch.zeros(2), torch.zeros(2)}
  return self.output
end

function Start:updateGradInput(input, gradOutput)
  self.gradInput = gradOutput[1]
  return self.gradInput
end

-- The LSTM network
-- The input and feedback modules are unused
-- Merge basically turns {input, {output, cell}} into {input, output, cell}
-- The transfer module is the full LSTM module
local r = nn.Recurrent(nn.Start(), nn.Identity(), nn.Identity(),
                       nn.LSTM(hiddenSize, hiddenSize).recurrentModule,
                       9999, nn.FlattenTable())

local rnn = nn.Sequential()
rnn:add(r)
rnn:add(nn.SelectTable(1))  -- Since both the output and the cell is given
rnn:add(nn.Linear(hiddenSize, nIndex))
rnn:add(nn.LogSoftMax())

@bartvm I see what you mean. The above example makes sense except that the start module (first arg of Recurrent), would actually need to be something like this :
local start = nn.Sequential()
start:add(nn.Start())
start:add(recurrentModule:sharedClone())

So why the separate implementation? By inheriting nn.Recurrent, you need to add nn.SelectTable(1) to limit access to the output (not the cell). I guess that was the main reason I made a separate implementation. The other reason being that lack of a nn.Start module.

Why is the sharedClone needed? According to the documentation the transfer module (i.e. the module containing the LSTM unit) gets applied at the first step as well, after the start module. That would mean your suggestion would end up applying the LSTM unit twice, once as part of the start module and once as part of the transfer module (probably crashing, because the second LSTM module expects 3 inputs and would only get two).

@bartvm Oh yeah. I wrongly understood you were doing something like this :
nn.Recurrent(nn.Start(), nn.Identity(), nn.LSTM(hiddenSize, hiddenSize).recurrentModule,
                     nn.Identity(), 9999, nn.FlattenTable())

In that case, not need for the sharedClone.

@bartvm if you like, you can submit a PR with an nn.FullLSTM that does that.


Fix/costmap generator

Status
PRODUCTION / DEVELOPMENT
Description
Re-structured include folders in line with catkin_create_pkg defaults

@sgermanserrano  Thanks a lot!
@amc-nu  Could you check on this PR? It modifies your object_map package a little bit so that other package like costmap_generator could use codes from object_map.(Using object_map_utils_lib)


fix: Skipping PVC metrics in stage

Description
Temporary fix for this issue :
Skipping PVC metrics in stage. This PVC test could not work on stage because our test users are not admins and because as developers they don't have access to query for PVs
Link for failure run .https://github.com/naftalysh/e2e-tests/actions/runs/7695262159/job/20967747648
Error: Error getting PV: persistentvolumes  is forbidden: User "test-rhtap-1" cannot get resource "persistentvolumes" in API group  at the cluster scope
Issue ticket number and link
Type of change

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("STONE-123456789 devfile source")
[ ] I have updated labels (if needed)

/test load-test-ci-10u-10t-nodejs

The changes are exactly as needed
I think it failed because of the below line:
F0130 12:20:27.215300   11070 loadTests.go:374] The Right PushGateway URL is required if metrics are enabled!
In Stage GitHub Action load test you don't manually set this parameter (pushGatewayURI)
When  I run it it doesn't happen to me
Let's have a meet on it


Add element form select component

Imported relevant shared components and variables for the new form select styling defined in the 'scss/forms/select.scss' file. Defined a default color setting for the select component using shared form colors.

A significant chunk of CSS was added to style the select form component. This includes positioning, dimensions, and border parameters. Special styling was also provided for specific cases, like for non-multiple and non-loading instances, as well as for rounded select inputs.

This commit updates the 'select.scss' file by introducing enhanced styling for select elements in forms. Changes include setting the display to block, limiting the max-width to 100%, adjusting font size, and specifying padding for multiple and non-multiple select options. Disabled select elements' hover state border color has also been updated.

Added a new loop in the SCSS for select menus to assign custom colors. This is done by looping through each color in the select-colors map and assigning HSL (Hue, Saturation, Lightness) values accordingly for inputs and focus states.

Additional small, medium, and large size modifier classes have been added to the form select controls in SCSS. This enhancement provides more flexibility and control for developers when they need to adjust the form select control sizes according to different responsive or design requirements.

Expanded the select.scss file with class modifiers for 'disabled', 'fullwidth', and 'loading' states. This enables visual updates to select forms based on their state for better user interaction.

A loading state has been added to the Select input which will display a loader. The placement, font-size and position of the loader are adapted according to the size of the Select input (is-small, is-medium, is-large).


iRep bias for lower coverage data

Thanks for the great tool! We recently observed a intriguing behavior using iRep. When we downsample the mapping file, the iRep values calculated tend to increase. We wonder it is because the window size is too small for lower coverage. Would it be possible to adjust the window size?

Hi Chenhao Li,
Interesting question.
I actually did notice something similar at one point and looked into it. With the datasets used in the iRep paper for benchmarking, I compared iRep values at full coverage to iRep values when coverage was subset to 10x. Attached are the results. There was no strong relationship between change in coverage and change in iRep. Importantly, it was quite rare to find a change in iRep greater than 0.15, which was roughly determined to be the error within individual iRep values.
We considered different window sizes when initially testing iRep, and found that 5 Kbp windows provided the best results (see Supplementary Figure 2 in the iRep paper), so I don’t think changing the window size will improve things. Perhaps having a better way of modeling error with low coverage would improve results.
Maybe your dataset is different? If so, it would definitely be worth looking into more.
Best,
Chris

On Apr 5, 2018, at 9:25 PM, Chenhao Li<EMAIL_ADDRESS>wrote:
Thanks for the great tool! We recently observed a intiguing behavior using iRep. When we downsample the mapping file, the iRep values calculated tend to increase. We wonder it is because the window size is too small for lower coverage. Would it be possible to adjust the window size?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


feat(headless): added insight use case to ref doc

Added autogen doc definitions to the doc parser
Followed the trail of errors from missing exports.

Unfortunately it looks to me like we have to export the few Core interfaces I added here until we remove them in a breaking release. I might've missed something though. Let me know

@samisayegh your expertise has been requested. :) Would you mind weighing in?

Hey, there is a limitation with the tooling (api-extractor), where an interface needs to be exported for the tool to detect and extract it.
If a high-level interface is extending a core interface, both interfaces need to be made publicly available.
An alternative could be to copy all the properties of the core interface onto the high-level interface and not extend, but it quickly becomes tough to manage the duplication. I don't recommend going down this path ...
In an ideal world, we would be able to keep the core interfaces hidden, but considering the limitation with the tooling, it's ok if certain core interfaces are made public.


Replace layers for analyse section

Recommendations from colleagues of IUCN in China:

[x]  Changing Taiwan’s name to Taiwan, Province of China
[ ] would it be possible also to change the line between mainland and Taiwan from solid to dotted?
[ ] also, the marine borders on the map between China, DPRK, ROK and Japan are virtually middle lines of two coasts. Those borders have never been developed/agreed

Also:
Check that Disclaimer on frontiers and national boundaries is properly displayed in the analyse section.
Disclaimer text: The designation of geographical entities on this website do not imply the expression of any opinion whatsoever on the part of The Global Ecosystem Typology, IUCN or other participating organisations concerning the legal status of any country, territory, or area, or of its authorities, or concerning the delimitation of its frontiers or boundaries.

We will replace the EEZ layers with two layers, one for terretrial and one for marine regions


ChoicePrompt with LG Template and Hero Card style throws error in Telegram Bot

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
4.14.
Describe the bug
While using prompt with style Hero Card and language template, like this
await step.prompt(CHOICE_PROMPT, {
      prompt: ActivityFactory.fromObject(
        this.lgTemplates.generate(
          "ModeOfTransportPrompt",
          undefined,
          step.context.activity.locale
        )
      ),
      choices: ChoiceFactory.toChoices(["Car", "Bus", "Bicycle"]),
      style: 5
    });

throws
Error:DialogContextError: Bad Request: can't parse entities: Character '.' is reserved and must be escaped with the preceding '\'
in Telegram but works in Emulator
To Reproduce
Steps to reproduce the behavior:

Clone https://github.com/microsoft/BotBuilder-Samples/tree/main/samples/javascript_nodejs/language-generation/05.a.multi-turn-prompt-with-language-fallback
in https://github.com/microsoft/BotBuilder-Samples/blob/main/samples/javascript_nodejs/language-generation/05.a.multi-turn-prompt-with-language-fallback/dialogs/userProfileDialog.js
transportStep method set style to 5 (HeroCard) for prompt options
Run example with Telegram Bot

Expected behavior
Show Message in Telegram Bot with inline buttons like in Emulator

Additional context
Works with Emulator but not with Telegram Bot
Tracking Status
Dotnet SDK TODO

[ ] PR
[ ] Merged

Javascript SDK TODO

[ ] PR
[ ] Merged

Python SDK TODO

[ ] PR
[ ] Merged

Java SDK TODO

[ ] PR
[ ] Merged

Samples TODO

[ ] PR
[ ] Merged

Docs TODO

[ ] PR
[ ] Merged

Tools TODO

[ ] PR
[ ] Merged

This seems to be an issue with markdown.
You may be using  a lower schema transformation version which doesnt markdown some characters such as a '.'
Try selecting  a higher version atleast greater than 1.1.

@deman4ik - wanting to follow up to see if Edwin's solution resolved your issue. Have you tried the updated version?

Closing for now. Please update or reopen if additional help is needed.


[Maverick] Favorites toggle is out of sync

Describe the bug
Both of these are favorites, but only one has the right color for the heart.

Ignite version
Maverick beta 2
Additional info
NO

I think it has something to do with the animation, but I could be wrong.

Also only seems to happen when you favorite an episode other than the first two, like it's reusing the animated values from those two cards.

Resolved by https://github.com/infinitered/ignite/pull/2156


[BUG] String go byebye on "Exists" keycheck when switching to LoliScript

Describe the bug
When selecting the "Exists" comparator and after entering the string to be checked on a key check block, once you switch to LoliScript this is what you get:
KEYCHECK
  KEYCHAIN Success OR
    KEY "<COOKIES{*}>" Exists

As you can see, the string is gone, and when switching back to stack view it in fact disappeared.
Expected behavior
I believe this is what it should look like:
KEYCHECK
  KEYCHAIN Success OR
    KEY "<COOKIES{*}>" Exists "csrf_token"

Version
1.1.5 (Latest when submitting this issue)

The Exists options is peculiar, when you read the documentation in the code https://github.com/openbullet/openbullet/blob/master/RuriLib/Functions/Conditions/Condition.cs it says Whether any variable can be replaced inside the string.
Basically this condition returns true when any replacement took place when processing the input string (hence why it only needs 1 string parameter and not 2 like all other options) so in your case you would need to type KEY "<COOKIES(csrf_token)>" Exists. When there is a cookie with that name, its value will be put inside the string and so a replacement took place and the condition is true, otherwise since no cookie is found with that name the string is untouched and the condition returns false.
This allows to check if a variable exists e.g. KEY "<MYVAR>" Exists and it's not limited to checking if a list or dictionary contains a specific item.


gaby: search box on web page

Add a search page to do vector search.

Similar to the -search flag on the gaby CLI.

Completed.