AbsListView.CHOICE_MODE_MULTIPLE is not working

Hi,
If I enable that value, the cells are not being checked properly. Using a regular GridView works with this.
I'm trying to find what of the methods you override is breaking that behavior, but just in case this is a limitation we can not go around.

How do you guys resolve this issue? I need to resolve this issue too. I first use https://github.com/TonicArtos/SuperSLiM and then use this one instead because super slim can't detect end of scroll correctly. Now i need to implement contextual action bar for selecting multiple items on grid view. If you guys have workaround let me know, thank you very much.

If anyone want to solve the same problem i have a solution here. The idea is that you must handle the contextual action bar and checked ids by yourself
set these in your fragment or activity
   gridView.setChoiceMode(GridView.CHOICE_MODE_NONE);
   gridView.setOnItemLongClickListener(this);
   gridView.setOnItemClickListener(this);

where gridView is your StickyGridHeadersGridView and you should implement AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener or make a new one that can be used on that setOnItemLongClickListener or OnItemClickListener
Create this class on your activity or fragment
    private class ActionModeCallback implements ActionMode.Callback {

    @Override
    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        // inflate contextual menu
        mode.getMenuInflater().inflate(R.menu.do_something, menu);
        return true;
    }

    @Override
    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        return false;
    }

    @Override
    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        switch (item.getItemId()) {
            case R.id.do_something:
                SparseBooleanArray selected = yourAdapter.getSelectedIds();
                StringBuilder sb = new StringBuilder();
                for (int i = (selected.size() - 1); i >= 0; i--) {
                    if (selected.valueAt(i)) {
                        sb.append(selected.keyAt(i));
                        if (i > 0) {
                            sb.append(", ");
                        }
                    }
                }
                //this is a custom toast that i made, you can replace it with toast or whatever
                Utils.showCustomToast(NewMainActivity.this, sb.toString());
                mode.finish();
                return true;
            default:
                return false;
        }
    }

    @Override
    public void onDestroyActionMode(ActionMode mode) {
        yourAdapter.removeSelection();
        mActionMode = null;
    }
}

then make these methods
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
    if (mActionMode == null) {
        if (null != yourAdapter && yourAdapter.getCount() > 0) {
            //perform your standard operation when item on click
        }
    } else
        onListItemSelect(position);
}

@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
    onListItemSelect(position);
    return true;
}

private void onListItemSelect(int position) {
    yourAdapter.toggleSelection(position);
    boolean hasCheckedItems = yourAdapter.getSelectedCount() > 0;

    if (hasCheckedItems && mActionMode == null)
        // there are some selected items, start the actionMode
        mActionMode = startActionMode(new ActionModeCallback());
    else if (!hasCheckedItems && mActionMode != null)
        // there no selected items, finish the actionMode
        mActionMode.finish();

    if (mActionMode != null)
        mActionMode.setTitle(String.valueOf(yourAdapter
                .getSelectedCount()) + " selected");
}

Add this variable to your activity or fragment as global variable
   private ActionMode mActionMode;

Then in your adapter, add this variable
    private SparseBooleanArray mSelectedItemsIds = new SparseBooleanArray();

And add these methods
public void selectView(int position, boolean value) {
    if (value)
        mSelectedItemsIds.put(position, true);
    else
        mSelectedItemsIds.delete(position);
    notifyDataSetChanged();
}

public void toggleSelection(int position) {
    selectView(position, !mSelectedItemsIds.get(position));
}

public void removeSelection() {
    mSelectedItemsIds = new SparseBooleanArray();
    notifyDataSetChanged();
}

public int getSelectedCount() {
    return mSelectedItemsIds.size();
}

public SparseBooleanArray getSelectedIds() {
    return mSelectedItemsIds;
}

I hope this solution will help you guys, sorry if too long, contact me if you have any problem or didn't understand


remove keychain implementation

May I know is there any reason of removing the keychain implementation? How we can store the device share locally then?

@seankcw It has been moved to the example app as one possible method of storing information. There is a variety of ways information can be stored by an application, no assumptions about storage should be made here.


new picture

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

rd/media/profiles/damir-dobric.jpg
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

The changes in this PR is in live. Please review it from: https://rd.microsoft.com/en-us/

Thanks :)


Extend walletconsole tests

Description
Extend walletconsole tests for coverage.
Testing instructions
Unit tests, coverage report.
Types of changes

Minor refactor, extra tests.

Checklist

[x] Prefix PR title with [WIP] if necessary.
[x] Add tests to cover changes as needed.
[x] Update documentation as needed.

/azp run

Coverage build is red :(  I think due to the large change in the baseline (AnySigner), but coverage is increased :)

Coverage build is red :(  I think due to the large change in the baseline (AnySigner), but coverage is increased :)


Fix issue with printf and passwords with %

$ cat <<EOF >foo
>   apiVersion: v1
>   data:
>     password: "$(printf ${GITLAB_PASSWORD} | base64 -w0)"
>     username: "$(printf ${GITLAB_USER} | base64 -w0)"
>   kind: Secret
>   metadata:
>     annotations:
>       tekton.dev/git-0: https://${GIT_SERVER}
>     labels:
>       credential.sync.jenkins.openshift.io: "true"
>     name: git-auth
> EOF

