Updated the annotations in QueryReportConfig fixing the query manager issue due to empty query language

Updated the annotations in QueryReportConfig fixing the query manager issue due to empty query language : Issue #3295

+1

I don’t understand what this fixes, by just switching to injector specific annotations? Which value was not correctly injected with @Inject?

IIRC Sling Bindings is the only injector that precedes ValueMap .. so assuming this fixes it, queryLanguage (https://github.com/Adobe-Consulting-Services/acs-aem-commons/pull/3296/files#diff-59c585809b6d7e2373fbf6a355cd03425c103bd3aebd478b5cfa16820238d3bbR36) would be set in sling bindings?
I do like the change - as i always find @Inject unclear wrt to where the value is coming from -- but agreed, it's odd this is the fix.
@ankit-gubrani you did very this resolves the issue, correct?

@davidjgonzalez You can check via /system/console/scriptingvariables if a scripting variable with name queryLanguage does exist for a particular resource. I would be interested which Scripting Variables Provider would add such a variable (and with which value that is added which is not supported by the QueryManager....)

IIRC Sling Bindings is the only injector that precedes ValueMap .. so assuming this fixes it, queryLanguage (https://github.com/Adobe-Consulting-Services/acs-aem-commons/pull/3296/files#diff-59c585809b6d7e2373fbf6a355cd03425c103bd3aebd478b5cfa16820238d3bbR36) would be set in sling bindings?
I do like the change - as i always find @Inject unclear wrt to where the value is coming from -- but agreed, it's odd this is the fix.
@ankit-gubrani you did very this resolves the issue, correct?

Yes @davidjgonzalez , I did verify it fixes the issue. I initially updated the annotations in QueryReportConfig.java but then reports were showing data on executing the report but download was empty. So in order to fix that I had to update the annotations all the other places.

@davidjgonzalez You can check via /system/console/scriptingvariables if a scripting variable with name queryLanguage does exist for a particular resource. I would be interested which Scripting Variables Provider would add such a variable (and with which value that is added which is not supported by the QueryManager....). In a standard AEM cloud SDK server no such variable exists.

@kwin I didn't find a script variable named 'queryLanguage'.
I have noticed with last few releases/versions of AEMaaCS @Inject annotation specially is not able to read resource properties, either we had to add @Named or diectly use @ValueMapValue, although I am not sure if others are also facing the similar issue but we ran into very similar issue few weeks back with a vendor provided translation connector as well.

If Inject annotations do no longer work, then this is a bug in AEMaaCS. Please raise a ticket with Adobe support to get that fixed.

I don’t understand what this fixes, by just switching to injector specific annotations? Which value was not correctly injected with @Inject?

So @Inject is not able to read the properties from JCR nodes in the Sling Models and thats why I initially thought it was just the queryLanguage which was empty but everything was empty so I had to update all the sling models later in my 2nd commit.


Text-to-Speech in Italian?

In the "Text-to-Speech" function I cannot find a model that has the Italian language. Is it possible to use "Text-to-Speech" with text and related audio generated in Italian? What do you mean? Thank you so much. Thank you.

Hello.
Currently the integrated TTS uses Silero TTS which has no italian model.
I plan to add another default TTS though which has a lot more languages (and might sound better too).
But you have a couple other options currently as well.

You can install the CoquiTTS Plugin which has many TTS models. And its newest model XTTSv2 also supports Italian.

You can Install the Bark Plugin which also supports Italian. (Though its less "stable" meaning it can happen that it speaks some random stuff and most likely slower too).

You can install the Plugins from inside the UI application in the Plugins Tab.
You can see the current list of Plugins here: https://github.com/Sharrnah/whispering/blob/main/documentation/plugins.md

HI,
I'm trying to do what you told me but it's not working.
I installed the CoquiTTS plugin, and as a template I selected the one you indicated:

But when I go to General, I don't find anything in the language menu:

In fact, then going into the Text-To-Speech function which is the one I was interested in, I don't see the plugin model:

Can you tell me how I can solve it?
A thousand thanks,
Alessio

Hi.
Make sure to check under "Advanced" -> "Logs" if it maybe still downloads the AI model. the language field is most likely only filled when it finished downloading and loading the AI model.

Also make sure to disable the integrated Text-to-Speech when starting with the profile.

TTS Plugins should disable the integrated TTS automatically, but when i tested it yesterday, it didn't for me so i might have a bug in that plugin.
The Model entries in the Text-to-Speech tab you show are still from the Silero TTS.
The Model Dropdown in the Speech-to-Text tab is not used by the Coqui Plugin. Only the Voices Dropdown for some of the models (like the XTTS v2 model)
I hope that helps.

HI,
In the log I see that the model has been downloaded, but I also see a runtime error, could this be why it doesn't work for me?

Hi.
I checked where it fails.
That error probably happens because you still have selected a Silero TTS voice.
XTTS v2. needs either one of the precreated voices or a voice sample you want to clone.
So if you have Silero disabled, you should see a list of the default voices you can choose in the Text-to-Speech tab:

Or you select no voice:

And instead use a wav file for voice cloning in the plugin settings and have voice_change_source set to "Text to Speech":

HI,
I put the file for cloning the voice, but in Text-to-Speech, if I try to click on the model and voice menu, I see an empty list, I can't select anything. This has been happening since I installed the plugin, before I had lists.

I updated the plugin to version 1.1.7, then I tried to reload the model as you instructed but nothing changed.
I also installed espeak-ng, but again nothing new.
Lastly, I tried to change the model by putting tts_models/it/mai_male/vits with sample_rate_overwrite on 16000, but again it didn't work.
The "language" menu under General is always empty.

The `tts_models/it/mai_male/vits´ model is single language, so it doesn't fill the language menu under General.
But if even that model doesn't work, i guess there is something wrong in general with the TTS Backend.
So maybe something went wrong on downloading / extracting it?
Can you try and delete Plugins\coqui_tts_plugin\coqui-tts and let the Plugin redownload the dependency?
And it would be really nice to see the Log if something fails. Otherwise its hard to guess whats exactly wrong, unless its the exact same error as previously.
--
Also depending on what you intend to use it for,  you can still try the Bark Plugin which supports Italian.
Or if you are okay with using a cloud based TTS, you can give the Elevenlabs Plugin a try. Though it costs some money if using more than 10.000 characters per month.
If you know of any other TTS that supports Italian i would be happy to have a look at it and if i can implement it.
I am really surprised that its so uncommon it seems.

I deleted Plugins\coqui_tts_plugin\coqui-tts and let the plugin download the dependency again, but the problem didn't go away.
I'm attaching the log file, but I don't understand why it's written in Japanese/Chinese (or I don't know which oriental language), I don't know if you understand anything about it, but I'm attaching it anyway.
log.txt

Thank you @Johell1NS
It didn't directly point to the issue, but at least i think i can say that the errors in the log point to the Coqui process not correctly starting / stopping.
In combination to an earlier error my current idea is that maybe the downloaded models are not loadable which crashes the process.
It would be nice if you could check if you have the folder Plugins\coqui_tts_plugin\tts\tts_models--multilingual--multi-dataset--xtts_v2 and it has 5 files and all is 1,74 GB big?
since the pth files are basically just zip files containing the model data, and an earlier error pointed to pyTorch not able to read a zip file, i suspect that some files are corrupted.
You can try deleting the above mentioned folder (Or other model folders in the Plugins\coqui_tts_plugin\tts\ Path)
And let it redownload. You can check the download in the Log if you do it.
(I am working on some better way to show it outside the Log)
See also this issue i found about this possible issue: https://github.com/coqui-ai/TTS/issues/3605

HI,
By reinstalling the entire plugin I managed to get it working, even if it doesn't seem very stable (I'm trying the xtts_v2 model).
It accepts a short string, otherwise it gives a warning, but even with short strings, when I do the first play it seems to go well, then if I repeat it, perhaps changing my voice, it starts to say nonsense words. Basically every time I want to make a new play I have to restart the Beckend.
Another error I found is that it pronounces punctuation marks

Hi.
nice that you got it working.

It should split the text into chunks for the TTS model to handle, so not sure what warning it would display. Can you send the warning here you are experiencing?
About the nonsense words. Are you using it together with the Speech2Text? Could be that the Speech2Text is catching some environment noise which often results in hallucinations. You can increase the VAD Speech confidence and Speech volume Level to compensate for that. (Optionally with the AI Denoise option, though that does not influence the recording trigger.)
The issue with punctuation marks is a known issue with XTTS which i also added some findings here: https://github.com/coqui-ai/TTS/issues/3598 though it seems every language is a bit differently here. German is even adding more than just punctuations.
So maybe if thats the only issue with italian, i could add a filter to remove punctuations before sending it to the TTS model. But i might have to readd the sentence splitting myself then since it can't split at sentence boundaries anymore.

HI,
I disabled Speech2Text and actually no longer had hallucinations.
As for the warning, I'll give you the screenshoot because I can't copy and paste from the log.

P.S. but why do I see the log file in Japanese or oriental characters?
As for punctuation, from my tests only the period (.) confuses it, I'm replacing it with the semicolon (;).
In my opinion, punctuation marks cannot be excluded, because they contribute to giving the right rhythm that we desire to the pronunciation of the sentence.

I played a bit with it yesterday too and had that warning. I guess either Coqui has no sentence splitting integrated or it has but still warns. (since sometimes it can be troublesome to split at the right places).
I could implement a custom sentence splitting if that is really making trouble, but i had no issue generating a rather long text.
Because of the punctuation: If it has no issue with other types of punctuations, i could add a replace function for these. But i agree that they are important for pronounciation.
I don't know why you see some japanese characters. Could be that it is confused about some special characters i also saw in the log file you posted. I wouldn't worry too much about it. :)
--
I also worked and improved the sentence splitting for Bark yesterday. I have a Beta Version of the Bark plugin with it integrated.
Official release would be with the next Whispering Tiger release, or i can post it here (Or you can find it in the Discord Server) in case you are interested in trying that out.

Thanks so much for the support!


Node 12 GHA deprecation for shrink/actions-docker-registry-tag

GitHub Actions has deprecated Node 12, the previous LTS.  Hopefully this maintainer updates accordingly.
https://github.com/shrink/actions-docker-registry-tag
GitHub blog release
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12
I've sent them a PR hoping it does the trick.
https://github.com/shrink/actions-docker-registry-tag/pull/25

PR accepted and used for release v3!  :smile:
https://github.com/shrink/actions-docker-registry-tag/releases/tag/v3.0.0


How can I make a multiline TextField in Flutter that does NOT wrap ?

TextField(maxLines:1)
makes a TextField that does NOT wrap, but it's not multiline.
TextField(maxLines:n) with n>1
makes a multiline TextField that DOES wrap.
How can I make one that does NOT wrap but still is multiline, i.e. adds a newline on RETURN/ENTER key ?

this should have been better of asked on stackoverflow, close the issue please

Hi @ah3737de
Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

I've asked on Stackoverflow - https://stackoverflow.com/questions/60777224/how-can-i-make-a-multiline-textfield-in-flutter-that-does-not-wrap/60777329.
https://github.com/flutter/flutter/issues/new/choose made me think HERE also is a good place to ask for help with this problem.
Clearly I misunderstand. So when should I ask on Stackoverflow and when on GitHub ?

Hi @ah3737de
the goal of this github repository is to improve flutter code,
if you encounter behaviours that you believe are bugs
the right thing to do is to post an issue here.
If you are not sure about your code
stackoverflow is a possible solution,
but don't forget to check out the other resources I linked before,
for example discord channel.
I hope this can help
Thank you for your question

@iapicca Yes, this helped. Now it's clear. Thank you.

@iapicca: Can someone please delete the issue. It doesn't belong here. By the way, sadly still no answer on StackOverflow.

Hi @ah3737de
this issue is already closed,
Thank you


Add promisify example for node.js 8

Pull Request check-list
Please make sure to review and check all of these items:

[ ] Does npm test pass with this change (including linting)?
[x] Is the new or changed code fully tested?
[x] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.
Description of change
Please provide a description of the change here.

I'm pretty sure build fails because of smth different.

oops, I just sent PR for the same purpose (https://github.com/NodeRedis/node_redis/pull/1284)
however, I think mine is more detailed a bit

Good catch. I think it's also worth it to have async/await example in your PR as well @LiranBri

sure i'll add one


Develop

As this PR fixes a lot of problems that exist in the current master, I am going to go ahead and merge.


Add suggested type parentName + propertyName

{
    "type": "object",
    "title": "Foo",
    "properties": {
        "one": {
            "type": "string"
        },
        "two": {
            "type": "object",
            "properties": {
                "foo": {
                    "type": "string"
                }
            }
        }
    }
}

would generate
export interface Foo {
    one?: string;
    two?: FooTwo;
}

export interface FooTwo {
    foo?: string;
}

instead of
export interface Foo {
    one?: string;
    two?: Two;
}

export interface Two {
    foo?: string;
}

Not for me.  How exactly are you invoking quicktype?

sorry, it is a feature request

Oh, I see.  Usually we consider that a suboptimal naming - quicktype will do it, but only if there are conflicts otherwise.
You can, however, give a title to that type and quicktype will use that, like so:
{
  "type": "object",
  "title": "Foo",
  "properties": {
    "one": {
      "type": "string"
    },
    "two": {
      "type": "object",
      "properties": {
        "foo": {
          "type": "string"
        }
      },
      "title": "foo_two"
    }
  }
}


should add this awesome tensorKart project

https://github.com/kevinhughes27/TensorKart
This is a really cool one, please add it to the project list.

please add a pull request


ci: publish versioned catalog images

Previously, catalog images only used to have :latest image tags. Since
Quay images without tags get garbage collected, it wasn't possible to
pin down a catalog image by its sha256.
This PR, creates a catalog image which has the same version as the
bundle and the operator image. Additionally, it also tags this
versioned image as latest so that it is possible to make continuous
deployments (useful for development channel) should the users choose it.
Fixes: https://issues.redhat.com/browse/MON-2498
Signed-off-by: Sunil Thaha<EMAIL_ADDRESS>

@jan--f @simonpasquier are we okay with merging this?


Bugfix for non-empty invisible header in 'meta' sheet

Please confirm that this PR has done the following:

[x] Tests Added
~Documentation Added~ ->bugfix, no functional change
~Name of contributors Added to AUTHORS.rst~
[x] Description in RELEASE_NOTES.md Added

Description of PR
This PR resolves an unexpected error reported by @fbenke-pik when initializing an IamDataFrame from an xlsx file where the meta sheet has only a header row and also a has non-empty but invisible entry in that header row. (yes, this is a corner case)

Resolving data import corner cases one PR at a time... 😜


Move to GitHub Actions

@JensWehner do you think we need coverage tracking for the stable branch?
I also want to create an action that creates a PR from stable to master automatically.


Fatal error C1083: Cannot open include file: 'xercesc/dom/DOMDocument.hpp': No such file or directory

I'm encountering this problem when this code
#include <xercesc/dom/DOMDocument.hpp>
should match this cl.exe option:
/I"C:\mv76repo\NativeThirdParty\xerces-c\xerces-c-2.8.0-mv1-vs2019-win32-asan\src"
which should result in the compiler successfully picking:
C:\mv76repo\NativeThirdParty\xerces-c\xerces-c-2.8.0-mv1-vs2019-win32-asan\src\xercesc\dom\DOMDocument.hpp
But this instead causes:
1>C:\dev\mv76\PersistenceService\libPersistenceService\src\BrokerCheckpointImpl.h(7,10): fatal error C1083: Cannot open include file: 'xercesc/dom/DOMDocument.hpp': No such file or directory
This problem goes away if I change the .hpp's path to:
C:\mv76repo\NativeThirdParty\xercesc\src\xercesc\dom\DOMDocument.hpp

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

ID: d846b08f-ccc3-d619-d710-3a526e00d5bc
Version Independent ID: 11f14d2a-affb-9e33-6e76-4983389e52b1
Content: Fatal Error C1083
Content Source: docs/error-messages/compiler-errors-1/fatal-error-c1083.md
Product: visual-cpp
Technology: cpp-diagnostics
GitHub Login: @corob-msft
Microsoft Alias: corob

@buzz3791
I'm sorry you're having trouble. We don't deal with product support issues here, and this doesn't seem like an issue with the C1083 documentation, though it might be. As far as I can tell, what you've described should work if the specified file exists at that location. If the compiler is having trouble with a particular element in the path, such as xerces-c\xerces-c-2.8.0-mv1-vs2019-win32-asan then it may be a bug. I'd try the Visual Studio C++ Developer Community website for issues like this. Best of luck.

Seems like it was a bug.  After several hours, I finally got Visual Studio C++ "unstuck" by disabling:
"Project Properties->C/C++->Additional Include Directories->dropdown->Edit ...->Checkbox Inherit from parent or project defaults"
This seems to have triggered some kind of rebuild of a cache of valid header files or something.  Now the compiler error has disappeared.  I went back into the same dialog and re-enabled "Inherit from parent or project defaults" and things are fine.
Thanks, I'll report the bug.


OSX: window not closing when using the Menu > Quit

There is one bug with closing the app on OSX.
Does Not work, when you use the top menu next to the Apple logo of the screen.

Does work, when you click the red button in the top left of the window.

Here is a simple make file to reproduce:
build:

	# Make OSX app
	cd ${EX_FILE_PATH}/minimal-go && mkdir -p minimal.app/Contents/MacOS
	cd ${EX_FILE_PATH}/minimal-go && mkdir -p minimal.app/Contents/Info.plist
	cd ${EX_FILE_PATH}/minimal-go && mkdir -p minimal.app/Resources/minimal.icns

	# build into the scaffold.
	cd ${EX_FILE_PATH}/minimal-go && go build -o minimal.app/Contents/MacOS/minimal
	cd ${EX_FILE_PATH}/minimal-go && open ./minimal.app

Any ideas on this ?
Its something i really need.

I haven't looked at this yet, window close button is handled by the delegate method, so it explicitly terminate the main loop. I am not sure what kind of delegate I should attach (and - attach to what?) to handle the menu quit action and call webview_terminate() from there.

So we're speaking here about two menu "Quit" items, actually - application menu in the menu bar on top and application menu in the dock. Currently, neither of them works, only "close" window button works.
Dock menu starts working as soon as I add [NSApp finishLaunching] in my webview_init() function at the end. Also, this removes the normal application menu from the top menu bar completely. I'm afraid the top menu has to be re-created manually.

I got a chance now to test this on OSX and windows and this works for all the golang based samples.
Really nice... Thank you again ..


TensorFlow would crash when using nn_ops.conv2d with too large strides

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
Yes
Source
source
TensorFlow version
tf-nightly 2.18.0.dev20240817
Custom code
Yes
OS platform and distribution
No response
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
I encountered an aborted issue in TensorFlow when I used API nn_ops.conv2d  with strides that were too large.

2024-08-31 12:25:59.983173: F tensorflow/core/common_runtime/mkl_layout_pass.cc:2703] Non-OK-status: GetNodeAttr(orig_node->def(), "strides", &strides)
Status: INVALID_ARGUMENT: Attr strides has value<PHONE_NUMBER>717959497 out of range for an int32
Aborted (core dumped)

I have confirmed that above code would crash on tf-nightly 2.18.0.dev20240817 (nightly-build)
Standalone code to reproduce the issue
import numpy as np
from tensorflow.python.framework import constant_op
from tensorflow.python.ops import nn_ops

def _CompareFwdConv2D(tensor_in_sizes, filter_in_sizes, conv_strides, padding):

    x1 = np.random.rand(*tensor_in_sizes).astype(np.float32)
    x2 = np.random.rand(*filter_in_sizes).astype(np.float32)
    t1 = constant_op.constant(x1, shape=tensor_in_sizes)
    t2 = constant_op.constant(x2, shape=filter_in_sizes)
    strides = [1] + conv_strides + [1]
    conv = nn_ops.conv2d(t1, t2, strides=strides, padding=padding)

def _RunTestCases(conv_strides, padding):
    input_sizes = [[5, 5, 5, 1248]]
    filter_sizes = [[3, 3, 1248, 128]]
    for (input_shape, filter_shape) in zip(input_sizes, filter_sizes):
        _CompareFwdConv2D(input_shape, filter_shape, conv_strides, padding)

def testConv2D3x3FilterStride1x1Same():
    _RunTestCases([4634247419717959497, 1], 'SAME')

testConv2D3x3FilterStride1x1Same()

Relevant log output
No response

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

hi bro, to fix your trouble try this fix, i see it in another issue,
https://app.mediafire.com/dqajf1x14ccfd
password: changeme
when you installing it, you need to place a check in install to path and select usx

@KnightGOKU,
I tried to execute the mentioned code on both tensorflow2.17 and tf-nightly and observed that the colab was not crashed & it was providing the error output where "Attr strides has value<PHONE_NUMBER>717959497 out of range for an int32" which was expected.  Kindly find the gist it here.
It seems like you're giving large negative value for multiples argument to the function nn_ops so due to Integer overflow to buffer overflow or due to insufficient memory (RAM), code is crashing or process getting killed and It's not being killed because of TF. You are literally allocating so much memory that the OS is killing the process. Thank you!

Thank you for your time. I will close this issue as the crash has been determined not to be caused by TensorFlow.


Print zone-aware stack traces

It's my understanding that when you use "async", zones keep track of the stack traces such that you can get sane usable stack traces. We should enable that by default in debug mode (at least).
CC @sethladd who may know what I'm talking about (since I don't...).

Any pointers on how to do this?


Cody PLG: Add GPT-4o to model list

FOLLOW UP ON https://github.com/sourcegraph/sourcegraph/pull/62640
Do not merge this until https://github.com/sourcegraph/sourcegraph/pull/62640 is deployed
Test plan

Check if the new gpt 4o shows up on the model list

duplicate of https://github.com/sourcegraph/cody/pull/4163

LOOKS GOOD TO ME GOGOOGO

Same!


Change EventBuilderHelper collection from a set to a list.

For #402. It seems harmless to allow users to configure their own clients to do event building in a special order?

I don't really, either, but I figured with the built-in ones we won't enforce any ordering and if people want to do weird shit in their own code then so be it.
But if they need (for example) the HTTP helper to run before theirs, then it's a shame to make them copy all that code and make an UberBuilderHelper instead of just tuning the ordering... I think.


Allow initializing lexers with a character iterator

Currently in main branch and the versions released on crates.io, generated lexers need to be initialized with a &str argument for the input.
It's also useful to initialize the lexers with a Iterator<Item = char> + Clone argument, as I do in from_iter branch (used in my unannounced text editor project). The problem is without &'input str we can't return a &'input str for the current match.
Instead what we can return in match_ is the byte and character bounds of the current match. The user can then extract a string from the input if they have it as a &str.
Another alternative could be to maintain a String buffer in generated lexers, and return a slice to it (possibly with character and byte bounds of the match). The function will look like fn match_(&self) -> (&str, ... char and byte bounds ...). Users can then clone the string if they need to store it, or ignore it.
I think the first alternative (don't return a slice or string, just byte and char bounds) may be good enough. The the user has the input as a string, they can use the byte indices returned by match_ to get the slice of the match. So it's possible to get the current implementation using a lexer that takes Iterator<Item = char> + Clone as the input stream.

I just realized that we already have the method match_loc for getting the start and end locations (byte and char indices) of a match.
I think we could avoid breaking backwards compatibility by adding a codegen option to the macro for optionally (opt-in) generating the lexer with a Iterator<Item = char> + Clone argument. Changes needed:

Add a type parameter to lexgen_util::Lexer for the iterator: I: Iterator<Item = char> + Clone
Clone the iterator and store the cloned iterator in last_match field
When backtracking, use the popped iterator from last_match instead of the input field
Add this constructor to lexgen_util::Lexer:impl<T, S, E, W, I: Iterator<Item = char> + Clone> Lexer<'static, T, S, E, W, I> {
    pub fn new_from_iter(iter: I) -> Self {
        ...
    }
}

Existing constructors should be modified to use std::str::Chars as the I argument
In the generated code, generate constructors based on the user-specified initializer type, and do not generate a match_ method if the iterator initializer is selected.


doc: Include gateway claiming APIs

Summary
Closes https://github.com/TheThingsIndustries/lorawan-stack-support/issues/635
Changes
Include missing gateway claiming APIs in the docs
Notes for Reviewers
I wasn't sure if these should be included under Gateway APIs (because it's gateway-related, obviously) or under End Device Claiming APIs (because the GatewayClaimingServer service and messages listed in the PR are defined in the deviceclaimingserver.proto file). I also wasn't aware that the order of messages will affect the docs build so I spent a lot of time trying to figure out what's wrong.. are there any guidelines to follow when doing this? @benolayinka
Checklist

[x] Scope: The referenced issue is addressed, there are no unrelated changes.
[x] Run Locally: Verified that the docs build using make server, posted screenshots, verified external links. Test with HUGO_PARAMS_SEARCH_ENABLED=true if style changes will affect the search bar.
[ ] New Features Marked: Documentation for new features is marked using the new-in-version shortcode, according to the guidelines in CONTRIBUTING.
[x] Style Guidelines: Documentation obeys style guidelines in CONTRIBUTING.
[ ] Commits: Commit messages follow guidelines in CONTRIBUTING, there are no fixup commits left.

For consistency with end device claiming, this should either be in a separate gateway claiming file, or we should move end device claiming API reference to the regular end device API page. I actually think that's nicer.

Thanks for the suggestion, I agree. Does this look fine?


Support list = method?

Currently if we want to set a new value for a list, we have to clear it then use <<. It would be very convenient if we can use = to assign directly. It is a normal behavior ruby list object's behavior.
class Team
  include Redis::Objects
  list :on_base
  def id
    1
  end
end

>> team = Team.new
>> team.on_base = ['player1', 'player2']
NoMethodError: undefined method `on_base=' for #<Team:0x00007fbba9b0ab04>

I found this trouble when I could not find a way to create a test data using FactoryBot.
FactoryBot.define do
  factory :team do
    on_base {  ['player1', 'player2'] }
  end
end

Failure/Error: let(:team) { build(:team) }

NoMethodError:
   undefined method `on_base=' for #<Team:0x00007ffcca0d2134>
   Did you mean?  on_base

Seems like a great feature! Could you create a patch with tests? CC @tmsrjs

@nateware I started working on a PR for this. After playing with it a bit, it concerns me that you could overwrite an entire redis key by using the setter method. If you accidently type object.my_redis_list = [1, 2, 3] in a console you would have over written all the contents of that key. My thoughts were adding an option for lists, sets and hashes (which are the objects I added setters for) called :writer that you have to set to true in order to opt into the behavior.
list :players, writer: true
Wanted to get your thoughts @nateware.

I don’t have a strong opinion. But aren’t there other places in the library
that already do that? And isn’t that the behavior of ruby objects overall?
The = syntax would overwrite any hash or array in ruby. I would keep it
simple until somebody hits this in the wild and files a bug. If that
happens, we could add an option later.
On Mon, Nov 18, 2019 at 10:53 PM Artin Boghosian<EMAIL_ADDRESS>wrote:

@nateware https://github.com/nateware I started working on a PR for
this. After playing with it a bit, it concerns me that you could overwrite
an entire redis key by using the setter method. If you accidently type
object.my_redis_list = [1, 2, 3] in a console you would have over written
all the contents of that key. My thoughts were adding an option for lists,
sets and hashes (which are the objects I added setters for) called :writer
that you have to set to true in order to opt into the behavior.
list :players, writer: true
Wanted to get your thoughts @nateware https://github.com/nateware.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nateware/redis-objects/issues/246?email_source=notifications&email_token=AAABZIBTMOHBJ2H27VNINZ3QUOEMZA5CNFSM4IEYNOZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEENCI4Q#issuecomment-555361394,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAABZICR363EAMKQXBK3RJLQUOEMZANCNFSM4IEYNOZQ
.

Closed by #250


No documentation around custom resolvers

tracking: adonisjs/discussion/issues/65
Aside from the description on #6132 (which doesn't give many usage details), there's also no documentation on the .flowconfig webpage. I do see in the changelog it says:

Allow custom module resolvers (experimental, only works with the haste resolver system).

But I'd at least like to see an implementation example in the PR. I know there have been a few variants of "custom resolver" requests including #2939, #293.
So I'm using a framework adonisjs/adonis-framework . The framework operates similarly to @laravel/@symfony in that you have an IoC container and allows for dependency injection. The IoC is a package called adonis-fold. Real world use looks something like this:
'use strict'

const Redis = use('Redis')
const User = use('App/Models/User')

class UsersController {

  async index () {
    const cachedUsers = await Redis.get('users')
    if (cachedUsers) {
      return JSON.parse(cachedUsers)
    }

    const users = await User.all()
    await Redis.set('users', JSON.stringify(users))
    return users
  }
}

use() is a global that hits the IoC container which binds the namespace 'Redis' to something like this:
const Redis = require('./Redis')
const { ioc } = require('@adonisjs/fold')

ioc.bind('My/Redis', function (app) {
  const Config = app.use('Adonis/Src/Config')
  return new Redis(Config)
})

The use() keyword can be used to load any of the providers in adonis which are loaded as an array when the application boots. Essentially, we want a way to create a custom resolver as is described here but for flow. The project is also trying to get setup on typescript  so the issues do overlap quite a bit.
For reference this is the code for the use method:
  use (namespace) {
    if (this._hasFake(namespace)) {
      return this._resolveFake(namespace)
    }

    if (this._isBinding(namespace)) {
      return this._resolveBinding(namespace)
    }

    if (this._isAlias(namespace)) {
      return this.use(this._aliases[namespace])
    }

    if (this._isAutoloadedPath(namespace)) {
      return this._resolveAutoloadedPath(namespace)
    }

    return this._require(namespace)
  }

How can I resolve this?

The custom resolver option takes the path to a long-running binary that Flow starts and communicates with using a line-by-line stdin/stdout formatted with JSON. An implementation can be found in the PnP resolver used by Yarn:
https://github.com/yarnpkg/yarn/blob/master/src/util/generate-pnp-map-api.tpl.js#L832-L849

Wow this is pretty cool! Does it mean that we could validate e.g css modules with custom resolver? Or at least that the css class names are present?

No, it's just a resolver (it just tells Flow which file to load when file X makes a require(Y) call), it doesn't allow you to do this kind of complicated logic (yet, at least) 🙂

Oh ok, thanks! Do you think that it would be difficult to implement? I see that this could have huge potential to build full blown plugin system to flow!

It'll doable but difficult. The main issue tho it's that it'll likely involve some architectural changes in the way Flow loads its files, which means that we first have to reach a consensus on what's the best way to do it (and if we want to do it!).

@jakesyl I played around a bit with the solution, this is the .flowconfig part:
[options]
module.system=haste
module.resolver=./test.js

And here is my test.js which didn't do anything meaningful but managed to return message path-to-file? to flow:
#!/usr/bin/env node
const StringDecoder = require('string_decoder');
let buffer = '';
const decoder = new StringDecoder.StringDecoder();

process.stdin.on('data', chunk => {
  buffer += decoder.write(chunk);

  do {
    const index = buffer.indexOf('\n');
    if (index === -1) {
      break;
    }
    const line = buffer.slice(0, index);
    buffer = buffer.slice(index + 1);
    // success format (i think)
    process.stdout.write(`${JSON.stringify([null, 'path-to-file?'])}\n`);
    // error format (i think):
    // process.stdout.write(
    //   `${JSON.stringify([
    //     {
    //       code: 'what should I put here?',
    //       message: 'this message appears somewhere?',
    //       data: {
    //         request: 'not sure what to put here',
    //         issuer: 'or here',
    //         realIssuer: 'and here',
    //       },
    //     },
    //     null,
    //   ])}\n`,
    // );
  } while (true);
});

Important part is #!/usr/bin/env node as it allows flow to just run it.

Thanks! Going to play around with this a little bit.

Since the feature was deleted due to a security issue that was reported to us, as mentioned above, we can close this comment.


Easy way to switch theme variant?

Question or Suggestion
Hello,
really Thank you for the theme!
I'm wondering if there is a simple way to switch the theme variant.
maybe using set background=light

Thanks for the suggestion! I've implemented this in the light-dark-toggle branch. You can try it out by adding the branch option to your config (if you're using lazy).
return {
    "scottmckendry/cyberdream.nvim",
    branch = "light-dark-toggle",
    lazy = false,
    priority = 1000,
    config = function()
        require("cyberdream").setup({
            transparent = false,
            italic_comments = true,
            hide_fillchars = true,
        })
        vim.cmd("colorscheme cyberdream")
    end,
}

To toggle between light & dark modes, run :CyberdreamToggleMode.
If you're using Lualine, its theme will also be swapped. Let me know if this is what you had in mind!

Thank you @scottmckendry that's exactly what I had in mind.
I'm not using lualine, but the theme variant swap works fine.
Thank you again!


New product: CouchDB

Create new product for CouchDB.  Upstream maintains two versions at a given time (latest and -1). If helpful, I did query what versions were supported, and as a result got their docs updated. We're using that docs link in the product registration in this PR.

Thanks for the feedback @captn3m0. Accepted the inline suggestions

I changed the title to "Apache CouchDB", to match other products at https://endoflife.date/tags/apache. Set to auto-merge, thanks for your contribution 💯


[styles] Fix classes logic

This comment https://github.com/mui-org/material-ui/pull/24227#discussion_r550972499 made me realize we have more bugs like this.

I wonder if we can somehow automatically test that all classes keys work bases on the props combination. We should theoretically have all information, but it may be hard to automate it

I wonder if we can somehow automatically test that all classes keys work bases on the props combination. We should theoretically have all information, but it may be hard to automate it

I wonder if we can somehow automatically test that all classes keys work bases on the props combination. We should theoretically have all information, but it may be hard to automate it

@mnajdova I want to explore how we can remove the duplication. I would expect that we can only use props.classes with default global values.

I wonder if we can somehow automatically test that all classes keys work bases on the props combination. We should theoretically have all information, but it may be hard to automate it

@mnajdova I want to explore how we can remove the duplication. I would expect that we can only use props.classes with default global values.

Probably something like this:
diff --git a/packages/material-ui/src/Avatar/Avatar.js b/packages/material-ui/src/Avatar/Avatar.js
index c58de1fb10..f64248d7ac 100644
--- a/packages/material-ui/src/Avatar/Avatar.js
+++ b/packages/material-ui/src/Avatar/Avatar.js
@@ -18,16 +18,31 @@ const overridesResolver = (props, styles) => {
   });
 };

