DataCite enhance metadata -> Citations, relatedIdentifiers

Is your enhancement request related to a problem? Please describe.
Users are allow to add citations for each project. Two use cases are to add the citation of 1) the corresponding article and 2) other corresponding datasets.
After adding a citation (please also see #1026), user cannot selected a relatedIdentifier. For a dataset corresponding to an article, the relatedIdentifier should be IsSupplementTo and also for another dataset, where only the NMR data also got published again in nmrXiv, the relatedIdentifier could be IsSupplementTo.
Describe the solution you'd like
User need to be able to select a relatedIdentifer for a citation, which has a DOI. I agree that the list of relatedIdentifiers provided in the DataCite schema documentation is quite long and the whole list could be confusing to users.
Describe alternatives you've considered
Instead of providing the full list of relatedIdentifiers, one could additional imagine a grouped list with the most often used relationTypes at the beginning of that list, possibly with a tooltip on more information on that.
Best,
Tillmann

Good afternoon @tilfischer
In our implementation we already do what you suggest if I didn't misunderstand you, the DOI of the citation is provided as related identifier of type is supplemented to

Please let me know if this solves the issue or if you need more details

This fits for adding a citation to a corresponding article. However, if another dataset is data this would not be the right relation type. There are numerous other use cases, hence, users should be able to select a relation type.
As highlighted above, I would not provide the long and confusing list but sort this somehow by grouping the most relevant ones (IsSupplementTo, IsSupplementeyBy, hasPart, IsPartOf) possibly with a tooltip for guidance.

To ensure consistency, we are not allowing the user to pick the relation types while we are assigning them behind the scene.
We already offer has part and is part of to link the project, sample, spectra. And we offer IsSupplementTo for the citation. I think we only need to clarify the meaning of citation more in the UI. If you still believe there are important relations missing we can add the corresponding fields. Does this solve the issue?

Yes. No choice but a proper choice behind the scenes is also a good choice. An additional option could be to pick IsSupplementTo for a citation with a DOI registered with Crossref and can be validated against api.crossref.org (by assuming this is an article, as it was registered with Crossref) and pick hasPart for a DOI registered with DataCite and can be validated against api.datacite.org .
Best,
Tillmann


Added French Translation

@charlesmilette Looks like your changes needs to be re-done as well. Please refer to the comments for another pull request https://github.com/firstfloorsoftware/mui/pull/96

Or not, if it look ok in French like it look in English)

Just up to you, guys. As for me, it should be changed for English as well to be standard and consistent.

changed for English as well to be standard and consistent.
Sounds good. Especially since all-lower-case style is not suitable for the German.

@kozw Sorry for troubling you. Could you please provide your vision? Is it good idea to change the resource strings to have each string started with upper-case letter for English resources?

Starting with an upper-case letter is a matter of taste. When I started this project, I liked it, now I'm not too thrilled about it and would suggest to capitalize the resource strings.

There are conflicts with this branch. Care to submit a new PR based on the most recent master?

I don't have VS installed right now, because I clean installed Windows since I made this PR. But you can take the strings I wrote and directly add them to the project, I don't really care.

Fixed in https://github.com/firstfloorsoftware/mui/commit/cbd78931b5ffd1a77c8a82a423100e11015203c2


[5.1] Fix return value for getRelatedIds

To avoid confusion.

Are you sure

https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Query/Builder.php#L1533

Oh right: https://github.com/laravel/framework/blob/5.1/src/Illuminate/Database/Eloquent/Builder.php#L242.

Was changed in https://github.com/laravel/framework/commit/016cc0c8ae7010166699fa73f9196305ac3690b9.


How to fix broken textures?

As shown in the attached photo, several of the custom chickens I created display with the "broken texture" texture. How do I add the appropriate texture? If this isn't currently possible, could a line be added in the config of a future version to allow custom textures?

You can add custom textures via a resource pack, I would recommend looking at StoneBlock3 and how they handled adding custom chickens


Resolves blank chart when choosing .large option.

Was an issue with the lower height on the large option.

Hi, thanks for contributing. Sorry I didn't merge this PR, in the meantime so many PR and Issues piled up and the project was not very expandable and flexible I decided to go with a version 2.0 So until it's release I can't merge this request. I made the new planned release contribution friendly so if you'd like to check it out please got to #89
Thanks again!


Key (circumflex) isn't recognized