Produces:
sh: printf: `S': invalid format character

then...
$ cat foo
  apiVersion: v1
  data:
    password: "....U1A6d2g/a0w="
    username: "YWxleGNvcmNvbGVz"
  kind: Secret
  metadata:
    annotations:
      tekton.dev/git-0: https://gitlab-ce.apps.tl500-1.ls-eu.ole.redhat.com/
    labels:
      credential.sync.jenkins.openshift.io: "true"
    name: git-auth
$ echo ...U1A6d2g/a0w= | base64 -d ; echo
....SP:wh?kL
$ echo $GITLAB_PASSWORD
...SP:wh?kL%S

Using echo -n:
$ cat <<EOF >foo
>   apiVersion: v1
>   data:
>     password: "$(echo -n ${GITLAB_PASSWORD} | base64 -w0)"
>     username: "$(echo -n ${GITLAB_USER} | base64 -w0)"
>   kind: Secret
>   metadata:
>     annotations:
>       tekton.dev/git-0: https://${GIT_SERVER}
>     labels:
>       credential.sync.jenkins.openshift.io: "true"
>     name: git-auth
> EOF
$ cat foo
  apiVersion: v1
  data:
    password: "...6d2g/a0wlUw=="
    username: "YWxleGNvcmNvbGVz"
  kind: Secret
  metadata:
    annotations:
      tekton.dev/git-0: https://gitlab-ce.apps.tl500-1.ls-eu.ole.redhat.com/
    labels:
      credential.sync.jenkins.openshift.io: "true"
    name: git-auth
$ echo WDA6dE84U1A6d2g/a0wlUw== | base64 -d ; echo
....SP:wh?kL%S
$ echo $GITLAB_PASSWORD
...SP:wh?kL%S

I think the PR is right, but the next steps in the tutorial are failing, so maybe it's not correct...

@alexpdp7  - what shell and environment are you using here ? these work fine from previous runs in zsh and bash on CRW ?

OK, if your password has % in it .. then only 2 sane approaches .. use %% to escape
or we change to echo -n

As discussed, this only happens if the password contains %.

i will change it to echo -n .. no big deal ! and will check for other occurrances ... thats should fix it

fixed with - https://github.com/rht-labs/tech-exercise/commit/47e4373005b49d859ee969220ef37d34739d343d


Add OTEL messaging semantic conventions to Kafka integration

Description
Add OTEL messaging semantic conventions to Aspire.ConfluentKafka component/integration.
Fixes # (issue)
Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[x] Yes
[ ] No

Did you add public API?

[x] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[ ] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[ ] No

Microsoft Reviewers: Open in CodeFlow

@mitchdenny Could you add this package https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ConfluentKafka/0.1.0-alpha.2 ?

@mitchdenny Could you add this package https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ConfluentKafka/0.1.0-alpha.2 ?

Its importing now.

/azp run

@davidfowl / @eerhardt We now have 2 metrics sources.

Should we still emit both ? Should we add an AppContext.Switch ?

Should we still emit both ? Should we add an AppContext.Switch ?

I think we should start deprecating the existing one. Either removing it entirely now, or putting it behind an AppContext switch first, and then remove it later.

Can you update
https://github.com/dotnet/aspire/blob/62f8cf792deee900b8afd04c8e9e278c7dc6fa8a/src/Components/Telemetry.md?plain=1#L88-L105

Can you add some tests?

@g7ed6e we're marching towards the date for Aspire 9 shutdown, are you interested in having this support land in 9?

Can you update
https://github.com/dotnet/aspire/blob/62f8cf792deee900b8afd04c8e9e278c7dc6fa8a/src/Components/Telemetry.md?plain=1#L88-L105

done

Should we still emit both ? Should we add an AppContext.Switch ?

I think we should start deprecating the existing one. Either removing it entirely now, or putting it behind an AppContext switch first, and then remove it later.

done

@davidfowl I updated the PR with integration tests similar to those present in otel repo, i hope we are still able to make this land for .NET9.
CI is failing but should work once:

confluentinc/cp-kafka:6.1.9 is added to netaspireci.azurecr.io registry
TestContainers.Kafka 3.10.0 to nuget feed

Testcontainers package should be in there in a few moments. I'm working on getting my access sorted for the container image.

/azp run

confluentinc/cp-kafka:6.1.9 is added to netaspireci.azurecr.io registry

We shouldn't be using this container for tests. Instead we should use the Kafka container we reference in our Hosting package -
https://github.com/dotnet/aspire/blob/4e7e0de000bb83f824cca2773892a22b5da89245/src/Aspire.Hosting.Kafka/KafkaContainerImageTags.cs#L12-L15
You can override the TestContainer's image like the following:
https://github.com/dotnet/aspire/blob/4e7e0de000bb83f824cca2773892a22b5da89245/tests/Aspire.RabbitMQ.Client.Tests/RabbitMQContainerFixture.cs#L34-L38

confluentinc/cp-kafka:6.1.9 is added to netaspireci.azurecr.io registry

We shouldn't be using this container for tests. Instead we should use the Kafka container we reference in our Hosting package -
https://github.com/dotnet/aspire/blob/4e7e0de000bb83f824cca2773892a22b5da89245/src/Aspire.Hosting.Kafka/KafkaContainerImageTags.cs#L12-L15
You can override the TestContainer's image like the following:
https://github.com/dotnet/aspire/blob/4e7e0de000bb83f824cca2773892a22b5da89245/tests/Aspire.RabbitMQ.Client.Tests/RabbitMQContainerFixture.cs#L34-L38

@eerhardt confluentinc/cp-kafka:6.1.9 and confluentinc/confluent-local do not need the same env variables and startup script won't be compatible between the 2.
So we have 2 posibilities:

drop the dependency on TestContainers.Kafka, pull TestContainer and implement our own KafakContainer and KafkaBuilder.
use the community provided TestContainers.Kafka nuget package and get benefit on its probable future upgrade to confluentinc/confluent-local.

One thought: As the aim of these tests is to validate that the kafka clients behave correctly we could rely on whatever Kafka implementation and should not rely on the actual kafka server version. I mean that the aspire kafka integration should be compatible with others implementation like RedPanda for which a TestContainer.RedPanda NuGet package is published too.

@eerhardt I've updated the PR adding a specific KafkaContainerBuilder for the requirements of the confluentinc/confluent-local:7.7.1 image. The implementation is inspired by the TestContainers go library which uses a confluent/confluent-local 7.x image too. (In opposition to the .NET one which us a confluent/cp-kafka 6.x image).

Sorry for the delay @g7ed6e. This is looking really good. I just have a few comments. Once those are addressed I think we should be able to merge this.
I have added Testcontainers.Kafka 4.0.0 to our nuget mirror so CI should be unblocked.

@eerhardt Thanks. CI is all green now. I updated the PR according to your comments and rebased main branch.


Try some improvements to the recipe.

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.

@isuruf is the usage of ignore_run_exports correct here?
Basically, tbb-devel is needed as a host dependency, but the produced library does not employ any symbol from libtbb.so (because the TBB usage in the obake source code is limited to the header-only parts). Thus, libobake.so does not need the runtime dependency on tbb implied by tbb-devel's run_exports.
Is this reasoning correct?

Is this reasoning correct?

Yes


Microsoft Edge is back

Describe the bug
I had installed Windows 11 using winutil's microwin utility, and had removed edge, because I don't want it to plague my system. For some reason, it is back on my system after almost 2 weeks I installed Windows 11 using the iso microwin modified. Also, one important information I would like to add is that I have received windows updates after I installed Windows 11 using microwin, so although I do remember Edge not being in my system right after I updated, I have a high reason to believe that the update had something to do with it.
To Reproduce
Steps to reproduce the behavior:

Get your iso from Microsoft
Go to Microwin tab in CTT's winutil
Install Windows using the new ISO
Select the option to remove Edge
Update your system after Windows 11 shows "Critical updates" or until the notification in the taskbar lights up red.
After a few days/weeks Edge just decided to show up

Expected behavior
Microsoft Edge should no longer be on my system.
Additional context
I would also like to add that I had fiddled around Microsoft Defender (Security) to see if I could get winutil running to update some packages (And it did after I disabled Defender). And I am 100% sure that Edge did not reappear immediately after the update, and it took ~ a week to reappear on my system after the update. I hope there is a good solution to this that does not require me to reinstall Windows again :'(
Also, thank you very much for your awesome work Chris!

Microsoft will reinstall Edge during updates, there is a tooltip when you hover over Remove Microsoft Edge - NOT RECOMMENDED that states that Edge reinstalls with updates.

Windows runs a lot of small updates in the background. There really isn't a way to permanently remove Edge without completely disabling Windows Updates. This isn't recommended for security reasons. Also, Edge comes with a lot of libraries that Windows uses everyone else, like WebView2, which is a webapp library used by a lot of software, including WPF, WinForms, and Win32 C/C++ applications.

Thank you for letting me know. I should have looked into it a bit more before I opened up an issue here. I was able to remove Edge again, I just didn't know I had to do it after every update. Thanks again!


Multi-selection

Is your feature request related to a problem? Please describe:
Wouldn't go as far as to say that it's a problem, but I will admit not having the opportunity to select multiple tracks / albums is a minor nuisance.
Describe the solution you'd like:
A simple checkbox or button that opens for multi-selection of songs in a playlist and entire albums, makes creating huge playlists so much less of a pain in the butt and saves a ton of time and mouseclicking.
Describe alternatives you've considered:
Using Soundiiz as a makeshift replacement, it's a third-party playlist manager that allows for import/export of playlists across multiple platforms.
Additional context:
See attached image

Hello @Dimergon. I'm afraid I don't understand your feature request. Nuvola itself doesn't manage any playlists. It's the responsibility of the streaming service which is loaded in Nuvola.

Closing as there is no response for over a month.


Automated app tests

We need tests in the app. The best place to start is something simple and end-to-end (e.g. does the homepage load, does a video play)
Some considerations:

how easy is it to write tests (the easier it is, the more like it is that we'll have good coverage)
storing test metrics (how fast did homepage load? how long did it take video to play?)
can travis run these tests

closing in favor of #1776


Curation App post-Oracle migration - loading issues and error log

16.08.22
Several issues including:

Unable to login
- intermittent throughout morning
Pages never loading, only buffering - no specific page. All pages.
-  eg. 11am. filtering by 'awaiting curation' and 'level 1 curator' on this page: http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies?page=1&status=21&curator=42
Error pages on notes tab and when filtering by author on the main page:
- eg. 11am. http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies?page=1&pubmed=34534736

Error is shown while trying to login to the curation tool

Curation App has been restarted but problems persist.
Eg. ~12.30pm, this page not loading when I clicked to duplicate notes to all studies: http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/97056071/notes

Notes tab eventually (after about half an hour) returned this page:

Got this error while trying to log in to the curation app around 1.30 pm

Got this error while trying to log in to the curation app around 1.30 pm

6pm: error loading study page https://www.ebi.ac.uk/gwas/curation/studies/98547545

7.15pm: again trying to duplicate notes to all studies, the page only spins, never finishes loading. Tried refreshing but notes have not been duplicated. Tried again, still loading. http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/97005673/notes

8.30am - Curation App pages are only spinning, never loading. eg.
http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/99877989/associations
http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/

Notes tab: After clicking the 'duplicate to all studies' button next to a note, and after the eternal buffering, and the restarting of Curation App, the note has been copied thousands of times within the same study: http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/99811541/notes

11.50am: Curation App was briefly working after restart but now no pages are loading again, eg: http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/99811521/housekeeping

Curation App has been restarted again.
12.42: Error loading this page http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies?page=1&author=Care AG

18.08.22:
Curation App working a lot better but for this study, when I changed status to publish study on the curator information tab of this study http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/99877989 I received this error:

But status does seem to have changed successfully.
Also can't load the notes page for the same study http://ves-ebi-e4-x.ebi.ac.uk:8080/gwas/curation/studies/99877989/notes

10.10am:
Receiving this error page when trying to open this study page: https://www.ebi.ac.uk/gwas/curation/studies/98547545


done task_9

issue: #218

Hey @adityaagg4689
Thanks for opening this PR 🚀. Mentor will review your pull request soon and till then, keep contributing and stay calm.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @adityaagg4689
Your PR has been merged 🥳🥳 and you have earned 10 points.
Thanks for contributing in OpenCode'24 ✨✨


[Node.js] Update of document

Add "Build with CMake", and the fix of environment setup
Change wording/structure/etc. for better understanding

Ping @halton : ci is green for this.

LGTM, will merge when CI green.


metadata not updating after we upload to cloud storage

Hello,
We recently used this library for our laravel app. We followed the documentation in order to configure it. We face an issue where, even though we are setting some metadata options, we don't see them implemented on GCS.
'cdn' => [
            'driver' => 'gcs',
            'project_id' => env('GOOGLE_CDN_PROJECT_ID', 'test'),
            'key_file_path' => base_path(env('GOOGLE_COM_CDN_SERVICE_JSON', 'test.json')), // optional: /path/to/service-account.json
            'bucket' => env('GOOGLE_CLOUD_STORAGE_BUCKET', 'test'),
            'path_prefix' => env('GOOGLE_CLOUD_STORAGE_PATH_PREFIX', ''), // optional: /default/path/to/apply/in/bucket
            'storage_api_uri' => env('GOOGLE_CLOUD_STORAGE_API_URI', ''), // see: Public URLs below
            'visibility' => 'public', // optional: public|private
            'metadata' => ['cacheControl' => 'no-cache,max-age:0']
        ]

The library currently forwards all the options provided in the configuration to the underlying flysystem v3 library. There is an issue on the flysystem v3 repo that tries to solve this as its currently not supported to use the metadata configuration.
https://github.com/thephpleague/flysystem/pull/1299

@bairamispanagiotis,
All files are created as private.
Even if our configuration shows as public.
This is the same issue?

@andreladocruz this has something to do with your visibility settings when uploading the files. You can go to the storage block in Google Cloud Console and check if its set to private. If it is, you are not able to access the object with a normal url, otherwise you would either need to create a signed url to the object or fix the visibility setting.

the metadata didn't work for me either.
'metadata' => ['cacheControl'=> 'public,max-age=86400', 'contentDisposition' => 'attachment'],

With the release of flysystem v3.0.15, this issue should be fixed. Maybe it would be worth, bumping the minimum required version of ´league/flysystem-google-cloud-storage´ in the composer file.

Closing as it's fixed in flysystem 👍


Add master_devices and agent_devices parameters.

These parameters of the Docker backend allow to expose host devices
to master or agent containers.

I don't know if this is useful for the storage testing case. This just exposes a devices from host to the container. But how do you know about those devices on the host?
I was hoping that I don't need to do any work on the host. Instead, we should setup some loopback devices in the docker container (the number of devices can be configured) so that dcos-docker create is sufficient for testing.

@jieyu Good point! I was thinking of creating a loopback device on the host and expose it in the container, but you're right, that it would be much better to setup the loopback device directly in the container. This should work with how containers are currently setup, @adamtheturtle? Then we would have to run a dd ... && losetup ... on a running container based on some config value.

@nfnt I am aware this issue. And we do have a few workarounds in our e2e container to solve this:
https://github.com/mesosphere/dcos-storage/blob/master/scripts/docker/e2e/loopback/setup_loopback_volumes.sh
We can smartly pick an unused loopback device.
From user's perspective, asking them to setup loopback is too tedious...

I'm closing this in favor of #1285, which creates a sidecar container to use for the loopback device. This method works in the API, as well as the dcos-docker CLI without having the user to create any devices on their host.


NPE in ClearingHouseOutputProcessor

If the clearing-house-api does not respond with an IDS message (because of an internal issue there #8), then the ClearingHouseProcessor fails with a NullPointerException when trying to read the IDS headers from the clearing-house-api response:
2022-02-03 07:56:21.249 DEBUG 1 --- [qtp724400266-27] d.f.a.i.d.PolicyDecisionPoint            : Transformation: de.fhg.aisec.ids.api.policy.TransformationDecision@2be8a8bc
2022-02-03 07:56:21.555 ERROR 1 --- [qtp724400266-27] o.a.c.p.e.DefaultErrorHandler            : Failed delivery for (MessageId: F04AE90F7EC7B42-0000000000000001 on ExchangeId: F04AE90F7EC7B42-0000000000000001). Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "org.apache.camel.Message.getHeader(String)" is null

Message History (complete message history is disabled)
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
[CH_LOG_PID        ] [CH_LOG_PID        ] [from[jetty:http://<IP_ADDRESS>:9999/messages/log/%7Bpid%7D?httpMethodRestrict=POST]] [       561]
        ...
[CH_ROUTE_LOG      ] [process4          ] [ref:responseProcessor                                                         ] [         0]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------

java.lang.NullPointerException: Cannot invoke "Object.toString()" because the return value of "org.apache.camel.Message.getHeader(String)" is null
   at de.fhg.aisec.ids.clearinghouse.ClearingHouseOutputProcessor.process(ClearingHouseOutputProcessor.java:58) ~[clearing-house-processors.jar:na]

Currently, this only happens if the Clearing House is not configured properly. The Clearing House startup has been modified. It will now check that a signing_key exists on startup. If this is not the case, it will exit with an error message


Web & Mobile: Task frequncy

User Story
As a user who has filled out initial preferences,
I want to specify how often I want a task to be triggered,
So that I can customize the frequency of task recommendations.
Acceptance Criteria

[ ] After filling out initial preferences, prompt the user with the question "How often do you want a task to be triggered?" on the preferences screen.
[ ] Provide options for the user to select the frequency of task triggering (e.g., daily, weekly, monthly).
[ ] Ensure that the user can select their preferred frequency of task triggering.
[ ] Verify that the question about task triggering frequency is displayed only after initial preferences are filled out.
[ ] Test the functionality across different devices and screen sizes to ensure consistency.

Related Issues

None

Notes

Allowing users to specify task triggering frequency enhances the customization of their experience.
Collaborate with designers to ensure the question and options for task triggering frequency are visually appealing and intuitive.
Test the functionality thoroughly to ensure it works as expected and provides a seamless user experience.

Tasks

[ ] Design the layout and content for the question about task triggering frequency on the preferences screen.
[ ] Implement the functionality for asking about task triggering frequency in the frontend codebase.
[ ] Ensure that the question and options for task triggering frequency are displayed only after initial preferences are filled out.
[ ] Test the functionality of task triggering frequency selection to verify that users can specify their preference accurately.
[ ] Test the responsiveness and usability of the question and options across different devices and screen sizes.
[ ] Document and report any issues or bugs discovered during development and testing.

Getting started on the web side of this issue. I'll have the frequencies on first login and in the preference page.

I am staring this one as well :)

This one is done

This issue is completed on the web side.


[DropDownMenu] Expose targetOrigin and anchorOrigin properties

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

add DorpDownMenu anchorOrigin and targetOrigin props

hi, I change "This is the point on the anchor where the popover's targetOrigin will attach." to "This is the point on the anchor that the popover'stargetOrigin will attach to."
haha. my english is poor...

"my english is poor..."

Your english is just fine! If I could speak any other language half as well as others for whom it is a second language speak English, I'd be delighted!


Enhancing UI of overall website.

Description
I want to make the website more interactive by enhancing the UI by adding some hover effects , changing some sizing and padding etc. I will take care of whole design of the website.
please mark this issue under hacktoberfest 2023 and assign this to me so i can start working on this
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Would you please assign this task to me!


Don't tie Yuuko to a certain Eris version

remake of #28 because I'm a fool who doesn't know how branches work

wait why is this still here, fixed in v1.1.0 and merged to dev for 2.0


Title: Update JavaScript of Quiz App

Which pre-existing JavaScript project will you be working on?
30DaysOfJavaScript
/146 - Quiz App/
I want to contribute to the mentioned repository.
Describe your enhancement/improvement
Here , I aiming to achieve the same functionality while reducing redundancy and simplifying the logic for improved JavaScript code.
Anything you need to say to the Reviewers
No response
Add any other context or relevant screenshots about the enhancement here.
No response

I m still waiting for your response

@swapnilsparsh Please accept my PR #1136


dead vs down server - standardize terminology

I find it a little confusing that dead and down are used interchangeably - can all setting names mention either dead OR down?
proxy.config.http.down_server.cache_time: 180
proxy.config.http.down_server.abort_threshold: 10
proxy.config.http.connect_attempts_max_retries_dead_server: 1

Another thing that is confusing about our terminology is the use of retries like for the following timeouts
proxy.config.http.connect_attempts_max_retries
proxy.config.http.connect_attempts_rr_retries

While those settings say retries, they are really specifying tries.


Allow bulk analysis of UTMPX files

I think it'd be beneficial to add capability to bulk analyze UTMPX files when given a folder instead of a filepath.
I can probably implement this when I get back home in a couple weeks is this is a direction that is agreed on, just needs to tweak the output to not keep generating new files per each inputted UTMPX file, and small logic for file vs folder.
Also hi Yogesh :)

Sure Jack, go for it!


GPU usage is not full?

Hi,
Having tf 2.3.0 and keras 2.4.3
NatureInspiredSearchCV not using full GPU
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
BatchSize = [100,200,300,400,500,600,700,800,900,1000]
Epochs = [100,200,300,400,500,600,700,800,900,1000]

    def create_model():
    	model = Sequential()
    	model.add(Dense(int(num_cols/2), input_dim=num_cols, activation='relu'))
    	model.add(Dense(1, activation='sigmoid'))
    	model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    	return model
    model = KerasClassifier(build_fn=create_model, verbose=0)
    param_grid = dict(batch_size=BatchSize , epochs=Epochs )
    grid = NatureInspiredSearchCV(model, cv = 3, param_grid=param_grid, verbose=0,  algorithm='ba',  population_size=25,  max_n_gen=100,  max_stagnating_gen=10, runs=5, scoring='accuracy', random_state=42)
    grid_result = grid.fit(X_train, y_train)
    best_hyperparameters = grid_result.best_params_

GPU usage is nearly 1-2% all time

i have set
from tensorflow.python.client import device_lib
assert 'GPU' in str(device_lib.list_local_devices())

Does NatureInspiredSearchCV use n_jobs parameter like GridSearchCV?

Yes, the n_jobs parameter is used, I have updated the docs with the explanation of how. NatureInspiredSearchCV runs on CPU not GPU.

n_jobs: int, default=None. Number of jobs to run in parallel. None means 1 unless in a joblib.parallel_backend context. -1 means using all processors. This affects the number of jobs when evaluating a model for one individual (for one individual there might be more model evaluations because of cross-validation) not for the whole population - current implementations of nature-inspired algorithms do not support multiprocessing. You will benefit from multiprocessing only if you use cross-validation.


Only search for ID's recommended by auto-complete

Change Auto-Complete: we only want to search for node recommended by the autocomplete.
So if we not have a valid id, we are not able to search for it.

only call expend for suggested gene

Fixed due to Multiselect Mantine


Add Keywords to your package.json challenge not working

As the challenge stated, I added some words to my package.json file in my Glitch app (https://shaded-brook.glitch.me/). The challenge said one of the words had to be freecodecamp, so I put it there.
"Add an array of suitable strings to the keywords-field in the package.json of your Glitch project.

One of the keywords should be freecodecamp."

Below is my full package.json:
{
  "//1": "describes your app and its dependencies",
  "//2": "https://docs.npmjs.com/files/package.json",
  "//3": "updating this file will download and update your packages",
  "name": "hello-express",
  "version": "0.0.5",
  "description": "Hello There",
  "keywords": [ "freecodecamp", "express", "hello" ],
  "author": "Matthew Piercey",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.16.4"
  },
  "engines": {
    "node": "8.x"
  },
  "repository": {
    "url": "https://glitch.com/edit/#!/hello-express"
  },
  "license": "MIT",
  "keywords": [
    "node",
    "glitch",
    "express"
  ]
}

However, when I press the I've completed this challenge button after inputting "https://shaded-brook.glitch.me/" into the blank, the tester box says:
// running tests
"keywords" does not include "freecodecamp"
// tests completed

https://learn.freecodecamp.org/apis-and-microservices/managing-packages-with-npm/add-keywords-to-your-package-json

Browser Name: Google Chrome
Browser Version: 75
Operating System: macOS Sierra

Any help would be appreciated.

Check the bottom of your package.json again.  You may have duplicated the task.

Ah, yes. Once again, the solution boils down to simple literacy. Thanks for pointing that out...


Fix the wrong translation in i18n/zh-CN.xliff

I am a Chinese, I found a lot of translation is a mistake in file "i18n/zh-CN.xliff", so I corrected it.

@everzet how should we deal with such changes which can break BC ? This is related to https://github.com/Behat/Behat/issues/705

We can support this type of change simply by combining the regular expressions together. It will make them harder to read but BC will be maintained.


validate method return proprietary class

Many thanks for submitting your Pull Request :heart:!
What this PR does / why we need it:
errors property in workflowValidation class is defined as a list of DefinedError from ajv library, I think that this class should be replaced for a proprietary class, like validationError in this case
Special notes for reviewers:
Additional information (if needed):

Thanks for this improvement @antmendoza !

are you happy with this PR @JBBianchi? can I merge it ?

s'all good man, thanks :)


wip: Update recommended plugins

Remove following plugins

fluent-plugin-secure-forward
fluent-plugin-forest
fluent-plugin-scribe
fluent-plugin-parser
fluent-plugin-file-alternative
fluent-plugin-zabbix-simple-buffered
fluent-plugin-grep
fluent-plugin-kestrel

Following plugins does not support Fluentd v1:

https://github.com/norikra/fluent-plugin-norikra
https://github.com/yunomu/fluent-plugin-cloudwatch
https://github.com/shirou/fluent-plugin-pghstore/pull/10
https://github.com/sonots/fluent-plugin-grepcounter
https://github.com/riywo/fluent-plugin-groupcounter
https://github.com/sonots/fluent-plugin-keep-forward
https://github.com/u-ichi/fluent-plugin-mail/pull/34
https://github.com/ixixi/fluent-plugin-sns/pull/16
https://github.com/y-ken/fluent-plugin-munin
https://github.com/treasure-data/fluent-plugin-metricsense
https://github.com/ixixi/fluent-plugin-sqs
https://github.com/muddydixon/fluent-plugin-datacalculator
https://github.com/muddydixon/fluent-plugin-anomalydetect
https://github.com/kbinani/fluent-plugin-redis-counter
https://github.com/tomohisaota/fluent-plugin-forward-aws
https://github.com/iij/fluent-plugin-snmp
https://github.com/sonots/fluent-plugin-stats
https://github.com/tomitakazutaka/fluent-plugin-cassandra
https://github.com/obieq/fluent-plugin-cassandra-cql
https://github.com/u-ichi/fluent-plugin-cloudstack
https://github.com/yuku-t/fluent-plugin-mysqlslowquery
https://github.com/flydata/fluent-plugin-redshift
https://github.com/karahiyo/fluent-plugin-histogram
https://github.com/riywo/fluent-plugin-hash-forward
https://github.com/oza/fluent-plugin-zmq
https://github.com/tomity/fluent-plugin-select
https://github.com/SpringMT/fluent-plugin-resque_stat
https://github.com/hotchpotch/fluent-plugin-resque
https://github.com/y-ken/fluent-plugin-gamobile
https://github.com/todesking/fluent-plugin-jabber
https://github.com/treasure-data/fluent-plugin-td-monitoring
https://github.com/moaikids/fluent-plugin-reassemble
https://github.com/MasayukiMiyake97/fluent-plugin-jvmwatcher
https://github.com/hiro-su/fluent-plugin-http-status
https://rubygems.org/gems/fluent-plugin-typecast
https://github.com/tiwakawa/fluent-plugin-df
https://github.com/k24d/fluent-plugin-splunkapi
https://github.com/parolkar/fluent-plugin-splunk

How do you think about this? @repeatedly


gigasecond/gigasecond_test.cpp include header?

This is a question:
Wouldn't it be nicer to include "boost/date_time/posix_time/posix_time.hpp" into the gigasecond_test.cpp as it actually needs it, instead of implicitly relying on gigasecond.h to include it. Maybe one wants to keep the header slim and thus forward declares boost::posix_time::ptime and includes the full boost header in the cpp? Additionally there is "boost/date_time/posix_time/posix_time_types.hpp" which has no i/o and would be sufficient for the implementation of advance() but then the test doesn't compile.
Please correct me if I am wrong :)
Cheers, Lukas

Thanks for the references. Should have checked myself before opening an issue. I think that a test should not rely on the solution header to include another header which is actually needed by the test itself.
If posix_time.hpp was very large, it would actually be bad software design to include it in gigasecond.h only to use a type that can be forward declared easily. On the other hand this exercise is at the beginning of the track and the users probably don't think about such things anyway.
I understand the point that giving the user the header is kind of the solution already, but I think that good design practice is more important. I am however definitely no expert on this.
As you stated in #121 it would really make sense to be consistent on this for all exercises.
If you are interested I might have time to do this for all exercises in about 2-3 weeks. But I don't think this is a big issue right now. What do you think?

I have a related issue, not sure if it's just me or an actual issue.
      use of undeclared identifier 'time_from_string'```