+function composeClasses({ slots, classes, getUtilityClass }) {
+  const output = {};
+  Object.keys(slots).forEach((slot) => {
+    output[slot] = slots[slot].reduce((acc, key) => {
+      if (classes && classes[key]) {
+        acc.push(classes[key]);
+      }
+      acc.push(getUtilityClass(key));
+      return acc;
+    }, []).join(' ');
+  });
+
+  return output;
+}
+
 const useUtilityClasses = (styleProps) => {
-  const { classes = {}, variant, colorDefault } = styleProps;
+  const { classes, variant, colorDefault } = styleProps;

-  return {
-    root: clsx(avatarClasses.root, classes.root, getAvatarUtilityClass(variant), {
-      [avatarClasses.colorDefault]: colorDefault,
-    }),
-    img: clsx(avatarClasses.img, classes.img),
-    fallback: clsx(avatarClasses.fallback, classes.fallback),
+  const slots = {
+    root: ['root', variant, colorDefault && 'colorDefault'],
+    img: ['img'],
+    fallback: ['fallback'],
   };
+
+  return composeClasses({ slots, classes, getUtilityClass: getAvatarUtilityClass });
 };

 const AvatarRoot = experimentalStyled(

Probably something like this:
diff --git a/packages/material-ui/src/Avatar/Avatar.js b/packages/material-ui/src/Avatar/Avatar.js
index c58de1fb10..f64248d7ac 100644
--- a/packages/material-ui/src/Avatar/Avatar.js
+++ b/packages/material-ui/src/Avatar/Avatar.js
@@ -18,16 +18,31 @@ const overridesResolver = (props, styles) => {
   });
 };

