fix: The green line appear immediately only after comments are added to a task

Details

The green line appear immediately only after comments are added to a task
Fixed Issues

$ https://github.com/Expensify/App/issues/23004
PROPOSAL: https://github.com/Expensify/App/issues/23004#issuecomment-1639409767
Tests

Log in with your account
Create a task
Send a message
Verify that a green line appears immediately
Send a new message and mark it as unread
Verify that the unread divider ( bold green ) appears

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

Offline tests

QA Steps

Log in with your account
Create a task
Send a message
Verify that a green line appears immediately
Send a new message and mark it as unread
Verify that the unread divider ( bold green ) appears

[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 / Chrome
[x] iOS / native
[x] iOS / 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/129500732/25ddfedd-31d9-4e18-a986-ac09f8f25249

Mobile Web - Chrome
https://github.com/Expensify/App/assets/129500732/10dfe7d9-63da-4654-b42b-c22be9d89348

Mobile Web - Safari
https://github.com/Expensify/App/assets/129500732/209e27f8-a96f-48fe-baad-61a3571cb1b8

Desktop
https://github.com/Expensify/App/assets/129500732/b03e167e-9292-4316-9ffa-1997942f3203

iOS
https://github.com/Expensify/App/assets/129500732/a1d9b5cf-0b32-4de4-94d0-60dda5d542af

Android
https://github.com/Expensify/App/assets/129500732/f40f7397-acff-4e52-ae31-99d214c482f0

@MonilBhavsar Could you help to check above comment?

I had a look. @narefyev91 is ooo and I'll be handling this

@narefyev91 looks like you're back. Could you please give it a review, if fine. Thanks! 🙏

@narefyev91 looks like you're back. Could you please give it a review, if fine. Thanks! 🙏

Hey - not really - will be back on Friday :-)

@narefyev91 @MonilBhavsar The PR is reviewed for the long time, Is any update on this PR

Hey review will be done today - on it

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] 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)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] 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
[x] I verified proper code patterns were followed (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] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] 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)
[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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] 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)
[x] 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)
[x] All JSX used for rendering exists in the render method
[x] 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

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/28352309/d90d32a5-7983-41aa-8ec3-bce23ccb4250

Mobile Web - Chrome
https://github.com/Expensify/App/assets/28352309/87f475b0-b2c7-4b78-baac-852f8f17cdfd

Mobile Web - Safari
https://github.com/Expensify/App/assets/28352309/0b6a89f8-8626-4adf-8a60-390ae08a10b4

Desktop
https://github.com/Expensify/App/assets/28352309/4172f112-1eaa-4efc-8be8-b1ac26b397c3

iOS
https://github.com/Expensify/App/assets/28352309/272e9b9b-8446-4d89-97f8-6b4e45958caa

Android
https://github.com/Expensify/App/assets/28352309/25ae3408-92cf-4398-b002-0d22708bb4b0

: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/MonilBhavsar in version: 1.3.51-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.51-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.52-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.52-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.3.52-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Allow ordering of docs within categories

Unless I'm mistaken, the order property for the stylemark config only allows ordering of categories, and not the named docs in those.
For example, I have a "Coding Guidelines" category, where I was "Overview" to come first, but instead "HTML" is coming before it.
Thanks.

Great idea! This will be implemented soon.


How do I apply fine-tuned models?

https://huggingface.co/sin2piusc/whisper-large-v2-anime
Here, I replicated the fine-tuning model to a local folder.
Now how do I apply this model to this Whisper-WebUI?

Hi @dlwwlakfwk2. Thanks for raising the issue.
Currently, the fine-tuned model is only supported for the faster-whisper implementation (you can use the model by simply putting it in models/faster-whisper).
but it should work on other implementations as well.
I'm looking into it!

The model from the link you've posted uses transformer to inference.
So to run the model it needs migration from openai-whipser package to transformer.
If you want to run the model until I do something about it, you can see the inference script.

@ephao Hi, it should work if you placed with the sub directory name,
This is example folder structure for faster-whisper-large-v3-turbo-ct2:

Doesn't it work with this way?

Hi jhj, thanks for answering. I just put it like this.

The model shows in the GUI, but it can't work. Just like this

Ah OK, the model structure is not faster-whisper's, but the transformer's, which is the same as insanely_fast_whisper.
But I have not implemented custom model paths for insanely_fast_whisper yet, I will work on it soon!
Until then, custom model paths are only possible for faster-whisper, such as:

https://huggingface.co/arc-r/faster-whisper-large-zh-cv11
https://huggingface.co/littlevincee/faster-whisper-chinese

@ephao @dlwwlakfwk2
Fine-tuned models with insanely_fast_whisper is enabled in #378.
The model links you posted are the same with insanely_fast_whisper, so you need to explicitly specify the implementation to use it:
python app.py --whisper_type insanely_fast_whisper

Closing since this is solved, feel free to re open if you still have any problem!


Archive's archiveAppendix and Maven Publish don't work well together

With the tasks below I would expect a valid publication without warnings..
We create a new Jar task (we use it for ShadowJar) in addition to the normal Jar.
tasks.register<ShadowJar>("uberJar") {

  archiveAppendix.set("all")     /// <<<--- we set the "appendix"

  manifest {
    from(jar.get().manifest)
  }
  from(mainSourceSet.output)
  configurations = listOf(project.configurations["runtimeClasspath"])
}

Then we add both in the publication. The

    publications {

      register<MavenPublication>("std") {

        // configure the pom with shared pomCfg function
        pom(pomCfg)

        from(components["java"])

        artifact(tasks.named<Jar>("sourcesJar").get())
        artifact(tasks.named<Jar>("javadocJar").get())
      }

      register<MavenPublication>("uber") {

        // configure the pom with shared pomCfg function
        pom(pomCfg)

        artifact(tasks.named("uberJar").get()).   // <<<--- this task has the "appendix" set to "all"

        artifact(tasks.named<Jar>("sourcesJar").get())
        artifact(tasks.named<Jar>("javadocJar").get())
      }

    }

Given that the uberJar task has an appendix I would expect the Maven Publishing extension to generate the coordinates (specifically the artifactId) to include the appendix. It does not and we get warnings (that are more probably errors).
We must "correct the artifactId manually to get rid of the issues.

    publications {

      register<MavenPublication>("std") {

        // configure the pom with shared pomCfg function
        pom(pomCfg)

        from(components["java"])

        artifact(tasks.named<Jar>("sourcesJar").get())
        artifact(tasks.named<Jar>("javadocJar").get())
      }

      register<MavenPublication>("uber") {

        val task = tasks.named("uberJar").get()

        // CORRECT THE ARTIFACT ID
        artifactId = "${task.archiveBaseName.get()}-${task.archiveAppendix.get()}"

        // configure the pom with shared pomCfg function
        pom(pomCfg)

        artifact(task)

        artifact(tasks.named<Jar>("sourcesJar").get())
        artifact(tasks.named<Jar>("javadocJar").get())
      }

    }

Originally posted by @kdubb in https://github.com/gradle/gradle/issues/7567#issuecomment-848161148

The concept of "appendix" isn't supported by Maven repositories. The fact you can set an appendix on an archive is for Ivy/file repositories, but as soon as you publish on Maven repositories, you have to understand that this isn't supported (not by us, but by the repository layout itself). Changing the artifact id isn't a solution to this, because you don't want to change the artifact id: an appendix is a modifier.

We are creating multiple separate publications, each with their own coordinates. I can assure this is supported and we do want to do this.
Publishing an uber jar along with the standard jar requires that the Maven coordinates be different to allow it to have its own dependency reduced pom.xml.  Using classifier does not work for this because it adds jar(s) to the same pom.xml publication; we need to publish with new coordinates.
According to AbstractArchiveTask, using an appendix generates a full name like <base-name>(-<appendix>)?-<version>(-<classifier>).  So, using appendix should generate a name that maps to new Maven coordinates. The problem is that Maven Publish doesn't set the artifactid to what AbstractArchiveTask suggests it should be (<base-name>(-<appendix)?.
So, appendix seems to be the right tool. If Maven Publish used it to create the complete artifactId all would be working harmoniously.
Btw, the example's above are working for our publish to Maven Central (with the manually corrected artifactId). it publishes the normal example-1.0.0.jar as well as a example-all-1.0.0.jar with a dependency stripped pom.xml.