I can fix it by adding this header to the test case.  `#include <boost/date_time.hpp>`
The header belongs in the test case, not the implementation.  I dont understand, because it looks like it's part of posix_time [time_from_string](http://www.boost.org/doc/libs/1_65_1/doc/html/date_time/posix_time.html#ptime_from_string).
Let me know if:
I should fix on this issue.
I should create a new issue.
I'm doing something else wrong and should not touch the repo.

Thanks

I have a related issue, not sure if it's just me or an actual issue.
      use of undeclared identifier 'time_from_string'```
I can fix it by adding this header to the test case.  `#include <boost/date_time.hpp>`
The header belongs in the test case, not the implementation.  I dont understand, because it looks like it's part of posix_time [time_from_string](http://www.boost.org/doc/libs/1_65_1/doc/html/date_time/posix_time.html#ptime_from_string).
Let me know if:
I should fix on this issue.
I should create a new issue.
I'm doing something else wrong and should not touch the repor.

Thanks

Answer is 3.
I had included #include <boost/date_time/posix_time/posix_time_types.hpp> becuase that was all I needed in my implementataion, but the tests  needed #include "boost/date_time/posix_time/posix_time.hpp" for time_from_string

I think this actually is a reason why proper headers should be included? @patricksjackson ?

I was going to create a separate issue but I am going to add my share here. I have been struggling to figure out what kind of headers and classes do I have to use in this exercise for two hours before I finally figured out that all I have to do is add 10^9.
Honestly, this would have been a million times more understandable if there were any notes/instructions about the class. There is no debugging to be done here except figure out what headers to be used.