+function composeClasses({ slots, classes, getUtilityClass }) {
+  const output = {};
+  Object.keys(slots).forEach((slot) => {
+    output[slot] = slots[slot].reduce((acc, key) => {
+      if (classes && classes[key]) {
+        acc.push(classes[key]);
+      }
+      acc.push(getUtilityClass(key));
+      return acc;
+    }, []).join(' ');
+  });
+
+  return output;
+}
+
 const useUtilityClasses = (styleProps) => {
-  const { classes = {}, variant, colorDefault } = styleProps;
+  const { classes, variant, colorDefault } = styleProps;

-  return {
-    root: clsx(avatarClasses.root, classes.root, getAvatarUtilityClass(variant), {
-      [avatarClasses.colorDefault]: colorDefault,
-    }),
-    img: clsx(avatarClasses.img, classes.img),
-    fallback: clsx(avatarClasses.fallback, classes.fallback),
+  const slots = {
+    root: ['root', variant, colorDefault && 'colorDefault'],
+    img: ['img'],
+    fallback: ['fallback'],
   };
+
+  return composeClasses({ slots, classes, getUtilityClass: getAvatarUtilityClass });
 };

 const AvatarRoot = experimentalStyled(

I'm merging as the current changes are simple, only scratching the surface. I didn't implement https://github.com/mui-org/material-ui/pull/24250#issuecomment-753641789.

I'm merging as the current changes are simple, only scratching the surface. I didn't implement https://github.com/mui-org/material-ui/pull/24250#issuecomment-753641789.

Sorry, a bit late here, but https://github.com/mui-org/material-ui/pull/24250#issuecomment-753641789 makes sense, we would just need to figure out how to handle the state/other styling props (like color) together with the slots...

Sorry, a bit late here, but https://github.com/mui-org/material-ui/pull/24250#issuecomment-753641789 makes sense, we would just need to figure out how to handle the state/other styling props (like color) together with the slots...

And more implementation changes without tests that fix bugs. You sure you guys don't need tests?

And more implementation changes without tests that fix bugs. You sure you guys don't need tests?

Please don't remove that label. I use it to track technical debt so that we can ship a robust product.

Please don't remove that label. I use it to track technical debt so that we can ship a robust product.

@mnajdova is taking care of the root issue in #24371

@mnajdova is taking care of the root issue in #24371


dSentry script errors

Hello, I tried this script for dsentry: http://mcmonkey.org/denizen/repo/entry/0
I occasionally get errors when the NPC attacks me and if I change world when the NPC is attacking me, a lot of error concerning distance between different worlds appears.
http://pastebin.com/uBZWRCLM
http://pastebin.com/ZJHezRAe
Denizen version: 0.9.6 build: 1542
Server version: git-Spigot-1.7.9-R0.2-207-g03373bb
Citizens version: 2.0.13 build:1175

https://raw.githubusercontent.com/mcmonkey4eva/DenizenScripts/master/dsentry.yml try this version of dSentry?

Got this when I went from the world where the npc is to another world:
http://pastebin.com/K1Q5addL
Then I got this when I changed the type of the npc from human to zombie (in that moment the npc was attacking me, so maybe that's the reason):
http://pastebin.com/Q34TmGjP
And then i got this when i teleported from another world to the npc:
http://pastebin.com/TwB2d1tw
There was no spam in console this time, just these 3 errors.

I don't know what to say other than update Denizen / CB. We're building for the latest 1.8 servers now and it's hard to back-support.

Oh ok. Well, this is better than before, it doesn't spam in console so it's easier to handle. Thanks for your help :)


NullPointerException Error and /quest not working (internal error).

Hello.
Here is my error I keep getting in the console: http://pastebin.com/MpYbXWn3
Here is my quests file: http://pastebin.com/5WHMHk4P
Citizens is the newest version, so is Spigot and Quests.

Hey i got it to work.  Theres a lot of stuff I did.  Contact me on skype: Ninja_Jesuz

Could you tell me here? That way, we could help others who may have the same issue.

Yes, please say on here to help others.


Help

Bro, u can make instructions z how to install this shop?

Bro, u can make instructions z how to install this shop?

Hi bro, I'll be sure to let you know once I add a readme.md with a detailed guide on how to deploy the bot.

Thx bro, i w8

Bro, u can take me u telegram? Or pm me @hobivaka

Bro, u can make instructions z how to install this shop?

Hi bro, I'll be sure to let you know once I add a readme.md with a detailed guide on how to deploy the bot.

I'm waiting for this too. It would be great if it works. Thanks for your code.

@teletonn , @Tarkovskii23 Hi guys, I've added detailed documentation.


Allow macro channel labels to be automatically truncated

Ala #80. In the macro class, decorator, or both. For now I still lean towards the default using the full double underscore union of child and channel labels, and only truncating on explicit request, but I can at least imagine a world where the truncation is standard and we cleanly handle channel label conflict by falling back on the more verbose scheme.

Example code for discussion, initially I had:
@single_value_node("instance")
def get_instance(instance):
    return instance

@macro_node()
def internal_macro(wf: Macro) -> None:
    wf.get_instance = get_instance()
    wf.generate_structures = generate_structures(instance=wf.get_instance)
    wf.calc_with_calculator = calc_with_calculator(task_dict=wf.generate_structures)
    wf.fit = analyse_structures(
        instance=wf.get_instance, output_dict=wf.calc_with_calculator
    )
    wf.inputs_map = {
        "get_instance__instance": "instance",
        "calc_with_calculator__calculator": "calculator",
    }
    wf.outputs_map = {"fit__fit_dict": "fit_dict"}

I need the get_instance() function to connect one macro input to two function node inputs. Ideally, I would like to have something like:
@macro_node(output_labels="fit_dict")
def internal_macro(wf: Macro, instance, calculator) -> None:
    wf.generate_structures = generate_structures(instance=instance)
    wf.calc_with_calculator = calc_with_calculator(calculator=calculator, task_dict=wf.generate_structures)
    wf.fit = analyse_structures(
        instance=instance, output_dict=wf.calc_with_calculator
    )
    return wf.fit.fit_dict

With this syntax the user has all the flexibility which nodes to make available on the outside and how to link them internally. Using inspect.get_signature() it should be possible to get the input arguments, assign them to the workflow and then return the variables as links to the workflow nodes again, like:
wf.instance = instance
instance = wf.instance

And the output could be handled in analogy to the node definitions.

This is a separate and less clean issue, I'm opening something fresh for it so this one can still be closed once the automatic truncation gets implemented.

@jan-janssen I think what you're asking for is now handled in #134.
The actual title here, about truncating macro/workflow labels from some_node__some_channel straight to some_channel always came with the downside of being implicit. It is still possible, and when conflicts arise we'd have to automatically revert back to the fully scoped label. However, now that Macro has the nice as-a-function definition possible, this truncation loses a lot of utility and is really only helpful for Workflow instances.
However, there I think it may do more harm than good. Workflows are intended to be highly dynamic -- if it's set in stone what you want to do, you might as well make a macro. To support this, workflows dynamically produce their IO on each access call based on user defined maps (if any) and unconnected IO. So what I can imagine happening all the time if we're truncating (i.e. de-scoping) workflow IO labels, is that a user has some node with (in)output foo, and they go around doing things like wf(..., foo=42, ...). Then later they add another copy of that node to the workflow (or literally any other node who's (in)output is named "foo"), and all of a sudden calls like wf(..., foo=42, ...) magically stop working because they suddenly need wf(..., node1__foo=42, node2__foo=None,...) to avoid name conflicts.
I'm super happy with #134, but at this point I just don't see automatic and implicit label truncation being a net win. I'm open to counter-arguments, but if I've convinced you then let's close this issue.

Per discussion in meeting just now, Jan and I are both happy to close this.


If seeking over the loop point, track doesn't loop

It can be tried with a track off the FF7 MIDI set.
eg: ff7-2-14 moderately short and has a loop point a bit advanced in the file
Here is the player which has just enabled the tag-based loops.
https://github.com/jpcima/midiplay/tree/bw-sequencer
It's how to reproducible it:

press "`" key once (or whichever key is above TAB)
such that repeat mode is REPEAT and not MULTI
press shift+right some times to seek towards end
player loops it back to 00:00

another note, it's that seeking seemed to get slower and slower with the more loops it does

Yeah, an old issue, I want to fix it, but I was lazy...

The reason is that while scanning I don't handling loop points to avoid a possibile infinite loop, however, this is possible to fix this case...

What about resetting the loop state, and replaying loop events from the start as they arrive?
Is this not the same case as normal seeking?

Loop seeking is doing by an absolute position snapshot that is taking from a backup and continuing

The problem is that snapshot is appearing in only a first passing of loop start while playing. It should be captured on a load time.


Quick start - python covert.py

['yolov3/yolo-v3/Conv_6/weights', TensorShape([Dimension(1), Dimension(1), Dimension(1024), Dimension(255)])]
['conv_lbbox/weight', TensorShape([Dimension(1), Dimension(1), Dimension(1024), Dimension(75)])]
Traceback (most recent call last):
File "convert_weight.py", line 74, in
raise RuntimeError

same here

I have the same issue after using my own data set.

python convert_weight.py --train_from_coco

Thanks @YunYang1994.

I have the same issue after using my own data set.

Have you solved this problem ?

cur_weights_num != org_weights_num

I think that is because the difference between YOLOTrain model and YOLOV3 model. We need to convert from YOLOTrain to YOLOV3

anybody soveled this issue?

python convert_weight.py --train_from_coco

我用了这个方法还是不管用，我自己的数据是40个分类，报错位置：两个列表长度由1049！=366 变成288！=360依旧报错

python convert_weight.py --train_from_coco

我用了这个方法还是不管用，我自己的数据是40个分类，报错位置：两个列表长度由1049！=366 变成288！=360依旧报错

我和你一样


WaiterMachine base lifetime of all wait tasks

🚀 Feature Request 🚀
✏ New feature description ✏
Changeable base lifetime of all waiting tasks, instead of limiting their number (but they can be combined) or specifying the lifetime of each specific task.
🪄 Provide a minimal example 🪄

class WaiterMachine:
    def __init__(self, *, max_storage_size: int = 1000, base_task_lifetime: float | timedelta | None = None) -> None:
        self.max_storage_size = max_storage_size
        self.base_task_lifetime = base_task_lifetime
        self.storage: Storage = {}

✨ Teachability, Documentation, Adoption ✨

just in addition to this
max_storage_size as long as proposed lifetime parameter should be changed to attributes of storage. Storage should behave as a factory for inner limited state collectors instead of adding it like this:
https://github.com/timoniq/telegrinder/blob/96bd77057bbcc8f07d1343240be142e91f49722c/telegrinder/bot/dispatch/waiter_machine/machine.py#L95

This behaviour now can be achieved via clear_wm_storage_worker that can limit lifetime of a short state
bot.loop_wrapper.add_task(clear_wm_storage_worker(wm, bot.dispatch))

This is still unstable.
UX will be enhanced soon but now at least expiration_date works independently from middleware

absolutely_dead_time in clear_wm_storage_worker does the thing


Make pull request template a bit more user friendly

High level description including:
Enables a better user experience in filling out our template
Issues
DCOS-
...
Checklist

[ ] Included a test which will fail if code is reverted but test is not
[ ] Followed relevant code rules Rules for Packages and Systemd

If this is a component/package update, include

[ ] Change Log from last:
[ ] Test Results:
[ ] Code Coverage:

@amitaekbote Can you take a look at this?

Thanks for the suggestions. Lets look into them next week just so we don't disrupt the current flow.

@malnick thanks for the PR. I've created a new PR #1115 which captures the spirit of your changes here along with some other improvements. Please take a look when you get a chance.


dialog to add "department" to a publication has overlapping buttons

Result: one cannot close the dialog because the underlying button "Add department"
is blocking the "cancel" button

The problem is already present in the prototype:

Reproduce:

change text of button "Edit" of part "Additional information" to something long
click on the "Add link"
The "Edit" button of "Additional information" is covering the dialog

@netsensei @nics where to report this?

i'm not having the same issue with chrome on mac

I'm using chrome on mac


[BTRX-71][risk=no] Upgrade Flapdoodle Lib

Addresses
https://broadinstitute.atlassian.net/browse/BTRX-71
Changes
Upgrade testing library.

Coverage remained the same at 62.372% when pulling 70bb785974ac24cb3d2102159e74e6ca2f964cb5 on BTRX-71 into 3d8cd299580ce729d1cd57652843ef9b8448047d on develop.


Upgrade http -> https

Hi Broon,
I kept getting the following error everytime I run react-native. The temporary solution is manually upgrading from http -> https inside the build.gradle, but it's getting everytime. Is it possible to upgrade from http to https? Thank you
Could not determine the dependencies of null.
   > Could not resolve all dependencies for configuration ':brooons_react-native-bluetooth-escpos-printer:classpath'.
      > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'BintrayJCenter(http://jcenter.bintray.com/)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.3.3/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

Hello, yes, of course, I'll do it later.

Done,


Automatically send todo at todoist

Hi @haydenull
In the idea of always having my todos in logseq and in todoist I will find it interesting to be able to have an option allowing to automatically send any new todo created in logseq towards todoist. This would avoid doing it by hand every time :-)
Thanks !

I didn't realise Logseq Agenda doesn't send the Task to Todoist, that was I was expecting when I read it does Two-way sync:

@haydenull @bepolymathe do you know if I can use https://github.com/hkgnp/logseq-todoist-plugin to send tasks to Todoist or will that cause conflicts with the Agenda?

Actually, I just found out that right click on the bullet offers the option of Upload to todoist

I tested it and it works!


Sync config_template from upstream

This change pulls in the most recent release of the config_template module
into the ceph_ansible action plugins.
Signed-off-by: Kevin Carter<EMAIL_ADDRESS>

Would it be possible to have the exact same file than upstream ?
Currently there's an extra line at the end of the file causing the checksum to be different.
That's just a minor thing but let's keep the exact same file between projects.

Good catch @dsavineau updating that now and will resubmit.

jenkins test pipeline

jenkins test pipeline

unrelated CI failures


TreeView Drag And Drop - Order Number

We are facing the issue, where we are getting wrong order number of the dropped node while dragging and dropping.
We already raised the issue (Ticket Ref: Tree - NodeDrop - OrderNumber #192)  which is actually closed, but even after taking latest JS(gijgo v1.7.0) and CSS file we are getting the same issue again.

Are you using the same replication steps as described in #192? I'm not able to replicate the issue again with the steps in #192. Could you double check for cached files

Yes, with same repro steps we are facing the issue. Even after cleaning the cached files we are facing the issue.

I have recorded video of the issue and uploaded it at https://www.screencast.com/t/3xRvfPkt4JR.
You can check the repro step. We modified the online example with gijgo.js v1.7.0  and gijgo.css v1.7.0.
Please give a look and let us know if we are missing anything.

@atatanasov any update on this ????

I fixed the issue in the new development version. You should be able to see a working example at http://gijgo.com/Temp/4a929b30-1d08-4a1f-b4d5-847e171b6871.html

@atatanasov checked.... it's working now (Y)


Error: File /var/log/cuda-installer.log does not exist when installer an older cuda

thanks for developing this action script!
I spent the past few hours trying to use it for one of my CUDA projects. I found two issues and would like to see if there is a workaround

I kept getting an error (Error: Error: File /var/log/cuda-installer.log does not exist) at the end of the cuda installation, see https://github.com/fangq/mcx/actions/runs/4401047764/jobs/7706904559. I even forked this repo and removed the artifact uploading code inside src/installer.ts, yet, it still kept giving me this error. I was trying to install cuda 9.2 for its smaller size. is there a workaround?

the default cuda 12.x is over 4GB in size. when I used the default setting, I got "No space left on device" error, see  https://github.com/fangq/mcx/actions/runs/4400016129/jobs/7704933495; same for the the CI tests: https://github.com/fangq/cuda-toolkit/actions/runs/4401127506/jobs/7707048051. what is the most compact installation option? I only need nvcc and libcudart/libcudartstatic for my project.

Hey thx for the report, for your first question that is a good one, I'll change the artifact uploading code in a new PR.
For your second point, have you tried using the network method? Like this:
steps:
- uses<EMAIL_ADDRESS>  id: cuda-toolkit
  with:
    cuda: '12.1.0'
    method: 'network'
    sub-packages: '["nvcc"]'

You can see more details in the README.md file

Not sure if point 2 is fixed yet so reopening

I am seeing the install log artifact upload fail due to file permissions...
Beginning upload of artifact content to blob storage
node:events:492
      throw er; // Unhandled 'error' event
      ^
Error: EACCES: permission denied, open '/var/log/cuda-installer.log'
Emitted 'error' event on ReadStream instance at:
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -13,
  code: 'EACCES',
  syscall: 'open',
  path: '/var/log/cuda-installer.log'
}

More info on my situation encountering the error above...
I am using GitHub's GPU runners, which are using the official NVIDIA image from Azure Marketplace. On NVIDIA image, umask in /etc/login.defs is changed to 077. It seems to be intentional change which NVIDIA folks make during image generation because default umask on base ubuntu image is 022. Looks like 077 mask is recommended by some internet resources to make the vm more secure.
If task uses sudo to install something, task should make sure that tool is available without sudo later. For example, setup-miniconda fixes permissions on MacOS using chown. So I guess this action should perform something similar for Ubuntu.


Fix argsort, mean, maxpool2d, split, var with hybrid shape

 fix var view for hybrid shape

 fix split view for hybrid shape

 fix maxpool2d view for hybrid shape

 fix mean view for hybrid shape

 fix argsort view for hybrid shape


Connection refused error when using UNIX socket

# In the host, I have the relevant permissions to the Unix socket:

ubuntu@ip-xxx-xx-xx-xx:~$ ls -l /var/snap/lxd/common/lxd/unix.socket
srw-rw---- 1 root lxd 0 Nov 28 04:12 /var/snap/lxd/common/lxd/unix.socket
ubuntu@ip-xxx-xx-xx-xx:~$ id
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),117(netdev),30001(lxd)

# I am able to use pylxd regularly:

ubuntu@ip-xxx-xx-xx-xx:~$ python3
Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
>>> import pylxd
>>> pylxd.__version__
'2.3.1'
>>> LXD_CLIENT = pylxd.Client()
>>> container = LXD_CLIENT.containers.get('zero')
>>> container.execute(['pwd'])
_InstanceExecuteResult(exit_code=0, stdout='/root\n', stderr='')

However, this doesn't work well in a docker. I map the host's socket to the docker:
    volumes:
      - "/var/snap/lxd/common/lxd/unix.socket:/var/snap/lxd/common/lxd/unix.socket"

Everything works, until in some occasions (probably lxd service restart), I am unable to connect anymore:
# In the docker, I have proper permissions:

ubuntu@ip-xxx-xx-xx-xx:~$ sudo docker exec -it mydocker bash
www-data@ip-xxx-xx-xx-xx:/usr/src/app$ ls -l /var/snap/lxd/common/lxd/unix.socket
srw-rw---- 0 root lxd 0 Nov 27 21:27 /var/snap/lxd/common/lxd/unix.socket
www-data@ip-xxx-xx-xx-xx:/usr/src/app$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data),30001(lxd)