What I'm saying is that you can use appendix to encode whatever you want about artifacts, but you shouldn't assume that Gradle will do this by default because appendix has different semantics. It's your choice to say that you want to use the appendix to generate different artifact ids. There's no reason for Gradle to do it out of the box, because that's not the semantics of appendix. Appendix has defined semantics for Ivy publications and that's pretty much it. Appendix is a modifier of an artifact, not a module. If we changed that, it would mean that depending on what repository you publish to, you'd get either different modules (things published at different GAV coordinates) or different artifacts (things which are effectively the same module, but a different variant of this module), which is totally inconsistent.
If what you want to represent is different things, then using an appendix is not the right choice: you should aim at using different publications, using custom components (see https://docs.gradle.org/current/userguide/publishing_customization.html#sec:publishing-custom-components).

Closing since there will be no change in Gradle to map different appendix to different publications.


Add nodeSelector and toleration

nodeSelector support added by @samisms
I've added default nodeSelector to prevent attempted deployment to Windows nodes in hybrid clusters
I've added a toleration so that agent deploys to master node. This taint is added when using ACS, this could alternatively be passed as a default value.

Updated to 10.0.0-28

/ok-to-test


Fix two typos

According to the Coding Guidelines, the path might use 'single quotes', and the string which needs to be externalized should use 'double quotes'.

Thanks!


fix fix be core dump when using right join with other join predicates

Proposed changes
Issue Number: close #13509
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[x] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[x] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[x] No Need

Does it need to update dependencies:

[ ] Yes
[x] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[x] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 38.43 seconds
load time: 570 seconds
storage size:<PHONE_NUMBER>7 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221021130743_clickbench_pr_32328.html

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 37.59 seconds
load time: 578 seconds
storage size:<PHONE_NUMBER>1 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221022022023_clickbench_pr_32676.html

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 37.72 seconds
load time: 581 seconds
storage size:<PHONE_NUMBER>8 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221022110232_clickbench_pr_32748.html

This problem was introduced by #13357 and exists only in the master branch. @yiguolei

Ok, I will remove 1.1.4 tag.


Chat Command Hook Feature

A feature to hook up custom chat commands would be nice.
As an example: hooking commands to control teamspeak.
The commands would be defined in scripts or dlls and automatically loaded on toolbox start (as the standard toolbox commands are registered).

I'm currently working on a big rewrite, where each toolbox component is separate and self-contained. After that, I'll try to detach those components into their own dlls that toolbox will load. Once that is done, you will be able to choose, create and share custom functionality for toolbox by using or creating a dll that uses gwca and imgui apis and implements the following interface (might change, but this is current idea):
-Update() // called every frame
-Draw(directx_device*) // render window, called if visible
-DrawSettings() // render its settings into the setting panel
-LoadSettings(inifile*) // load from ini
-SaveSettings(inifile*) // save to ini
and probably OnLoad and OnDestruct which correspond to the current constructor/destructor.
You can take a peek on the rewrite on the imgui_rewrite branch, but keep in mind it's still early work.
So to answer your original question, if everything goes as planned, that (and much more) will be possible once I'm done with this work, which might take some time, of course, but I'm actively working on it.

thx for the info


add topic to py_topics

Description

looking to add "  Which recently discovered Python module has changed your general use of Python?"
as a question to the #python-general channel
Reasoning

i see it's a great topic to have a discussion about . I've just picked up sql alchemy and i've seen it makes a great difference in how i use python . i first heard about it in voice chat on the discord
Proposed Implementation

add "  Which recently discovered Python module has changed your general use of Python?"  to py_topics.yaml
Additional Details

Would you like to implement this yourself?

[x] I'd like to implement this feature myself
[ ] Anyone can implement this feature

Sounds like a good question. Since @Xithrius already has #792 open and it's a simple addition, it may be easier for him to just add it to that, unless you wanted to do it yourself?

Added.


Make libMultiMarkdown a shared library for external reuse.

This PR alters the build structure of MultiMarkdown slightly to make libMultiMarkdown a shared library used by the multimarkdown executable. The shared library and header can be used in other tools to provide the MultiMarkdown conversion functionality (e.g. a python interface.)

Can you be more specific about what you're trying to accomplish?  There is already a libMultiMarkdown in the existing build structure, and it is used to create the multimarkdown executable.

When I run the default cmake system, no shared library is generated for libMultiMarkdown. Instead, everything is statically linked into the multimarkdown binary. In order to build a python interface in a portable fashion, I need a shared library of libMultiMarkdown in order to interface using ctypes (portable c library interface.)
I also discovered in testing that libMultiMarkdown.h uses bool in a return function, but that isn't a default type in C99. Instead, that is defined in stdbool.h. In order to include libMultiMarkdown.h without compile errors in an external integration, stdbool.h has to be included beforehand, which seems to break encapsulation. So the other commit adds the include to libMultiMarkdown.h to simplify using the header.

For a more concrete example, the python wrapper I'm working on is available here, and currently can convert strings or files using libMultiMarkdown.

I mistakenly read "library" when you wrote "shared library."  The makefile builds a static library, libMultiMarkdown.
I don't want the default make system to build a shared library -- I want a single binary, so a static library is the proper way to go.  But it is true that cmake allows you to easily change this as needed for your own needs.
If you want to have something pulled into the official repo, I would suggest a combination of changes to Makefile and CMakeLists.txt that enables something along the lines of make shared in order to build a shared library.

PR has been reworked to provide a make shared command which builds the shared library alongside the rest of the tool. multimarkdown itself remains a statically linked executable in this configuration.

This worked fine on my Mac, but caused an error on a developer Linux VM I use (due to an older version of CMake that doesn't support the $<TARGET:OBJECTS> functionality).  I see the usefulness of this approach, but don't want to break build on older cmake versions just to use it.  And not sure it's really necessary for this project, since the source file list is already abstracted into a short list.
I tweaked your code a bit to just build separate libraries -- I realized this requires compiling the same code twice, but hopefully one would only be using this compile option rarely.  I think, in this instance, backwards compatibility is more important.


Show tracks and sessions of a particular Event

Add option to view Tracks in the EventContainerFragment along with a Detail View showing session details.
Only overview need to be shown. The detail of the track should be shown using a nested fragment so that we can easily convert it into Master/Detail layout in future

No need to show tracks separately. Sessions shall be shown with color of
the tracks. User will be able to reschedule any session.
Tracks are not required to show explicitly. Tracks can be added in filter
options.
On Jun 11, 2017 4:59 PM, "Areeb Jamal"<EMAIL_ADDRESS>wrote:

Add option to view Tracks in the EventContainerFragment along with a
Detail View showing session details.
Only overview need to be shown. The detail of the track should be shown
using a nested fragment so that we can easily convert it into Master/Detail
layout in future
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-orga-app/issues/172, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AM6CkMd0UkY2QlWJq5WxF3WVolcfFIaZks5sC8-ogaJpZM4N2Xe8
.

@iamareebjamal I am thinking about the design. Will add my design proposal
by tomorrow. You may add your proposal by then.
On Jun 11, 2017 11:21 PM, "Amol Mejari"<EMAIL_ADDRESS>wrote:

No need to show tracks separately. Sessions shall be shown with color of
the tracks. User will be able to reschedule any session.
Tracks are not required to show explicitly. Tracks can be added in filter
options.
On Jun 11, 2017 4:59 PM, "Areeb Jamal"<EMAIL_ADDRESS>wrote:

Add option to view Tracks in the EventContainerFragment along with a
Detail View showing session details.
Only overview need to be shown. The detail of the track should be shown
using a nested fragment so that we can easily convert it into Master/Detail
layout in future
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-orga-app/issues/172, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AM6CkMd0UkY2QlWJq5WxF3WVolcfFIaZks5sC8-ogaJpZM4N2Xe8
.

@mejariamol If there are many sessions, then it will become hectic. Probably add StickyListHeader and a FastScroller for track headings?

@iamareebjamal yeah. but showing sessions on timeline is preferred instead of showing them track wise.

The problem is when there will be numerous sessions

There can be many sessions in a track too. Why is that a problem?
Proposed design -
a page showing sessions of a day will contain -

a vertical timeline starting from start time of an earliest session to a last session of a day
buttons below app bar to switch days and microlocations
sessions will be shown accordingly besides timeline in scroll view with title and track specific color
on clicking on floating window will appear in which session can be rescheduled.

Well, in large Events, like Fossasia 2016, there can be several sessions, an organizer may want to view it according to the tracks.
Well, let's go with your idea first and we'll add options to view by tracks later

@iamareebjamal @mejariamol we need

Grouped microlocations (meaning ... list of microlocations -> click -> sessions)
Grouped by tracks (meaning ... list of tracks -> click -> sessions)
Ungrouped list of sessions (not a priority since if there are a lot of session. (which mostly would be the case) this would do more good than bad.)

The organizer app should be looked at from an event organizer's perspective.

This is currently out of scope of the app.


[64] Search documents using data labels

Closes #64
Implements project and company querying using the existing GtR and Crunchbase data labels (categories). The results are output in the same format as in the case of keyword queries (ie, a dataframe with a column for each query where in this case the query is the specified label/category).
Usage examples are shown in examples/07_query_terms.py and in the README.

Checklist:

[x] I have refactored my code out from notebooks/
[x] I have checked the code runs
[x] I have tested the code
[x] I have run pre-commit and addressed any issues not automatically fixed
[x] I have merged any new changes from dev
[x] I have documented the code

[x] Major functions have docstrings
[x] Appropriate information has been added to READMEs

[x] I have explained the feature in this PR or (better) in output/reports/
[x] I have requested a code review

Hi @Jack-0-0 , this PR might be an interesting one to check out: I tried writing a couple tests using mock decorators and "side effects".


Markdown exporter

Support for exporting markdown and html along with a few new common unit tests for exporters.

After I merged I noticed that the new tests were not implemented for the other exporters. Should that be required whenever you add new common tests?

Re: the code system URLs: It probably does make sense to integrate that into the Concept class.  I'll make a note of it and take care of it soon.
Re: the new common tests: I specifically added logic so that new tests wouldn't cause existing test suites to fail (it skips tests for which there is no "expected" input).  I don't think we should require them to be implemented by the person who wrote the new tests -- especially since that person might not be familiar w/ the other exporters.  But I do think it makes sense to eventually support the new tests in the other exporters too.  Currently, Troy is working on the Schema exporter -- so he should implement the new tests; no one is working on the StructDef exporter, but whoever implements the new grammar in it should add the new tests; and if you want to add tests for the hierarchy great, but I can also do it if you don't have time.


Add airquality to latest

Please add my adapter ioBroker.airquality to latest.
This pull request was created by https://www.iobroker.dev c0726ff.

jsonConfig looks good. However, there is not really anything to configure. Is that the intention?

Oh, yes. Under “Stations”, the user can/should enter the station(s) from which he wants to have measured values. That's all you need.

Issue 1 [E254] and [W040] corrected, solved in version 0.0.4

RE-CHECK!

Sorry, but due to travel / absence I will not able to do the review before ioBroker Meeting Solingen next weekend.

@raschy
First of all - THANK YOU for the time and effort you spend to maintain this adapter.
I would like to give some feedback based on my personal oppinion. @Apollon77 might have additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him if you cannot follow my suggestions or want to discuss some special aspects.

[ ] package.json should require up to date js-controller and admin version
New adapters should request js-controller 5 and admin 6 as minimum if there are no strong reason to support (and test) older releases. So please add / adapt at io-package.json:
      "dependencies": [
          {
              "js-controller": ">=5.0.19"
          }
      ],
      "globalDependencies": [
          {
              "admin": ">=6.17.14"
          }
      ]

As this adapter uses jsonConfig it should require admin v6 at least. Earlier releases have too many missing updates.

[ ] directory 'logs'
Does the directory "logs" really contain information needed for development or has it been commited by error?

[ ] consider making this adapter a scheduled adapter
As this adapter executes every 15 minutes only please evaluate whether it shouldn't be converted to a scheduled adapter. It looks like an overhead to let a process wait most of the time.

[ ] object ids and name attribute of objects
Object Ids must be named in english.
The "name" attribute of all objects / states must be either a string in english or an i18n multilingual object with all supported languages. The only exception would be if the name attribute is directly delivered by the external system - which isn't he case here. I would suggest to use i18n

[ ] reevaluate state roles
Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.
In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.
Please avoid using general roles (state, value) whenever a dedicated role exists.

Role 'number' does not exist ("Anzahl Messtypen")
Role "state" should only be used if no better role available. At least role value should be ok.
"Letzte Messung" should be role 'date' (eventually convert to make it parseable by new(date). See https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md

[ ] linter setup
Please use standard iobroker linter setup. This is located at @iobroker/eslint-config. See migration guide at https://github.com/ioBroker/ioBroker.eslint-config/blob/main/MIGRATION.md

Thanks for reading and evaluating this suggestions.
McM1957
Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!
reminder 10.12.2024

Hopefully all bugs fixed and also migrated to ESLint 9.

RE-REVIEW - work in progress

[ ] package.json should require up to date js-controller and admin version
New adapters should request js-controller 5 and admin 6 as minimum if there are no strong reason to support (and test) older releases. So please add / adapt at io-package.json:
      "dependencies": [
          {
              "js-controller": ">=5.0.19"
          }
      ],
      "globalDependencies": [
          {
              "admin": ">=6.17.14"
          }
      ]

As this adapter uses jsonConfig it should require admin v6 at least. Earlier releases have too many missing updates.

[ ] directory 'logs'
Does the directory "logs" really contain information needed for development or has it been commited by error?

[ ] consider making this adapter a scheduled adapter
As this adapter executes every 15 minutes only please evaluate whether it shouldn't be converted to a scheduled adapter. It looks like an overhead to let a process wait most of the time.

[ ] object ids and name attribute of objects
Object Ids must be named in english.
The "name" attribute of all objects / states must be either a string in english or an i18n multilingual object with all supported languages. The only exception would be if the name attribute is directly delivered by the external system - which isn't he case here. I would suggest to use i18n

[ ] reevaluate state roles
Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.
In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.
Please avoid using general roles (state, value) whenever a dedicated role exists.

Role 'number' does not exist ("Anzahl Messtypen")
Role "state" should only be used if no better role available. At least role value should be ok.
"Letzte Messung" should be role 'date' (eventually convert to make it parseable by new(date). See https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md

[ ] linter setup

RE-REVIEW!

RE-CHECK!

RE-REVIEW - work in progress worksheet only - please ignore for now

[ ] package.json should require up to date js-controller and admin version
New adapters should request js-controller 5 and admin 6 as minimum if there are no strong reason to support (and test) older releases. So please add / adapt at io-package.json:
      "dependencies": [
          {
              "js-controller": ">=5.0.19"
          }
      ],
      "globalDependencies": [
          {
              "admin": ">=6.17.14"
          }
      ]

As this adapter uses jsonConfig it should require admin v6 at least. Earlier releases have too many missing updates.

[ ] directory 'logs'
Does the directory "logs" really contain information needed for development or has it been commited by error?

[ ] consider making this adapter a scheduled adapter
As this adapter executes every 15 minutes only please evaluate whether it shouldn't be converted to a scheduled adapter. It looks like an overhead to let a process wait most of the time.

[ ] object ids and name attribute of objects
Object Ids must be named in english.
The "name" attribute of all objects / states must be either a string in english or an i18n multilingual object with all supported languages. The only exception would be if the name attribute is directly delivered by the external system - which isn't he case here. I would suggest to use i18n

[ ] reevaluate state roles
Only the values specified here (https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md) may be used as state roles. Do not invent new names as this might disturb the functionalyity of other adapters or vis.
In addition the roles MUST match the read/write functionality. As an example a role value.* requires that the state is a readable state. Input states (write only) should have roles like level.*. Please read the description carefully. States with role 'button' should (must) have attribute 'common.read=false' set. A button ( "Taster" in german only triggers when you press but else has no state), so it should also be not readable. This is also like HomeMatic does it. A switch has clear states true or false and so can be read.
Please avoid using general roles (state, value) whenever a dedicated role exists.

Role 'number' does not exist ("Anzahl Messtypen")
Role "state" should only be used if no better role available. At least role value should be ok.
"Letzte Messung" should be role 'date' (eventually convert to make it parseable by new(date). See https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/stateroles.md

[ ] linter setup

@raschy
Thanks for fixing most issues. The following issue still exists

[ ] object ids and name attribute of objects
Object Ids must be named in english.

The following issues are new:

[ ] Adapter does not terminate if no stations are configured and causes "already running errors"
see https://github.com/raschy/ioBroker.airquality/issues/19
This problem must be fixed

[ ] unneeded ObjectExists
as setObjectNotExists already included the check whether an object esists an explicit check is not needed
https://github.com/raschy/ioBroker.airquality/blob/c1aa223da0d0fb51211e392f1d19b20194cdedef/src/main.ts#L352


Overhaul Macro function

The current macro feature is quite simple and could be improved. Some games (pCars2, RF2, ???) expose pit-request-state - macro logic should check this before triggering the pit-toggle button. So saying 'box this lap' can be safely ignored (with a 'we're already expecting you' response) in some cases. Can also add a 'cancel pitstop' voice command.
The macro manager could do a better job of tracking the state of the pit menus. This is risky because it's easy for them to get out of sync, but it's worth putting something together to see how it goes. The app could track which strategy is select, and what changes its made to it - specifically what fuel's been added.
State tracking needs careful consideration - perhaps it's only safe to track the fuel added and modify the behaviour of the next fuel-add call where the user doesn't select a different strategy

see https://github.com/mrbelowski/CrewChiefV4/pull/342

major overhaul of the macro system - it's now more flexible and generic, allowing lots of cool things. The main limiting factor is now the speech recogniser


Current Regressions Issues: Opens, Lots of white space

2019/1/23
@Lastdayends @parijatm @kkunal1408
Looking at the current nightly regression I see a couple of issues that could be fixed:

[ ] Some circuits are generating open when there is plenty of room to route the disconnected  components. Good examples are: FinFET14nm_Mock_PDK/high_speed_comparator and FinFET14nm_Mock_PDK/telescopic_ota_with_bias/3_pnr

[x] At least on circuit has a huge amout of white space surrounding the primitives (seems like the terminal are specified to be 20x the primitive size or more away from the primitive. Examples here are: FinFET14nm_Mock_PDK/BUFFER_VCM and FinFET14nm_Mock_PDK/switched_capacitor_filter

@Lastdayends Are you able to replicate the open (disconnected clk net) in the high_speed_comparator?

Hi Steve,
Yes. I am looking into it.
Yaguang
On Fri, Jan 31, 2020 at 4:07 PM Steve Burns<EMAIL_ADDRESS>wrote:

@Lastdayends
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Lastdayends&d=DwMCaQ&c=u6LDEWzohnDQ01ySGnxMzg&r=ZMUCBc0sWFUe5MzbQ3jL6w&m=EBSSwnOlzPg6rjWPhMsSlR_vYA90Z0sy3-cFjItvSQ0&s=lDOBB0Vl1lPGyHlptvr-2Iv0esY9RtVBO8J1pCm0Gdw&e=
Are you able to replicate the open (disconnected clk net) in the
high_speed_comparator?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ALIGN-2Danaloglayout_ALIGN-2Dpublic_issues_342-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAKIMLZWFL4RSVORPPGCCK63RAS4NHA5CNFSM4KK2KNJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEKQMXVI-23issuecomment-2D580963285&d=DwMCaQ&c=u6LDEWzohnDQ01ySGnxMzg&r=ZMUCBc0sWFUe5MzbQ3jL6w&m=EBSSwnOlzPg6rjWPhMsSlR_vYA90Z0sy3-cFjItvSQ0&s=yL3ItXe-_2shveKFLwPPjUpKESc-UoTG_GVa6-C1Knc&e=,
or unsubscribe
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKIMLZRNM4G5EXAE22VIO4TRAS4NHANCNFSM4KK2KNJQ&d=DwMCaQ&c=u6LDEWzohnDQ01ySGnxMzg&r=ZMUCBc0sWFUe5MzbQ3jL6w&m=EBSSwnOlzPg6rjWPhMsSlR_vYA90Z0sy3-cFjItvSQ0&s=WKNcyCFSTYCwKAqwc-NEzmO9w7EYAF4Y4BAPjfGXycQ&e=
.

Being addressed by PR #355


experimental trajectory

Thank you very much for your work. Can you please share your experimental trajectory? I would be very grateful if you could.

Sure, we will share our training trajectories soon.

Sure, we will share our training trajectories soon.

Thank you very much. Also, can you share the output results of the experiment?

OK. We will inform you once we release them.

Hello, we have released on Google Drive. Enjoy it!


[Feature] Audio only in youtube music services?

Hello Samuel
Is there a way to make youtube music service play only audio and not showing videos in music player?
Thanks

YouTube heavily relies on the video tag for playback, instead of the audio tag like in GPM. I'm not sure something like this is feasible. You could hide the video element with CSS if that's your concern, but switching the underlying audio source out isn't possible.

Recently dove into the code, and this is likely really no possible.


Expose documentation for sessions

Session containers should be able to expose the documentation (web-based) on a specific port. The documentation should be displayed to the user (e. g., via a documentation button in the session overview).
Related to https://github.com/DSD-DBS/capella-dockerimages/issues/159

I had a look into how Eclipse handles the documentation exposure:

When clicking on "Help" -> "Help Contents", Eclipse starts a web server on a random port. The web server is not available before. In addition, it starts a web browser default, which fails in our sessions.
A custom web browser can be configured. I used a simple Python script as mock. The Python script can also be used to open a tkinter message to the user, e.g., "To see the documentation, please continue in the Capella Collaboration Manager".
Several options are available in the Help view in Eclipse:

It's possible to open the help in the "dynamic help view" but this opens a full-screen application which can not be closed via the UI, so it's not really an option.
There is another button "Show contextual help". It seems to display the same help and works without further configuration. Is this sufficient for now? @vik378

When implementing it in a way that the user can open the documentation in the same browser where the Guacamole session lives, a workflow could look like:

User has to open session
In the session, the user has to click on Help
We run a python script "as web browser", sending a request to the backend with the connection information. The backend can communicate with the Collaboration Manager interface to enable a documentation button, which then opens the documentation in a new tab.

Pretty complex workflow, not sure if it's worth the effort.

Duplicate of https://github.com/DSD-DBS/capella-collab-manager/issues/576

I'd rather "un-close" this issue since there is still no way for an end user of collab manager to get to the Capella help, lets keep it open until it is properly sorted.


Reports Framework

Description of Task

Revise the UX/UI of the Reports feature as a framework for how reports will be configured going forward
Enable the creation of a small 'Proof of Concept' report to be extracted through the interface

Context:

Reports serve to aggregate and extract important information about student accounts and applications. As a minimum solution, a precise set of data elements need to be able to be extracted, on demand, by a ministry user through the SIMS interface in a CSV format. Eventually (post-MVP), we would like the same functionality available to institutions, but with specific filters applied to ensure those institutions only receive a particular subset of the overall data as it relates to their students and complies with privacy standards.
Preliminary analysis about Reports is found here:
SIMS MVP UX/UI Design Mock-Up is below:
Private Zenhub Image

Acceptance Criteria:

[ ] Revise Ministry Account 'Reports' Feature Interface to be consistent in functioning with the Design Mock-Up listed above.
[ ] Build a Proof of Concept Report Report which can be extracted from the interface, with following specifications:
'Parent' Data Element is 'Personal Information', and 'Child' data elements are: 'First Name' and 'Last name'. These can be selected through the interface
Perform a back-end SQL query to extract First and Last names of all students falling within the specified date range. Configure this extract into a CSV format, with headers and data element descriptions consistent with what's provided in the Excel.

Replaced by #2784 #2162, #2525, #2580


docs: improve readme

Add a license badge
Fix minor typo
Add Gitter chat badge

Codecov Report

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

@@           Coverage Diff           @@
##           master     #134   +/-   ##
=======================================
  Coverage   98.74%   98.74%
=======================================
  Files          29       29
  Lines        1915     1915
  Branches      221      221
=======================================
  Hits         1891     1891
  Misses         24       24


merge from template-arlac77-github

.github/workflows/ci.yml

chore: add actions/setup-node@v3 (jobs.test.steps.uses)
chore: add actions/setup-node@v3 (jobs.release.steps.uses)

.github/workflows/codeql_analysis.yml

chore: add actions/setup-node@v3 (jobs.analyze.steps.uses)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Emit month/year/page(prev/next) (Resolves #38)

Check if exist close for shortcuts. added emits for check changing month/year/page(prev/next). documentation.

@elreco hi. Can you check this and merge?

@alexsyvolap merged! thank you so much for your contribution and also for editing the documentation

You can install the 1.2.7 version


[Feature Request] Maximum Difference Between Node and Ancestor (LeetCode 1026) Missing

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I would like to see an enhancement that includes detailed documentation and solutions for finding the maximum difference between a node and its ancestor in a binary tree, specifically addressing LeetCode problem 1026.
Use Case
This feature would enhance my understanding and ability to solve problems related to binary tree traversal and finding maximum differences in a structured and organized manner. It will serve as a valuable resource for learning and implementing solutions to similar tree traversal problems efficiently.
Benefits
Implementing this feature would:

Provide accessible and well-documented solutions for a frequently encountered problem in coding interviews and competitive programming platforms like LeetCode.
Improve the learning experience by offering clear explanations and code examples in multiple programming languages (Python, Java, and C++).
Foster community engagement and contributions by facilitating a deeper understanding of binary tree traversal and path-based algorithms.

Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@Ajay-Dhangar sir kindly assign this task to me under GSSOC 2024


Nested JSON array in queue messages causes binding templates to fail on Node.js

Summary: If a queue trigger's message text is JSON with an array of objects, the Host fails to bind the JSON's object properties.

I ran into this issue when trying to write a function with a queue trigger that gets data and writes it to blob storage.
I have a function.json like this:
{
    "bindings": [
        {
            "name": "queueInput",
            "type": "queueTrigger",
            "direction": "in",
            "queueName": "test",
            "connection": "AZURE_STORAGE_CONNECTION_STRING"
        },
        {
            "name": "testOutput",
            "type": "blob",
            "direction": "out",
            "path": "test/{test}.json",
            "connection": "AZURE_STORAGE_CONNECTION_STRING"
        }
    ]
}

and a very simple index.js
module.exports = function(context, queueInput) {
    context.log(queueInput);
    context.log(queueInput.test);

    context.done(null, { testOutput: queueInput });
}

If I pass in a json string like:
{
    "test": "testing"
}

the function runs without issue and creates a blob at the path specified.
However, if I pass in a json like:
{
    "test": "testing",
    "nested": [ { "nesting": "yes" } ]
}

I get this error:
2016-05-30T02:57:58.375 Function started (Id=407a2ad1-78f7-4676-b1c5-accde8066d04)
2016-05-30T02:57:58.375 { test: 'testing', nested: [ { nesting: 'yes' } ] }
2016-05-30T02:57:58.375 testing
2016-05-30T02:57:58.375 Function completed (Failure, Id=407a2ad1-78f7-4676-b1c5-accde8066d04)
2016-05-30T02:57:58.391 Exception while executing function: Functions.test. Microsoft.Azure.WebJobs.Host: No value for named parameter 'test'.

Yes, this repros as you describe, and there seems to be a bug in there. Basically, it seems we fail to evaluate {test} when the array prop is there.
It repros with just:
{
    "test": "testing",
    "foo": []
}

But if you change "foo": [] to "foo": {} or "foo": "", the it doesn't repro.
Quite odd. @mathewc, what do you make of this?

Strange. I'll have to debug into it to find out what is going on. Might be a core SDK issue, not sure yet.

Fixed, thanks for reporting.


derive link

closes https://github.com/lineupjs/lineupjs/issues/634
prerequisites:

[x] branch is up-to-date with the branch to be merged with, i.e. develop
[x] build is successful
[x] code is cleaned up and formatted

Summary
derive a link type if the value starts with http, https, or ftp

Looks good to me, thanks for the quick implementation!


1234

Hello, I have now integrated the plugin into Movebase and lowered the frequency to plan a global full coverage path. However, after 3 to 4 rounds, the car will have two goals. This sentence means that it has a goal, and when the car advances towards this goal, the car will have the next goal, and the gap between these two goals is far. The car will move back and forth, causing it to be unable to move. How to solve this problem

Closing as a duplicate of #49

Closing as a duplicate of #49

i don't know what you say

This question is the same as the one mentioned in issue 49. I closed this one, so we can continue the discussion in issue 49.


CHEBI:59545 and CHEBI:58614 are tautomers

Just the mutual designation is missing. Could you please add?

Thanks. Now added.


Covert steps.md to issues

Completed, file still remains but will be removed. All issues have been moved to github issues


error on login

Login: no CSRF Token found in the page. Unable to continue the login. Try again...

same here!

They replaced the homepage, try using a cookie in the meantime.

Same error here, was about to create a new issue.

By removing the --cred parameter and filling the cookies.json file as the example you've given. i was able to continue snorting :) thank you.

I pasted cookies.json file into the installation directory i.e. safaribooks. I am using macbook. When I remove --cred parameter and run it then it gives me error message[#] API: Out-of-Session (Authentication credentials were not provided.). If use the --cred parameter then it gives me CSRF token error. Not sure what I am doing wrong here. Can someone help please.

You need to enter the website one time, and replace the cookies.json file fields according to your browsers cookie. In my computer, i opened the website and opened the devtools and get the information like this:

You see the names, check the names in the cookies.json file and replace values in your browser

same problem. Anyone can help me with using the cookies file?

API: Out-of-Session (You do not have permission to perform this action.). I got this error when i used the cookies.json

There is already a great hint for that: https://github.com/lorenzodifuccia/safaribooks/issues/2#issuecomment-429343521

Just update the requested login
On line 420
    def do_login(self, email, password):
        response = self.requests_provider(self.LOGIN_URL)

Just update the login url
On line 420
    def do_login(self, email, password):
        response = self.requests_provider(self.LOGIN_URL)

I still don't get it, sorry i'm a noob

There is already a great hint for that: #2 (comment)

I was just using an expired account, my bad xD sorry and thanks

Thanks a lot.

i tried, but nothing works
[#] API: Out-of-Session (You do not have permission to perform this action.).

Your account subscription is inactive. I created another one and it's working fine for me.

@billhongs It may be a good idea to open the issue again, so that the author can keep track of it and do something about it.


Change Holo dialogs to Material

This change allows Material dialogs to be used if available (running Lollipop or above), while maintaining support for API < 21. THEME_HOLO_LIGHT is also apparently deprecated, so it has been replaced.

@jonan Are you working on this, if not I can make the necessary changes suggested by you and raise a PR.

Sorry it's been a while, I just added the requested changes.


patch vite internally to get rid of the FSWatcher type error

Before:
https://github.com/backstage/backstage/actions/runs/8306808033/job/22735334479?pr=23239#step:12:10

See https://github.com/vitejs/vite/issues/15714

Can we just bump to 5 instead of the patches? It's fixed in v5 right?

If you can. It's nontrivial I thought.

not sure this is even needed anymore


UDF load time is high when compared to PL/PGSQL

We are converting the UDFs from PL/PGSQL to PL/Rust. When we try to run the sql file with all the UDFs in PL/PGSQL, the UDFs are loaded very quickly where as with PL/Rust, it is taking a long time.
Is this expected with PL/Rust due to the fact that the crates are pulled and rust functions are compiled? Or is it something that will be optimised in future?

Yes, it takes quite a bit of time to compile the first PL/Rust function, then subsequent functions are a little faster.
Believe it or not, we've already put a lot of effort into compilation time.  For now this might be the best we can accomplish.  Rust's compiler is highly parallelized, so more CPUs can speed things up.  Technically tho, it's the linking phase that usually takes the most time and that's single-threaded.
We appreciate the feedback tho.  We'll keep this on our radar.

Thank you for the quick reply.


Refactored based on Sean's feedback. Thanks again!

Making things more readable by using |custom_v, custom_k| instead of array indexes in the each loop.

Closing to continue feedback/discussion in https://github.com/nationbuilder/nationbuilder-rb/pull/42


Migrate repo to seabird-irc/seabird

I'd like to have separate repos for things like plugins and putting everything under an org seems to be the simplest solution.

This may result in moving the seabird/bot package to simply seabird and a few other simple renames.
There is already a repo up for plugins at https://github.com/seabird-irc/plugins and hopefully plugins will be removed from this repo.

Alternatively, the bot framework could be moved to seabird-irc/bot and the default set of core and plugins could be in seabird-irc/seabird. Thoughts?

I like the idea of having the bot framework in seabird-irc/seabird and you could have a seabird-irc/example if you wanted to have an example working bot. But I am fine with whatever.

I'm going to close this. For now, this will stay here and the plugins will probably move to belak/seabird-plugins.


New typal theme ideas

[ ] Phyrexian
[ ] Cleric
[ ] Dog
[ ] Cat
[ ] Beast
[ ] Dinosaur
[ ] Soldier
[ ] Insect
[ ] Horror
[ ] Construct
[ ] Scout

Nope, none of these exist.


Update text in Azure Arc extension

Update deployment wizard text

[ ] Replace 'SQL DB managed instance' to 'Azure SQL managed instance – Azure Arc’
[ ] Update azdata description with 'Deploy, manage and use Azure Arc enabled data services and Big Data Clusters

[ ] Rename 'Docker account details' to 'Container registry details'

[ ] Rename 'Docker account login' to 'Container registry login'

[ ] Rename 'Password' to 'Container registry password'


Protect uplink and downlink filters

Purpose is to avoid:
RuntimeError: dictionary changed size during iteration
Lists should be static and setuped before first reception, but better to protect it

Hi, are you planing to release these changes in a new version ?


Docker Benchmark support v1.4.x / v1.5.x

CIS released version v1.4.x and v1.5.x of Docker Bechmark.
Are there any plans to support this versions with this repository?

Hi @ktsowes , yes. The code will be updated to match 1.5 as soon as possible.

Hi @konstruktoid, that's perfect!
Thanks for your fast response.

Hi @konstruktoid is there any way I can customize and use a particular CIS benchmark version for scans?

Hi @madantnk, not by using the script itself, but you can always use a older release https://github.com/docker/docker-bench-security/releases

Hi @konstruktoid, I'm a little bit unsure if I should use release tag v1.3.6 or master branch for 1.3.6.
The release tag v1.3.6 is from march 2022 and I see several commits into master branch, quite likely fixes for 1.3.6.
As a proposal, we could extend the release tag a bit, something like:

v1.3.6-1
v1.3.6-2
v1.3.6-3

This way, we could release fixes for specific CIS benchmark versions and it would be clearer what to use.

How would extending the release tag help in this case?
Personally I use the master branch, this because the tags/releases was mostly used for the Docker image and as you said, the master branch contains fixes not yet pushed as a release.

The problem I see is, that current release tags reflect the CIS versions and not the versions of this repository.
Lets assume we work in the master branch for 1.5.0 and create a release tag for 1.5.0, we would have this tags:
1.5.0
1.3.6
1.3.5
...
Now we want to fix a bug for 1.3.6.
Either we delete tag 1.3.6 and recreate (bad idea) it or we add a version information to the "CIS" version.

The releases doesn't correspond to the CIS Benchmark version, and I don't believe there's a reason to fix previous releases since an old benchmark gets end-of-life when there's a new version available.
Eg https://github.com/docker/docker-bench-security/releases/tag/v1.3.5 aligns with CIS Docker Benchmark v1.2.0

Ok, wasn't clear to me that the releases don't correspond to the CIS Benchmark version.
In this case I propose a mapping table in the Readme.md to indicate which repository version corresponds to which CIS Benchmark version.

Repository
CIS

v1.3.6
1.3.6

v.1.3.5
1.2.0

v...
...

Why would you ever want to use an old benchmark?

Let's assume CIS releases version 1.4.0, 1.5.0, 2.x.x, 3.x.x of docker bench.
The security team decided in the past to implement version 1.4.0 of the CIS controls. Now they want to have a docker-bench-security version which belongs to this exact version. Even if CIS releases newer major version, they have to continue with 1.4.x for a while, it's not always possible to jump to the latest greatest.
Just because we have windows 11 doesn't means windows 10 no longer exists and fixes for windows 10 still have to be done.

Yes, but and older benchmark is not applicable to a newer version of Docker.

Or are you saying that because 1.5.0 is tested against Docker Engine 20.10.20 on RHEL 7 and Ubuntu 20.04, you will stick to those releases as well?

Master branch updated to match 1.5.0.

Updated readme to include a version table.

Yes, but an older benchmark is not always applicable to a newer version of Docker.

Would it make sense to add the min. docker version in the mapping table? Then all the necessary information are at one place:

Repository (Tag)
CIS
min. Docker version

v1.3.6
1.3.6

v1.3.5
1.2.0

v...
...

Or are you saying that because 1.5.0 is tested against Docker Engine 20.10.20 on RHEL 7 and Ubuntu 20.04, you will stick to those releases as well?

We stick to the major versions of the Docker Engine. We try to be as close as possible to the newest versions, but we have dev, test, prod systems, so it could take a while from when we start on dev until it gets released on prod.


Working with python 3

Will there be any support for python 3? It is giving me errors when python 3 imports the ConfigParser and _winreg modules, it is giving me module not found error. I realized that the names are configparser and winreg in python 3.

Which version did you try it? 2.9 or 2.7 ? 32b or 64b?

Check out this link:
https://docs.python.org/3/library/configparser.html
https://stackoverflow.com/questions/14087598/python-3-importerror-no-module-named-configparser
It shows what data types can be imported or passed through the classes.
Let me know if you have questions?


De-emphasize "system" entries

Describe the Problem
Some entries in the HIDDEN ITEMS list are added by default and are not even managed by this extension.  A recent release added a system marker to these items, which is awesome!  However, they're still the first things someone sees when they open the panel, and they're the least likely to be useful.  Perhaps there's an even better solution?
Describe the Solution
You know if an entry is a system entry, and I see that those entries can indeed be checked or unchecked and they work.  And if I understand correctly, you store the original value for these in the "backup" setting?
Putting that all together, I think you might be able to make the system vs. non-system distinction pretty much just disappear by doing the following:

In your internal settings, store a set of system entries which have been added by the user with your UI.  E.g. by right-clicking on .svn and choosing "Add to Hidden Items ..."  Something like this:  "addedSystemEntries": [ "**/.svn", "**/CVS" ].  Or do an object of booleans like files.exclude, whichever you'd like.
Only show a given system entry in the HIDDEN ITEMS panel list if it's in this new set or if it's files.exclude value is true.
Let users choose "Remove from Hidden Items" on system entries.  When they do, set its files.exclude value to false, and remove it from the new set, effectively removing it from your UI.
Then I think you can remove the new system tag in the UI because I believe the user would no longer needs to know.  Everything would work like a non-system entry!

Alternatives

Add a toolbar button to the panel to hide system entries.  I'm far more likely to only care about entries I added myself, but in the unlikely event that I do care, I can toggle the toolbar button.  Default it to "Show System Entries" if you want to be safe.  Advanced users who care will find the button and hide them.
At least can we sort them to the end of the list?

Additional Context
No response
(P.S. Thanks for this handy extension!)

Sadly it cannot work this way, as the file.exclude is not something this extension created, it is actual native ( e.g. "system" ) to VS Code.  All this extension is doing is managing those entries.  However, previous versions allowed users to delete them, and they would just come back if you removed them with a new VS Code update.  So, I needed to make a way to indicate which ones were system so you could not delete those, and only be able to delete the ones you created.  That was the actual intent behind the system label.
The system entries will always be whatever was in files.exclude as that is where VS Code stores them.  I also want to give the user the ability to toggle these values on and off, as there are times you do, in fact, want to see those system files ( like if you need to add a hook into your .git folder you need to be able to see it first ).
So, a lot of users will need access to these system excludes just as readily as the custom ones they created, and it's not technically possibly to differentiate between excludes.  VS Code literally only supports files.exclude and that is the reason I have a backup option so when you do a quick toggle of everything, I can restore what it used to be before you toggled everything.
Since this extension is limited to using files.exclude there is not much room to get creative.  It's the setting VS Code pays attentions to that came with their app.  All this extension does is just make it easier to manage what's inside it without forcing you to edit the JSON manually each time, which you would normally need to do.

previous versions allowed users to delete them, and they would just come back if you removed them with a new VS Code update. So, I needed to make a way to indicate which ones were system so you could not delete those, and only be able to delete the ones you created. That was the actual intent behind the system label.

Yeah totally!  I'm one of the users who did that, haha!  The system label is definitely an improvement.  Thank you!  :)

Sadly it cannot work this way, as the file.exclude is not something this extension created, it is actual native ( e.g. "system" ) to VS Code.

I know.  I was talking about creating a new explorerExclude setting that would live beside explorerExclude.backup named something like explorerExclude.addedSystemEntries.  Sorry if that wasn't clear.

there are times you do, in fact, want to see those system files ( like if you need to add a hook into your .git folder you need to be able to see it first ).

Totally.  That's why I'm suggesting that we only hide system settings which a files.exclude value of false, meaning they're already visible.  If you DON'T hide the true ones, then the user can (in your example) still see **/.git in the list, see that it's checked, and uncheck it if they want to mess with the git hooks.
Let me create a concrete example to explain what I mean.  Stay tuned...
Also, thanks for the super-quick response, but mind if we keep this issue open for a couple days while we discuss?  I would hate for you to reject my idea before I've managed to explain it well.  🙏

Imagine the workspace file contained this (without the comments of course!):
	...
	"settings": {
		"files.exclude": {
			// System entries
			"**/.git": true,
			"**/.svn": false,
			"**/.hg": false,
			"**/CVS": false,
			"**/.DS_Store": false,
			"**/Thumbs.db": true,

			// Entries I added using Explorer Exclude
			"test": false,
			"package-lock.json": true,
			"Resources/locales": true
		},
		"explorerExclude.backup": {
			// Not sure what's supposed to go here as mine is currently blank on this project.
		},
		"explorerExclude.addedSystemEntries": [
			"**/.DS_Store"
		]
	}
	...

Then with my proposal, the following would show up in the HIDDEN ITEMS panel:

In this case, **/.svn, **/.hg, **/CVS would be hidden because they're system entries that are not checked, and not in the addedSystemEntries set.  But the user doesn't need to see them because they're not doing anything.  They're not checked, so they're not hiding anything.
If the user unchecks **/.git, then the extension would add it to addedSystemEntries so that it would still be in the list (because it'd be really confusing if it just disappeared when you unchecked it!).
If the user right-clicks **/.DS_Store and chooses Remove from Hidden Items, the extension would just remove it from addedSystemEntries, causing it to disappear.
If the user right-clicks **/.Thumbs.db and chooses Remove from Hidden Items, the extension would do the same, but ALSO set it to false in files.exclude, matching the user's intention to make that file no longer hidden, but also to hide that system entry.
Does that make a bit more sense?  I kinda wish I could explain it by voice because I'm not great at explaining ideas like this in text alone.

Correction:  If this works as intended, the user wouldn't need to know if it's a system entry or not, so we could then remove those notes:

No, that's what I was saying, the system ones cannot be deleted as they will just get added back in.  So they do need to be shown differently.  If you right click an entry with the system label you cannot delete it now.  You can only delete the ones you created yourself.
In the previous version you could right click on a system one and delete it, and reports were coming back in about them reappearing, or in some cases, causing issues with VS Code.  And that's because they were not supposed to be deleted, just there for people to toggle on and off so they can see things that were hidden easier.  But technically they could still delete them in the old version of the extension.  And that caused confusion since they would come back and people thought it was my extension doing that.  This extensions just shows whats in your file.exclude so if that gets updated at all outside this extension, it's going to show up here.  That's the point of it, but an app update reshowing something you thought was deleted is confusing, so adding system and making it impossible to delete was the only real solution here.
You can still technically delete them just by editing your JSON, but they will come back sooner or later ;)

the system ones cannot be deleted as they will just get added back in.

I'm not suggesting you delete them from files.exclude.  I'm suggesting you hide some files.exclude entries from your UI by skipping them in this loop.
E.g. something like this:
  let list = excludes ? Object.keys(excludes) : []

  // We may not show all of the excludes in the UI, so let's use a separate array for the result
  let result = []

  for (let i = 0; i < list.length; i++) {
    let enabled = excludes[list[i]] ? 1 : 0

    // Old code:
    // list[i] = `${list[i]}|${enabled}`

    // New code:
    let isDefaultExclude = defaultExcludes.indexOf(list[i]) !== -1
    let isAddedSystemEntry = explorerExclude.addedSystemEntries.indexOf(list[i]) !== -1

    if (isDefaultExclude && isAddedSystemEntry && !enabled) {
      // Hide this entry from the UI
      continue
    }

    result.push(`${list[i]}|${enabled}`)
  }

To be more direct, I'm wondering if it's worth reconsidering this part specifically:

This extensions just shows whats in your file.exclude

My humble opinion is that you might be able to have a better UX if you deviated from showing that list verbatim in this case.

@TomGault sadly, no, VS Code uses files.exclude to do all sorts of magic. If I did not use that specific setting, I'd have to create an extension that duplicates what it does, which does not make sense to do since that's what that setting is designed to do.
This is a core setting offered by VS Code and all my extension does is just provide a UI panel to interact with that specific setting so it's easier to manage what you shown / hidden without having to manually edit the files.exclude setting, or need to learn how to write GLOB patterns.
The only actual custom setting my extension provides is a backup of that files.exclude settings, and even then, its only temporary when you want to quickly show everything that you had as hidden.  Then the backup is used to just make a quick copy of the native VS Code settings so they can be restored.
Still just using native files.exclude pretty much the entire time since it is used all over the place in VS Code.  Trying to duplicate what it does would be a nightmare as I'd be directly competing with the native setting that already does the same thing, just more confusing for people than anything else.

the system ones cannot be deleted as they will just get added back in.

I'm not suggesting you delete them from files.exclude. I'm suggesting you hide some files.exclude entries from your UI by skipping them in this loop.
E.g. something like this:
  let list = excludes ? Object.keys(excludes) : []

  // We may not show all of the excludes in the UI, so let's use a separate array for the result
  let result = []

  for (let i = 0; i < list.length; i++) {
    let enabled = excludes[list[i]] ? 1 : 0

    // Old code:
    // list[i] = `${list[i]}|${enabled}`

    // New code:
    let isDefaultExclude = defaultExcludes.indexOf(list[i]) !== -1
    let isAddedSystemEntry = explorerExclude.addedSystemEntries.indexOf(list[i]) !== -1

    // EDIT:  It should be !isAddedSystemEntry.  I was missing the `!` in my original.
    if (isDefaultExclude && !isAddedSystemEntry && !enabled) {
      // Hide this entry from the UI
      continue
    }

    result.push(`${list[i]}|${enabled}`)
  }

Regarding deleting, I was not saying I would delete them, I was saying that it was possible for people to delete them using my extension.  We need to show system excludes to allow people to turn them off.  We just can't really allow people to delete them either in my extension ( which they could do before ) as they were just getting added back in by VS Code and people that my extension was doing that, it was not.
So we want to show everything that is being excluded, plain and simple.  We just need to mark some way which ones came default, and which ones are custom.  system solves that now, and you can correctly toggle them on and off, but the actual settings cannot be deleted via this extension.  Only your custom ones can.


Can we use Vector tiles with Cesium Map?

I want to use Vector Tile with Cesium Map. If not, is there anyway to render 3D on cesium map using GeoServer .
Loading hug amount of json/topojson is crashing cesium map .

Hello @munna, Cesium suppports an experimental 3D tiles vector format.  You can find more information about that here: https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/3d-tiles-next/TileFormats/VectorData
If you have follow up questions about this, please ask on our forum: https://groups.google.com/forum/?hl=en#!forum/cesium-dev
We use GitHub exclusively for tracking bugs and planning new features.  Thanks!f

@munna I don't think there are any tools that are publicly available, but you can send an email to<EMAIL_ADDRESS>to ask about the beta version of our vector tiler.


feat: button exits osl sump

The forums indicated there wasn't the ability to exit sump mode, so I added the pirate button to do that: https://forum.buspirate.com/t/com-port-issues/247/59
There's not really a contribution guide, so here's what I did for testing:

build from clean source repo
tested with pulseview 0.4.2
connect to bp in binary mode /dev/ttyACM1
run a capture
push button - verified returned to serial prompt

As always, please let me know if I can provide additional details or a better test method.

I'll merge this, but the underlying issues should be solved shortly when the full binary mode is enabled.


Destroys Power Menu (w/ Dash To Panel)

Occasionally I'll encounter a power menu that does not work. All I'll see is multiple firefox output sliders on the upper half while clearly being cut off halfway down. I will admit that I think the issue lies somewhere in the interaction between this and Dash to Panel, but I am not clear on what exactly is happening here.
Nothing seems to appear in journalctl nor do I really know what causes this, but reloading the gnome shell does not fix it. My current best guess is it somehow does not like how many 'programs' it's seeing.
With APV:

Without APV:

I have not encountered it in a while so I'm going to assume it was either fixed or fixed itself somehow. Thinking about what apps have updated since the issue, it might have been Firefox's fault for spawning too many streams or something.


Add tests

switch to using a .env file instead of RSC_VERSION, etc.
change the build and post_push commands accordingly
add testing to the docker images (using goss)

@danielfrg up for a final pass on this one?

Nice, thanks for the updates to the readme, love the latest.
LGTM!


Full Chinese translation

Fixed bugs

A fairly good localization PR. @terrynmuse Just a reminder that your MapViewer's namespace is wrong(Summons.MapViewer while it's actually under Misc)

The MapObject text of SiblingPylon is missing

Did you forget to change the name of Overload Pumpkin Moon Medallion...?

@terrynmuse all moved to localization


Calling rem.getAll every time user clicks the block/roam buttons

https://github.com/esrever10/remnote-plugin-roaming/blob/7ccaeb89a03130b7a9dca613733433b3253653c7/src/widgets/roaming_widget.tsx#L168-L169
Calling rem.getAll every time user clicks the block/roam buttons might be slow for users with large KBs because it has to load all of the Rem in the user's knowledge base and serialize them and send to the plugin.
I think it's okay for now, but if users complain that it is slow, you could instead only set the total once when the widget first loads?

Nice suggestion.I will improve it.


DTD validation ignores undefined entities

The gist of this is that the DTD validation method returns true even if any unknown entities are encountered in the XML document.
Right now, as a workaround, I might hook into the XML error handler to catch the undefined entities myself, but that feels like the wrong way to go about things.
Is there a better way to accomplish this, or am I missing something obvious?
require 'xml'

xml = <<END
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE document SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">
<document>  &hello;</document>
END

# Note that the hellp entity is not defined
dtd = <<END
<!ELEMENT document (#PCDATA)>
<!ENTITY nbsp "value">
END
dtd = XML::Dtd.new dtd

XML::Error.set_handler do |err|
  # This is to show that the XML parser catches this as an error
  puts err.code_to_s
  puts err
end

# Call the XML parser
doc = XML::Document.string xml

# While the validator simply accepts the undefined entity as vallid
# and returns true
puts doc.validate dtd

Look at tc_dtd.rb line 73-75.  An exception is raised.
I think in this case one is not, because the original document is not valid and libxml flags that as an error.  So maybe the 2nd time it doesn't?


Dash in dist-name

I'm working on https://github.com/wikibusiness/aiohttp-remotes library
The library has a dash in the name but top level package is obviously named with underscore.
flit supports dist-name option: dist-name="aiohttp-remotes"
In this case flit build produces correct wheel and tarball names but pip install is screwed.
It actually installs the distribution (I could do import it etc.) but pip freeze don't see aiohttp-remotes installed in virtual environment, pip uninstall aiohttp-remotes fails -- no such library was installed from pip perspective.
As partial solution I've dropped dist-name directive from pyproject.toml.
What is recommended way for supporting dashes instead of underscores in package names?

It looks like the .dist-info folder needs the name to be normalised to use underscores. You're not doing anything wrong, it's just a bug in flit.
I think it also doesn't matter whether you use - or _ on PyPI - they'll both work for installing the package anyway. But we should make sure it works properly.

#150 should clear it up.

Recently linux package maintainers asked me to use dashes in library names (aiohttp-sesssion for example).
IIRC some linux distros use PyPI tarballs for automatic repackaging.
Is it possible to keep - in tarball and replace it with _ for wheel -- as setuptools already does?
P.S.
I'm trying to use flit in my new pure python projects and very happy with it.
Much less dances with deployment comparing to setup.py.
Very thank you and please keep the project going.
Supporting C Extensions is another pain, maybe I should try enscons

Once #150 is merged and released, you should be able to go back to what you were doing (dist-name = "aiohttp-remotes"), and it will hopefully work as you expect.
I'm puzzled why Linux distro maintainers should care, though. We have several Jupyter/IPython packages with underscores in the name (e.g. jupyter_core), and I don't recall anyone asking us to do it differently. It makes more sense to me to do it that way, because then the distribution name matches the import name.

PS Thanks, I'm glad you're enjoying using Flit!

I don't know.
Perhaps it depends on distribution tooling.
Anyway the change was easy for me and didn't break anything -- so why not?

No reason why not, I'm just not sure why - they must have tooling that can handle both. Anyway, it's a valid thing to do, so we'll ensure that it works.

Any plans for a new bugfix release?

Tada, 0.12.3 :-)

Thanks!


[4.0.0-alpha12] Metro error on Expo 51 / Web: Cannot access 'computedOffsetXValueWithAutoFillData' before initialization

Describe the bug
When starting up metro after migrating to Expo 51, carousel fails during initialization.
Screenshots
Metro error: Cannot access 'computedOffsetXValueWithAutoFillData' before initialization

   5 | });
   6 | exports.computedFillDataWithAutoFillData = computedFillDataWithAutoFillData;
>  7 | exports.computedOffsetXValueWithAutoFillData = computedOffsetXValueWithAutoFillData;
     |                                                ^
   8 | exports.computedRealIndexWithAutoFillData = computedRealIndexWithAutoFillData;
   9 | exports.convertToSharedIndex = convertToSharedIndex;
  10 |

Call Stack
  factory (node_modules/react-native-reanimated-carousel/lib/commonjs/utils/computed-with-auto-fill-data.js:7:48)
  loadModuleImplementation (node_modules/metro-runtime/src/polyfills/require.js:273:5)
  guardedLoadModule (node_modules/metro-runtime/src/polyfills/require.js:180:12)
  require (node_modules/metro-runtime/src/polyfills/require.js:89:7)
  factory (node_modules/react-native-reanimated-carousel/lib/commonjs/components/ItemRenderer.js:16:33)
  loadModuleImplementation (node_modules/metro-runtime/src/polyfills/require.js:273:5)
  guardedLoadModule (node_modules/metro-runtime/src/polyfills/require.js:180:12)
  require (node_modules/metro-runtime/src/polyfills/require.js:89:7)
  factory (node_modules/react-native-reanimated-carousel/lib/commonjs/components/Carousel.js:16:21)
  loadModuleImplementation (node_modules/metro-runtime/src/polyfills/require.js:273:5)

Versions (please complete the following information):

react: v18.2.0
react-native: v0.74.1
react-native-reanimated: v3.10.1
react-native-reanimated-carousel: v4.0.0-alpha.12
react-native-gesture-handler: v2.16.2

Additional context
Using metro to build web.

same

Having the same issue

+1

I wonder if this is related to Babel's config? The React Native Reanimated docs requires react-native-reanimated/plugin to be added to the babel config to make worklets function properly. And I notice that computedOffsetXValueWithAutoFillData() uses a "worklet"
I'm using Expo and getting the same Metro error: Cannot access 'computedOffsetXValueWithAutoFillData' before initialization error when running in the browser. I added the plugin to babel.config.js, but still getting it – not sure what to do

Possible workaround: Add "@babel/plugin-transform-block-scoping" to my babel.config.js plugins list

Got this idea from this react-native-reanimated issue
I'd rather not need to add "@babel/plugin-transform-block-scoping" to my plugin list just for this issue, but at least it seems to work 😃

Possible workaround: Add "@babel/plugin-transform-block-scoping" to my babel.config.js plugins list

Got this idea from this react-native-reanimated issue
I'd rather not need to add "@babel/plugin-transform-block-scoping" to my plugin list just for this issue, but at least it seems to work 😃

This solution does not seem to work for me. I am using a Windows and using the Web version for testing.

I found the solution. As mentioned earlier, this issue is because of a circular dependency in react-native-gesture-handler. I found the circular issue here. Which references another PR that solved the circular dependency.
The solution is to simply upgrade the react-native-gesture-handler to the latest 2.18.1 by running
npm install --save<EMAIL_ADDRESS>

I found the solution. As mentioned earlier, this issue is because of a circular dependency in react-native-gesture-handler. I found the circular issue here. Which references another PR that solved the circular dependency.
The solution is to simply upgrade the react-native-gesture-handler to the latest 2.18.1 by running
npm install --save<EMAIL_ADDRESS>

your solution does not working my project
I am react-native-gesture-handler package has  upgrade 2.18.1 but same error
what your use expo version?

The solution is to simply upgrade the react-native-gesture-handler to the latest 2.18.1 by running

This doesn't seem to work for me, even after updating to react-native-gesture-handler 2.18.1. I also tried 2.19.0, still no luck.

The solution is to simply upgrade the react-native-gesture-handler to the latest 2.18.1 by running

This doesn't seem to work for me, even after updating to react-native-gesture-handler 2.18.1. I also tried 2.19.0, still no luck.

Same here, tested 2.20.0 and no luck either

If you're using react-native-reanimated-carousel in an Expo project, you can try the following method:
First, customize the metro configuration by running npx expo customize metro.config.js
Then modify the code in the metro.config.js file to the following:
/* eslint-env node */
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
const path = require('path');

/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);

config.resolver.resolveRequest = (context, realModuleName, platform) => {
  if (realModuleName === 'react-native-reanimated-carousel') {
    return {
      filePath: path.resolve(__dirname, 'node_modules/react-native-reanimated-carousel/lib/module/index.js'),
      type: 'sourceFile',
    };
  }
  return context.resolveRequest(context, realModuleName, platform);
};

module.exports = config;

Thanks @ystrdy !
I can confirm that doing this fixes the problem.
I was previously using @resticker 's solution. With @ystrdy 's solution I was able to remove the babel plugin and its working fine.
This solution should be added to the docs IMO, specially considering Expo is being recommended by default by RN now.

same here.

Thank you @ystrdy ! Your solution worked for me!

expo: ~51.0.39 => 51.0.39
react-native: 0.74.5 => 0.74.5
react-native-web: ~0.19.10 => 0.19.12

I found I was having two problems.
1

upgrade to<EMAIL_ADDRESS>
So this actually fixes the following warning:
WARN  Require cycle: node_modules/react-native-gesture-handler/lib/commonjs/RNGestureHandlerModule.web.js -> node_modules/react-native-gesture-handler/lib/commonjs/web/Gestures.js -> node_modules/react-native-gesture-handler/lib/commonjs/web/handlers/PanGestureHandler.js -> node_modules/react-native-gesture-handler/lib/commonjs/web/handlers/GestureHandler.js -> node_modules/react-native-gesture-handler/lib/commonjs/handlers/gestureHandlerCommon.js -> node_modules/react-native-gesture-handler/lib/commonjs/RNGestureHandlerModule.web.js

2

If you're using react-native-reanimated-carousel in an Expo project, you can try the following method:
First, customize the metro configuration by running npx expo customize metro.config.js
Then modify the code in the metro.config.js file to the following:
/* eslint-env node */
// Learn more https://docs.expo.io/guides/customizing-metro
const { getDefaultConfig } = require('expo/metro-config');
const path = require('path');

/** @type {import('expo/metro-config').MetroConfig} */
const config = getDefaultConfig(__dirname);

config.resolver.resolveRequest = (context, realModuleName, platform) => {
  if (realModuleName === 'react-native-reanimated-carousel') {
    return {
      filePath: path.resolve(__dirname, 'node_modules/react-native-reanimated-carousel/lib/module/index.js'),
      type: 'sourceFile',
    };
  }
  return context.resolveRequest(context, realModuleName, platform);
};

module.exports = config;

This fixes the computedOffsetXValueWithAutoFillData issue.
Are us metro users stuck with this approach forever? It's a circular dependency issue. Will there be a cleaner fix?
3 (bonus)
I jumped onto react-native-reanimated-carousel": "4.0.0-canary.17, although not totally necessary.
PS. wen v4 release?!


Fixing port request actions

It seems that the actions folder was accidentally deleted causing the port request labeler workflow to fail when it tried to compile it
This pr brings it back from release/1.36 branch (The latest release to have it before it was deleted)
This PR fixes #19682

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 42.403%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
28419

Relevant Lines:
62563

💛  - Coveralls

It wasn't on accident - I did it on purpose in https://github.com/microsoft/azuredatastudio/pull/19283 since I thought we weren't using it anymore.
It looks like VS Code has moved all their actions to a separate repo : https://github.com/microsoft/vscode-github-triage-actions
For now bringing this back for now is fine, but could you take the opportunity to look through that repo and update our stuff with what they have there in case there's fixes or improvements made we can pull in?

@Charles-Gagnon, I looked into https://github.com/microsoft/vscode-github-triage-actions. We can fork the repo and make our own action using the apis they have created. However, I think it will be a decent amount of engineering work for a very small task. My recommendation is to keep using the old action for now. We can have DRI discussion to figure out if we want to migrate to the vscode actions. They do have auto labelling, auto assign and other fun stuff.

I definitely don't think we should be forking their repo, that's a lot of overhead for something we barely use. Bringing back the original code is fine, but I'm going to follow up with updating the code here with what's in their repo (mostly for the dependencies) to ensure that we have the latest fixes for everything.

@aasimkhan30 Is this waiting on anything?

@Charles-Gagnon, the macOS CI workflow has failed twice on the same test. I will merge from the main and see if everything passes before merging it in.