I'm merging in change #201 that fixes this


Dropdown search component

We'll need a dropdown search component for form entry (ex. selecting species). There are existing libraries we could use but we'll need to test them/integrate them.

/cib dropdown search component

Branch 1-dropdown-search-component created!


chore: update curl

Description
Fix this error at build time:
#7 [3/4] RUN apk update && apk add --no-cache jq 	&& jq -r '.[] | "\(.name)=\(.version)"' /tmp/dependencies.json | xargs apk add --no-cache 	&& rm /tmp/dependencies.json
#7 1.078 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
#7 1.419 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
#7 1.735 v3.16.5-89-ga8200e94bd0 [https://dl-cdn.alpinelinux.org/alpine/v3.16/main]
#7 1.735 v3.16.5-81-gcb4f17bdf87 [https://dl-cdn.alpinelinux.org/alpine/v3.16/community]
#7 1.735 OK: 17040 distinct packages available
#7 1.775 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
#7 1.867 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
#7 2.090 (1/2) Installing oniguruma (6.9.8-r0)
#7 2.102 (2/2) Installing jq (1.6-r1)
#7 2.115 Executing busybox-1.35.0-r17.trigger
#7 2.136 OK: 7 MiB in 16 packages
#7 2.302 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
#7 2.395 fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
#7 2.612 ERROR: unable to select packages:
#7 2.646   curl-8.1.0-r1:
#7 2.646     breaks: world[curl=8.1.0-r0]