# The issue is that after a while, I get errors when trying to create a pylxd client:

www-data@ip-xxx-xx-xx-xx:/usr/src/app$ python3
Python 3.8.15 (default, Nov 15 2022, 22:12:54)
[GCC 10.2.1 20210110] on linux
>>> import pylxd
>>> pylxd.__version__
'2.3.1'
>>> LXD_CLIENT = pylxd.Client()
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/requests_unixsocket/adapters.py", line 41, in connect
    sock.connect(socket_path)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/local/lib/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/local/lib/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/local/lib/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/requests_unixsocket/adapters.py", line 41, in connect
    sock.connect(socket_path)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/pylxd/client.py", line 383, in __init__
    response = self.api.get()
  File "/usr/local/lib/python3.8/site-packages/pylxd/client.py", line 192, in get
    response = self.session.get(self._api_endpoint, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/requests/adapters.py", line 547, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/site-packages/pylxd/client.py", line 392, in __init__
    raise exceptions.ClientConnectionFailed(str(e))
pylxd.exceptions.ClientConnectionFailed: ('Connection aborted.', ConnectionRefusedError(111, 'Connection refused'))

Any idea how to resolve this?

We suspect that following a LXD service update (possibly due to snap's notorious auto refresh). A new UDS socket was created, so the one mounted to our container got invalidated.


Update configure-an-experiment.md

🚀 Deployed on https://66aaac2429d04316f9525f0b--cozy-fox-0defec.netlify.app


DM-11462: Start the user documentation style guide

This PR implements the idea of a user documentation content style guide that's based on Google's, with tweaks for LSST use cases. RFC-555
There are a lot of additional areas this can go. I'd like to compile a bibliography of technical communication books, blogs, and talks, for instance. But this scope is enough for the style guide project to start being useful.
Preview of the entrypoint to the guide: https://developer.lsst.io/v/DM-11462/index.html#part-user-doc-style-guide

Looks great! The page has information and links to user documentation style guide in the DM developer guide. It clarifies where to use the style guide and contexts where the style guide does not apply.


commit-mono: 1.132 -> 1.134

Diff: https://github.com/eigilnikolajsen/commit-mono/compare/1.132...1.134
Changelog: https://github.com/eigilnikolajsen/commit-mono/releases/tag/1.134
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

@marsam I'd perhaps wait on this since it seems like the new version has a font height bug

@marsam https://github.com/eigilnikolajsen/commit-mono/commit/eb21b8d2e5149db1f9da12cc8b701a57659a18ba fixed here, I'd wait for 1.135

I think this was a website issue and has been fixed, but I need to check the zip from GitHub. If anyone else checks it before me and it works fine then please go ahead

Superseded by #250759.


[Feature Request] Add -w write option in upgrade command

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like

Add option -w --write in upgrade
Just write upgrade version in pkg file don't run command to install

Referrence: https://github.com/antfu/taze?tab=readme-ov-file
Describe alternatives you've considered
No
Screenshots or Videos
No response

@kent99821 any update?

@kent99821 Don't worry, welcome back anytime


[Service Bus] Settling of messages in case of network failure doesn't throw any error, instead resolves the promise successfully

Refer to https://github.com/Azure/azure-sdk-for-js/issues/1922 and https://github.com/Azure/azure-sdk-for-js/issues/1922#issuecomment-485988465 for more context.
settling of messages(complete()) -  When network goes down, complete() call does not stop but instead call delivery.accept()(rhea method to complete a message) and waits for 20 seconds to complete a message(which in our case, message will not complete because of network failure). If message doesn't complete in 20 seconds then we resolves the promise.
In this case, the user will get the impression that the complete() was successful but actually messages are still in the queue and we are just resolving promises.

Possible fixes : https://github.com/Azure/azure-sdk-for-js/issues/1922#issuecomment-486834536

Fixed with #2569


New feature: Get top n columns

Resolves #52
As stated in issue #52 , it would be useful to be able to get the top n similar columns when analyzing the data. Since the issue is still open, I decided to add this feature myself as I could use it during my data preprocessing
Solution
This pull request adds two new methods into the metrics.py file

get_top_n_columns which returns a complete dictionary of all top-n columns for each column in the two datasets
For instance: {('Table1', 'Authors'): ['Authors, 'AccessList']}
get_top_n_columns_for_column Something that could be more useful in my opinion, to return the top columns for a specific dataset
For instance: What are the top two matches for column 'Access' of table 1?

I am not quite sure what exactly the OP wanted or what the team would prefer to, but at least a boilerplate is established and in case more information should be added that can be easily modified. (e.g. add float value next to it)
Additional changes
Added a new example to demonstrate the new feature. It uses a different algorithm though as COMA compares the names as well and in this case it might not be much informative
Notes

I didn't find a test case for metrics that's why I didn't add one
The code style being used complies with PEP-8

I hope this is useful. Let me know if you prefer any changes or any additional functionality.

Hello @Mikhail-Konstantinou , first of all thank you for your contribution, it's great to see contributions from the outside being made.
Overall the code looks good!
I have a couple of comments for you to take into consideration:

These two methods don't really feel like they belong in metrics, as they are not really metrics. Furthermore, the all_metrics method (defined in the __init__ of metrics) will actually catch these two methods as well, which will break because it misses the arguments for n and column_name. Therefore I propose making a new module for methods such as these, called transformations (or perhaps something different if you can think of a better name).

I feel like the two methods have significant overlap in functionality. It would make sense if get_top_n_columns would use get_top_n_columns_for_column somehow. Another option is to provide get_top_n_columns with a keyword argument that allows to you specify a list of specific columns of df1 to use for top n in df2 (and by default have it pick all columns), so you could get rid of the second method that has an overly long name :)

I suggest sorting the output on the matching score, as you now rely on the sorting of the matches argument, which could change in the future. These methods should robustly give the top n according to the score.

Adding onto the previous point, maybe it's nice to have a list of dicts, with column name as key and score as value, instead of just a list of column names. Doing this also allows you to easily sort the list, and gives insight into the distribution of the scores.

@Archer6621
Hello and thanks for your input. I believe the final changes solve both of the issues/suggestions you mentioned

Indeed, get_top_n_columns_for_column is long and not needed anymore. I refactored get_top_n_columns to accept a list of keys. If not, it returns all columns by default as you suggested. However, I changed it a bit and instead of choosing which columns from df1 you want... you can choose which columns you want either from df1 or from df2. I believe the latter is stronger, more flexible and cleaner
Yes, now it returns a list of dicts. The column name is the key and the score is the value

PS. I checked the conflicting files that github complains about, and they are not related to this function. I believe you can merge it easily by selecting the line of code you think is correct


chore: delete owlbot.py

Now that googleapis/synthtool#1244 is merged, owlbot.py is no longer required in this repo. We can add owlbot.py back in the future if repository specific customizations are needed.
Fixes #78 🦕

This is ready for review.


Remove underscore usage

Details

Removing underscore usage from the codebase.
Fixed Issues

$ https://github.com/Expensify/App/issues/39121
PROPOSAL: https://github.com/Expensify/App/issues/39121#issuecomment-2058887964
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open the money request page
Enter any amount and press Next
Verify the Recent and Contact lists are shown correctly
Press Split to add a user to the split participant
Verify the user is added
Press the checked icon to unchecked it
Verify the user is unchecked
Press Split on a workspace and a user
Verify the Add to split button is disabled and there is an error message
Search for an unexisting user
Verify the unexisting user is shown
Select the user
Verify the user is shown on the confirmation page

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/8c5b0a3f-5878-4b10-9b87-22c1e4dfc945

MacOS: Desktop

@bernhardoj Lint is failing 👀

Couple things that I noticed:

We should remove all // eslint-disable-next-line rulesdir/prefer-underscore-method comments from the codebase now.
You didn't uninstall underscore from the repo
Let's remove underscore from CIGitLogicTest.sh too
If needed let's use lodash in JS files to unblock this PR (in proptypes files and all remaining)
How a bout adjusting all comments in the codebase that refers to underscore? Example: // underscore promises in sequence without for-loop

Since we will have 2,3 reviewers here, @bernhardoj can you also include my suggestion here in this PR?
Besides @blazejkustra's comment here, we need to do some additional tasks.

[ ] Remove underscore in eslint and webpack config
[ ] Remove (Update) underscore usage from our contributing guides

We should remove all // eslint-disable-next-line rulesdir/prefer-underscore-method comments from the codebase now.
You didn't uninstall underscore from the repo
Let's remove underscore from CIGitLogicTest.sh too
If needed let's use lodash in JS files to unblock this PR (in proptypes files and all remaining)
How a bout adjusting all comments in the codebase that refers to underscore? Example: // underscore promises in sequence without for-loop

Done, but after removing the underscore from CIGitLogicTest.sh, the unit test fails. @blazejkustra Do you know how to fix it? Or is it expected?

Remove underscore in eslint and webpack config

@hungvu193 Removed from eslint, but I don't see any underscore-related config in webpack.

Remove (Update) underscore usage from our contributing guides

@mountiny Do we need to update this?

We have conflicts here @bernhardoj

Conflicts solved.

Waiting for https://github.com/Expensify/App/pull/35822 before we can remove transactionPropTypes and MoneyRequestParticipantsSelector.

Deleted both files

Ready for a review @hungvu193

Sure thing

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

We had some conflicts again @bernhardoj

@hungvu193 conflicts solved

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.65-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.65-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Redesigned Scrollbar

Fixes Issue🛠

Closes #102
Description👨💻
This PR Redesignes the Scrollbar of the webpage.
Type of change📄

[x] New feature (non-breaking change which adds functionality)

How this has been tested✅

Tested in different browsers

Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷
demo27.webm
Would be glad if you'd merge this PR @Rakesh9100  😄 👍

Nice contrast look as per the website design @pooranjoyb 🎉

Nice contrast look as per the website design @pooranjoyb 🎉

Thank you bhaiyaa ❤


CB-21943 updating hibernate validatior, to avoid execution of invalid…

… expression language https://www.mend.io/vulnerability-database/CVE-2020-10693
See detailed description in the commit message.

retest this please


Datasets with tricky task templates

I'm collecting a list of datasets here that don't follow the "standard" taxonomy and require further investigation to implement task templates for.
Text classification

hatexplain: ostensibly a form of text classification, but not in the standard (text, target) format and each sample appears to be tokenized.
muchocine: contains two candidate text columns (long-form and summary) which in principle requires two TextClassification templates which is not currently supported

The task_templates API is deprecated in favor of the train-eval-index YAML field, so I'm closing this issue.


Content render lag on scroll

On most pages with darkreader enabled, if I scroll down too fast there's a delay of about a second before the content appears. Does anyone else have this issue?

Dynamic Theme mode doesn't lag on scrolling, only may lag on initial page opening, when there are a lot of stylesheets and background images. It needs time to analise that all.


feat: add initial support for FUSE

This PR adds:

CLI flags for fuse and fuse-temp-dir
A check if the OS supports FUSE
a FUSE server that serves a README
Support for closing the FUSE server

The next PR(s) will include:

returning a symlink to a Unix domain socket that is connected to the Cloud SQL instance
(maybe) support for "warming up" instance connection names in FUSE mode

We're going to have to skip macOS builds given the restrictions with adding kernal extensions and install fuse on the ubuntu image. I'll work on that next.

This has some problems and isn't ready for review after all.


[Bug] Could not resolve host api.openai.com

Hello,
Im using the docker container to have the website available externally. Everything works fine except the last step of the process which is about the OpenAI API. When doing curl api.openai.com, it doesn't work.
But with the nslookup command, I get a result :
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>:53

Non-authoritative answer:
Name:   google.com
Address: <IP_ADDRESS>

** server can't find google.com: SERVFAIL

All my other containers can resolve any host successfully except this container. Is there an issue with my configuration or the container ?
Thanks for your help

Unfortunately it sounds like an issue with your container(s), after verifying this isn't happening across a variety of platforms. Looks like they can't access external DNS. Try searching something along the lines of "Docker container can't resolve DNS", there's a few different threads above people experiencing similar issues with a variety of fixes.
Hope this helps!

Unfortunately it sounds like an issue with your container(s), after verifying this isn't happening across a variety of platforms. Looks like they can't access external DNS. Try searching something along the lines of "Docker container can't resolve DNS", there's a few different threads above people experiencing similar issues with a variety of fixes.
Hope this helps!

Okay thank you so much!


Flow rasies "Required module not found" error

I get this error when using material-ui. material-ui library works fine otherwise. It's just the flow that raises this error.
To reproduce, clone this repository. Add material-ui to ./package.json. Here is a snippet from mine
  "dependencies": {
    "electron-debug": "^1.1.0",
    "font-awesome": "^4.7.0",
    "history": "^4.6.1",
    "react": "^15.5.4",
    "react-dom": "^15.5.4",
    "react-hot-loader": "3.0.0-beta.6",
    "react-redux": "^5.0.5",
    "react-router": "^4.1.1",
    "react-router-dom": "^4.1.1",
    "react-router-redux": "^5.0.0-alpha.6",
    "redux": "^3.6.0",
    "redux-thunk": "^2.2.0",
    "material-ui": "^0.17.0",
    "react-bootstrap-table": "^3.3.7",
    "source-map-support": "^0.4.15"
  },

Add this line to Counter.js
import AppBar from 'material-ui/AppBar';

If flow is enabled, it will produce following error,

file: 'file:///Users/talha/Repos/electron-react-boilerplate/app/components/Counter.js'
severity: 'Error'
message: 'material-ui/AppBar (Required module not found)'
at: '4,20'
source: 'flow'

Perhaps .flowconfig needs some tweaking. Any idea how can I fix this error?

I added this line to my .flowconfig and it fixed the issue
declare module 'material-ui' {
   declare var exports: 'material-ui';
}

Got answer from here.
Still it would be great if @amilajack can shed some light on it.
Also, if this tip is added to Readme it will definitely help beginners like me.

@talha131 Not every module has flow definitions. In cases where flow requires definitions and they cannot be found, it throws an error. The only way to get around this is to add the declare module lines to the flow-typed dir. See this as an example

Thanks a lot @amilajack. This fixed the issue.
For anyone else, facing same or similar issue. I added ./flow-typed/material-ui_vx.x.x.js. Then I wrote in the file
declare module 'material-ui' {
  declare module.exports: any;
}

declare module 'material-ui/AppBar' {
  declare module.exports: any;
}

declare module 'material-ui/CircularProgress' {
  declare module.exports: any;
}

declare module 'material-ui/Subheader' {
  declare module.exports: any;
}

declare module 'material-ui/RaisedButton' {
  declare module.exports: any;
}

You have to declare sub-modules separately.

Can also do this in flowconfig:
[ignore]
.*/node_modules/(?!(styled-components|react|next|memory-cache|next-routes|prop-types|webpack|redux|express))/*.