Support AWS V2 Java API

TL;DR: AWS maintains 2 versions of their Java AWS libraries, I'm willing to submit a new client for the 2nd version.
Help us help you
Our team is using Tink for hybrid encryption and one of our planned deployment targets are AWS Lambda functions in Java.
Is your feature request related to a problem?
Currently the AWS KMS implementation provided with Tink for Java uses the V1 API com.amazonaws.services.*
Note: as far as I am aware, the "V2" Java API is a difference in client implementation and not a separate HTTP endpoint with different behavior
The big advantages I see for Tink offering an integration with the V2 API client (software.amazon.awssdk.*) are:

Allowing replacement of the HTTP client implementation ("pluggable http layer")

HTTP client can also be reused between V2 clients

Decreased jar size for apps already using V2 of the API
Credential provider can be reused with V2 clients

These features are important for startup-latency-sensitive environments like ours (Lambda functions), but I'll admin these are probably not very important for the majority of AWS x Tink x Java users.
Describe the solution you'd like

A new AwsKmsV2Client (and corresponding AwsKmsV2Aead) class specifically for supporting the V2 Java AWS client.
A new method withHttpClient() unique to this client.

cons: increased surface area, more code to maintain
Describe alternatives you've considered

Replacing the V1 client with the V2 client.

Less code to maintain and presumably the V2 client is better but this would be a breaking change because withCredentialsProvider currently accepts a V1 provider.  Maybe that's fine and consumers can find a way to translate their V1 provider into a V2?

Updating the current AwsKmsClient to support both API types

All of the types (e.g. AwsCredentialsProvider) are different between the two API versions so the implementation will likely become very bloated.  Also this increases the Jar size.
Additional context
I have a relatively simple working PoC made already that I would be willing to tidy up to contribute if my proposed solution sounds reasonable.
Also happy to chat about this if you'd like, feel free to reach out internally.

+1 on this - extra benefit of AWS SDK v2 is the support for k8s ServiceAccount-aware credentials provider (enables granting granular permissions on KEKs to individual pods).

Thanks for reporting this. This is certainly something we will need to look at. But we also plan to do other changes to the Tink's KMS API. So this may take some time.

As a quick update my implementation using v2 of the SDK is now open source and can be found at https://github.com/privacysandbox/control-plane-shared-libraries/tree/main/java/com/google/crypto/tink/integration/awskmsv2 (permalink)

But we also plan to do other changes to the Tink's KMS API. So this may take some time.

:+1: I would love to see this code upstream to get more eyes on it and remove the need for us to maintain it but we are unblocked right now.
Since this code is Apache licensed, others can probably unblock themselves by referring to this implementation.