Checklist

[ ] changelog was updated with notable changes
[ ] documentation was updated

See #218


Remove-PnPsiteCollectionAdmin "Unable to remove user as it wasn't found. User will be skipped"

The basic command is returning "Unable to remove user as it wasn't found. User will be skipped" and does not remove the admin.
Set-PnPTenantSite -identity https://nexvortex1-my.sharepoint.com/personal/alatessa_nexvortex_com -owners<EMAIL_ADDRESS>Get-PnPSiteCollectionAdmin
Id Title LoginName Email
33 User 1<EMAIL_ADDRESS><EMAIL_ADDRESS>remove-PnPsiteCollectionAdmin -owners<EMAIL_ADDRESS>WARNING: Unable to remove user as it wasn't found. User will be skipped.
Remove-PnPsiteCollectionAdmin -owners<EMAIL_ADDRESS>WARNING: Unable to remove user as it wasn't found. User will be skipped.
Thanks

@ckssaas - Please DO NOT delete the template when opening an issue. Filling the info requested helps troubleshooting faster.
As for the issue, I can reproduce it, but for now you can use the full LoginName as a workaround, it works on 1.6.0.

FYI - @gautamdsheth

@gautamdsheth - Is there anything we can do instead of the workaround? If not, that's a documentation update. Cheers.