I'm not entirely sure if this is related to #392 and maybe alacritty isn't the issue here but rather https://github.com/tomaka/glutin. I'm using a German keyboard and had to manually bind some keys, because they weren't recognized. So far everything works, but if I try to bind keys to the circumflex key, I get following output:
glutin event: WindowEvent { window_id: WindowId(Id(140574848048336)), event: KeyboardInput { device_id: DeviceId(DeviceId), input: KeyboardInput { scancode: 10, state: Pressed, virtual_keycode: None, modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }

Keys I had to manually bind:
  - { key: Key5,     mods: Alt,           chars: "\x5b"                        }
  - { key: Key6,     mods: Alt,           chars: "\x5d"                        }
  - { key: Key7,     mods: Alt,           chars: "\x7c"                        }
  - { key: Key7,     mods: Shift|Alt,     chars: "\x5c"                        }
  - { key: Key8,     mods: Alt,           chars: "\x7b"                        }
  - { key: Key9,     mods: Alt,           chars: "\x7d"                        }
  - { key: Equals,                        chars: "\xb4"                        }
  - { key: Equals,   mods: Shift,         chars: "\x60"                        }
  - { key: N,        mods: Alt,           chars: "\x7e"                        }
  - { key: L,        mods: Alt,           chars: "\x40"                        }

So it seems like the key isn't attached to any virtual key? Is there something I'm missing or is this a bug?

Sounds like a bug; would need to be fixed in winit.

Same happens to me with a Spanish keyboard (backslash key):
glutin event: WindowEvent { window_id: WindowId(Id(140525160286544)), event: KeyboardInput { device_id: DeviceId(DeviceId), input: KeyboardInput { scancode: 10, state: Pressed, virtual_keycode: None, modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }

Thank you @OkanEsen for your bindings, I also had to manually bind some keys.

To finally get some closure: https://github.com/jwilm/alacritty/pull/1155


Empty Day is not a matching aria-label; use article instead

If you're looking for possible ARIA roles that could be relevant in representing the concept of an "empty day" within a web application or interface, here's a role that you could consider:
"article": The article role can be used to mark a section of content that is considered independent and self-contained. In the context of an "empty day," you can consider marking the entire day as an "article" to indicate that it is a distinct unit with no specific tasks or events. This role is more suitable when you have a container representing the day, and you want to mark it as an empty entity.

Good idea, mind submitting a pr?

Sure thing!

https://github.com/zackify/react-calendar/pull/22

https://github.com/zackify/react-calendar/releases/tag/0.3.2


False positive for incorrect configuration check

Build scan link
I can privately provide one if needed.
Plugin version
0.71.0
Gradle version
6.8.2
Android Gradle Plugin (AGP) version
4.1.2
Describe the bug
I'm getting this report
Existing dependencies which should be modified to be as indicated:
- testApi("io.reactivex.rxjava2:rxjava:2.2.15") (was api)

However this I have this method in my project:
inline fun <T, R> Single<ApiResult<T>>.mapSuccess(crossinline mapper: (T) -> R): Single<ApiResult<R>> {
    return map { it.mapSuccess(mapper) }
}

This is the API dump of the file:
@Lkotlin/Metadata;
public final class com/freeletics/core/network/ApiResultKt {
	public static final fun mapSuccess (Lcom/freeletics/core/network/ApiResult;Lkotlin/jvm/functions/Function1;)Lcom/freeletics/core/network/ApiResult;
	public static final fun mapSuccess (Lio/reactivex/Single;Lkotlin/jvm/functions/Function1;)Lio/reactivex/Single;
}

While it actually compiles after applying the suggested change, Android Studio is not able to find io.reactivex.Single anymore.

Hi @gabrielittner , thanks for the report. Is that function in your main or test source set?

It's in the main source set

Could you provide a reproducer and a build scan link? You can find me in the gradle community slack.

Seems like I have the same issue. It can be reproduced only with non-standard sources layout.
This example:
repr369.zip
contains two folders with the same code: 8 with non-standard sourceSets, 9 with standard sourceSets.
Running the plugin on folder 8 gives:
Advice for root project
Existing dependencies which should be modified to be as indicated:
- testApi("com.google.guava:guava:30.1.1-jre") (was api)

while running it on folder 9 finds no problems.

@gabrielittner could you try again with the latest snapshot? I just fixed another issue that seems similar, regarding test vs main source sets.

I can confirm that it's fixed with the snapshot


Update content pre go-live

This PR addresses some issues noticed by our designer in the existing content of the app. It makes the following changes:

Adds a '.' at the end of the Green delivery status radio hint.
Changes references of 'submit' to 'confirm' in the check your answers page of the monthly update.
Makes dates consistently formatted - 1 December 2020 or 1 Dec 2020 when there's less space.
Aligns the 'Last submitted date' on the homepage table right-aligned as per the designs.

Jira ticket RT-285

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@69999c9). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #71   +/-   ##
=======================================
  Coverage        ?   97.83%
=======================================
  Files           ?       53
  Lines           ?     3472
  Branches        ?        0
=======================================
  Hits            ?     3397
  Misses          ?       75
  Partials        ?        0

Continue to review full report at Codecov.

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


feat/shadow-and-horizontal-scroll

Please review before merging.

:tada: This PR is included in version 1.34.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add add_dotnet_test_project

Used to add test *.csproj files without generating them from cmake.
New variants of add_dotnet_*
The base branch feature-include-csproj and this branch adds the posibility to use your own *.csproj files instead of generating one with cmake.
This makes it easier to use advanced *.csproj features needed for ASP.NET as the developer can directly manipulate the .csproj file.
This is how the new commands corespond to the existing ones:
add_dotnet_executable -> add_dotnet_executable_project
add_dotnet_library -> add_dotnet_library_project
add_dotnet_test -> add_dotnet_test_project

Example:
...
set(_assemblies_dep_dlls
    ${rcldotnet_common_ASSEMBLIES_DLL}
    ${rcldotnet_ASSEMBLIES_DLL}
    ${std_msgs_ASSEMBLIES_DLL}
    ${std_srvs_ASSEMBLIES_DLL}
)

add_dotnet_executable_project(RosBlazorExample
  PROJ
  src/RosBlazorExample/RosBlazorExample.csproj
  INCLUDE_DLLS
  ${_assemblies_dep_dlls}
)
...

RosBlazorExample.csproj needs to import a generated file for this to work:
  <Import Project="obj/CMake.g.props"/>

New options for install_dotnet()
CD_TO_EXECUTABLE
This option changes the entry point script to change the working directory to the directory of the dotnet executable dll. his is usefull for ASP.NET projets as they expect the resources relative to pwd.
ENTRY_POINT_NAME
This option changes the name of the entry point script. This is the name which ros2 run uses to start the executable.
Example:
...
add_dotnet_executable_project(RosBlazorExample
  PROJ
  src/RosBlazorExample/RosBlazorExample.csproj
  INCLUDE_DLLS
  ${_assemblies_dep_dlls}
)

install_dotnet(RosBlazorExample
  CD_TO_EXECUTABLE
  ENTRY_POINT_NAME
  ros_blazor_example
  DESTINATION
  lib/${PROJECT_NAME}/dotnet
)
...

can't say much about these kind of features - but formally they look consistent
@hoffmann-stefan can you also add this repo to the Mojin Teams (mojin-push, mojin-pull, etc) so we have the correct access?
(atm I dont have write-access which is different from https://github.com/schiller-de/smr_path_planning

@fmessmer forgot to add any teams when forking this repo. Now the setup is like the internal ones.


setup: db init when PostgreSQL database exists

When installing Invenio v3.0 on PostgreSQL, and when the database already exists, the db init command leads to troubles, see Invenio's kickstart scripts.  Investigate this.

one can use http://sqlalchemy-utils.readthedocs.org/en/latest/database_helpers.html#database-exists

Unfortunately that's not enough due to template1 business that SQLAlchemy-Utils is doing:
$ git grep -C 2 template1
sqlalchemy_utils/functions/database.py-
sqlalchemy_utils/functions/database.py-    if url.drivername.startswith('postgresql'):
sqlalchemy_utils/functions/database.py:        url.database = 'template1'
sqlalchemy_utils/functions/database.py-    elif not url.drivername.startswith('sqlite'):
sqlalchemy_utils/functions/database.py-        url.database = None

Hence I'll push a PR against Invenio-DB and amend Invenio's kickstart scripts at the same time to include template1 to the list of permitted databases.  This fixes the issue.


[Clarification] ParallelEnv and _MultiDataCollector

Currently there is the option to distribute the sampling phase on different processes using the ParallelEnv and _MultiDataCollector classes.
My question is:
are these two paradigm alternative?
Or is using only one of them stricly faster?
What are the advantages of each?
I would imagine that having one collector with N parallel envs requires only one forward pass of the policy per timestep, while having the sampling divided among M collectors will require M forward passes of the policy.

Thanks for posting this.
These are compatible tools, not alternatives.
Here's how it works:
ParallelEnv just executes step and reset on spawn processes. It does not interact with the policy (except for the rollout method).
The collectors take an environment (or several) and collects rollouts for you.
There are three types:

SyncData collector: executes everything on the same process.
MultiaSyncDataCollector: launches as many procs as there are envs provided. In each, it runs a separate SyncDataCollector and returns the results with a first-comes-first-served async method
MultiSyncDataCollector: launches as many procs as there are envs provided. In each, it runs a separate SyncDataCollector and returns the stack of the results collected in each proc

With the collectors, you can tell how much data you want in each batch, how long the trajectories should be, what is the total number of frames that you want to collect before reaching a StopIteration etc. Another big advantage is that (unlike what ParallelEnv offers) you can run the separate processes on separate devices. This can dramatically speed things up if you have heavy cuda operations during collection.
Finally, the collectors will separate the batches collected since the reset may differ on different processes. In other words, if you want it (split_traj=True) you can get padded trajectories returned to you.
In each, the policy is executed on the tensordict just collected (if the env is batched, you will benefit from vectorization).
e.g.
kwargs = {"total_frames": 1_000_000, "frames_per_batch": 128}

# the simplest collector: 1 env
collector = SyncDataCollector(lambda: GymEnv("Pendulum-v1"), RandomPolicy(action_spec), **kwargs)

for data in collector:
    print(data)
    break

# A multiprocess collector: 2 envs
collector = MultiaSyncDataCollector([lambda: GymEnv("Pendulum-v1")] * 2, RandomPolicy(action_spec), **kwargs)

for data in collector:
    print(data)
    break

# A multiprocess collector, where each process launches its own ParallelEnv: 2 * 4 envs = 8 envs
collector = MultiaSyncDataCollector([ParallelEnv(4, lambda: GymEnv("Pendulum-v1"))] * 2, RandomPolicy(action_spec), **kwargs)

for data in collector:
    print(data)
    break

# A multiprocess collector, where each process launches its own ParallelEnv on a separate device: 2 * 4 envs = 8 envs
collector = MultiaSyncDataCollector([ParallelEnv(4, lambda: GymEnv("Pendulum-v1"))] * 2, RandomPolicy(action_spec), devices=["cuda:0", "cuda:1"], passing_device=["cuda:0", "cuda:1"], **kwargs)

for data in collector:
    print(data)
    break

In this way, you can fine tune your collection to take the maximum advantage of the processes you have.
In our benchmarks, this way of splitting the responsibilities provides important speed-ups in data collection (2-4x for Atari games for instance, 1.5-2x for habitat etc).

We should document this better. I will check that this is explicitly written in the doc.

Thanks for the clarifications!


backup: allow to backup during the flashback

Signed-off-by: JmPotato<EMAIL_ADDRESS>What is changed and how it works?
Issue Number: ref #13787, close https://github.com/pingcap/tidb/issues/39639.
What's Changed:
Allow to backup during the flashback by passing the flashback flag.

Check List
Tests

Unit test
Integration test

Release note
None.

/hold

@sticnarf Sorry to bother you again, but could you please help merge this PR? Thx.

/merge


feature(Docs): Add styled-components to docs.

Add styled-components section to docs.

Fixed with 1.2.0


How to work with booleans?

I'm having difficulties getting this to work with toggling booleans.
component:
...
booleanValue: false,
...

template:
my value: {{booleanValue}}
{{x-toggle value=booleanValue onToggle=(mut booleanValue) theme='light' size='large'}}
```

.. then the output is either `my value: on` or `my value: off`. Is it possible to simply toggle between `true` and `false`?

See the first example here https://github.com/knownasilya/ember-cli-toggle#labels

@knownasilya thank you, this works. In my opinion, this API is fairly unintuitive and unusual. To set possible toggle values in a string, and pass it in a property named onLabel/offLabel just seems kinda odd. I'm wondering what led you to this decision in the latest major release? On the other hand, thanks a lot for making and maintaining this add-on, I use it in a couple of projects.

Mainly it was from a contributors PR. I'm open for alternatives.


Sentence Split

hi, I want to know how do you divide a document into some sentences? In your code, I found that you treated each word as a sentence. Is it right?

Please refer to the data preprocessing code here
The raw document itself has separated sentences. The Stanford tokenizer will further tokenize each sentence to words.

closing due to inactivity, hope the preprocessing code solves your issue.


feat(nostr): support permission vor signMessage #1727

Describe the changes you have made in this PR
Currently this is PoC on how to use a signMessage-permission to make posts on i.e. branle without the need to confirm every post via Alby.
Some thoughts

permissions are stored with an allowanceId
to use a permission we need an allowance
if the saved permission is used to do a post the extension needs to be unlocked or a unlock must be prompted
currently unlock is only being prompted via enable
enable is not needed for nostr (it's not using webln)
worked around it to use it anyways to:

create an allowance if non existing yet
unlock extension if needed

Further thoughts regarding permissions and saving those

would be nice to type the used/possible permissions
started this by just allowing signMessage for now
this fails in request.ts because there it's just any string with a webln/prefix.

I guess this will be tackled here: https://github.com/getAlby/lightning-browser-extension/pull/1752/files#diff-82b11e63afd4e5a1aeac4c0023524f3d17f0aafecac1a8017236bb8f210082d0R82

Link this PR to an issue [optional]
Fixes #1727 (partly)
Type of change
(Remove other not matching type)

feat: New feature (non-breaking change which adds functionality)

Screenshots of the changes [optional]
Add screenshots to make your changes easier to understand. You can also add a video here.
How has this been tested?
Manually

The connect screen currently explicitly mentions lightning, should we maybe have a more general "connect" dialog?

What could be a general replacement for the two static request items?
I.e. "Allow [host] to connect to Alby"?

any reason why we don't do it the same way as in Lisa's ln/request function?

You mean using first? Did that now

the concept is a different one where the permission is saved.
https://github.com/getAlby/lightning-browser-extension/blob/master/src/extension/background-script/actions/ln/request.ts#L67-L78

the concept is a different one where the permission is saved. https://github.com/getAlby/lightning-browser-extension/blob/master/src/extension/background-script/actions/ln/request.ts#L67-L78

You mean where in case of what exactly?
Should I save it from within signEventOrPrompt?
Should I not use the API?


fix(versions): update Activiti/activiti-cloud-dependencies versions into develop

UpdateBot pushed maven dependency: org.activiti.cloud.notifications.graphql:activiti-cloud-notifications-graphql-dependencies to: 7.1.69

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.notifications.graphql:activiti-cloud-notifications-graphql-dependencies 7.1.69


Support for testing system web browser and Android Custom Tabs

Description
Hi, I have an app which uses expo's AuthSession to authenticate users. Under the hood, on Android this uses Custom Tabs to open the browser and direct the user to the auth flow.
Will Detox support testing this use case or is it outside the scope of the project? Thanks!
Your environment
Detox version: 20.18.5
React Native version: 0.71.12
Node version: 21.6.2
Device model: Pixel_8_Pro_API_34
OS: macOS 14.2.1
Test-runner (select one): jest

@crazyvan, hi, could you elaborate more, please? It seems that we have now some feature parity between iOS/Android regarding web views, but I have a gut feeling that your problem is slightly more intricate than that.

After opening the app, you're presented with a Log in button.
On tap, Expo's AuthSession library is used to perform a browser based OAuth flow:

an instance of AuthRequest is created and configured.
eventually, a call to AuthRequest.promptAsync opens up a Custom Tab on Android which takes you to an auth provider log in page where you enter an email address and a one time password. I'm not able to fill in the inputs for these using Detox as a web view is not used.
if the authentication is successful, the auth provider redirects back to the app which handles the redirect.

A more brief description of the flow can also be found here.

Very similarly I have an App using Okta react native browser based authentication but cannot find if Detox supports testing screens behind such login.

+1 I have exactly the same scenario as crazyvan.
web.element doesn't see the webview.


[SPARK-49888] Use registry.k8s.io/pause:3.9 to avoid failure deterministically

What changes were proposed in this pull request?
This PR aims to use registry.k8s.io/pause:3.9 to avoid failure deterministically.
Why are the changes needed?
pause image seems to support multi-arch since 3.1. In some K8s clusters, the example fails due to the architecture issues. To avoid architecture failure like the following, we had better specify the version.
$ kubectl logs -f cluster-with-template-master-0 -c sidecar
exec /pause: exec format error

Does this PR introduce any user-facing change?
No,
How was this patch tested?
Manual review.
Was this patch authored or co-authored using generative AI tooling?
No.

Thank you, @viirya . Merged to main.


Update minimal Rust version to 1.47.

This version is required to allow removing the pin on hyper. As Alpine 3.13 now has updated to a newer Rust version, we can update.
This also updates the Dockerfile to use Alpine 3.13.5 for both stages. Previously, the second stage was still using 3.11 (Alpine, not Windows) for some reason.

Iirc the krill dockerfile was using an arg to make sure that the same container was used. You may want to copy that trick here to prevent them diverging again.


[POL-161] Remove RAS linking UI from staging

One line change to hide the RAS linking UI on staging in order to match prod

@kyuksel Sorry about that, fixed now.

Sorry about that, fixed now.

@Shakespeared No worries. Just wanted to save you some hassle later 😊

@Shakespeared would you be able to get another 👍🏼  from your team so we can merge this PR?

@Shakespeared would you be able to get another 👍🏼 from your team so we can merge this PR?

Sure thing, I'll get that thumbed today!


is there a way to move functions, classes, blocks to another file?

extract doesn't seem to work well. it always tries to create a function instead of just moving it to the new/existing file and update the imports.

Extract is supposed to always create a function and those plugin currently does not modify import statements


[CTS] CmdBindIndexBuffer doesn't update pCB->currentDrawData.buffers

Running CTS dEQP-VK.glsl.constant_expressions.trivial.float_vertex, I'm seeing:
location: 2892 msgCode: 18: The Pipeline State Object (0x10) expects that this Command Buffer's vertex binding Index 1 should be set via vkCmdBindVertexBuffers
Looking more closely, this is coming from core_validation 2890 from a call to CmdDrawIndexed:
for (size_t i = 0; i < pPipe->vertexBindingDescriptions.size(); i++) {
    if ((pCB->currentDrawData.buffers.size() < (i + 1)) || (pCB->currentDrawData.buffers[i] == VK_NULL_HANDLE)) {
result |= log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, (VkDebugReportObjectTypeEXT)0, 0,
The api_dump shows:
t{0} vkCmdBindVertexBuffers(commandBuffer = 0x3e37ad0, firstBinding = 0, bindingCount = 1, pBuffers = 0x7ffe8852b610, pOffsets = 0x7ffe8852b620)
t{0} vkCmdBindIndexBuffer(commandBuffer = 0x3e37ad0, buffer = 0x1, offset = 0x20, indexType = VK_INDEX_TYPE_UINT16)
t{0} vkCmdDrawIndexed(commandBuffer = 0x3e37ad0, indexCount = 6, instanceCount = 1, firstIndex = 0, vertexOffset = 0, firstInstance = 0)
and I see that CmdBindVertexBuffers updates pCB->currentDrawData.buffers but CmdBindIndexBuffer does not, and perhaps it should?

This stopped failing with the latest vulkan-cts-1.0-dev build of CTS


Peer review - Live Demo

Feedback

There is no Actor Diagram and Interaction Diagram available yet so I have no idea if it matches your code. 😞
Based on your explanation in your README, it is clear what I could expect with your live demo. ✅
I myself would have made the application a bit more exciting. But maybe you can still do this (even if it's small things) and maybe still focus on the styling? I know that you are good with styling and CSS ! 👍 👍

To Solve This Issue:

[x] Make your site a bit more exciting (styling / general concept).

Styling and overall experience has been improved.


Add missing parenthesis

Hi @alaatm, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

LGTM! Thanjs @alaatm!


Adds support for filtering sig table by match status

fixes https://issues.redhat.com/browse/YARA-19
lookin like...

@AllenBW I'd go with these options to keep it consistent with labels in a table:

Matched
Enabled
Disabled

The "All" option would be helpful if we didn't display disabled signatures. But, IMHO we should show everything by default without "All" option in a filter. It means > if you clear the filter >>> see everything.
Btw. I'm assuming that we don't have any disabled signatures yet when we don't have the option to disable it.

@AllenBW I'd go with these options to keep it consistent with labels in a table:

Matched
Enabled
Disabled

The "All" option would be helpful if we didn't display disabled signatures. But, IMHO we should show everything by default without "All" option in a filter. It means > if you clear the filter >>> see everything.
Btw. I'm assuming that we don't have any disabled signatures yet when we don't have the option to disable it.

@doruskova while in the same column, they are not the same filter
matched, not matched, and all are the three options we got, or different wordings of em

@doruskova while in the same column, they are not the same filter
matched, not matched, and all are the three options we got, or different wordings of em


Add Kotlin Port

Hi David,
Big fan of your library!
I created a pure Kotlin port of it: https://github.com/brian-norman/RandomKolor

Thanks!


python311Packages.django-compressor: 4.4 -> 4.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.django-compressor is: Compresses linked and inline JavaScript or CSS into single cached files
meta.homepage for python311Packages.django-compressor is: https://django-compressor.readthedocs.org/
meta.changelog for python311Packages.django-compressor is: https://github.com/django-compressor/django-compressor/blob/4.5/docs/changelog.txt
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.5 with grep in /nix/store/d6fckixrqgamq55iq1jpg044k5f1dbvy-python3.11-django-compressor-4.5
found 4.5 in filename of file in /nix/store/d6fckixrqgamq55iq1jpg044k5f1dbvy-python3.11-django-compressor-4.5

Rebuild report (if merged into master) (click to expand)

10 total rebuild path(s)

10 package rebuild(s)

First fifty rebuilds by attrpath

healthchecks
mailman-web
pretalx
pretix
python311Packages.django-compressor
python311Packages.django-libsass
python312Packages.django-compressor
python312Packages.django-libsass
seahub

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/d6fckixrqgamq55iq1jpg044k5f1dbvy-python3.11-django-compressor-4.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.django-compressor https://github.com/r-ryantm/nixpkgs/archive/b15911a247b6abeb4defb9d324956d1caa4b76e7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/b15911a247b6abeb4defb9d324956d1caa4b76e7#python311Packages.django-compressor

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/d6fckixrqgamq55iq1jpg044k5f1dbvy-python3.11-django-compressor-4.5
ls -la /nix/store/d6fckixrqgamq55iq1jpg044k5f1dbvy-python3.11-django-compressor-4.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

6 packages failed to build:

pretalx
pretalx.dist
pretalx.static
pretix
pretix.dist
seahub

11 packages built:

healthchecks
mailman-web
mailman-web.dist
python311Packages.django-compressor
python311Packages.django-compressor.dist
python311Packages.django-libsass
python311Packages.django-libsass.dist
python312Packages.django-compressor
python312Packages.django-compressor.dist
python312Packages.django-libsass
python312Packages.django-libsass.dist

Maintainer pings
cc @desiderius for testing.

Already on master.


Networking conformance tests fail in mesh mode

Expected Behavior
Networking conformance tests pass for a Knative Serving + Istio + net-istio (mesh mode enabled) cluster.
Actual Behavior
This test fails with an error like:
util.go:535: Attempt 0 creating service failed with: Service "ingress-conformance-0-visibility-psziwmpb" is invalid: spec.externalName: Required value
visibility.go:84: Error creating Service "serving-tests/ingress-conformance-0-visibility-psziwmpb": Service "ingress-conformance-0-visibility-psziwmpb" is invalid: spec.externalName: Required value

Steps to Reproduce the Problem

On a new cluster, install Knative Serving, Istio (with sidecar injection enabled), and net-istio.
Enable mesh mode via this property in configmap/config-istio.
Run the networking conformance tests.

Additional Info
I have seen this fail with two different configurations:

Knative 0.21.0, Istio 1.9.1
Knative 0.20.0, Istio 1.7.3

Let me know if this issue should be filed with the networking conformance tests. It doesn't seem like this test will ever succeed because the generated private hostname will never resolve to anything while in mesh mode (the spec.ExternalName error is just covering up this real issue).
Thanks very much!

/assign

I am not sure why but the test is try to create a proxy k8s service, setting ExternalName to ingress.Status.PrivateLoadBalancer.Ingress[0].DomainInternal. In the case pure mesh, this field doesn't exists so the test tries to create a invalid service (empty  ExternalName):
privateLoadBalancer:
  ingress:
  - meshOnly: true

In the case of pure mesh, we don't need the ExternalName Service pointing to the (non-existent) local gateway.

That makes sense. I've tried removing the call to create the ExternalName service, and the result is a DNS lookup error for the generated private hostnames in the test like:
lookup ingress-conformance-0-visibility-cpjkeznv.serving-tests.svc.cluster.local on <IP_ADDRESS>:53: no such host

It seems like fixing this test will require some additional DNS configuration or creating an Istio ServiceEntry for the private hostname.

Note: I've disabled conformance tests in mesh mode in #583
We'll want to re-enable those once this is fixed

Just note, we still haven't enabled conformance test on mesh mode.
However, ambient can pass all conformance test.

/reopen
/lifecycle frozen

/unassign @JRBANCEL

@ReToCode @dprotaso is this still valid given that the mesh option was removed in https://github.com/knative-extensions/net-istio/pull/915?

I think the repro steps are not the same but mesh is still pretty flakey with serving tests
https://testgrid.k8s.io/r/knative-own-testgrid/serving#istio-latest-mesh
We should investigate


Overlaying rust-bin

Is it possible to globally overlay rustc, rustfmt, cargo, etc. for the dev shell and the build environment? I tried to use https://github.com/yusdacra/nix-cargo-integration/blob/master/docs/example_flake.nix#L39 but I wasn't very successful.
In particular, I am interested in using a version of rustc which has the wasm32-unknown-unknown target, e.g. from https://github.com/oxalica/rust-overlay.

If you are trying to add a target, you should use a rust-toolchain.toml file. In your case, this can look like this:
[toolchain]
channel = "nightly-2022-03-05" # or whatever channel you are using
targets = ["wasm32-unknown-unknown", "x86_64-unknown-linux-gnu"]

There isn't yet a way to directly override what toolchain nix-cargo-integration will use, as I haven't yet thought of a good way to expose this. Once #56 is merged, I can work on this more.

I tried using a toolchain file but it didn't seem to have any effect. Maybe some interaction with cargo workspaces? I put the toolchain file in the root workspace directory next to Cargo.lock

That's interesting. Is it possible for you to share your project? I'd like to take a look at it.

@NickHu did you stage the rust-toolchain.toml in Git? Flakes copy files based on Git, so a new file has to be staged before it sees it.


lang: add E type argument to Result type alias

Considering that Result is included in Anchor’s prelude, it’s quite
annoying when one suddenly needs to use Result with a different error
than Anchor’s Error (i.e. use the symbol Result like the actual Rust
Result type).
Add E type argument to Anchar’s Result type-alias so that the symbol
can continue to be used like in any Rust code even when someone
imports Anchor’s prelude.
Specify E’s default value to Anchor’s Error so existing Anchor-based
code can continue using the alias as before.

The problem is that Anchor’s Result is in prelude and importing everything in prelude is recommended way to write Anchor programs (in fact some derives may require it IIRC). The difference with syn::Result or std::io::Result is that if I do use std::io::Result I consciously chose to use io’s Result. If Anchor had no prelude, the current approach wouldn’t be an issue.

Yeah, I generally agree with overriding the default Result by importing the prelude can be annoying but given the fix for when you want to return a different error type is easy enough(1 line of code), I don't currently think we need to support generic error types from Anchor's Result. Having a known error type can be useful.

I don’t understand what you mean by ‘having a known error type’.  With my proposed change the error type would still be known.

By "having a known error type" I mean having Anchor's Error type when using Anchor's Result type.

When you write Result<T> you still have Anchor’s Error type. Nothing changes on that front.

I'm aware.


Changed absolute paths to relative paths and repaired some missing links

Small changes to improve failling links

All is well.


CI is not running test for PRs

Let's make CI run tests for PRs too

@hramos just helped me set this up.


How to view raw request uri and content before sending (for debuging)

I am debugging a few endpoints and I would like to view the request content (json).  For the life of me, I cannot seem to figure out how to do this.  I am most interested in looking at the Request content.
Sorry I meant to post this to autorest.csharp,  This is for a C# generated client.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

@AlexanderSher or @ShivangiReja can you help here?

In your generated *RestClient, there should be a call to await _pipeline.SendAsync(message (or _pipeline.Send(message if you're using sync version). From there you can use message.Request.Content.
Or, if you need to debug how the content is created, you can look for the CreateXXXRequest methods where request.Content is assigned and go from there.


Create an index_view to render Index.html and create the URL

Create an index_view in Main/views.py that returns the Index.html and create the URL for the same in Main/urls.py

I'll take this up.

Do I have to make the index.html ?

That is a separate issue, we just need to create a view to render it. The HTML file name will be Index.html. Do name the view: index_view


Background Sync queue needs way to manual replay

Library Affected:
sw-background-sync-queue
Browser & Platform:
all browsers
Feature Request Description:
There is a need for a manual way to replay all queued requests.
This could be also used in case of sw-offline-analytics where all the requests can be manually fired up on the document ready may be...

@jeffposnick @gauntface as I proposed one way to do this could look something like:
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('sw.js').then(reg=>{
    // This constant would replay every queued request.
    registration.sync.register('SW_BACGROUND_SYNC_REPLAY');
  });
}

There's a typo in BACGROUND. But that seems fine to me in general.
Let's say that the replay request succeeds, and everything is removed from the queue. Is there a way of cancelling the "normal" sync event that would have fired at some point in the future anyway? Or would that sync event still trigger the handler, but the handler wouldn't do anything because the queue was empty?

@jeffposnick yeah, the sync event will still fire and nothing would happen as the queue would be empty

This sounds reasonable to me and noted as such over on https://github.com/GoogleChrome/sw-helpers/pull/386. Just landed - @prateekbh for any further testing items on that PR, do you want to go ahead and file an issue to track?


ExifTool 11.50 won’t launch on macOS

Issue description
I just upgraded nixpkgs.perlPackages.ImageExifTool from 11.49 to 11.50. When I try to run it I get this error:
$ exiftool --version
zsh: /Users/bdesham/.nix-profile/bin/exiftool: bad interpreter: /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl -w -I/nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/: exec format error

$ which exiftool
/Users/bdesham/.nix-profile/bin/exiftool

$ head -n 5 /Users/bdesham/.nix-profile/bin/exiftool
#!/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/bin/perl -w -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl -I/nix/store/afidq126rg2mdszla89ycc2vzrcp4fd2-perl5.28.2-Image-ExifTool-11.49/lib/perl5/site_perl
#------------------------------------------------------------------------------
# File:         exiftool
#
# Description:  Read/write meta information

$ stat /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl
  File: /nix/store/h400cvgl5nd2a2sq6qlzzxxs26dqpj7g-perl-5.28.2/bin/perl
  Size: 9548      	Blocks: 24         IO Block: 4096   regular file
[...]

$ stat /nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl
  File: /nix/store/70v8qw138g1n8fipfwm8gk75mdri7qga-perl-5.28.2/lib/perl5/site_perl
  Size: 96        	Blocks: 0          IO Block: 4096   directory
[...]

If I try from bash (which is not my usual shell and which isn’t set up for Nix), the message is even more gruesome:
bash-3.2$ ~/.nix-profile/bin/exiftool --version
/Users/bdesham/.nix-profile/bin/exiftool: line 12: use: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 13: require: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 15: my: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 18: my: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 19: BEGIN: command not found
/Users/bdesham/.nix-profile/bin/exiftool: line 21: syntax error near unexpected token `('
/Users/bdesham/.nix-profile/bin/exiftool: line 21: `    $exeDir = ($0 =~ /(.*)[\\\/]/) ? $1 : '.';'

If I roll back to version 11.49 the command works fine from zsh and from bash. Version 11.50 works fine for me on an Ubuntu 16.04.6 system.
Fun fact: I was the one who broke this 😳 I had tested it successfully on a different macOS system, one running Mojave. The failing system is High Sierra (10.13.6). I will try to see if I can fix this but I thought I should report the problem ASAP.
Steps to reproduce

nix-env -iA nixpkgs.perlPackages.ImageExifTool
exiftool --help

Technical details

system: "x86_64-darwin"
host os: Darwin 17.7.0, macOS 10.13.6
multi-user?: no
sandbox: no
version: nix-env (Nix) 2.2.2
channels(bdesham): "nixpkgs-19.09pre182717.b58ada326aa"
nixpkgs: /Users/bdesham/.nix-defexpr/channels/nixpkgs

This looks related to https://github.com/NixOS/nixpkgs/issues/2146, https://github.com/NixOS/nixpkgs/issues/35353, and https://github.com/NixOS/nixpkgs/issues/11133

I believe this is specifically an instance of #35353 (the shebang line is too long for macOS), not #2146 or #11133 (shebang lines can’t point to interpreted scripts on macOS).
The shebang line I’m getting is
#!/nix/store/kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/bin/perl -w -I/nix/store/                     kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/lib/perl5/site_perl -I/nix/store/                          a5m191w2rd87nki7plk8ja9kl5hr5f2i-perl5.28.2-Image-ExifTool-11.50/lib/perl5/site_perl

which is 558 characters. The interpreter, /nix/store/kdhrydba180yvgwifsvqc4my23lgkjip-perl-5.28.2/bin/perl, is a binary.


Trim opus file in ogg container

Can I use this library to
Trim opus file in ogg container
I'm trying to avoid the large size ffmpeg lib and aiming for a small lib to trim/cut opus files in android
By any chance this library could help me?

It could help you, but not that straightway.
You should first read your audio as OggOpusStream
OggOpusStream oggOpusStream = OggOpusStream.from("audio/technology.opus");

// Get ID Header
IdHeader idHeader = oggOpusStream.getIdHeader();

// Get Comment Header
CommentHeader commentHeader = oggOpusStream.getCommentHeader();

while (true) {
    AudioDataPacket audioDataPacket = oggOpusStream.readAudioPacket();
    if (audioDataPacket == null) break;

    for (OpusPacket opusPacket : audioDataPacket.getOpusPackets()) {
        // Do something with opusPacket
    }
}

The create a new OutputStream, and encapsulate audioDataPacket into this OggPage and write to OutputStream.
// Create an output stream
OutputStream outputStream = ...;

// Create a new Ogg page
OggPage oggPage = OggPage.empty();

// Set header fields by calling setX() method
oggPage.setSerialNum(100);

// Add a data packet to this page
oggPage.addDataPacket(audioDataPacket.dump());

// Call dump() method to dump the OggPage object to byte array binary
byte[] binary = oggPage.dump();

// Write the binary to stream
outputStream.write(binary);

Thanks for detailed response
I'll try to  implement this
oggPage.setSerialNum(100); << Should 100 be fixed value or do i need to get it from somewhere?

Also how will I map start and end positions in for loop
long trimStartMs;
long trimEndMs;
...
for (OpusPacket opusPacket : audioDataPacket.getOpusPackets()) {
if(packetLiesWithinTrimRange(opusPacket )){ writeToOutput(opusPacket); }
}
...
private boolean packetLiesWithinTrimRange(OpusPacket packet){
if(????????){ return true;}
return false;
}

@leonfancy  ??

Also looking into splitting an opus audio. The above ended up with a corrupt opus file in my scenario.

with dependency on https://github.com/leonfancy/oggus

import org.chenliang.oggus.ogg.OggPage;
import org.chenliang.oggus.ogg.OggStream;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class OpusFileUtil {

    static long sampleRate = 48;
    static long streamPreskip = -1;
    static long streamGranulePosFirst;

    public static void trim(long fromMs, long toMs, InputStream source, File result) throws IOException {
        OggPage prevPage = null;

        Log.oneLine("OGGPAGETRIM START ======================");

        OutputStream outputStream = new FileOutputStream(result);

        OggStream oggStream = OggStream.from(source);

        outputStream.write(oggStream.readPage().dump()); //1st id page
        outputStream.write(oggStream.readPage().dump()); //2nd comment page
        outputStream.flush();

        while (true) {
            OggPage oggPage = oggStream.readPage();
            if (oggPage == null) break;
            long pageMsStart = prevPage == null ? 0 : getPageMsEnd(prevPage);
            long pageMsEnd = getPageMsEnd(oggPage);
            Log.oneLine("OGGPAGETRIM MS_START " + pageMsStart + "OGGPAGETRIM MS_END " + pageMsEnd);

            if(pageMsStart > toMs){
                break;
            }
            if (pageMsStart >= fromMs && pageMsEnd < toMs) {
                Log.oneLine("OGGPAGETRIM " + oggPage.getGranulePosition() + " IN RANGE --------------------");
                outputStream.write(oggPage.dump());
                outputStream.flush();
            }

            if (prevPage == null) {
                //this is first page
                streamGranulePosFirst = oggPage.getGranulePosition();
            }
            prevPage = oggPage;
        }

    }

    static long getPageMsEnd(OggPage page) {
        return (page.getGranulePosition() - streamGranulePosFirst - streamPreskip) / sampleRate;
    }
}

That was very helpful, thank you. In terms of the position misalignment, you might need to update the granule position of each page to have it fixed. I also noticed that the pageMsEnd of the second page (excluding the id/comment) is less than the pageMsStart. I was able to get around this by making the equation much simpler: page.getGranulePosition() / sampleRate although I am not certain about the accuracy of the timing yet.

Please post the solution for others if you made it work!


ADD GAME:NBA2K22 (pls add this game for me)

I have added the game(s) you requested in the most recent release: https://github.com/hobby-grade/Nintendo-Switch-Discord-Status/releases/tag/1.0.3
Thank you for checking out the project, reach out if you have any more suggestions!


blessing.textbox.setValue and chalk misplace the cursor

Hi,
I am not sure. if this qualifies as an issue. But when i add new content, which is styled by chalk, to textbox, the cursor gets misplaced. Please see the code:
let promptOptions = {
    left: 1,
    bottom: 0,
    width: '100%-1',
    height: 1,
    inputOnFocus: true,
    style: {
        bg: 'default'
    }
};

let prompt = blessed.textbox(promptOptions);

let bottomSpacer = blessed.line({
    bottom: 1,
    width: '100%',
    orientation: 'horizontal'
});

screen.append(bottomSpacer);
screen.append(prompt);

prompt.on('submit', (data)=> {
    history.push(data);
    prompt.clearValue();
    prompt.setValue(chalk.inverse(data));
    prompt.screen.render();
    prompt.focus();
    STATE = STATE_HIGHLIGHTED;
});

The problem is with prompt.setValue(chalk.inverse(data)). If i pass in just data, all is fine.
Before enter>:

After enter>:

The lenght of data and chalk.inverse(data) is different. So perhaps this is expected behavior, but imo color codes should be be taken into account.

Use the tags provided in the readme instead.

You can use chalk, but you either need to strip the ANSI characters from the raw string if you are manually moving the cursor based off of the length of the text or you need to use the artificial cursor which I think compensates for ANSI codes in strings.


Respecting DNS TTL for STRICT_DNS

Rather than setting the dns_refresh_rate for a cluster, it would be nice to be able to just respect the TTL returned in the DNS response. I was wondering is this intentionally not supported, or just has not been needed yet? If not, would there be interest in adding this feature?
If there is nothing blocking such a change, please let me know and I can consider working on this feature.
Background: We get a lot of reports of high DNS requests from Envoy from Istio users. The cause of this is clear - we use the default dns_refresh_rate of 5s, so each STRICT_DNS cluster is sending a lot of DNS requests.
Our proposed mitigation is to change the default to 5min, to match a typical TTL. However, this isn't a perfect solution, as some services we would actually want a lower refresh rate, and would prefer to not need to set for each service.
More background: https://github.com/istio/istio/issues/13710

Sounds like a very useful optional feature to me.

@jplevyak @silentdai @PiotrSikora ^

Yes, this would be great... ideally, with some pre-fetch, so that we never have to block requests waiting for the DNS response.

Hi @mattklein123 @jplevyak @silentdai @PiotrSikora, I am implementing this feature and I have some questions.

Getting record ttl is difficult. Envoy uses c-ares to query DNS. In current repository, ares_gethostbyname is used for resolving name. Unfortunately, ares_gethostbyname doesn't provide record ttl information to callback function. In order to get record ttl, alternatives are ares_query, ares_search. In fact, ares_gethostbyname calls ares_query and ares_search internally. Compared with those two functions, ares_gethostbyname provides some optimizations, for example, before querying DNS server, ares_gethostbyname will look up host files, which is useful when resolving localhost. A possible solution is moving the optimization code into the function where ares_query and ares_search is called. Do you have any suggestions?

After getting ttl, how should ttl be passed to caller? I have two proposals:
2.1 Add another callback type,
typedef std::function<void(const std::list<Address::InstanceConstSharedPtr>&& address_list, const std::list<std::chrono::seconds>&& ttl_list)> ResolveCbWithTtl;

2.2 Keep one callback type and extend Instance interface, add a function,
  virtual std::chrono::seconds ttl() const PURE;

Which one would you prefer or any other proposals and suggestions?

Hi @mattklein123 @jplevyak @silentdai @PiotrSikora, I am implementing this feature and I have some questions.
Getting record ttl is difficult. Envoy uses c-ares to query DNS. In current repository, ares_gethostbyname is used for resolving name. Unfortunately, ares_gethostbyname doesn't provide record ttl information to callback function.
In order to get record ttl, as far as I know, alternatives are ares_query, ares_search. In fact, ares_gethostbyname calls ares_query and ares_search internally. Compared with those two functions, ares_gethostbyname provides some optimizations, for example, before querying DNS server, ares_gethostbyname will look up host files, which is useful when resolving localhost.
A possible solution is moving the optimization code into the function where ares_query and ares_search is called. I don't like this solution because I don't think we should manage optimization for dns resolution.
Do you have any suggestions?

This is done.


Js one

Hey, what's this issue?

If this is an open issue, please explain this and please assign to me this issue. Thank You


Add plugin configuration through pyproject.toml?

Hi!
I need a dedicated mypy.ini configuration for tests run by pytest-mypy-plugins. This configuration includes parameters like force_uppercase_builtins = true, which are very useful for unit tests but irrelevant for the entire project.
Currently, I can create a separate mypy-tests.ini file and run pytest with the --mypy-ini-file option. To avoid typing this every time, I can add addopts = "--mypy-ini-file=mypy-tests.ini" to my pytest.ini configuration.
However, there is a drawback to this approach: the path is resolved relative to the current working directory, not to pytest.ini. This can lead to surprising behavior, where test output changes depending on where the pytest command was executed. For example, running tests from outside the project's root folder may cause Mypy tests to fail (because it won't use the required mypy-tests.ini file) although all others ran seamlessly.
I'd like my tests to be robust in such cases. Pytest itself works flawlessly, so I believe plugins should too. I assume resolving the --mypy-ini-file path relative to the "rootdir" is not acceptable for a command-line option. Therefore, it seems appropriate to allow configuration via a file and, in this case, resolve the paths relative to that file. We could even imagine a "override mypy config" entry to avoid the additional mypy-tests.ini file in my scenario.
What are your thoughts on this?
I've noticed that pytest-mypy-plugins already depends on tomlkit, so I assume implementing this shouldn't be overly complicated.
However, I understand if you prefer not to add complexity to the plugin configuration in this way. Yet, If you're open to the idea, I'd be happy to contribute with a PR.

Does --mypy-pyproject-toml-file not for you?

The problem would remain the same. Sorry if my description of the issue is not clear.
It's not about using mypy.ini or pyproject.toml, that's not really relevant here.
To put it more simply, I would like to configure pytest-mypy-plugins itself through pyproject.toml instead of using command-line options.
This would prevent tests from  passing or failing depending on the current working directory, due to the way relative paths are resolved for --mypy-pyproject-toml-file and --mypy-ini-file.

Oh, I see :)
PR is welcome!

Great, thanks! I'll work on it.

Nice! I'm in the process of adding this plugin to the cattrs test suite and I think I want this.
To explain my use case: I want to run Mypy only on a single version of Python, say the latest. It's good enough and keeps complexity down. But I need to use --mypy-only-local-stub.
So my plan was to install the plugin only on 3.12 and put --mypy-only-local-stub into pyproject.toml/[tool.pytest.ini_options].addopts. But if I do that, on other Pythons pytest doesn't know what that argument is and won't run.
I'm sure there are other ways of solving this but this seemed like the simplest/most correct to me.


NPM extension provides 'Go to Definition'?

The built-in npm extension provides a Go to Definition command.
Open a package.json:

I couldn't find a location where this command is successful?

It works in require('express')

@NotWearingPants inside the package.json file?

Find definition works only on JSON files that are schemas and only when the selection is $ref value
It was a PR: https://github.com/microsoft/vscode-json-languageservice/pull/50

The JSON language service now uses links for the $ref in schemas. Goto definition is no longer used.


Wallet Sync Speedup

Fixes #1103
The change to allow the Wallet to move forward while syncing is based on the Producer Consumer DataFlow pattern.  Which has been implemented locally in the WalletSyncManager class.
Tests impacted :

Syncing against all for Daemons (Bitcoin, Stratis - MainNet and TestNet).

The syncing is currently running and I will be keeping an eye on any issues, but thought it would be best to get the PR out there for any comments on the solution - and hit the sprint deadline.
Cheers,
Ferdeen

Starting the review now :)

@noescape00 the current blockstorecache is working fine - the wallet height is advancing as normal.
I am not too sure why you need to change it now.
When I made the change locally IBlockStore.GetBlockAsync() is not implemented - so I have undone the change.
https://github.com/stratisproject/StratisBitcoinFullNode/blob/16f602fb1c08082ae2d86ee6b2c7c8c79dbbf979/src/Stratis.Bitcoin.Features.BlockStore/BlockStoreQueue.cs#L170-L174
Also this method is used in ConsensusManager - which if not implemented, doesn't seem right.
https://github.com/stratisproject/StratisBitcoinFullNode/blob/a238bc18bf97bfab93b8e936cd92dc8ed55d53f2/src/Stratis.Bitcoin/Consensus/ConsensusManager.cs#L1043

@noescape00 the current blockstorecache is working fine - the wallet height is advancing as normal.
I am not too sure why you need to change it now.

It does. However after the activation we will have only 2 block providers- ConsensusManager and BlockStoreQueue. CHT will do the caching of the last 100 connected blocks.
So any change to BlockStoreCache will become obsolete after activation is merged.

@noescape00 Happy to do this.  However this is turning into something different.  Maybe we need a new card for this related to the activation work ?
@bokobza what do you think ?

Had a chat with @noescape00 on Slack and the change is a one liner -
return this.blockRepository.GetAsync(blockHash);
However, after adding this after a cycle the wallet doesn't advance.  I'll check the logging to see why this is the case.
Cheers

New PR (#1869) created that is based on today's master.


[helm3] helm create with custom starter will strip all comments and new line.

Helm Version
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

OS Version
macOS 10.14.6

Bug Reproduce
Create a fresh starter from official template via following script:
#!/usr/bin/env bash
set -e

BASE_TEMPLATE_DIR=_official
HELM_VERSION=$(command helm version -c --short)

# create base template via Helm default starter
helm create XXXXX
find XXXXX -type f -exec sed -i 's/XXXXX/<CHARTNAME>/g' {} \;

rm -rf "$BASE_TEMPLATE_DIR"
mv XXXXX "$BASE_TEMPLATE_DIR"

# track version of Helm
echo "$HELM_VERSION" > "$BASE_TEMPLATE_DIR"/helm-version

Put it in starters folder. I'm using macOS, so the folder will be ~/Library/helm/starters by default:
mv _official ~/Library/helm/starters

Create a charts from above starter:
helm create --starter _official fake_app

Inspect the output files, take fake_app/values.yaml as an example:
affinity: {}
fullnameOverride: ""
image:
  pullPolicy: IfNotPresent
  repository: nginx
imagePullSecrets: []
ingress:
  annotations: {}
  enabled: false
  hosts:
  - host: chart-example.local
    paths: []
  tls: []
nameOverride: ""
nodeSelector: {}
podSecurityContext: {}
replicaCount: 1
resources: {}
securityContext: {}
service:
  port: 80
  type: ClusterIP
serviceAccount:
  create: true
  name: null
tolerations: []

You can see, the comments and new lines are striped.

I had the same problem... I dirty fixed that with moving my values.yaml and Chart.yaml into the templates folder. After helm create I moved them one folder upper. :-)
But it is not a good practice. :)

Probably the same underlying issue as #6951, that during this process the values.yaml is parsed and then marshalled back into YAML, which has the effect of stripping comments and alphabetising the contents.

Duplicate of https://github.com/helm/helm/issues/6951 @bacongobbler

different code path, same result

fixed in #7201

This should be reopened, as it still persists as an issue with Chart.yaml


perf: add an in-memory cache for index files

This saves a lot of unnecessary yaml parsing
This made helm dependency update run on my 63 dependencies chart in 60 seconds instead of 800 seconds

That would be nice. I've had to write a custom script to fetch dependencies as it was taking over 3 hours for ~800 Charts.
This script dropped it down to ~2 minutes
https://github.com/truecharts/charts/blob/master/.github/scripts/fetch_helm_deps.sh

I'm not sure how to test a performance improvement, I didn't change the logic

I can drop the first cache, the one with the key as path and just use the cache by the content of the file. We can also make the cache opt-in by passing a boolean parameter (long-running applications can just not use the cache, as before).

@mattfarina do you think the boolean parameter to opt-in for the cache is a good approach?

Another option: use https://github.com/dgraph-io/ristretto and only cache by file content, we could make sure the cost is limited to 1GB of memory

@mattfarina what do you think of the options I suggested?

@yardenshoham caching is hard. For example, if you did a catch based on the index file itself it would catch changes to that. But, as a long running process continued to run the cache would continue to get bigger and bigger as files changed. There would be no chance to remove things from the cache.
I was thinking about how I would write it. I would do the following:

I would create an interface for a cache that let you add something to the cache and get something from the cache if it exists. This way a user could write their own implementation
I would create an implementation of that cache that works for a short lived application like the Helm client
I would create a no-op version of the cache
I would create a new function with a name like LoadIndexFileWithCache and pass in the cache as a pointer (so it can be maintained outside of the function). It would do the existing work of LoadIndexFile
I would update LoadIndexFile to call LoadIndexFileWithCache and pass in the no-op cache. This way the existing functionality is preserved for the function and anyone who uses it from the SDK.
For the current uses of LoadIndexFile in the cmd/ directory (where it is the Helm client application) I would switch to LoadIndexFileWithCache with the functional cache.
For the other things that call it internally, I would find a way to add the cache as a reference that's passed around. I would also handle the case where the property on the struct is nil and use the no-op cache to preserve existing behavior.

The goal would be to preserve existing behavior for API callers while giving them an opportunity to inject their own cache. For the Helm client application we would use a cache designed for short life where invalidation isn't a problem.
Does that make sense?

There are two hard problems in computer science:

Naming things
Cache Invalidation
Off-by-one errors

Have you thought about how to handle cache invalidation when used as a long-running service?

@mattfarina I like the idea. I wonder if I should try it or if we should take https://github.com/helm/helm/pull/11726. What would you prefer?

Seeing as https://github.com/helm/helm/pull/11726 was reverted, I am proceeding with this PR. I implemented @mattfarina's requested changes.


audio bible

I want to know if it's possible to get audio bible with this api?

Hi MendoLeo,
Sorry for the late response. I don't think getting the audio is currently possible but I will definitely look into it.
Best Regards,
Glow

Hi Mendo,
Good news, I found this repo that's newer, 3 months since last commit. If everything goes well this could be implemented into this project.
Since this is something you want, if I can get this working, is there a specific file format you would like the audio in?
Best Regards,
Glow


Fix epidata requires and bump to 0.0.11

ugh commas?

my bad :(

s'okay, I totally skipped testing the installer :(


Remove max-widths in layout

Webpages should always be at 100% width.
 It's way easier to read at full width.

Now for images, I don't know which is better, either float them:
img p {
	float: right;
	clear: right;
	width: 25%; /* or whatever */
}

This would need to be in a media query, obviously it's only for larger viewports. The other option is centering them:
img p {
	display: block;
	margin: 0 auto;
}

Centering is safer, but it creates a large whitespace on both the left and right of the image when the viewport is large enough; this looks strange.

@Courtny @hellohynes any thoughts on this?


bug: system doesnt recognize caps after a bad terminal command

Describe the bug

a bunch of messages of this kind start popping up for various permutations of processes:

Wed 15:53 event loop: process http_server:distro:sys doesn't have capability to message process main:command_center:appattacc.os

my guess is that this starts happening after running a command which inputs the wrong type. i.e. worker_address here is supposed to be an Address, but i am inputting a string:

m astronaut.os@main:command_center:appattacc.os '{"BackupRetrieve": {"node_id": "sour-cabbage.os", "worker_address":""}}'

so you can probably recreate this with any app you are working by simply inputting a wrong type. but maybe i'm wrong and if something else is the cause, here is how to reproduce.
To Reproduce

install the following commit of command center on your kinode
run the command:

m astronaut.os@main:command_center:appattacc.os '{"BackupRetrieve": {"node_id": "sour-cabbage.os", "worker_address":""}}'

a bunch of previously successful caps will stop working

https://discord.com/channels/1186394868336038080/1186421052071477428/1253186534266507367
https://discord.com/channels/1186394868336038080/1186421052071477428/1253187341045072044

Working on this

#427 fixed this


Make it portable and self contained!

On startup it should check if there is a ".fromscratch" folder next to the executable and use it instead of the one in the user profile. This way users will be able to use FromScratch with an USB drive regardless of the host pc.

Also consider the possibility of using the exe name to define the folder name.

+1

Whilst I like the idea and can see how it's useful, this probably won't happen any time soon. That is because electron (underlying technique) itself is not portable. Also, I'm not sure how well a dotfolder handles on usb sticks.
Having just the .fromscratch folder portable will still leave configuration folders on your system, so that's not an option and i would want it to leave no trace on a machine. Any ideas? :)

I think that as long as data+exe stay in the same folder I would not mind some AppData garbage if it is not avoidable. Does electron allows you to do a manual cleanup on exit or it locks\recreates the files?

I asked in the Electron slack channel but it doesn't seem to be the case. I'll keep this open on low-priority


{CAE} CAE beta support

Description
CAE beta support build upon

azure-core 1.12.0b1

https://pypi.org/project/azure-core/1.12.0b1/
https://github.com/Azure/azure-sdk-for-python/tree/azure-core_1.12.0b1

azure-identity 1.6.0b1

https://pypi.org/project/azure-identity/1.6.0b1/
https://github.com/Azure/azure-sdk-for-python/tree/azure-identity_1.6.0b1

Testing Guide
# Log in with CAE enabled
az login

# Test access token is working as expected
az group list

# Revoke the session
az rest -m POST -u https://graph.microsoft.com/v1.0/me/revokeSignInSessions

az group list --output none
while ($LASTEXITCODE -eq 0)
{
   Write-Output "Access token not revoked yet. Sleeping..."
   Start-Sleep 10
   az group list --output none
}
Write-Output "Access token has been revoked."

# A failed command using Track 2 SDK
az storage account list

# A failed command using Track 1 SDK
az group list

CAE


No Circular Dependency Compile Time Warnings on Imports

TypeScript Version:  <IP_ADDRESS>
Code
/// module A has an import requiring moduleB
import MA = require("../scripts/moduleB");

///module B  is requiring moduleA
import MB = require("../scripts/moduleA);

Expected behavior:
Compile should fail because of the circular dependency.
Actual behavior:
Compile works fine, but at runtime, the content of one of the modules is never injected by require.
This is documented here.

Most module systems allow this without error. We can't disallow it just because some module loaders are limited in this regard.

Hi Ryan I never suggested disallowing it, rather a warning could be helpful.


Adjustments to ESLint 6 upgrade changes

Function parameters are indented 2 levels. This was the behavior prior to the ESLint 6 upgrade, incurring fewer changes on projects wanting to upgrade. This is a breaking change for projects that have already upgraded.
Ternary operators are ignored, because ESLint does not handle them well when used in variable assignment expressions.
JSDoc newline-after-description has been disabled. This rule was intended for readability, but seems best left at the developer's discretion.
Prefer const over constant. This was only flagging/changing constant functions, which we don't have in OpenSphere but was noticed in other projects.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[$250] Automate author checklist with ESLint rules

Problem:
The current Author Checklist for creating a Pull Request contains 48 checks, which is an excessive number of items to be manually verified every time a PR is submitted. This lengthy process can slow down the development workflow.
Solution
Automate checks with ESLint rules where possible, as we've found some checklist items that can be easily automated.

I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
Here’s a diff presenting a potential implementation: https://github.com/callstack-internal/eslint-config-expensify/commit/b31ad449c6c979c79bb476eaa34c5d5b397f727a.
After applying diff locally there’s only one error in whole codebase:
❯ npm run lint

><EMAIL_ADDRESS>lint
> NODE_OPTIONS=--max_old_space_size=8192 eslint . --max-warnings=0 --cache --cache-location=node_modules/.cache/eslint

This is not a desktop build, adding babel-plugin-annotate-react
babel.config.js
  - api.version: 7.24.5
  - api.env: development
  - process.env.NODE_ENV: undefined
  - process.env.BABEL_ENV: undefined
  - running in:  undefined

~/Users/szymonrybczak/callstack/App/src/pages/workspace/distanceRates/PolicyDistanceRatesSettingsPage.tsx
  102:30  error  The left side of conditional rendering should be a boolean, not Unit  rulesdir/boolean-conditional-rendering

✖ 1 problem (1 error, 0 warnings)

The lint rule examines the left-side condition of an expression. If it detects a non-boolean value, it raises an error — once this rule is implemented, we can remove the corresponding check from the Author Checklist in the Pull Request template.

Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021849137380340533101
Upwork Job ID:<PHONE_NUMBER>340533101
Last Price Increase: 2024-10-23

Issue OwnerCurrent Issue Owner: @
Issue OwnerCurrent Issue Owner: @sakluger

@rayane-djouah for implementation, what is your eta for the pr, soˇe diff is already available

@szymonrybczak is going to review the eslint PR

@rayane-djouah merged, can you please make App PR now 🙏

Merged

@mountiny it looks like this one is pretty much complete! How should we handle payment for this issue? $250 to @rayane-djouah in 7 days?

Summarizing payment on this issue:
Contributor: @rayane-djouah $250, sent offer via Upwork: https://www.upwork.com/nx/wm/offer/104560122

@rayane-djouah we still need to update App right?

Okay we'll wait to pay out until 7 days after the App PR is deployed.


protobuf compatible with gazebo_plugin_actor_collision

Hi all
When I build the following code , I found build fail due to version of protobuf.
https://github.com/LCAS/iliad/tree/master/gazebo_plugin_actor_collision
cartographer need protoc version is 3.4.0.
but gazebo_plugin_actor_collision must be 3.0.0.
If I use 3.0.0 to build gazebo_plugin_actor_collision successful , it build fail for cartographer, and vice versa.
How I solve it ?

Even though it is cumbersome due to compatibility, you have to erase protobuf-3.4.0 and install protobuf-3.0.0 again to build gazebo and then remove 3.0.0 and reinstall 3.4.0 again to build cartographer. You cannot build both simultaneously because of gazebo's compatibility issue.


[bug] permission

Anyone have problem with group permissions? After last update<PHONE_NUMBER>, all permission for shop groups is ignore.

sorry my bad...


Support use with only dist directory

The contents of the dist directory is what is needed, so change the
GOVUK_CONTENT_SCHEMAS_PATH to refer to that instead. One of the
advantages of this is that applications using this library can use it in
development, and easily in production, where only the dist directory is
available.
This will require anything using this library to load schemas to change
the configuration of the environmental variable.
Because of this, bump major version to 2.0.0

This won't work, since it conflicts with the existing usage of GOVUK_CONTENT_SCHEMAS_PATH across GOV.UK:
https://github.com/search?utf8=✓&q=org%3Aalphagov+"export+GOVUK_CONTENT_SCHEMAS_PATH"&type=Code&ref=searchresults
If we'd change it here this gem would become incompatible with all apps that currently do contract testing.

This won't work, since it conflicts with the existing usage of GOVUK_CONTENT_SCHEMAS_PATH across GOV.UK:
https://github.com/search?utf8=✓&q=org%3Aalphagov+"export+GOVUK_CONTENT_SCHEMAS_PATH"&type=Code&ref=searchresults
If we'd change it here this gem would become incompatible with all apps that currently do contract testing.

I'm aware that this changes the use of the environment variable, but providing anything using this library does not automatically upgrade to the new major version, it will still work fine.
Everything using this library can be upgraded, and the related values of the GOVUK_CONTENT_SCHEMAS_PATH variable can be updated individually (which just requires adding dist on to the end).

@tijmenb kindly came to talk to me about this. The consensus is now to not do this, and instead change the deployment process for the govuk-content-schemas such that the entire root directory of the repository is available on the backend machines (for use by the Publishing API), which does not require any changes to this library.
I've started to look in to how to do this (see https://github.com/alphagov/govuk-app-deployment/pull/63).


Make apt-get install less noisy

apt-get install -qq -o=Dpkg::Use-Pty=0 <packages>

https://askubuntu.com/questions/258219/how-do-i-make-apt-get-install-less-noisy

Or maybe just set DEBIAN_FRONTEND=noninteractive option instead
https://askubuntu.com/questions/972516/debian-frontend-environment-variable/972528#972528


Don't wait for services to stop

This makes the tests somewhat flaky and is not necessary.

This just takes it back to what it was before. The wait was not there earlier, I added it it in my previous PR because I needed it for a little while but I don't need it now and I forgot to revert that bit. Unfortunately it made the build flaky so I'd like to revert it.
I agree we should probably put it there eventually but there does seem to be services that intermittently don't shut down cleanly so now master is flaky.


View based HUD, plus support for macOS

Changes window based HUD for a view based implementation. It is possible to specify a view on where to present the HUD. Also this was essential for macOS support.
macOS support is done through shimming the iOS APIs to change the master project as little as possible and make the macOS specifics as compatible as possible.
In some circumstances there can be glitches on macOS. We should optimise and fix eventual glitches over filing issues.
Otherwise please test and comment on this PR. Would be happy to integrate this into master as soon as possible.

I'm looking at this PR. If you agree with me I would like to make a separate PR and I will merge as soon as possible (I hope today) the view based feature and then we can discuss about macOs

I've used git cherry-pick b09fe2a21cc75c126f0652f19f0cf90318157b7d and everything seems to be  ok. So @Fab1n  & @angerman  let me know what do you think.

I saw some little problems on MacOS. I really think that would be better to work on a separated branch and then merge.

@PGLongo Once b09fe2a is in master, it should be trivial to rebase the changes (in a separate branch) onto the master branch, which would make 28bc819 unnecessary. I hope @Fab1n has time to look into the drawing issue and do the rebase.

Done. Thanks @Fab1n and @angerman

Thanks guys!


Switchbot (finger) not work after Update for Curtain firmware 4.6

Hello, after update curtain work fine, but my switchbot not working,, not responding..

Hi!
I confirm this as well. Switchbot curtain ROD 2, there are 2 of them.
The device information is received by the HA, but the control does not work. The log says it opens and closes.
What information do you need?
Thanks!

@fantnhu these are separate issues. User @chimcanhcut1112  is saying their curtain works but the bot is not working
@fantnhu the reason your curtain is most likely not working is because the esp32 is too far from the curtain. your linkquality rssi is -97 which is not good. try placing the esp32 closer to your curtain and try again

@fantnhu these are separate issues. User @chimcanhcut1112 is saying their curtain works but the bot is not working
@fantnhu the reason your curtain is most likely not working is because the esp32 is too far from the curtain. your linkquality rssi is -97 which is not good. try placing the esp32 closer to your curtain and try again
you are also using an esp32 that requires an antenna. make sure the antenna is attached correctly

i'm sorry for  mistake
I reinstalled it and it worked fine. (Previously I updated via bin file works only curtain)
Thank you

Just closing this as the initial issue mentioned is resolved


logged-evaluation: add IN_LORRI_SHELL

This will allow users to differentiate between a nix-shell invocation
and lorri shell invocation. One potential usecase is customizing the
prompt based on whether or not one is in a lorri shell.

Closes #372.
Overview

I added IN_LORRI_SHELL right below IN_NIX_SHELL in logged-evaluation.nix.

I opted not to implement the suggested nested check because, when combined with an .envrc, lorri shell would always be disallowed unless IN_LORRI_SHELL was unset. This can be easily added back in, however; let me know.

I fixed the warnings-turned-errors that cropped up when running the ci script in a nix-shell. I can split this out to another PR, if you'd prefer. I've moved this commit to #396, which also addresses the GitHub Actions CI failures.

Checklist

[ ] Updated the documentation (code documentation, command help, ...)
[x] Tested the change (unit or integration tests)
[x] Amended the changelog in release.nix (see release.nix for instructions)

OK, I added an integration test and a new section for bug97. I couldn't find a good place to put it (since it doesn't really involve the .envrc, I was hesitant to put it in envrc.rs), so I moved all the stuff present in direnv.rs into direnvtestcase.rs and repurposed direnv.rs into a file for tests like mine (I really didn't want to add another file for something so trivial, so I just took over an existing one).

Great idea! I've done just that.

I merged #405, so if you rebase we can just include it unconditionally.

Thanks!


Add delete permission for draft request

Resolves issue
What is being addressed
Fixes #2338 By adding delete permission on draft requests
How is this addressed

In the API get sas token add a delete permission in case the request is in draft status

/test

/test

/test

/test


Config include exclude

@dipnlik reported #1251 the other day that the include/exclude filters made a distinction between ./foo/bar/ (with the trailing slash) and ./foo/bar (without).
This pull-request introduces a patch that essentially runs filepath.Clean() against the paths before processing them. In addition, it removes the command.determineIncludeExcludeFilters function, and instead introduces a set of more granular replacement functions in the config.Configuration type. Those functions are all documented within the changeset.

As a side note, the config.Configuration type is quickly becoming a dumping ground for miscellaneous methods. I will try and spend this weekend thinking about alternative designs or patterns to refactor against, but am definitely more than open to suggestions on this as well.
For now, I think this is fine, as I assume it will be a pretty drawn-out process to preform this refactor, since so many parts of LFS depend on this type.
/cc @sinbad

👍 except for packaging comments

Oh, should have a test too.

@sinbad great points. I was definitely feeling the weight of *config.Configuration. I refactored according to your comments, and added tests as appropriate. Let me know your thoughts!

Looks like the prune tests are still flaky. Will investigate tomorrow. :/

Sorry, I should have been more specific: there's a test for the --include options in test-fetch.sh, you could just add a dir there and prove that using --include="dir/" works after your changes.

Looks good to me, the prune failure is puzzling (auth error), I re-ran the test to be sure it wasn't just an intermittent thing but it happened again.

@sinbad yeah, not sure what's up with the prune failure, either. @technoweenie and I re-ran the tests in #1267 and the failures were intermittent, so you may have just gotten unlucky.
Thoughts on moving OS X git-latest-go-1.5 test to the "allowed failures" section?


Create-lwc-app fails to install lwc-services

Summary
When creating a new project with npx create-lwc-app my-cool-app, the generator attempts to install lwc-services at an older version 3.0.4 which then fails.
Steps To Reproduce:

Run npx create-lwc-app my-cool-app

? Do you want to use the simple setup? No
? Package name for npm cb-product-tour
? Description
? Author Jonny Hork
? Select a package manager yarn
? Select the type of app you want to create Standard web app
? Select a bundler Webpack
? Use TypeScript or JavaScript TypeScript
? Do you want a basic Express API server? No

Expected result
Successful installation of all the dependencies for a new LWC App
Actual result
There is an error when the script tries to install<EMAIL_ADDRESS>
Verbose logs:
780 verbose stack     at async Install.install (/Users/jhork/.nvm/versions/node/v14.15.5/lib/node_modules/npm/lib/install.js:150:5)
781 verbose cwd /Users/jhork/Desktop/Workspace/playground/cb-product-tour
782 verbose Darwin 18.7.0
783 verbose argv "/Users/jhork/.nvm/versions/node/v14.15.5/bin/node" "/Users/jhork/.nvm/versions/node/v14.15.5/bin/npm" "install" "husky" "lint-staged" "prettier" "eslint"<EMAIL_ADDRESS>"@types/jest" "--save-dev" "--no-ignore-scripts" "--cache-min" "86400"
784 verbose node v14.15.5
785 verbose npm  v7.19.1
786 error code ETARGET
787 error notarget No matching version found for<EMAIL_ADDRESS>788 error notarget In most cases you or one of your dependencies are requesting
788 error notarget a package version that doesn't exist.
789 verbose exit 1

I can see that the version is supposed to be defined here however its not entirely clear which package.json its reading from, I think this one
I'm not sure why its trying to install an older version of lwc-services
Additional information
Feel free to attach a screenshot or code snippets.

Maybe this is related to #888 and the issues is with npx?

Your analysis is correct re: where the version comes from. For (my) convenience I always keep the versions of create-lwc-app and lwc-services in sync. Which means your npx runs an older version than is public.
I saw this issue on the npm repo. Can you try if that behavior is fixed by running npx create-lwc-app@latest my-cool-app?

I'm facing the same issue as well - even after running npx create-lwc-app@latest my-app

After some exploration I found the root cause - the error appears only when using npm7. It works as it should with npm6.
It'll take a couple of days until I can spend time on digging why that is, and how to potentially fix it.

Hi @muenzpraeger ,
Any update on the issue ? I am also getting the similar problem .
found 0 vulnerabilities
npm WARN ERESOLVE overriding peer dependency
npm WARN Found<EMAIL_ADDRESS>npm WARN node_modules/webpack
npm WARN<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN   node_modules/lwc-services
npm WARN     dev<EMAIL_ADDRESS>from the root project
npm WARN   2 more (babel-loader, copy-webpack-plugin)
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN node_modules/error-overlay-webpack-plugin
npm WARN<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm WARN   node_modules/lwc-services
npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR!      C:\Users\USER\AppData\Local\npm-cache_logs\2021-07-24T16_57_06_687Z-debug.log
Could you please suggest a way around for this ? the dev dependencies in package.json is coming as empty.

I'm not sure if this is related but npx create-lwc-app my-app wasn't working for me with npm 7. It would get to installing the dev dependencies (particularly lwc-services) and it would hang. I tried running `npm install lwc-services --verbose" and I see an infinite loop on:
npm timing idealTree:node_modules/error-overlay-webpack-plugin Completed in 3ms
npm timing idealTree:node_modules/copy-webpack-plugin Completed in 2ms

I tried running npm install error-overlay-webpack-plugin copy-webpack-plugin manually and it looks like error-overlay-webpack-plugin has a peerDependency of webpack 4 which causes a conflict:
npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/webpack
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/copy-webpack-plugin
npm ERR!     copy-webpack-plugin@"*" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! error-overlay-webpack-plugin@"*" from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/webpack
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/error-overlay-webpack-plugin
npm ERR!     error-overlay-webpack-plugin@"*" from the root project

The error-overlay-webpack-plugin has a PR that's open to add webpack 5 support: https://github.com/smooth-code/error-overlay-webpack-plugin/pull/72

@muenzpraeger , I tried the big hammer twice, but it unfortunately didn't work: it still gets hung up at  idealTree:error-overlay-webpack-plugin: timing idealTree:node_modules/error-overlay-webpack-plug.
I'll try downgrading to npm6, I suppose.

@muenzpraeger , I tried the big hammer twice, but it unfortunately didn't work: it still gets hung up at  idealTree:error-overlay-webpack-plugin: timing idealTree:node_modules/error-overlay-webpack-plug.
I'll try downgrading to npm6, I suppose.

I'm exactly on the same spot. npm 7 and getting stuck on that same module.


Add Poll Incidents feature

Please ensure your pull request (PR) adheres to the following guidelines:

Please refer to our contributing documentation for any questions on submitting a pull request, link: Contribution Guide

Pull Request Checklist
Please check if your PR fulfills the following requirements:

[ ] Testing of all the changes has been performed (for bug fixes / features)
[ ] The readme.html has been reviewed and added / updated if needed (for bug fixes / features)
[ ] Use the following format for the PR description: <App Name>: <PR Type> - <PR Description>
[ ] Provide release notes as part of the PR submission which describe high level points about the changes for the upcoming GA release.
[ ] Verify all checks are passing.
[ ] Do NOT use the next branch of the forked repo. Create separate feature branch for raising the PR.
[ ] Do NOT submit updates to dependencies unless it fixes an issue.

Pull Request Type
Please check the type of change your PR introduces:

[ ] New App
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation
[ ] Other (please describe):

Release Notes (REQUIRED)

Add the capability for the app to poll Crowdstrike incidents along detections.

What is the current behavior? (OPTIONAL)

Describe the current behavior that you are modifying.

What is the new behavior? (OPTIONAL)

Describe the behavior or changes that are being added by this PR.

Other information (OPTIONAL)

Any other information that is important to this PR such as screenshots of how the component looks before and after the change.

Pay close attention to (OPTIONAL)

Any specific code change or test case points which must be addressed/reviewed at the time of GA release.

Screenshots (if relevant)

Thanks for contributing!

@descof, I guess, we can close this PR as this doesn't contain any file changes and also it has only the merge commits of main branch which we don't have to merge.

@mjiyani-crest I guess so
I was thinking opening an issue, not a PR.. I am not sure how to open Feature Requests on apps now with the new formalism

Hi @descof
The official support process for certified apps is http://www.splunk.com/index.php/submit_issue. Please submit an issue here.
We are closing this PR for now as there are no file changes associated.


Crash on Tab Close

A few of us have noted a crash on close of tab on current dev.  Creating this issue so this issue doesn't get lost.

Might be fixed in 4.1.5640-dev - I haven't been running into this crash so if you could confirm pls


Support lowercase currency names

Some financial libraries/APIs use lower case to represent different currencies, such as Stripe.
I think it would make this library more flexible if the Currency class constructor used strtoupper() so that if I enter "usd" and "USD" I get the same currency. I can't think of any downsides to adding this, and the ISO standard doesn't specify that one or either is wrong so it makes sense to support both.

Hi Erik,
Thanks for bringing this up.
Although I see this would be convenient, I also have some concerns about it. Although the main use-case of this library is to use it with ISO currencies, it's not the only possibility. So it may not cause issues in case of ISO currency names, but it could in other cases (like Bitcoin).
How about the following:
$money = new Money(100, new Currency(strtoupper($currency));

I don't think it's a problem if you do it in your code and we do not force and introduce such thing in Money.
What do you think?

Thanks for the suggestion, that is indeed what I am doing right now.
I can see what you're saying but in the case of crypto-currencies isn't it the same situation? I can't imagine any cases where you would have currency "XYZ" and currency "xyz" refer to different things.

This also results in an exception when using Currencies\IsoCurrencies to determine the currency scale:
$usd = new Money\Currency('usd');

$currencies = new Money\Currencies\ISOCurrencies;
$scale = $currencies->subunitFor($usd); // throws Money\Exception\UnknownCurrencyException: Cannot find ISO currency usd

I suppose the Currency constructor should normalize the input or the  Currencies\ISOCurrencies should test for contains in a case-insensitive manner.
Or should I create a separate issue?

I think it is the same issue which stems from currency symbols being case sensitive. You'll have to use strtoupper like @sagikazarmark suggested.
Personally I think currency symbols should be case insensitive but this is a decision for the library author/maintainers.


chore(main): release fish 1.15.4

:robot: I have created a release beep boop
1.15.4 (2024-06-20)
Miscellaneous

atuin: force add completion sources (fbecb17)

Code Refactoring

atuin: move all fish aliases to atuin (d0efc6d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

fish-v1.15.4
:sunflower:


[Generated by cli] Potential redudant packages that are not covered by nolyfill

call-bind
$ pnpm why call-bind

stdout
Legend: production dependency, optional only, dev only

devDependencies:
@nuxt/devtools 0.8.1
├─┬ @nuxt/devtools-wizard 0.8.1
│ └─┬ magicast 0.2.10
│   └─┬ recast 0.23.3
│     └─┬ assert 2.0.0
│       └─┬ is-nan 1.3.2
│         └── call-bind 1.0.2
└─┬ magicast 0.2.10
  └─┬ recast 0.23.3
    └─┬ assert 2.0.0
      └─┬ is-nan 1.3.2
        └── call-bind 1.0.2

The target package should be is-nan. After is-nan is replaced, the call-bind can be avoided.


change nms_threshold dose not eliminate bbox overlapped a lot for same calss

Hi I used the pre-trained restnet101 for coco data and copy the demo and changed classes and anchor box staff. But by changing nms_threshold, I still get overlapped a lot bbox for one class. It seems none maximum suppression dosen't work? Any thought?

you probably didn't compile the nms code properly. you can try to set USE_GPU_NMS False.

Thanks. I have a kepler architecture GPU which should be sm_35. Thanks.

Btw, it would be nice if we can include this in README.md :http://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/


does not pull entire description

If the post contains a lengthy description it will not pull all the information because a show more button appears in the kijiji ad. A possible solution for this would be to look if that button exists then parse the information after it is clicked.

Another solution, more simple.
There is an exemple in node here :
https://github.com/DanLatimer/kijiji-scraper/blob/b5b69a95e8c1619465cd8c4ba55784a9b5c8a3dd/classes/ad.js#L61
This would trigger one request per ad to load full add page and parse infos, it'll take a little bit more of time