Also included (but maybe doesn't make sense to upstream?) are simple API-backed implementations of PublicKeySign and PublicKeyVerify

Great, thanks for letting us know!


Print version of Pure Site missing colors

Not sure if this is even an issue but if you look at the print preview of the pure site the colored bar beneath the "Get Started" button is missing background colors, so the "Base" , "Grids", "Forms", etc look like they are just spaced randomly.
The same issue is under the "Extend Pure" section where the buttons have no background colors, so just look like words with lots of space between them.
Low priority I'm sure, but looking at the site in "print preview" mode in Chrome reveals things like this.

Non issue in my opinion. Just check the "print background images" option in your browser's print preview pane and it will look great. Usually that option is not checked by default, but it's necessary if you want your printed page to look like what's on-screen. This problem is common to all websites.


Amazon S3 bcbio_vm AMI

Hi,
I have seen that there is a bcbio_vm AMI under community AMIs under launching instances. What would be the benefit of starting an bcbio_vm AMI? Would there be a benefit?
Also, for processing data in the buckets should I install bcbio to the buckets everytime or downloading to my root will be enough?
Thank you.
Best,
Tunc.

Tunc;
The community AMI had a pre-installed version of bcbio + data for the teaching example documentation:
https://bcbio-nextgen.readthedocs.org/en/latest/contents/teaching.html
I'd only use this if you're following along with that example.
I'm not sure exactly what you're asking with regards to S3 buckets. Could you provide more details so we can try to help? Thanks much.

Oh I did not know that community AMI could solve all the issues with downloading. Posting this could be an useful tip.
Let me rephrase my second question. Like I mentioned before, I am aiming to process bam files in the ICGC repository. ( which collaborates with amazon to keep all the files in a Amazon S3 bucket). So my question is; instead of downloading bam files in to an EBS volume, Can I directly process the information from icgc buckets? For example; input directory will be ICGC amazon S3 bucket, output directory is my amazon ec2 virtual machine ?
Thank you very much for your time,
Best,
Tunc.

Tunc;
Thanks for the clarifications. Regarding the community AMI, I'd only use that for replicating the tutorial since it's not being actively updated (until we revise the example) and is not meant as a production deployment.
You can use files in other S3 buckets and you'll need to reference them manually as inputs in your sample YAML file:
  files: s3://bucket/file_name.bam

bcbio will download them locally and do processing on the local EBS volume on your machine as part of the run. Hope this helps.


Fix calling ageSeconds() on subscriber throws exception (#609)

The original code used rclcpp::Clock::now() to retrieve the time, which returns a clock of type RCL_SYSTEM_TIME.  All other code is using rclcpp::Node::now() which returns a clock of type RCL_ROS_TIME.  The two time sources are not compatible and cannot be compared or operated on together.  This change pushes the code down into the impl where the node handle is available for calling now() when now is not provided as an argument.
It is worth noting that calling age(node->now()) instead of age() is not even possible as a workaround since that will result in another exception due to the passed time object source not being compatible with rclcpp::Time(0,0).  Similar "what" text as the original problem, just having to do with comparing to unlike time sources.

Closing.  Will re-open.


chore(master): release 0.4.23

:robot: I have created a release beep boop
0.4.23 (2024-08-27)
🐞 Bug Fixes

fix pool back pressure semantic on dynamic pool (00e2a3f)

⚡ Performance

track pool busy and back pressure lifecycle via events (a58ab3b)

📚 Documentation

format README.md (7c585a0)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.4.23
:sunflower:


CI: implement a multi-container test setup

This change implements the makefile target test-multi-container to run the test in a multi-container setup. This will allow us to implement tests that require two ceph clusters, like mirroring.
Two containers are started with micro-osd and then pause. Then a third container runs the tests against these ceph instances. (At the moment only against the first of them, because we don't have multi-cluster tests yet.) To share the configurations, the test container mounts the ceph data volumes from both of the ceph containers.

The first thing that jumped out at me is the the changes to fuse. Ideally, I would prefer not to move the call to ceph-fuse into entrypoint. I would prefer to remove it. But that's out of scope for this pr.
Rather, do you think we could leave it in the micro-osd.sh script, but put it behind a variable so that we can just skip it for the initial multicontainer tests, and over time we can independently work to remove the dependency entirely?

The first thing that jumped out at me is the the changes to fuse. Ideally, I would prefer not to move the call to ceph-fuse into entrypoint. I would prefer to remove it. But that's out of scope for this pr.
Rather, do you think we could leave it in the micro-osd.sh script, but put it behind a variable so that we can just skip it for the initial multicontainer tests, and over time we can independently work to remove the dependency entirely?

We need to mount on the test container, which doesn't run ceph and therefore micro-osd.sh, so no, we can't leave it there. That's why I moved it. If we can remove it, great. :-)

@phlogistonjohn It's based on your PR #468 now and addressed your other comments. PTAL.

@nixpanic or @agarwal-mudit  I think this PR looks good. Can one of you take a look? We need this to progress with the rest of the rbd mirroring work.

@nixpanic or @agarwal-mudit I don't want to be a pest, but this PR is needed to unblock the remaining mirroring work for next weeks planned release. Since this is all test code and locks in no apis or anything, I will probably merge this by my EOD tomorrow (April 6th) if I don't hear any strong NACKs.  I hope you understand.

@agarwal-mudit thanks for reviewing!


ISM and using timestrings for index age

Is your feature request related to a problem? Please describe.
Currently, we use Curator to manage our Elasticsearch cluster. We're looking at migrating to Opensearch and checking through compatibility issues right now. We'd like to switch over to using ISM to manage our cluster's indexes, but we aren't quite sure it has the same functionality right now.
There are some index patterns that we use the creation time as the age of the index that we want to move to warm/delete. Most of the time though, we use the timestring on the index. This can be set using different Curator filters, such as https://www.elastic.co/guide/en/elasticsearch/client/curator/current/fe_timestring.html and https://www.elastic.co/guide/en/elasticsearch/client/curator/current/fe_use_age.html
Describe the solution you'd like
When creating a Transition in ISM, under "Minimum index age" there should be an OPTIONAL option to use a timestring format which you specify, to decide on the transition trigger, instead of going off of what I believe is index creation time.

Describe alternatives you've considered
We haven't managed to get one working, but a fork of Curator that is completely compatible with Opensearch would also be nice, though perhaps that option misses the point of moving forward and using ISM.
Additional context
Add any other context or screenshots about the feature request here.

Do you have an example for how the index creation date vs the date string in the index name is causing a difference for you?

This other issue https://github.com/opensearch-project/index-management/issues/65 seems to present a use case. Index creation date is reset during reindexing, but using the date string in the index name would enable transitions based on the index creation date before reindexing, as long as that original index creation date was in the index name.


Schedule Campaign: Datetime is not JSON serializable

Hi,
The schedule campaign interface seems not work quite happily with the datetime, as it throws below error
TypeError: datetime.datetime(xxxxx) is not JSON serializable
Indeed the datetime.datetime obj is not JSON serializable. I think may be cast it into string in the end will be better. Add below line to file entities/campaignactions.py line 102. I'm not quite sure what the '+00:00' means and I just follow the http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#action-post_campaigns_campaign_id_actions_schedule
data['schedule_time'] = data['schedule_time'].strftime("%Y-%m-%dT%H:%M:00+00:00")
Hope this can help.

Thanks for pointing out the error, I have created a new branch that I would be happy to have you test. If you could use the issue-86 branch and verify that you are able to properly schedule a campaign with the changes it has, we will get it merged up and push a new release onto PyPi after.

Sure I will take a look. Thanks!

@YuanZheCSYZ does the patch by @stephenross solved this issue ?

@YuanZheCSYZ Can you verify that the patch corrects the issue that you were having?

Oh sorry I was get distracted by some other work. I think there were still some issue with this one as well. I will have I go

Yeah I just tested, and I think it's working, but somehow my test campaign just doesn't like to be scheduled via neither Python client nor command line. Either way I will receive a 406 error saying "This campaign cannot be scheduled: .". However I can definitely schedule through the web interface.
Anyone has the similar issue?

@YuanZheCSYZ did you have a look at this thread on StackOverflow ?
http://stackoverflow.com/questions/36053294/mailchimp-api-v3-0-campaign-schedule-error

@YuanZheCSYZ did the article that @charlesthk linked to give you the answer to your issue? I believe that all of our creation functions require that you have the appropriate data points to be able to schedule a campaign when you create the campaign.

As there has been no response in the last month, I am considering this issue resolved.

I am using the gibbon gem and have the same error "This campaign cannot be scheduled: ." Anyone could solve it?
Issue on gibbon


View 实现

Checklist

[x] data filter
[x] create coordinate
[x] create component
[x] create geometry
[x] layout components & geometries
[x] get APIs
[x] npm test passes
[x] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change

先合


Feature Request: Disable downloading media

We only care about text messages, is it possible to skip any processing for messages with media?
Maybe a config to stop here?
https://github.com/devlikeapro/whatsapp-http-api-plus/blob/07ecca03a357237712f353a5421f7de42e23e6f0/src/plus/session.noweb.plus.ts#L80
Thanks

Hi!
You can set WHATSAPP_FILES_MIMETYPES environment variable yo something like "never-will-exist" value, so it doesn't download files (because they don't match the mimetype)
https://waha.devlike.pro/docs/how-to/config/
But it's good to have a new one to just disable downloading, we'll add it!

I see one problem tho - setting WHATSAPP_FILES_MIMETYPES to some random value still will download and encrypt it, just won't save the file on a disk.
You can use it as a small fix, we'll provide a better solution later!

Just found that you created similar issue https://github.com/devlikeapro/whatsapp-http-api/issues/128
Sure, we'll handle it right soon!


Update to React 17.0.2

Hi guys.
Could someone add support for React 17.0.2?

It's supported.

hi @wojtekmaj  , plz consider opening this, this is a issue, on the peer deps you should remove the -0 on each dep and chagne to the following pattern:
https://nodejs.org/es/blog/npm/peer-dependencies/
"peerDependencies": {
    "enzyme": ">= 3.0.0",
    "react": ">= 17.0.0",
    "react-dom": ">= 17.0.0"
  },

@hugobarragon Is that Yarn v1?
17.0.0-0 should definitely match 17.0.2 as well.
Removing the -0 bit removes support for prereleases, betas and so on and would be considered a breaking change


IOS: Why does FileData.FileName add ".dat" extension when we select any file without extension?

In IOS, when we select any file without extension the FileData.FileName contains ".dat" extension along with filename e.g. "1.dat"? Is this default behavior when we select any file without extension?
Specifications

NuGet package version: 2.1.18
Platform(s): IOS 13

Closing this since this project will retire, please check out Xamarin.Essentials which now has a FilePicker based on this one.


Hoist menu bar out of window on macOS

A small quality-of-life improvement on macOS, which has its own system-wide menu bar. The menu bar can get a bit flickery during decompilation (I assume that Ghidra's changing the menu items and macOS is animating the modifications) but hopefully it's not too awful. FWIW, here's a screenshot:

Sure, I'll move it to launch.properties. Quick question though: why do you want it to be false by default? I'm assuming that macOS users would want this to be on, and it shouldn't affect other platforms at all…

Because some people will inevitably prefer it the way it is (either because they don't like change or they like how it looks consistent across all the platforms), and this avoids dealing with any potential drama :) It's very tough to please everyone, so we err on the side caution for personal preferences type things.

I'll defer to you on that. I've moved the option to launch.properties and commented it out so that it is not enabled by default on any platform.

Quick question: this seems to have been merged in time for Ghidra 9.0.4, but I don't see it in the released build, which was supposedly cut at a later commit. Was that release compiled without some of the commits in the tree?

The 9.0.x releases are made from the patch branch, and the 9.x releases are made from the master branch.  When a issue is closed/merged, you can check the milestone of the issue to figure out what branch it went in to.  In general, we try to only do bug fixes in the patch branch.


Errors on import statements in IntelliJ 2024.3

I am not sure if this is the right place for a bug report, but since updating to IntelliJ 2024.3, I have suddenly started receiving error messages regarding imports in the .kte files.
The error message reads:
“Package directive and imports are forbidden in code fragments”

Is this an IntelliJ bug, or is it a syntax issue with JTE?
Thank you for your support!

Thank you for reporting this @schowave.
Are you maybe using K2 mode in IntelliJ? There are currently problems with K2 and the way kte templates work (see https://github.com/casid/jte-intellij/issues/49)

Oh, you are right, then this issue is a duplicate. Sorry for the inconvenience!

No worries at all!

Claude-3.5-Sonnet says: (This is just a output of my question how to fix the import statements...)
1 Modify the KTE file parsing: You'll need to change how the plugin handles KTE files, especially the @import statements. The goal is to prevent these statements from being treated as regular Kotlin code fragments.
2 Update the KtePsiFile class: In the src/main/java/org/jusecase/jte/intellij/language/psi/KtePsiFile.java file, you might need to override methods that deal with imports. You may need to implement a custom way of handling imports that doesn't conflict with K2's expectations.
3 Implement a custom KteLanguageInjector: Create a new class that extends LanguageInjector to handle how Kotlin code is injected into KTE files. This injector should handle @import statements separately from the main code body.
4 Update the KteLanguage class: In src/main/java/org/jusecase/jte/intellij/language/KteLanguage.java, you might need to register your custom language injector.
5 Modify the KteElementType: In src/main/java/org/jusecase/jte/intellij/language/parsing/KteElementType.java, you might need to create a special element type for imports that won't be processed as regular Kotlin code.
1 First, let's modify the KtePsiFile class to handle imports differently:
 public class KtePsiFile extends PsiFileBase {
     private List<PsiElement> importStatements;

     // ... existing constructor and methods ...

     public List<PsiElement> getImportStatements() {
         if (importStatements == null) {
             importStatements = new ArrayList<>();
             // Parse the file and collect @import statements
             // This is a simplified example; you'll need to implement proper parsing
             for (PsiElement child : getChildren()) {
                 if (child.getText().startsWith("@import")) {
                     importStatements.add(child);
                 }
             }
         }
         return importStatements;
     }

     @Override
     public void subtreeChanged() {
         super.subtreeChanged();
         importStatements = null; // Reset cache when file changes
     }
 }

2 Next, create a new KteKotlinLanguageInjector class:
package org.jusecase.jte.intellij.language;

import com.intellij.lang.injection.MultiHostInjector;
import com.intellij.lang.injection.MultiHostRegistrar;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiLanguageInjectionHost;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.KotlinLanguage;
import org.jusecase.jte.intellij.language.psi.KtePsiFile;

import java.util.Collections;
import java.util.List;

public class KteKotlinLanguageInjector implements MultiHostInjector {
    @Override
    public void getLanguagesToInject(@NotNull MultiHostRegistrar registrar, @NotNull PsiElement context) {
        if (!(context instanceof KtePsiFile)) return;

        KtePsiFile kteFile = (KtePsiFile) context;
        List<PsiElement> imports = kteFile.getImportStatements();

        // Inject Kotlin language for the main content, excluding imports
        TextRange contentRange = getContentRange(kteFile, imports);
        registrar.startInjecting(KotlinLanguage.INSTANCE)
                 .addPlace(null, null, (PsiLanguageInjectionHost) context, contentRange)
                 .doneInjecting();

        // Handle imports separately (optional, depending on how you want to process them)
        for (PsiElement importStatement : imports) {
            registrar.startInjecting(KteLanguage.INSTANCE)
                     .addPlace(null, null, (PsiLanguageInjectionHost) context, importStatement.getTextRange())
                     .doneInjecting();
        }
    }

    private TextRange getContentRange(KtePsiFile file, List<PsiElement> imports) {
        int start = 0;
        for (PsiElement importStmt : imports) {
            start = Math.max(start, importStmt.getTextRange().getEndOffset());
        }
        return new TextRange(start, file.getTextLength());
    }

    @NotNull
    @Override
    public List<? extends Class<? extends PsiElement>> elementsToInjectIn() {
        return Collections.singletonList(KtePsiFile.class);
    }
}

3 Update the plugin.xml file to register the new injector:
Add this line within the  section:
<multiHostInjector implementation="org.jusecase.jte.intellij.language.KteKotlinLanguageInjector"/>
4 You might also need to update the KteLanguage class to ensure it's not treated as a regular Kotlin file:
 public class KteLanguage extends Language implements TemplateLanguage {
     // ... existing code ...

     @Override
     public boolean isCaseSensitive() {
         return true;
     }

     @Override
     public boolean isKindOf(Language another) {
         return super.isKindOf(another) || another == KotlinLanguage.INSTANCE;
     }
 }

These changes should help address the K2 compiler issue by:
1 Separating the handling of @import statements from the main Kotlin code.
2 Injecting Kotlin language only for the main content, excluding imports.
3 Optionally handling imports separately within the KTE language context.

Duplicates https://github.com/casid/jte-intellij/issues/49


[RSS sitemaps] Extract links from  elements

Some RSS feeds use <guid> elements to mark links. At least, if there is no <link> element, URLs should be also extracted from <guid>.
One example item from https://antarcticsun.usap.gov/resources/xml/antsun-science.xml:
<item>
  <title>Why Antarctic Fish Don't Freeze Their Tails Off</title>
  <description>An innovative project to understand how fish survive in the frigid Antarctic waters is opening up new avenues for researchers monitoring what goes on under the sea ice in McMurdo Sound. Evolutionary biologist Paul Cziko from the University of Oregon is studying how Antarctic fish don’t, themselves, freeze into a solid block while spending their lives in subzero waters.</description>
  <enclosure url="https://antarcticsun.usap.gov/science/images7/rss_4349-moocamera-lg.jpg" length="65539" type="image/jpeg" />
  <category>The Biological World</category>
  <pubDate>Tue, 10 Apr 2018 09:38:10 GMT</pubDate>
  <guid isPermaLink="true">https://antarcticsun.usap.gov/science/contentHandler.cfm?id=4349</guid>
  <linktext target="_blank">Read the Story</linktext>
  <altimage>https://antarcticsun.usap.gov/science/images7/rss_4349-moocamera-sm.jpg</altimage>
  <imagecaption>Paul Cziko dives under the frozen ice to install the McMurdo Oceanographic Observatory</imagecaption>
</item>

Note: the RSS spec says that "all elements of an item are optional" while the Atom spec requires at least one  element as child of <entry>.


fix fix bug in estimation of min/max of Year

Proposed changes

fix bug in estimation of min/max of Year
remove Utils.getLocalDatetimeFromLong(Long). this method is will throw exception if input parameter is too big. And this method is not used any more when we fix the above bug

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

Does it affect the original behavior:

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

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

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

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

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.22 seconds
load time: 484 seconds
storage size:<PHONE_NUMBER>4 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230110100850_clickbench_pr_76678.html


Google Sans stylesheet handle not prefixed

Context

Summary
In Dashboard (and soon Story_Post_Type, see #6957) we enqueue the Google Sans font. We do so with the very generic google-fonts handle name.
Relevant Technical Choices
Create a new register font class and inject it to dashboard and story post type classes.
To-do

User-facing changes

Testing Instructions

QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

UAT

[ ] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #6997

Related: #7266

Related: #7266

@spacedmonkey IMO this can and should be simplified by simply creating a new Assets service in Plugin that registers global assets like this font (and others). Not a class that is injected everywhere a font is needed.

@spacedmonkey IMO this can and should be simplified by simply creating a new Assets service in Plugin that registers global assets like this font (and others). Not a class that is injected everywhere a font is needed.

This is massively out of scope from the original ticket. Adding a whole system to register and manage state for styles / scripts is a bit ticket. This little class solve the problem at hand and doesn't change scope. I am not saying there isn't benefit to a system like this, but this is another ticket and a deeper discussion. There is nothing in the original ticket for this. Let's open a new ticket.

Ticket created: #7386


Make Dynamic headers for all the pages which have records

Describe the task
Currently all the pages which have records contains static headers, therefore when viewing the large number of rows available in records the user is unable to figure which row value is corresponding to which column header.
Expected behavior
All the pages containing records should have dynamic headers.
Please refer Projects under CRM in portal  to check dymanic header for records

Hi @VivekU03  please make dynamic for header available in following  sections

Finance

Invoices
Monthly Tax Report
Yearly Invoice Report
Monthly Gst Report

HR

Recruitment

Job applications
Internship applications

Employees
Volunteers
Manage Tags

Sales

Prospects

Task done in finance

In HR

Employees

Manage tags


FluentFooter dynamic positioning and high navigation with a lot of items do not work together...

🐛 Bug Report
FluentFooter is not properly positioned at the bottom of browser window when you create and expand so long navigation that it is higher than browser. Even resizing window do not fix bad footer position.
If you have normal short navigation then FluentFooter works perfect.

💻 Repro or Code Sample
https://github.com/ZnowuJa/Second-FluentSelect-Crashesh.git
🤔 Expected Behavior
Footer should always be at the bottom, dynamically even if you have long menu. Last item from menu should also be visible.
😯 Current Behavior
If you expand navigation menu from my example above (both: IT CMDB and IT CMDB Settings>Dictionaries) and try to scroll window to get navitems below the bottom of browser, then footer is moving like it was anchored. Additionally it hoods the navitem which initially was on footer's level.
🌍 Your Environment
Windows, VS 2022 Pro, Edge, Chrome, FluentUI 4.3.1 and 4.4.0 (tested in both)

This is a simple CSS thing. Has nothing to do with library in particular.
To fix add flex: 1; in your app.css file.

Unfortunately it doesn't help. In Edge it became even worse.
Footer positioning also not.
JS also was not helpful (which is strange).
But I realized it is a very bad design to create such long menus, so I shortened it to one page of "settings " with cards pointing to proper subpages.
Thank you very much for your very fast response!


Unable to see data that I know exists -- am I writing the data incorrectly?

I am using the community version of HiveMQ and publishing data that looks like (via the broker UI):

The plugin for Grafana is loaded so that I can select it as a data source but I'm not seeing any data.  Any idea why?

That topic does exist, as shown in the broker UI:

@atifali It's all of a sudden working!  Heisenbug!  Will close out.


⚠ Bofrost.be has degraded performance

In 86d3235, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1381 ms

Resolved: Bofrost.be performance has improved in 6302cd5 after 38 minutes.


Stabilize call hierarchy

@dbaeumer Is this reasonable?

@kjeremy have not forgotten you but needed to finish things up for the endgame this week. Will take care of it this week.

@dbaeumer If it becomes stable should the protocol.callHierarchy.proposed.md file be outright deleted?

@rcjsuen yes and no. The MD file needs to be merged into a non existing 3.16 version of the spec. I will start this on the protocol repository so that someone can create a PR for that as well.
Just to make things clear: moving it out of the proposed namespace doesn't mean we officially ship 3.16. This also means that the lsp node libraries will still be published as next version. We can only make this official with a official 3.16 release of the protocol.

I created the 3.16 specification document. The call hierarchy mark down can go here: https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/specification-3-16.md#L5634


OCR json -> Microdoft word?

Is is possible to convert the OCR json to a microsoft word document?

@ayansengupta17 can you fill out the following information so we can better assist?

Package Name:
Package Version:
Operating System:
Python Version:


Migrate "OpenAPI Hub: Adding new resource type or APIs to an existing API version" to Eng Hub

https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/209/OpenAPI-Hub-Adding-new-resource-type-or-APIs-to-an-existing-API-version

After taking a look at this document, most of the content has already been covered in https://eng.ms/docs/products/azure-developer-experience/design/tutorial/api-tutorial-1-branch
I have decided to not migrate this doc and deprecate it. If people start asking about it, I will move it


Support for realtime data / authentication

Dear all,
thanks for providing this plugin. I never really had the chance to implement the 1.0.0 version, however, I played around with 2.0.0 last week and it was a very pleasent experience :)!
However, I really wanted to ask wheter realtime data and authentication are planed to be implemented - first thing would be really useful as Grafana can expand the functionality of Yamcs quite much in regard of longterm / trend analysis over longer periods of time (e.g. watching a data quality graph for whole shift periods to see potential bad periods on downlinks) - second thing is just somewhat of a necessity.
Thank you very much :)
Nico

Hi, thanks for feedback.
We would like both, but currently a few things are more urgent (for example: you can't view aggregate members).
In grafana the realtime option is called 'streaming'. Implementing this for the current-value query type would probably be quite straightforward. I anticipate the difficulty will be more regarding the query types that show past + present.
For authentication, I think you can already do it by configuring basic auth in the datasource settings. That's not the best solution (credentials are attached to every request). I would like token-based auth instead (like our other clients).

And actually Yamcs could use some API token implementation, since the authentication is server-to-server (Grafana -> Yamcs).

About the realtime/stream option: if you put it on a 5 seconds refresh rate, there won't be so much difference vs a realtime option.

@xpromache For (realtime) longterm trend analysis that is right, with the drawback of Grafana pulling the Yamcs database and creating higher than necessary system load. For (realtime) analysis during OPS / visualization of certain parameters, these 5+ seconds refresh rate can be a challenge, regarding the type of OPS :)

Just FYI, Grafana 8.x does allow Real-time streaming via to dashboards via websocket connection
( https://grafana.com/docs/grafana/latest/whatsnew/whats-new-in-v8-0/ /   https://grafana.com/docs/grafana/latest/live/ )

In grafana the realtime option is called 'streaming'. Implementing this for the current-value query type would probably be quite straightforward. I anticipate the difficulty will be more regarding the query types that show past + present.

@fqqb - Could you provide some pointers on how to add realtime support to current-value query type using streaming ? Also, would love to know if you have any ideas around showing past+present(realtime) data.
Thanks

This has not been worked on. Well, I did look at it a while back but came to the conclusion a significant rewrite of this plugin would be necessary: both a frontend and a backend grafana plugin is required, whereas currently we only use a frontend plugin). Hence, this has been pending.
For clarity: the current implementation does have capability to show both past+present data, except it uses a polling interval to refresh all data (e.g. each 5 sec.). This works, but doesn't scale well.

@bangpradyumna if you feel inspired, please have a look at the requirements for the Grafana backend (it has to be developed in Go as far as I understand):
https://grafana.com/docs/grafana/latest/developers/plugins/backend/


Update ColorCodedCans.netkan

Added homepage/forum thread link
See #1349 about comma on line 8.

Comma corrected on line 8


Feature/travis mocks documentation

update documentation last convention change and script usage

Come OOOOOON, must PR on dev and not master...


Avoid multiple Tweets

Before posting we should check if the tweet we are going to post is the same as the last one (or the last 3) already posted

I'm envisioning a pretty compact, helper-style function to tuck into the beginning of the twitter_post and twitter_repost functions within tweet.py. The function will compare the content of the new tweet against a the previous 3 tweets' contents, and if the new tweet is a duplicate it will terminate the function before it sends the tweet.
This function could also be tweaked to work with image and video tweets, although it will be more involved compared to configure compared to the text tweets.
Am I missing anything here?

I'm envisioning a pretty compact, helper-style function to tuck into the beginning of the twitter_post and twitter_repost functions within tweet.py. The function will compare the content of the new tweet against a the previous 3 tweets' contents, and if the new tweet is a duplicate it will terminate the function before it sends the tweet.
This function could also be tweaked to work with image and video tweets, although it will be more involved compared to configure compared to the text tweets.
Am I missing anything here?

You are absolutely right. I had the same idea but no time to actually develop it.
Why it is needed
It can happen that the bot posts a tweet and then fails (usually because of wrong responses from some sources such as Instagram, Spotify and so on..)
The next time the script executes, it will retry to post the same identical tweet, causing the multiple Tweets bug.
Improvements to your idea
To check if a media has already been posted, just check if the description (the text) of the Tweet is the same. The tweet posted by the bot ALWAYS contain a description so we can easily compare it.
Before terminating the function, there should be a print("WARNING: This tweet has already been sent")  or something similar.
If you have time, you can actually fork the repo, add the function, make the changes and send a pull request.
I will add your name to the contributions and I will share a tweet to thank you from the bot account (assuming that you are on Twitter)


Lookup as autocomplete

I am trying your components as an alternative to mine.
What I made myself is an autocomplete. For example you want to select a contact.; you type in some letters; a request is going to the backend to search for a name starting with those letter; and a menu is shown where you can select the right contact.
I have tried to use the lookup for that. I have set the options field to a function that returns a list of contact depending on what you have typed in the input. I have a couple of problems with the current implementation.

Whenever you click on the input, the menu is shown, but nothing is there yet. My options function is not called either.
I would like to search only when the user has filled in more then 2 characters.

Are you planning this kind of functionality in the lookup or do you see this as a separate autocomplete control?
I could of course make it myself, but if you already planned this, I am not going to. I can help you of course if you like.

Could you please create a gist for this?
You can use this template https://gist.dumber.app/?gist=ca0cfc47e375e4b37363eeb407eb2859

options definition
options: ((filter: string, value: unknown) => Promise<unknown[]>) | unknown[] | undefined;
If it's a function it must return a Promise. There is also preload-options which forces the menu to be populated from the start

https://gist.dumber.app/?gist=01ac584061194a3093bb58cec8bbe8a6
I cannot get the SCSS for the menu and list to work.

dumber.app does not support @use in scss
try this
<template>
  <require<EMAIL_ADDRESS>  <require<EMAIL_ADDRESS>  <require<EMAIL_ADDRESS>  <require<EMAIL_ADDRESS>  <require<EMAIL_ADDRESS>  <require<EMAIL_ADDRESS>  <require from="./app.scss"></require>
  <!--
Without filtering by value the logic will be broken.

You can have a look at the default options function provided by the component itself for the correct implementation

I updated the gist. I have now also included the second 'value' parameter in the function, but it is always undefined.

The value is not undefined when you pick an option, please observe the console carefully.
Here is the correct implementation
  async getOptionsDefault(filter: string, value: unknown): Promise<unknown[]> {
    const options = this.options as unknown[];
    if (value) {
      return Promise.resolve([options.find(x => this.getValue(x) === value)]);
    } else {
      return Promise.resolve(options.filter(x => this.getDisplay(x).toUpperCase().includes((filter || '').toUpperCase())));
    }
  }

Updated the gist again. I think it should be OK now. But I still cannot use it an an autocomplete. I set some remarks in the code why  I cannot use it now for an autocomplete.

If you throw an error from the options function it will be displayed in a menu. The error is templateable as well.

Update gist again with a Promise reject. Looks OK, but I get an error that at initial load the reject is not catched.
After that it seems to work.

simple throw new Error() should work.
I actually don't see any uncaught reject errors in the console...

btw, if no element are found it's better to return an empty list. This handled differently and a templated "not found" item is shown

also, you need to either wrap text field and lookup with something with an  mdc-menu-surface-anchor attribute or use hoist-to-body attribute on the lookup

https://gist.dumber.app/?gist=0ed27e948cc35a249ad98469e6a68959

I really wanted an autocomplete. So that only something happens if you type in something which is then autocompleted. So the 'Not Found' when just clicking the input is not what I want.
When the user just clicks the text field and gets an Not Found message he may not understand that he has to type something first.

I actually don't see any uncaught reject errors in the console...
If you change the reject when nothing is typed to a resolve with an empty list, then the reject error is not shown in the console.

I added the hoist-to-body

Please look at https://jqueryui.com/autocomplete/

I was looking at the app logs. There is indeed an error in the browser console which is fixable by a proper try/catch in the component.
As I mentioned, Not Found is templateable too. You could also return a special option with any text you wish.
As far as I can see, the only difference with the aforementioned autocomplete is that this lookup pops up immediately on mouse click.

Should be fixed via d4e8ebc
If for any reason a function returns undefined the menu will not open

If the function returns a Promise returning undefined then it works really nice.
I can now use it as an autocomplete.


new attributed added causes upstream failures

@bradegler what was the failure? How do upstream users get the fix?
In a Terraform PR I'm getting this failure from guardian plan:
Error: Missing required argument

  on .terraform/modules/gridaware_application.backend_server_gclb/modules/gclb_cloud_run_backend/main.tf line 167, in resource "google_compute_backend_service" "default":
 167:     content {

The argument "enabled" is required, but no definition was found.

Seems like it might be related to this?
Please leave context in your PR descriptions to help others, thanks.

I updated my module sources from:
source = "git::https://github.com/abcxyz/terraform-modules.git//modules/gclb_cloud_run_backend?ref=b91cab1e8b1c08990180285e1986c871781d1383" (link)
to:
source = "git::https://github.com/abcxyz/terraform-modules.git//modules/gclb_cloud_run_backend?ref=ebaccaa0c906e89813e3b0b71fc5fc6be9ef0cdb" (link)
and now I'm getting the inverse failure:
Error: Unsupported argument

  on .terraform/modules/gridaware_application.backend_server_gclb/modules/gclb_cloud_run_backend/main.tf line 168, in resource "google_compute_backend_service" "default":
 168:       enabled              = true

An argument named "enabled" is not expected here.

Any suggestions for what I need to do?


restart browser?

Alright, this may sound bizarre but when attempting to install tai-henkaku the browser error of "restart the browser" occurs. But when I do it repeats the error message even after restart and even rebuilding my database.

You just have to keep trying.

Even stable HENkaku does that sometimes.

ok will do


[AutoPR datafactory/resource-manager] [DataFactory] Add a alternateKeyName property in dynamics sink

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7185

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/7023


AFL Trace Path Problem

Tracing wasn't working for me. The error was that the afl tracer path was incorrect, which appears to be right since it was being pointed to a directory that didn't exist (afl-unix/tracers/unix). The correct path seems to be afl-unix/tracers/i386 for example. Not sure the other implications of this change, but it seems to make fuzzer work for me.

This bug might have actually been caused by me when we packaged up afl in shellphish-afl. Before https://github.com/shellphish/fuzzer/commit/6d1cbf71a5f881af4c17f5b5a4f4bc2d15f44608, AFL was installed as part of the fuzzer, so the paths were a bit more hardcoded.
@NickStephens, does this look ok to you?

Any update on this? I re-installed everything and still couldn't fuzz anything until I changed that line.

I think this is a good solution. I think @zardus is right and the logic for handling this was broken when we integrated 'shellphish-afl' package.
Sorry for the delayed reply!

This change seems to have broken fuzzing of cgc binaries:
[*] Spinning up the fork server...

[-] Hmm, looks like the target binary terminated before we could complete a
    handshake with the injected code. Perhaps there is a horrible bug in the
    fuzzer. Poke<EMAIL_ADDRESS>for troubleshooting tips.

[-] PROGRAM ABORT : Fork server handshake failed
         Location : init_forkserver(), afl-fuzz.c:2088

The issue is that shellphish_afl.afl_path_var() is now passed 'i386' for cgc binaries.  It is checking for 'cgc'.  This causes it uses the afl-unix i386 qemu, which does not work on cgc binaries; it just exits with an error.  Reverting this change fixes it.
Perhaps the right solution would be to pass in both strings, and change shellphish_afl.afl_path_var() to take 2 arguments?

Thanks for pointing that out! We really need at least some modicum of testing for PRs. Owlz, you've led us astray! ;-)
I think the right solution is to just check if the OS is "cgc" and use the CGC afl, otherwise use the correct arch. That'll only require modification to this package, then.


Fix vasp

Fix bug when atomspertype is missing in vasprun

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.039%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

electronicparsers/vasp/parser.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
35711

Relevant Lines:
38383

💛  - Coveralls


add context support in dataloader

add context support in dataloader
inspired by hasura:
https://hasura.io/docs/latest/queries/postgres/query-filters/
Code example (if possible)
{
   users {
    orders(where: {xxx} limit: 10) {
      id paid_at
    }
  }
}

Are you looking to extend load?
/// Trait for batch loading.
#[async_trait::async_trait]
pub trait Loader<K: Send + Sync + Hash + Eq + Clone + 'static>: Send + Sync + 'static {
    /// type of value.
    type Value: Send + Sync + Clone + 'static;

    /// Type of error.
    type Error: Send + Clone + 'static;

    /// Load the data set specified by the `keys`.
    async fn load(&self, keys: &[K]) -> Result<HashMap<K, Self::Value>, Self::Error>;
}

Would be very nice indeed as it would allow for sharing a db pool across the board, the current implementation requires the pool to belong to the loader, making it impossible to have it in the context for queries, mutations, etc...

I would like also to forward some request headers to the upstream service from dataloader, having ctx: &Context<'_> would be probably enough

Agree, would be great and sufficient for most cases to add ctx as a parameter into loader.
If maintainers agree with this design, we can create a PR with initial implementation.

@Miaxos what do you think? It seems like an idiomatic way — async-graphql passes context to queries and mutations, we have use cases to pass it into loaders also.
The main problems I see are:

Data loaders are stored in Context themselves;
Data loaders are pretty lightweight right now, with only keys to load being stored + cache if used.

So maybe the right design choice should be different from just sending context directly to load methods of Loader trait. I will try to research codebase and create some examples with alternative approaches.

Agree, would be great and sufficient for most cases to add ctx as a parameter into loader.

I'm not too sure about this:
The Context describe "where" you are when you process something, the purpose of dataloader is to delay the execution of an async function to batch multiples keys within, if you have your dataloader called from multiple places, which Context do you use?

I had this use case before when I wanted to share a db pool across the whole query execution depending on the query; what I did was storing the PgPool at the beginning of the request inside a struct where I implemented a Dataloader and depending on the need, I had one long transaction running until the end of the request or I used the inner pool of my dataloader.
At the end the dataloader impl in async-graphql is only an example of the pattern, you can use dataloader-rs for instance or even your custom trait/implementation that fit your needs.

Example Scenario of Context

I'm sure there are examples, but I believe this shouldn't be the Context as it got some meaning over the "where" from where it's executed, it could change every time the dataloader is called. What you could put would be more something like the ExtensionContext.

Instead of passing with each dataloader key - required headers to the dataloader, I would read them from the context in load function.

If the purpose is to not read them each time you call the dataloader, would it work to store them inside the dataloader struct at the beginning of the request and when you load you would be able to read them from the dataloader struct?

I was mentioning this to put data at the beginning of the request:
https://async-graphql.github.io/async-graphql/en/context.html#request-data

I would suggest to have an domain type AuthContext which would be created from the headers for instance instead of just the headers but this is the idea yes.

Thank you, Anthony 💜

I wanted to heavenly use dataloaders, but creating multiple pools with active db connections maybe problematic :(

@ziimakc, why?
#[derive(Debug, Clone)]
pub struct MyLoader {
    pub db: Arc<Pool>,
}

impl async_graphql::dataloader::Loader<..> for MyLoader {
    async fn load(&self, keys: &[..]) { ... }
}

fn main() {
    // let pool = ...;
    Schema::build(Query::default(), Mutation::default(), EmptySubscription)
        .data(DataLoader::new(Loader::new(pool.clone()), tokio::spawn))
}


How to get google token to upload only in my youtube channel?

Hi, Thank you to creating this package.
I want to upload videos only in my channel so can I ignore the Oauth step to give the permission?.
I want people can upload videos directly to my channel.

@bocanhcam
You need to follow the steps here .
Generate auth url , visit it on browser and authorise your channel.
it will redirect you to your website redirect url with a code in params.
Now use this code to generate token as mentioned in documentation .


We should make improvements to the 'Execute' context menu parameters

It boils down to two cases:

Script contain mandatory params

Script contains optional params [when No user-specified params, we still have optional common params]

In case 1: Both execute as script and Execute as script with Parameters should show, but execute as script should be disabled.  The hotkey for both should still work and bring up the dialog.
In case 2: Both should show, and both should execute their actions respectively.

We will need logic to determine optional vs mandatory parameters before we can improve the context menu. I'd move this to Near Future.

I can think of four possible scenarios:

Script
Execute as Script
Execute as Script with Parameters

No param block
Start script
Prompt for (common) parameters

Param block with no mandatory parameters
Start script
Prompt for (common) parameters

Param block with mandatory parameters, no default values
Prompt for parameters
Prompt for parameters

Param block with mandatory parameters, with default values
Prompt for parameters
Prompt for parameters

A param block with mandatory parameters and default values is a bit odd but is valid PowerShell syntax i.e.:
param([Parameter(Mandatory=$true)]$p = "value")

PowerShell ISE will still prompt for a value for $p here, if it is not provided $p will be null, if it is provided $p will equal the provided value.
Any thoughts on this?

@erwindevreugd Regarding a param block with mandatory parameters and default values, poshtools also prompt for parameters and in the editor dialog the cell is set to the default value.
If you don't provide any value for a mandatory parameter, there will be a warning for that cell.
As for the first two scenarios, we're on the same page. Can you clarify on the last two scenarios? What Prompt for parameters stand for here when execute as script? If you mean doing the same as Execute as Script with Parameters, then @AndreSayreMSFT is on the same page and he suggests disabling the Execute as Script. Thoughts on this?

I was just clarifying why I had included the 'mandatory and defaults' in the list. The dialog works great!
The idea is to have Execute Script show the Parameters Dialog if there are any mandatory parameters that need to be satisfied instead of disabling the command. And to use Execute Script with Parameters to allow setting of the common parameters or to (temporarily) override parameters for debugging or with #701 saving parameters to the script.


Support package extensions

I'm moving a lot of code to extensions and wanted to run JET afterwards. But it seems this is quite difficult?
report_package doesn't report on extensions, and report_file isnt giving me any errors, which is suspicious.
It would be useful to have a function like:
JET.report_extension(Package, :ExtensionName)

You can use Base.get_extension for this:
help?> Base.get_extension
  get_extension(parent::Module, extension::Symbol)

  Return the modul

But extensions dont actually work in report_package.
How do you mean to use that exactly?

Ah I see yeah, my mistake. We'd need to fix the find mechanisms for these.


Change docs search to take into account the current domain

So that Netlify previews' search doesn't send us to the main docs pages.

@Johann-S maybe we should just use window.hostname in https://github.com/twbs/bootstrap/blob/v4-dev/site/docs/4.1/assets/js/src/search.js#L32
I don't recall why I went with this back then...

Yep window.location.origin should do the tricks 👍

IIRC this isn't supported on IE so we'll need to construct this manually.

Yep I did that on our v4 customizer here: https://github.com/Johann-S/bs-customizer/blob/master/src/js/util.js#L120-L124

Cool, I'll try to make a PR later.


feat: fix unwraps in main loop

"In the loop, there are two unwrap() calls. This could lead to panics in the loop thread, causing the application to silently get stuck at a certain block. Meanwhile, the RPC continues to work, hiding the fact that the app has actually crashed. For example:
thread 'async-std/runtime' panicked at beerus/crates/core/src/client.rs:155:89:
called `Result::unwrap()` on an `Err` value: could not fetch l1 val: evm error:
"rpc error: rpc error on method: create_access_list, message:
Deserialization Error: expected value at line 1 column 1.
Response: \n\n    <title>502 Bad Gateway</title>\n\n\n
502 Bad Gateway
\n
server closed connection
\n\n\n\n
Location:\n    /root/.cargo/git/checkouts/helios-b3bc464b79507b80/9481aaa/execution/src/rpc/http_rpc.rs:80:20"

To mitigate this issue, it's advisable to eliminate the unwraps. Consider implementing a time limit for retry attempts and then exit the main process if necessary.

Hi @tonypony220 , I'd like to take this one please ;)

@Soptq Great! But I'm just a contributor. So that, it's better to reach out @pierre-l


Update hyper to 0.12?

hyper 0.12 has been released for quite a while. Maybe consider upgrading to that?

@Emulator000 , I think you should fork it! The project really deserves more active live =)

@bemyak done! ;) you can use my GitHub fork or the forked crate: telegram-bot-fork

Thank you! I've been using one of your branches and didn't know there is a published package.

Fixed by commit da1dc47cdda01b4c974159e0c35735c1d05a2086


Trivy csv export

Summary
update trivy-scan to generate csv file to export dependency list with scanning results as well

Codecov Report
Patch coverage has no change and project coverage change: -0.03 :warning:

Comparison is base (7351ba2) 78.59% compared to head (1983a30) 78.56%.

Additional details and impacted files
@@                Coverage Diff                 @@
##           releases/1.3.0    #1019      +/-   ##
==================================================
- Coverage           78.59%   78.56%   -0.03%
==================================================
  Files                 237      237
  Lines               27063    27074      +11
  Branches             5397     5401       +4
==================================================
+ Hits                21269    21270       +1
- Misses               4530     4536       +6
- Partials             1264     1268       +4

Flag
Coverage Δ

macos-11_Python-3.8
?

ubuntu-20.04_Python-3.8
78.56% <ø> (-0.01%)
:arrow_down:

windows-2019_Python-3.8
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 5 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


intermittent unittest failures

Unit tests for creating alertmanager-config and grafana datasources secret exists are failing
Test summary:
Summarizing 3 Failures:
  [FAIL] ManagedOCS controller reconcile() converged mode a Grafana datasources secret exists in the openshift-m
onitoring namespace [It] should create k8sMetricsServiceMonitorAuthSecret in primary namespace
  /home/amohan/aruns/programming/go/ocs-osd-deployer-project/src/github.com/red-hat-storage/ocs-osd-deployer/con
trollers/managedocs_controller_test.go:1234
  [FAIL] ManagedOCS controller reconcile() consumer mode [BeforeAll] there is no add-on parameters secret in the cluster should not create a reconciled resources
  /home/amohan/aruns/programming/go/ocs-osd-deployer-project/src/github.com/red-hat-storage/ocs-osd-deployer/controllers/managedocs_controller_test.go:508
  [FAIL] ManagedOCS controller reconcile() provider mode [BeforeAll] there is no add-on parameters secret in the cluster should not create a reconciled resources
  /home/amohan/aruns/programming/go/ocs-osd-deployer-project/src/github.com/red-hat-storage/ocs-osd-deployer/controllers/managedocs_controller_test.go:508

Ran 38 of 222 Specs in 53.556 seconds
FAIL! -- 35 Passed | 3 Failed | 0 Pending | 184 Skipped
--- FAIL: TestAPIs (53.56s)

Test error output message:
    2022-04-01T15:14:52.432+0530        INFO    controllers.ManagedOCS  Starting reconcile for ManagedOCS
{"req.Namespace": "primary", "req.Name": "managedocs"}
    2022-04-01T15:14:52.434+0530        INFO    controllers.ManagedOCS  Non provider deployment, skipping reconc
ile for onboarding validation secret
    2022-04-01T15:14:52.434+0530        INFO    controllers.ManagedOCS  Reconciling StorageCluster
    2022-04-01T15:14:52.434+0530        INFO    controllers.ManagedOCS  Reconciling CSVs
    2022-04-01T15:14:52.434+0530        INFO    controllers.ManagedOCS  Reconciling alertRelabelConfigSecret
    2022-04-01T15:14:52.435+0530        INFO    controllers.ManagedOCS  Reconciling Prometheus
    2022-04-01T15:14:52.435+0530        INFO    controllers.ManagedOCS  Reconciling Alertmanager
    2022-04-01T15:14:52.441+0530        INFO    controllers.ManagedOCS  Reconciling AlertmanagerConfig secret
    2022-04-01T15:14:52.441+0530        ERROR   controllers.ManagedOCS  An error was encountered during reconcil
ePhases {"error": "Unable to get pagerduty secret: Secret \"test-pagerduty-secret\" not found"}

PR https://github.com/red-hat-storage/ocs-osd-deployer/pull/164 fixes this issue.
Closing.


Maximum call stack size exceeded

DEMO地址
大量重复的标签堆叠，会导致这个错误发生。
注：有时候直接编写热重载后页面可以显示，但是刷新后还是会报错。

补充一点
空白页面的重复堆叠标签，即使不使用任何外部的资源。也会导致这个错误的发生

Hi, sorry we don't speak Chinese, can you write the issue in english please?

I'm sorry.
I can't speak English, this is I use machine translation.
A large number of repeated label stack, will lead to the error occurred.Such as repeated 600 lines of code
// repeated 600 lines of code

Title

Text ...

It works perfectly on my machine.
Make sure to use the last version of Nuxt.js @zuley

Thank you very much for your answer, I have found the cause of the problem.
After all installation package upgrade, already can use.

@zuley 可以了吗？我的还是不行。。。
@Atinux In production，Wrong：

https://dolceviva.com/productlist/53
Why

F5 error。。。

Not sure if it's worth noting, but I had this same error.
I then realised I had an accidental tag, like <Tail /> in my template. This caused the error. <Tail /> didn't actually mean anything as it was a find and replace error, when it should have been a div.
This appeared to trip Nuxt up. If anyone's seeing this error, try and check your templates for tags that Nuxt is probably expecting to be a component but isn't.

@chunge0328 我当时是升级了所有包，就可以了。


bug: cannot list relations with \d \dt \dm: Subquery can not be unnested

dev=> \dm
ERROR:  QueryError: internal error: Subquery can not be unnested.
dev=> \dt
ERROR:  QueryError: internal error: Subquery can not be unnested.
dev=> \d
ERROR:  QueryError: internal error: Subquery can not be unnested.

Could this be related to #5279? cc @yezizp2012

Yes, it should be resolved after #5279 merged.


Sidewalk detection

Does this algorithm detect the road from the sidewalk ? Or both of them are both a ground plane after segmantation and if this is the case how do you recommend to distinguish between sidewalk and the road?

Hi sorry for my late reply. In this toy code, it's just fit a plane and segment it out. So it doesn't play a lot on distinguish the sidewalk and road, unless you make a very precise height threshold of course....
In my personal opinion, you could apply a learning based algorithm like FCN segmentation on the bird eye view images of point clouds, which requires some efforts on label annotation, training and maybe better for high resolution LiDARs.

Thank you for your response


Fix OptimizationTrace constructor according to Optim v0.6

Sorry for breaking your tests, but this should fix it. We could have kept the old syntax if Julia v0.5 was live - oh well.

Thanks!


String templating is not working

Bug report
Describe the bug
I would like to use variables in strings especially in url-s. As far as I know it should be working with ES6. But with nextjs it isn't working in jsx nor in code.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Run this little function:

export const testStringTemplate = () => {
    const str = "some long string";
    console.log('This should be ${str}');
};

Watch the console logs in the browser, that is currently gives back this:
This should be ${str}

Expected behavior
The log should contains the str variable.
System information

OS: Win10 pro
Browser: Chrome
Version of Next.js: 6.1.1
React: 16.4.1

Additional context
My next.config.js:
const withCSS = require('@zeit/next-css');
module.exports = withCSS({
    webpack: (config, options) => {
      // Fixes npm packages that depend on `fs` module
      config.node = {
        fs: 'empty'
      }
      return config
    }
  });

console.log('This should be ${str}'); should use backticks (`)
console.log(`This should be ${str}`);

Ahhhh.... thank you.


Changing NetworkTransform.clientAuthority at runtime

Describe:
Changing this bool will make SV/CL  to start/stop using buffer, causing a few frames of using outdated snapshots from the point right before the client authority change
MrGadget said changing this at runtime is not supported, so this is probably one of the effect
Repro:
Have a non player object with NT and clientAuth false.
Have this object's ownership be assigned to a player, set clientAuth true (both in SV and CL). Then player moves it around
After, clear client authority over this object, and clientAuth back to false
Expected:
For client, the position will just continue from the final moved position
In the end, doing this in NetworkTransformBase solves most of it

that is indeed not supported, sorry.
trying to keep NT scope simple so we can get it to work perfectly first.
still ironing out a few other issues atm.
maybe more complex features like runtime authority changing once this is all done, but also maybe not.
it's meant as a component, I think in your case it's better if you copy & modify it to your game's needs.


Test Results Output show only fixtures in test tree

Type: Bug

Behaviour
In Test Result Output, when viewing the test results in the right-hand panel, only the names of the test fixtures are displayed instead of the full test descriptions, if test parametrized. Additionally, the tests are sorted alphabetically rather than by their location in the file, which can disrupt the context and flow of test reviews.
Steps to reproduce:

Write tests with parametrizred fixtures
Run the tests using the built-in test runner in VSCode.
Observe the test output in the right-hand 'Test Results' panel.

Diagnostic data

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX

Extension version: 2024.8.0
VS Code version: Code 1.90.0 (89de5a8d4d6205e5b11647eb6a74844ca23d2573, 2024-06-04T19:33:54.889Z)
OS version: Windows_NT x64 10.0.22631
Modes:

Python version (& distribution if applicable, e.g. Anaconda): 3.12.3
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Global
Value of the python.languageServer setting: Default

User Settings

languageServer: "Pylance"

testing
• pytestArgs: "<placeholder>"
• pytestEnabled: true

experiments
• optInto: ["All"]

Installed Extensions

Extension Name
Extension Id
Version

Code Spell Checker
streetsidesoftware.code-spell-checker
3.0.1

Flake8
ms-python.flake8
2023.10.0

Git Graph
mhutchie.git-graph
1.30.0

GitHub Copilot
GitHub.copilot
1.200.0

GitHub Copilot Chat
GitHub.copilot-chat
0.16.0

GitLens — Git supercharged
eamodio.gitlens
15.0.4

IntelliCode
VisualStudioExptTeam.vscodeintellicode
1.3.1

IntelliCode API Usage Examples
VisualStudioExptTeam.intellicode-api-usage-examples
0.2.8

isort
ms-python.isort
2023.10.1

JavaScript Debugger
ms-vscode.js-debug
1.90.0

JavaScript Debugger Companion Extension
ms-vscode.js-debug-companion
1.1.2

Project Manager
alefragnani.project-manager
12.8.0

Pylance
ms-python.vscode-pylance
2024.6.1

Python
ms-python.python
2024.8.0

Python Debugger
ms-python.debugpy
2024.6.0

Python Indent
KevinRose.vsc-python-indent
1.18.0

Python Type Hint
njqdev.vscode-python-typehint
1.5.1

Russian - Code Spell Checker
streetsidesoftware.code-spell-checker-russian
2.2.2

Sourcery
sourcery.sourcery
1.19.0

Table Visualizer for JavaScript Profiles
ms-vscode.vscode-js-profile-table
1.0.9

System Info

Item
Value

CPUs
13th Gen Intel(R) Core(TM) i7-13700K (24 x 3418)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
63.83GB (44.61GB free)

Process Argv
--crash-reporter-id fdf547ee-bc14-456a-891b-f439b9300fd0

Screen Reader
no

VM
0%

A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805cf:30301675
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
2i9eh265:30646982
962ge761:30959799
pythongtdpath:30769146
welcomedialog:30910333
pythonidxpt:30866567
pythonnoceb:30805159
asynctok:30898717
pythontestfixt:30902429
pythonregdiag2:30936856
pythonmypyd1:30879173
pythoncet0:30885854
h48ei257:31000450
pythontbext0:30879054
accentitlementsc:30995553
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
jchc7451:31067544
chatpanelt:31048053
dsvsc021:30996838
945dj816:31013170
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
pythonprt:31056678
dwnewjupytercf:31046870
26j00206:31048877

Hi! Can you send an example of the actual and expected you are seeing? Just so I understand what you think the name should be verse what you are seeing- thanks!

I would like to see the name of the test function + parametrization in the results, as shown here in the test tree:

Right now, I'm unable to understand the results when a function has parametrization, as the test name is missing:

marking this as a feature request since this was intentional to not make the name too long- based on votes we can determine which people prefer. Thanks!

Thank you for submitting your feature request and everyone who considered it! Unfortunately, this issue did not receive enough votes over the allotted time, and so we are closing the issue.


PI: Multimon: switching between minimal UI and full UI caused the app to jump windows

Dev Home version
No response
Windows build number
No response
Other software
No response
Steps to reproduce the bug
I was using PI and it started in minimal mode on my secondary monitor.
Then when I jump to full UI, the app jumped to my laptop.
I would have expected it to change modes in same location.
Expected result
I was using PI and it started in minimal mode on my secondary monitor.
Then when I jump to full UI, the app jumped to my laptop.
I would have expected it to change modes in same location.
Actual result
I would have expected it to change modes in same location.
Included System Information
No response
Included Extensions Information
No response

I believe this has since been fixed. I don't see this behavior anymore.


write toast activator CLSID in shortcut

Coverage remained the same at 100.0% when pulling 501ff719b4166966504bfcaa2e56ebc5f2a350c0 on toast-activator-clsid-in-shortcut into becf1dcedcbdc76e17c83c51c6a1195fc6dfae01 on master.


Human mode

Can you add a human mode with auto play  that would help

Yeah you could add a timer. to not get flagged


feat/870-Modified OpenSSL and OpenSSH message outputs

Also fixed setup sqlfluff and setup precommit coves_config key handling (in case --templates arg is passed to setup all)

Codecov Report

Merging #212 (78e7d57) into main (d74ee57) will decrease coverage by 0.05%.
The diff coverage is 11.11%.

@@            Coverage Diff             @@
##             main     #212      +/-   ##
==========================================
- Coverage   35.78%   35.72%   -0.06%
==========================================
  Files          29       29
  Lines        1797     1800       +3
==========================================
  Hits          643      643
- Misses       1154     1157       +3

Flag
Coverage Δ

unittests
35.72% <11.11%> (-0.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

dbt_coves/tasks/setup/pre_commit.py
55.88% <0.00%> (ø)

dbt_coves/tasks/setup/sqlfluff.py
45.83% <0.00%> (ø)

dbt_coves/tasks/setup/ssh.py
25.58% <0.00%> (-0.61%)
:arrow_down:

dbt_coves/__init__.py
100.00% <100.00%> (ø)

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 320804f...78e7d57. Read the comment docs.


Rewrite parser to use devKit

Purescript is now defined with a parser definition instead of parsec:
https://github.com/purescript/purescript/blob/48634d05da1021ac1bcb4907461ae9b2d3b0e699/lib/purescript-cst/src/Language/PureScript/CST/Parser.y
It should be simpler now then before to convert that to ebnf.
There is also a layout parser: https://github.com/purescript/purescript/blob/master/lib/purescript-cst/src/Language/PureScript/CST/Layout.hs

I think its a better plan to use the purescript "community" parser


Add --strict flag to deploy actions with specified runtimes

As a result of issue #442, we are adding ability in wskdeploy to create actions with latest version of specified runtimes if the user specified version is no longer supported. In case, when user doesn't want wskdeploy to fix the version for them instead stop the deployment, this kind of flag will be useful.

@pritidesai , sorry I'm a little bit confused about your description, so we should add a --strict flag to let user define any version they want right?

Closed by PR https://github.com/apache/incubator-openwhisk-wskdeploy/pull/541


Playing waveform with NAudio lower for each turn

I am trying to play a byte buffer with NAudio. I created a winforms application for the task.

But when I play the sound (created with Math.sin) subsequently, the volume goes lower and lower for every playback. Why?
using System;
using System.Windows.Forms;
using NAudio.Wave;

namespace beeper
{
    public partial class Form1 : Form
    {
        byte[] bytes;
        const int sampling_freq = 44100;

        public Form1()
        {
            InitializeComponent();

            double freq = 1000;
            var seconds = 0.5;

            var length = (int)(seconds * sampling_freq);
            bytes = new byte[length];

            for (var i = 0; i < length; i++)
            {
                var offset = 80 * Math.Sin(i * freq / sampling_freq * Math.PI * 2);

                bytes[i] = (byte)(128 + offset);
            }
        }

        private void btnBeep_Click(object sender, EventArgs e)
        {
            var format = new WaveFormat(sampling_freq, 8, 1);
            var provider = new BufferedWaveProvider(format);
            provider.AddSamples(bytes, 0, bytes.Length);

            var wo = new WaveOut();
            wo.Init(provider);
            wo.Play();
        }
    }
}

recording in audacity

Not wonder it sounds like it does when looking at this waveform thats both offsetted and distorted in some strange way. I search for a pattern, but I cannot really find one.
https://stackoverflow.com/questions/65726394/playing-waveform-with-naudio-lower-for-each-turn

the answer you received on stack overflow is correct. The best approach is to reuse the same WaveOut provider. You'll also get better audio quality with 16 bit samples, and you might find the NAudio SignalGenerator is a better choice for generating the sine waves.

the answer you received on stack overflow is correct. The best approach is to reuse the same WaveOut provider. You'll also get better audio quality with 16 bit samples, and you might find the NAudio SignalGenerator is a better choice for generating the sine waves.


test: add tests and fix accessibility issues for the select

fix #459
fix #263

@quentinderoubaix, pushed  again with changes.

Thanks @quentinderoubaix


Carbon framework deprecated for a decade? It does not work on the Mac published after 2020

Expected Behavior
port the function to newer Cocoa calls on Mac notebook
Current Behavior
on mac notebook which publish after 2020, robotjs does not work
Possible Solution

Steps to Reproduce (for bugs)

Context

Current Robotjs version depend on Carbon framework on mac。 but this framework was deprecated for a decade. On The mac notebook published after 2020 ,this does not work. Could you port the function to newer Cocoa calls.

Your Environment

RobotJS version: latest
Node.js version: latest
npm version: latest
Operating System:macos

I just installed robotjs via nom install robotjs on my M1 MacBook Pro and ran examples - the all work.


Update meta.yaml

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] 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)
[ ] 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 already this automatically in https://github.com/conda-forge/pystem-feedstock/pull/21 so I close this pull request.


when the chunk size is low, the sentence is being breaked abruptly

Hello @Ajaytherala, thank you for using chunkipy.
The behaviour you are facing is expected. As you can see in the documentation, this is expected to happen if the sentence segmenter is unable to split the text into sentences that have less than chunk_size token.
From README.md:

By default, chunkipy uses stanza are main text splitting method; however, if stanza produces sentences with a number of tokens greater than the chunk size, other split strategy are used. Here the list of predefined strategies, sorted by priority (the first one is executed first, if the piece of text is larger than the chunk size, it is further split using a lower priority strategy).

If this behaviour does not suit your needs, you can provide your own split strategies.
Closing as this is not a bug.


fix(ingestion/tableau): restructure the tableau graphql datasource query

Restructure the tableau graphql datasource query to resolve the node limit error.
Added a extra API call to get the field upstream columns

@coderabbitai review


Allow IPv6 speed tests

Ookla allows using IPv6 servers for speedtest. This could be a separate option or both IPv4 and v6 speed tests could be initiated on schedule.

I'd like this too. As a first step maybe an environment variable to set whether tests are done with IPv4 or IPv6. That way I could just spin up two containers if I want to measure both. As a second step maybe add the ability to do both in the same container and compare them.


Out of memory errors: upgrade heroku-dyno for staging

For some requests, we currently get the following error on staging:
2016-07-08T13:43:46.662384+00:00 heroku[web.1]: Process running mem=574M(112.2%)
2016-07-08T13:43:46.662384+00:00 heroku[web.1]: Error R14 (Memory quota exceeded)

Sometimes there's no response at all when we get the memory quota error, sometimes the HTML page still is served.
The quickest solution would be to to upgrade staging to a dyno with 1GB of memory.
Interestingly, production is at only ~350MB memory usage, this should be looked into after the next production deploy.

@dottorer could you look into this?

@phillipoertel :+1:

PROD upgrade to dyno 2X (1GB ram)
Staging remains at 512 (Hobby) for now until we see mem issues.


ISSUE:  Failed setup / Issues Staying Connected

Describe the bug
Over the past week since 2024.2.5 and now on 2024.3.1, this Mail and Packages has had issues staying connected.
When I go to reset it up, I get an error message "expected str"
Environment (please complete the following information):

Type of device: Synology running Docker
Home Assistant version: 2024.3.0
Docker
Component version: 0.3.22

Logs
home-assistant_2024-03-07T16-07-16.886Z.log
Screenshots

Empty the amazon forwards part also, per your log, your IMAP connection is timing out, try increasing the timeout limit.

Empty the amazon forwards part also, per your log, your IMAP connection is timing out, try increasing the timeout limit.

The original reporter and myself both cannot reconfigure the integration, due to the "expected str" error.

Correct. I have to change this field to be something new each time for the error to go away. There is a bug here.
I did increase my IMAP timeout limit so we'll see if that part helps as well.

If you guys would like to test replacing the config_flow.py file in your /config/custom_components/mail_and_packages directory with this one, I'd like to see if that resolves the configuration issue for you.

Just did this and now I receive this error:

Just did this and now I receive this error:

Does it happen without the "" in there too?

Just did this and now I receive this error:

Does it happen without the "" in there too?

Yes

Enter (none) in to the forwards field and that will clear it out.
I'll add that to the text at the top of the configuration screen there.

just had this issue come up, trying to reconfigure. uninstalled, reinstalled and still got this expected sring error until I found the (none) solution here. This should just default to "(none)" when the field is blank


ManagedOnlineEndpoint has no attributes "invoke" or "as_dict"

The code
endpoint = ml_client.online_endpoints.get(name=endpoint_name, local=True)
request_file_path = "../model-1/sample-request.json"
endpoint.invoke(endpoint_name, request_file_path, local=True)
generates this error:
AttributeError: 'ManagedOnlineEndpoint' object has no attribute 'invoke'
Similarly, the code
endpoint = ml_client.online_endpoints.get(endpoint_name, local=True)
endpoint.as_dict()
generates this error:
AttributeError: 'ManagedOnlineEndpoint' object has no attribute 'as_dict'

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

ID: f4c4ffec-8bc2-0936-27db-bf54c0969002
Version Independent ID: d8eff247-4fb0-726c-845a-53b8d420c095
Content: Debug online endpoints locally in VS Code (preview) - Azure Machine Learning
Content Source: articles/machine-learning/how-to-debug-managed-online-endpoints-visual-studio-code.md
Service: machine-learning
Sub-service: core
GitHub Login: @ssalgadodev
Microsoft Alias: ssalgado

@jpgdn
Thanks for your feedback! We will investigate and update as appropriate.

@jpgdn
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

@msakande

#reassign:@msakande

I spent an hour yesterday trying to get the dict data out of this ManagedOnlineEndpoint() data. This issue has been opened for coming up on two years. @msakande can you please provide an update?


AudioSourceManager::loadItem should be refactored to use AudioPlayerManager

AudioSourceManager::loadItem(DefaultAudioPlayerManager, AudioReference) should be refactored to AudioSourceManager::loadItem(AudioPlayerManager, AudioReference). Without this, AudioPlayerManager cannot be properly extended as audio sources are unusable. Pull request #572 addresses this issue

#572

#572


circle object?

Is there some way to create an object that is a point with a radius? It seems like a useful primitive but I don't see it supported by geojson or otherwise..
I would like to do something like SET stores store1 CIRCLE 33.5123 -112.2693 245.0

I agree that it would be useful to have a simple RADIUS/CIRCLE type, something I've thought about in the past. The only problem is that there's no Circle type in the GeoJSON spec, and Tile38 requires that all objects must be represented as valid a GeoJSON payload when requested by the user.
It's possible to generate a circle in GeoJSON by using a LineString and drawing. The downside to this approach is that there's a higher serialization cost and the LineString may not perfectly represent the original point+radius.

Could tile38 be made to understand a geojson point with the radius specified as a property?

Do you mean something like this?
{
  "type":"Feature",
  "geometry":{"type":"Point","coordinates":[-112.2693,33.5123]},
  "properties": {
    "type": "Circle",
    "radius": 245,
    "radius_units": "m"
   }
}

This would be valid GeoJSON, but a GeoJSON library that is not aware of the extended properties will just think it's a generic point.
Another option would be to adopt the proposed Circle type:
{"type": "Circle", "coordinates":  [-112.2693,33.5123], "radius": 0.245}

This looks much better and in the future it may be adopted in the spec. My biggest concern is that strict GeoJSON libraries won't know how to generate or parse it.
That being said, it would be pretty nice to find a solution that works.

Yeah I meant your first example.

I'm inclined to say using point and properties is the better way to go. It doesn't look like the circle proposal is going anywhere..
How much work would it be to add support to tile38?

I'm inclined to say using point and properties is the better way to go. It doesn't look like the circle proposal is going anywhere..

I agree that using a Point+properties is the way to go.

How much work would it be to add support to tile38?

Hard to say right now. I'll need to investigate it further, but unfortunately available time for new features is limited due to the heavy workload for v2.0. I'll add this to the list of potential future enhancements. If we find that it's simple enough to implement we'll bump up the priority.

I have code that will convert a point like
{
  "geometry": {
    "coordinates": [ xxxx, yyyy ],
    "type": "Point"
  },
  "properties": {
    "id": "212c7a42-3b27-4b01-adca-b8891380d6a1",
    "radius": 50
  },
  "type": "Feature"
}

into a polygon with n points. This isn't ideal as it's going to be much less efficient than a point in circle test..
Can you provide guidance on how I would add support for the point and radius property to tile38?

ping?

@predmond.
Sorry for the delayed response.
I still think that is something that would be great for Tile38.
Perhaps the best approach is to use this format:
{
  "type":"Feature",
  "geometry":{"type":"Point","coordinates":[-112.2693,33.5123]},
  "properties": {
    "type": "Circle",
    "radius": 245,
    "radius_units": "m"
   }
}

Then when the Tile38 geojson library parses the json, it coule recognize that the object is a "Feature", the geometry is a "Point" and there properties.type is "Circle". And it will generate a new Circle type.
I would explore this path as solution.

This would indeed be a great feature to add. We've been trying to use fences by creating a collection of fences and then setting up hooks of the form:
SETHOOK hook:<fence id> <url> WITHIN devices FENCE DETECT enter,exit GET fence <fence id>

however this format doesn't appear to work for circular fences of the form point + radius in GeoJSON. For those we would need to instead create them as a special case
SETHOOK hook:<fence id> <url> WITHIN devices FENCE DETECT enter,exit CIRCLE point, radius

which leads to the chance  the fence geometry and the hook geometry could get out of sync. Maybe there is a better solution.

Hi tidwall  how can I use "INTERSECTS"  in this manner of  Circle ?

Has there been any development to add circle as a geometry natively?
I think this is a very useful feature to add because many geofences are circlar and use cases exist where people need to identify when a location update resides inside a circle.

I understand your concern, but circles have a very useful purpose. You may currently view them as just another shape, but they can be beneficial in situations where someone needs to query for members and check if their location is within 100 meters  ( , 200 meters , 250 meters or x meters) of an object or point. You may argue that we can use the "NEARBY" query, but this method has predefined ranges and limits us from customizing the distances from a particular point.
Moreover, while we can define most shapes with polygons, we do not have native support for defining circular shapes. The only option is to define a polygon with 8 or more sides, which may not make sense in some scenarios.
Personally, I think defining circles would be a significant advantage when creating geofences. With location updates, we can easily determine if the location is within range of a particular point defined as a circle. Hooks can be limiting, which is why I suggest considering the use of circles.

Here is the PR by @iwpnd that includes the circle type.
https://github.com/tidwall/tile38/pull/649
I would consider taking another look.

@tidwall any plans on integrating circle objects anytime soon?

@Mukund2900 I don't have plans atm. The process of including the circle type will require additional review of the PR, integration tests, and deployment. This is mostly a time constraint concern on my side.

Sure @tidwall , actually I wanted to use that feature. I guess for now I will have to go with NEARBY approach or figure out other ways to accomplish my use case. Thank-you.

Use WITHIN to see if x is in y meters of any object.

@iwpnd using the NEARBY command in Tile38 is not suitable for my use case. In my scenario, I need to receive notifications whenever a location update falls within a specific range from a given point. The range will vary over time (so will need to expire that key) and differ for each point.
Using the NEARBY command will not be an optimal choice since it requires fetching all the data from the location, let's say 10 km worth of data, and then checking each point's distance to see which ones are within the specified range. With over 5,000 updates per second, this method is not viable due to the amount of data processing involved.
Still thanks for your suggestion.

You might want to look up the WITHIN command. And I sense you're using chatGPT for your answers.

@iwpnd Yeah WITHIN command is what I want but for circle geofences (which is not supported). And yes I am using ChatGpt so I can explain myself better because English is not my native language.

Cool use case for it 👍


Podfile error on iOS device.

Thanks for the plugin.
I am trying to use it in my app and when I use it and run my app on an iPhone 7 iOS 11.2.5 it throws the following error while running the pod install:
 Automatically assigning platform `ios` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile.

@lukaspili Can this be addressed soon? It would really help if we could solve it soon. It's critical for the app I am building.

Correct me if I am wrong but I think the minimum target to use this plugin is 9.0

I changed my ios version in Podfile but i continue giving errors. Let's see my screenshot.

I ran up against the same problem as you are seeing. I'm fairly new to Flutter but have developed native iOS apps for quite some time, so was able to unpick the problems here.
Firstly, as you have noted, you need to add platform :ios, '9.0' to your Podfile. You will need to add use_frameworks! to the target section for Runner, it should look like this:
target 'Runner' do
  use_frameworks!

Once this has been setup, you will need to satisfy XCode regarding the version of swift thats being used. For reference, I am using XCode 9.3:

To do this, open up the project workspace, this will be in the iOS folder and is named Runner.xcworkspace. Do not open Runner.xcodeproj. Once open, It will look something like this:

Follow these steps:

Click on Pods.
In targets, click on geolocation.
Click on Build Settings.
Ensure you have All and combined highlighted in Blue.
Enter swift in the search bar to filter all the unwanted stuff.
Locate Swift Language Version in the Swift Compiler - Language section and set it to 4.1.

Once all these steps are completed, you will now be getting a totally different error:
'geolocation/GeolocationPlugin.h' file not found
To fix this, we need to goto the Build Phases tab:

Click on Build Phases.
Expand the Headers section.

The GeolocationPlugin.h should be in the public group list, not the project group. To change this, right click and select Mode to public group:

You should now be able to build (In XCode, press CMD + B).

Hey ! Had the same problem and did what you advised, but I find myself with another error in the end :

Any idea as how to fix it ?

@Blaxou After following @stevetkdo's great pointers, I still had the same problem as you. I managed to resolve it further by opening terminal > pod update in ios folder. Hope this helps!


[DOCS] Standardize Method for Escaping Apostrophes in Contraction

Is this a unique feature?

[X] I have checked "open" AND "closed" issues and this is not a duplicate

Is your feature request related to a problem/unavailable functionality? Please describe.
We currently have no standard for escaping apostrophes in contractions like “don’t.”
Proposed Solution
For code consistency and to leverage Unicode compatibility, I suggest we use Unicode \u2019 for the right single quotation marks.
Screenshots
No response
Do you want to work on this issue?
Yes
If you want to work on this issue...
No response

Thank you for raising. As this has not come up other than in your recent PR, at the moment we cannot see the need to have documentation written especially.  If this comes up multiple times then we can revisit this, so I will close this issue for now.


rc versions aren't compatible with wildcard entries in package.json

Hello!
Not sure if this counts as a bug per se -- more of an edge case I wanted to report for your consideration, and in case others encounter.
TL;DR: Because of a nuance with npm's / semver's resolution logic -- if you use a wildcard version for npm packages, in your package.json, it wont resolve "pre-release" versions when installing -- instead rolling back to the last standard release.
  "dependencies": {
    "@datadog/mobile-react-native": "*", // <-- won't resolve @1.0.0-rc9 :(
  }

I can't imagine this would have much bearing on y'all's prioritization, since it's such an idiosyncratic edge case, but -- for nx monorepos, with RN or Expo projects, that use datadog -- it requires a slightly tiresome manual work around. So I thought I'd let ya know and also share the report in case others encounter this difficulty.
Looking forward to the v1 release! Y'all rock!
Thanks!
References:

https://github.com/npm/npm/issues/8854
https://semver.npmjs.com/
https://docs.npmjs.com/about-semantic-versioning

Additional Details
We use both @datadog/mobile-react-native and @datadog/mobile-react-navigation (currently @1.0.0-rc9) in a few projects within our monorepo.
Project-Level vs Root-Level package.json
Our monorepo is set up to observe the "Single Version Policy" which means that all our npm dependencies are managed from the package.json in the monorepo root. The project-level package are derived from the root package.json, and, by default, projects in the monorepo won't even have a package.json.
React Native Resolution Issue
When we first added the React Native projects to our monorepo, we realized that React Native module resolution logic isn't fully consistent with npm mechanics, and required us to add wildcard entries for RN and certain other packages in project-level package.json files, like:
  "react-native": "*",

Workaround
I wont go into all the fussy nuance of the build reqs -- but, suffice it to say, that normally the wildcard would be able to resolve the version defined in the corresponding library's entry in the root-level package.json -- but sadly rc versions wont take. So we have to manage them manually be specifying the version across all the project-level package.json -- which is a simple, though error prone, process.

Closing, since not technically a bug 👍

I @leggomuhgreggo, thanks for letting us know of this issue, it's definitely going to help us push towards 1.0.0 very soon :)


Tiny Holoparasite ToS fix

About the PR
Fixes the bug relating to holoparasite manual/ToS display not being readable
Screenshots

Changelog

:cl: CrudeWax

fix: fixed holoparasite ToS not being readable

So what changes should be made to this?
From talks on discord it seems like currently this is just how written notes work.

I will further open a fix solving the issue for all readable manuals


Hello, I want to contact you to purchase the latest version

<EMAIL_ADDRESS>

There is no other version available in the moment


operator manifests: Read mapping files from URLs

OSBS-8639

Maintainers will complete the following section:

[ ] Commit messages are descriptive enough
[ ] "Signed-off-by:" line is present in each commit
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request includes link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Added URL to log message
Also hopefully fixed python2 failure, and removed no longer used test param

Rebased on master, will address comments next

Now using StringIO instead of BytesIO for the util method. In test, BytesIO is still neede because ruamel.yaml refuses to write to StringIO on python2.

Also added missing raise_for_status() in util method

Release notes not needed, fix to make https://github.com/containerbuildsystem/atomic-reactor/pull/1402 (not yet released) usable


Add ingressClassName to refinery

This adds support to refinery for ingressClassName which is a more recent feature of Kubernetes.

This was redundant.


Customize SKUs for nodes

Issue:
Unable to configure SKUs for control and worker nodes without creating a custom install-config.yaml file.
Suggestion:
Add parameters to select SKU for each type of node.

fixed with 5102687

SKUs can be adjusted here: parameters