@veronicageek , @ckssaas  - the issue has been fixed. Please try with tomorrow's nightly build !
Thanks for reporting.


find code have to add "/" when func have “(”

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.89.1
OS Version: linux

Steps to Reproduce:

vscode version 1.89.1

/needsMoreInfo
Is it find widget in editor or Find in files? Do you have regexp mode enabled (.* toggle in search field)?
More details and screenshot would be helpful

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

/needsMoreInfo
Is it find widget in editor or Find in files? Do you have regexp mode enabled (.* toggle in search field)? More details and screenshot would be helpful

I use ctr shift +f then find some func.  vscode version 1.90 is ok


Disable Invoke-WebRequest Progress Bar to Remove Flickering Bar

For each GitLab API call, the Invoke-WebRequest command displays a progress bar, which for a lot of calls, is only displayed for a fraction of a second. For a paginated call, multiple short-lived progress bars are displayed one after the other causing an annoying flickering on the PowerShell window.
I don't think these progress bars are useful, so suggest disabling them by setting the $ProgressPreference variable to SilentlyContinue during the Invoke-WebRequest calls as shown in this PR.

Cheers @ngetchell. Are you planning to publish a new release to the PowerShell gallery?

Hi @DHowett , the $ProgressPreference variable used in the module is definitely scoped to the module and won't affect the value of $Global:ProgressPreference. See About_Scopes for further info.


Add typescript typings

Thanks for creating a TypeScript definition. 🙌 Can you follow this styleguide?

To follow that, should I put exports.default = export; in index.js?

Ping :)

Closing in favor of #4


Single js file for jade templates and render without eval

For better client side performance is better all jade templates in a
single js file, this reduce http calls and no need eval (can be harmful).
This solution generate templates.js every server run, is better for
development because when you run forever -w or other similar tool and
makes changes in some .jade template generate the file after reboot.
Related: #1231

Heya! Thanks for contributing to pump.io!
Unfortunately, this adds pretty significant overhead to initial requests which significantly increases the time before initial content gets filled in - this is not great and is especially problematic since we doesn't do cache-busting and don't do a great job rendering initial HTML on the server-side. Note also that while eval() can be dangerous, it is safe in this context. I don't think the tradeoff is worth it, so I'm closing.
I'd still love to accept PRs to implement the original design described in #1231. Let me know if you want to discuss this further.

For reduce  overhead can implement task with gulp or similar to minify the code or use async o prefetch html properties. in my opinion the initial design with .utml (also with mustache or similar) is more efficient,
The current solution is not friendly for developments becase need run build in any change of template and build all templates in any change.
The inicial startup in more slow by seconds, buts the call in other pages is more fast, when a user start to navigate the in pages is more fast but current every page change is more slow, in a slow server or home server is better a one initial load and deduce request, I thinks is better use other framework with own template enginner like vue.js or ember.js
You can acepts solution for optimized this implementacion? using prefetch o similar?

For reduce overhead can implement task with gulp or similar to minify the code or use async o prefetch html properties.

JS generated by Jade is already minified.

The current solution is not friendly for developments becase need run build in any change of template and build all templates in any change.

Yes, this is something I'd like to improve upon. Jade has an option to watch for changes which will help.

The inicial startup in more slow by seconds

Yep. Regrettably multiple seconds is unacceptable from a performance point of view.

using prefetch o similar?

It sounds like you're suggesting prefetching each Jade file so the template is already available when users navigate to different pages? If so then yes, I would be happy to take patches implementing that. That's what's suggested in #1231.

JS generated by Jade is already minified

Is't true, jade output is't 'pretty' but not minified(Compressed), are diferents concepts, for minified you need tools like uglifyJS

Regrettably multiple seconds is unacceptable from a performance point of view.

In my test[1], the initial startup is very similar in two cases (relative to network) and in some tests the current solution is more slow, best frontEnd practices say: Minimize Requests
In my last commit only compile necessary templates (-client) and the files size reduce to 290K and minified 172K, similar size to jquery lib, one js more is no big deal, not increment the initial startup and reduces the http request.
[1]

Is't true, jade output is't 'pretty' but not minified(Compressed), are diferents concepts, for minified you need tools like uglifyJS

Hmm, I thought Jade minified stuff. It's not really documented; I filed pugjs/pug#2767 on this.
As for your test results, they're interesting. However I'm pretty suspicious of your first benchmark. There must have been some external factor at play there... there is absolutely no way that adding 300K of JS reduced the time by 0.2 seconds. That's just not possible.
More broadly, though it seems that the performance problems with this aren't as bad as I originally thought, I'm still a no on this one. If we prefetch templates in advance that makes time waiting for a request-response cycle a non-issue (especially with cache-busting), which is by far the biggest reason to minimize requests. And keeping templates in separate files still has an initial startup advantage (though not as big as I thought) and means we can still reuse a lot of cached resources even if some of the templating changes across versions, etc. Whereas if we put all the templates in one big file, even if we changed a single line in an obscure page, that would invalidate 100% of the web UI caches.

Yes, I agree, one line would invalidate caching and need get all templates.

Sounds like we're on the same page then.

Yes, I work in this moment in CacheBust, But I'm still not convinced using eval :D

@vxcamiloxv the two main problems with eval() are performance and security. Performance is not an issue because we only eval() templates once and then cache the result, so it doesn't happen in any hot code paths or anything. The security issues with it are that if a user is able to get some text into an eval()'d string, they can perform an XSS attack, but this is also a non-issue because we're careful to only eval() templates sent by the server, which we trust. It's not possible for user input to get into this codepath.

Another problem with eval() is that it is commonly misused for certain things - see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Don't_use_eval_needlessly!. This also doesn't apply to us because we don't do any of those things.

Inject js dynamically in the DOM
HTML Render in server side

.render() always pass 'principalUser' for compile template, this information also live in server session and you can render in server and return the HTML

But is little ugly solution and unnecessary, eval is very slow and some templates are big, you have other options.

eval() is not slow in this case. The main reason that eval() is slow is when people eval() the same code multiple times (which interferes with the JS engine's optimizer) or, even worse, change values interpolated into the eval()'d code ever-so-slightly, which makes optimization impossible because even though 95% of the code is the same, the engine is not able to optimize the entire thing due to that one little difference.
This doesn't apply in pump.io's case, because we never eval() the same string more than once and we don't interpolate values into the string. Once the template function has been loaded, it acts basically like a regular function and can be optimized as normal by the VM. The reason we never eval() the same string more than once is because we cache the function after it's eval()'d - in subsequent uses of that template, the function will be pulled from the cache. You can see this logic in action by examining the code surrounding the eval() calls.
Don't get me wrong, being suspicious of eval() is generally a Very Good Thing. It's just that in this case, it's perfectly legitimate.

Inject js dynamically in the DOM

This incurs basically the same performance cost. With both DOM injection and eval(), you're incurring a performance hit for parse time, which is of course completely unavoidable. After that in both cases you get a completely normal JavaScript function object which is optimized normally by the VM.
In fact, I think doing it this way may be even faster than doing it via DOM injection, because any call accessing the DOM is slow. This way you avoid that access. But I'm not 100% sure on that, so don't quote me.
Even if they were about the same speed I would still say stay with the current solution, because it works and we have better things to do.

HTML Render in server side

This incurs an additional round-trip for every page change, while the current approach only incurs a round-trip for the first time a template is used in a session (and once #1204 lands will only incur a round-trip for the absolute first time a template is used, basically ever).
To be clear, when I talked about expanding the amount of HTML we render server-side in other issues, I wasn't proposing replacing any of the client-side logic with that. The reason we'd do that is because it opens up the possibility of us supporting JS being disabled, because I believe in progressive enhancement, because I believe in js;dr, and because it decreases the time to first paint on initial page loads (when a user directly visits a pump.io page). None of that has to do with the performance of navigation within the app :)

Good points, js;dr is very interesting, a good option for the future of the pump.io is have the two options, detect what is the better option to return, static for console browser, curl, wget and with JS for modern browser and can be enabled or disabled by browser extensions or by profile configuracion.
regards ;)

@vxcamiloxv actually there's no reason we wouldn't return static content for browsers with JS enabled (it'll improve perf, in fact). We'll do that always and single-page functionality in JS will basically become a progressive enhancement.

@vxcamiloxv I wanted to come back to this to explicitly say, both for you and for those stumbling on this thread, that I would seriously encourage you to keep asking questions like this. Some of the responses I wrote above I had to look up in order to double-check that some assumptions I made were right, which is great for me as a programmer and serves to help make sure the project is the best it can be. So don't take this as a reason to stop challenging my reasoning! I actually really appreciate it :)

@strugee Great, That's the idea, stay curious and self-critical


{{ .Namespace }} is not available in values.yaml.gotmpl

Use case
We're using the official mysql helm chart in multiple namespaces so to prevent name conflicts, this is working as expected
releases:
- name: {{ .Namespace }}-mysql

However the release name is also used for the svc name so in my application chart values.yaml.gotmpl, we're adding:
- name:  DATABASE_HOST
  value: {{ .Namespace }}-mysql

But that ends up just being -mysql
As a workaround we're using requiredEnv instead and adding the namespace as an env var.

@aweis89 This is a duplicate of #351


Add a docker repo hosted in Kubernetes

Add a docker repo, hosted within Kubernetes, that Kube can access to pull custom images

Complete


Revert Fix support for NAT with keep-alives

What does this PR do?
Reverts https://github.com/DataDog/datadog-agent/pull/10078
Motivation
Memory increase in agent 7.34
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] The appropriate team/.. label has been applied, if known.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

Superceded by https://github.com/DataDog/datadog-agent/pull/10973


Blur effect style

This PR is a little bit out of scope off the initial planned features.
What 's New :

remove BlurEffectStyle and make UIBlurEffectStyle conforming to IBEnum
Add a Default Implementation for IBEnum where Self: RawRepresentable using iterateEnum. (This default Implementation is case-insensitive).
Improve Mask and BlurEffect Demo.
update BlurDesignable : blurEffectStyle and vibrancyEffectStyle is now of type  UIBlurEffectStyle?. it's an optional because UIBlurEffectStyle don't have none case.

Just give a quick review, it seems really cool 👍
Will do another deepest review next week!

@lastMove Nice one, I will have a deeper look at this soon.

I like this feature to extend system's enums. Great idea and implementation. Apart from the multiple adding blur effect issue, I give this PR 👍 . I like the mask demo as well, well done.

I will wait #264 to be merged then rebase (or merge since I have some difficulties with rebasing 😳 ) and finalise this PR.

@lastMove I have merged #264, I will revert the main.storyboard later but it won't impact on your PR.

Thanks,
I have made the changes according to your comments, and merged back swift3 (#264).

@lastMove great, please merge it when you think it is ready 👍

Ok :)


UTF-8 string is not valid UTF-8

Description
Sometimes, the onetemplate list command fails with the following error:
Unexpected error executing code for particular method, detected by Xmlrpc-c method registry code.  Method did not fail; rather, it did not complete at all.  6855658-byte supposed UTF-8 string is not valid UTF-8.  UTF-8 multibyte sequence contains character 0x73, which does not indicate continuation.

Then, I stop the OpenNebula services and start them again and then everything is working fine.
To Reproduce
I have no idea.
Expected behavior
Details

Affected Component: API
Hypervisor: KVM
Version: <IP_ADDRESS>-1.ce

Additional context

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Could you please provide more information about the problem, some logs, examples of the tempaltes, etc...

I'm sorry that I can't provide usefull information:

when the problem arrived there was no meaningful information in oned.log
I was not able to determine on which template the error was raised since the command  produce no usefull output
only restarting opennebula.service make things work again

Since then, I switch our OpenNebula to <IP_ADDRESS>-1.ce.
I'll not be offended if you close this issue without futher investigation since I have no clue about what is going on and I don't have the issue again since months 🤷


Sync stops every 1000 blocks

When nodes request blocks from other nodes, the other nodes will only send 1000 (500 in Blackcoin) blocks at a time. If the requester requests more than 1000 blocks the sender will keep track of the last sent block, so if the requester requests that particular block another batch will be sent. Call this the sentry block. For some reason the remote end does not pick up that the requester wants this sentry block, so it never continues to send the next batch.
Either that or the requester never requests the sentry block.

pfrom->hashContinue is set and during a getdata message in inv.hash == just that it sends another inventory message for next part of inventory

Yeah, that's what doesn't seem to happen. Or the receiver fails to interpret it.

#650 closes this?

Yup, it does :)


simplify huge footprints, fix invalid reprojection, remove mergify

I think it fixes #31, which I can't reproduce locally, but have seen an identical issue on a different product (it's dependent on float rounding specifics)
Mergify has cost more time than it has saved, especially as I usually want to pick between rebase/merge commit explicitly. Removing it.
Simplify huge spatial footprints (such as in wofs_summary) within the product's pixel resolution (if known).

Coverage decreased (-0.04%) to 89.638% when pulling 6325c90bf0ad84c3a0f89d65bb7233bf483713a2 on jeremyh:develop into 040407ffa44c26b3968771007e396013cced3f54 on opendatacube:develop.


Automated cherry pick of #5222: region misc fix:

Cherry pick of #5222 on release/3.1.
#5222: region misc fix:

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/3.1@4829e0d). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             release/3.1   #5223   +/-   ##
=============================================
  Coverage               ?   6.73%
=============================================
  Files                  ?     547
  Lines                  ?   95778
  Branches               ?       0
=============================================
  Hits                   ?    6449
  Misses                 ?   88790
  Partials               ?     539

Flag
Coverage Δ

#aFlag
6.73% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/guest_actions.go
0% <0%> (ø)

pkg/compute/models/instance_snapshots.go
4.5% <0%> (ø)

pkg/util/billing/billingcycle.go
49.48% <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 4829e0d...1eba8b8. Read the comment docs.

/lgtm

/approve


Error raised for resources with identical aliases, but different titles

a3d3cbc (I think) introduced a regression building catalogs which contain multiple resources with different titles, but identical aliases.
exec { 'foo_bar_1':
  command => '/bin/echo foo bar',
}
exec { 'foo_bar_2':
  command => '/bin/echo foo bar',
}

rspec-puppet would add identical aliases to the catalog for the two execs, causing a duplicate and the following error:
 ArgumentError:
   Cannot alias Exec[foo_bar_2] to "/bin/echo foo bar" at spec/fixtures/modules/relationships/manifests/titles.pp:15; resource ["Exec", "/bin/echo foo bar"] already declared at spec/fixtures/modules/relationships/manifests/titles.pp:12
 # gems/puppet-4.9.4/lib/puppet/resource/catalog.rb:190:in `alias'
 # ./lib/rspec-puppet/support.rb:256:in `block in build_catalog_without_cache'
 # ./lib/rspec-puppet/support.rb:254:in `each'
 # ./lib/rspec-puppet/support.rb:254:in `build_catalog_without_cache'
 # ./lib/rspec-puppet/support.rb:268:in `block in build_catalog'
 # ./lib/rspec-puppet/cache.rb:17:in `call'
 # ./lib/rspec-puppet/cache.rb:17:in `get'
 # ./lib/rspec-puppet/support.rb:267:in `build_catalog'
 # ./lib/rspec-puppet/support.rb:31:in `block in load_catalogue'
 # ./lib/rspec-puppet/support.rb:219:in `with_vardir'
 # ./lib/rspec-puppet/support.rb:19:in `load_catalogue'
 # ./lib/rspec-puppet/example/class_example_group.rb:7:in `catalogue'
 # ./lib/rspec-puppet/support.rb:11:in `block in subject'
 # ./lib/rspec-puppet/matchers/compile.rb:23:in `call'
 # ./lib/rspec-puppet/matchers/compile.rb:23:in `matches?'
 # ./spec/classes/relationship__titles_spec.rb:6:in `block (2 levels) in <top (required)>'

This exec pattern is used in puppetlabs-postgresql here: https://github.com/puppetlabs/puppetlabs-postgresql/blob/4.9.0/manifests/server/config_entry.pp#L48-L64
Example test: https://gist.github.com/domcleal/bbee33af2d1626fa99cda972bc2dfe8f

👍  I just hit this error as well


Making it possible to add custom request properties to CLS namespace.

Hi,
It would be awesome to add custom request properties into the CLS namespace, besides the request ID header.
This PR makes it possible by adding a new option to the middleware, a custom namespace properties builder function. This function receives the current request and CLS namespace variable so that client code can add any needed new properties based on the request.
If you like the idea, please feel free to make any changes in the PR.
I'm looking forward to use this new feature, otherwise I'll need to implement again 🙈 .
Best regards!

IMHO, it's better to keep things simple and have a library do one thing, but do it well. I would suggest to create and apply another middleware together with cls-rtracer to add any other arbitrary stuff to the namespace.

@marciopd thanks for your contribution. I see why you need it and understand your use case. Let me think a bit about this feature and whether it fits the cls-rtracer concept.

@marciopd
I've taken a look at the changes and would like to suggest you another approach, namely to extend the concept of id and make id generation customizable.
The main blocker for me is that customNamespacePropertiesBuilder exposes cls-hooked API. Eventually, I'd like to migrate cls-rtracer to either my own CLS API (https://github.com/nodejs/node/pull/31016) or the upcoming standard CLS API (https://github.com/nodejs/node/pull/26540) and that's why I don't want to expose the underlying library.
So, I propose to do the following changes in options:
useHeader = false, // this option works only when idGenerator is not used
// ...
idGenerator = undefined // new option (function)

When used, idGenerator should have the following signature:
(req) => { // accepts native request object (from 'http' module)
  const id = // generates an id (any type)
  return id; // returns it
}

Thus, when idGenerator option is used rTracer.id() will return objects returned from the function. You can generate a uuidv1 in this function and merge it with whatever you want in a single object. On the other hand, the default behavior will be kept as is, so this feature will be backwards-compatible.
I'd appreciate if you could change your PR in the described way. WDYT?

Hi, sounds good.
But my use case is mostly about being able to add other request related variables into the same CLS context. For instance, I would like to have the client's IP.
So for my use case, maybe instead of exposing directly the cls-hooked API to customNamespacePropertiesBuilder, we could expose an abstraction and then use internally cls-hooked or any other API in the future.
What do you think?

So for my use case, maybe instead of exposing directly the cls-hooked API to customNamespacePropertiesBuilder, we could expose an abstraction and then use internally cls-hooked or any other API in the future.
What do you think?

I'd rather keep cls-rtracer focused on id generation and avoid turning it into another CLS middleware toolkit. That's why I want to allow users to override id generation behavior (say, someone might want a plain number counter instead of uuid strings), which in your case could be used as a workaround to propagate other data as a part of id object.

Ok, fair enough. Thanks for your time and the quick replies!
Best regards

@marciopd

But my use case is mostly about being able to add other request related variables into the same CLS context. For instance, I would like to have the client's IP.

I didn't make it clear, probably, but idGenerator option will allow you to do that. As that will be a workaround, but you'll be able to store anything along with the generated request id and obtain it later in the async call chain.
In any case, if you don't have the time to change this PR or submit another one, feel free to open a feature request issue. I may find some time to implement it in the nearest future.

@puzpuzpuz I could do it.
Just to double-check if I got it right, the use case you guys were referring is something like:
"As a client of cls-rtracer, I want to use a custom request id generator, so that I can customize id generation and be able to return a custom object as the request id."
Is that it?

"As a client of cls-rtracer, I want to use a custom request id generator, so that I can customize id generation and be able to return a custom object as the request id."
Is that it?

Yes, that's right. Thanks in advance!

Hello @puzpuzpuz I have some time to work on this now.
Is it still relevant? I saw a related PR which seems to be related (https://github.com/puzpuzpuz/cls-rtracer/pull/47).

@marciopd the main part of this feature was delivered in v2.4.0 (#40), yet the supported signature of factory function is () => unknown. #47 aims to change it to (req?: IncomingMessage | any) => unknown, but it seems to be stale (I'd say it's almost complete). If you need the req object in the factory function, you could pick up that PR or start another one from a scratch.

Yes, that's exactly what I need. Ok, then I'll pick it up during the weekend.
Thx!


Task 3

Issue: #4
Commands Used:
touch
sudo chmod +x
ls -l
Screenshot:

Hey @nubEA
Thanks for opening this PR 🚀. Mentor will review your pull request soon and till then, keep contributing and stay calm.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @nubEA
Your PR has been merged 🥳🥳 and you have earned 10 points.
Thanks for contributing in OpenCode'24 ✨✨


How to have default values for properties? [Question]

Let's assume in the model below i don't want to have to set ttl everytime I do a put operation, so I want this set automatically always by default. I did try to make it optional and set it on the mode like below, but that doesn't actually write it to the db.
Is there a current workaround for this?
@Model({ tableName: appConfig.urlsTableName })
export class CrawlUrl {
  @PartitionKey()
  public url!: string;
  public level: number = 0; // <--- This won't be used
  private ttl? = moment().add(1, "days").unix().toString(); // <--- This won't be used
}

Does the model ever get newed? That might allow for using default values but at the moment, they simply get ignored.

I think you would need to use a constructor:
  constructor(props: { level?: number; ttl?: string }) {
    this.level = props.level || 0;
    this.ttl = props.ttl || moment().add(1, "days").unix().toString();
  }

Update: there seems to be a new defaultValueProvider feature that was just added: https://github.com/shiftcode/dynamo-easy/issues/244

@ali-habibzadeh I hope that the PR #268 solves your issue, closing this for now.