Unclear statement

Under the UserType section -- "It can only be set during the creation of the Azure AD users." -- does this mean that the UserType can never change on accounts that are synced using AADC once the user is created?

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

ID: f469d121-1cda-1a60-97ba-6940502cd4cc
Version Independent ID: 03294c05-5c85-24a5-6334-cea158abda0a
Content: Azure AD Connect sync: Make a configuration change in Azure AD Connect sync
Content Source: articles/active-directory/hybrid/how-to-connect-sync-change-the-configuration.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

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

@rfoust I think this is a good point. You can actually change it through Powershell using 'Set-AzureADUser' or Set-MsolUser, but can't change it through the portal or through AD Connect.
https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/12381567-update-usertype-from-portal
I made a pull request to clarify this. https://github.com/MicrosoftDocs/azure-docs-pr/pull/97888
@billmath please confirm


Azure Tests Fail in Fresh Clone of botbuilder-dotnet

What package version of the SDK are you using.
4.10.3
Describe the bug
Getting a fresh clone of botbuilder-dotnet and running tests results in failing tests.
Specifically in Microsoft.Bot.Builder.Azure.Tests

To Reproduce

git clone https://github.com/microsoft/botbuilder-dotnet.git (We're on main branch)
Build the repo (Microsoft.Bot.Builder.sln)
Run all unit tests

Expected behavior
For all unit tests in dotnet repo to run successfully

@Zerryth please add more details to this bug, including repro steps and diagnosis.

@mrivera-ms repro steps are there already, however I will take time to look into why exactly the tests are failing, and try to add more detail to the repro steps--this is off main branch, which I did fail to mention.
I'm not super experienced in the botbuilder Azure bits of the repo, so I don't exactly know what's wrong from a surface level from the errors given:
Failing Tests
TranscriptStoreBaseTests.cs  - Microsoft.BotBuilder.Azure (netcore2.1)

LogUpdateActivities()
 Microsoft.Bot.Builder.Azure.Tests.BlobsTranscriptStoreTests.LogUpdateActivities
   Source: TranscriptStoreBaseTests.cs line 257
   Duration: 2.9 sec

  Message:
    System.Collections.Generic.KeyNotFoundException : The given key 'Timestamp' was not present in the dictionary.
  Stack Trace:
    Dictionary`2.get_Item(TKey key)
    BlobsTranscriptStore.GetTranscriptActivitiesAsync(String channelId, String conversationId, String continuationToken, DateTimeOffset startDate) line 178
    BlobsTranscriptStore.GetTranscriptActivitiesAsync(String channelId, String conversationId, String continuationToken, DateTimeOffset startDate) line 174
    TranscriptStoreBaseTests.LogUpdateActivities() line 289
    --- End of stack trace from previous location where exception was thrown ---

TestDateLogUpdateActivities()
 Microsoft.Bot.Builder.Azure.Tests.BlobsTranscriptStoreTests.TestDateLogUpdateActivities
   Source: TranscriptStoreBaseTests.cs line 299
   Duration: 10.4 sec

  Message:
    System.Collections.Generic.KeyNotFoundException : The given key 'Timestamp' was not present in the dictionary.
  Stack Trace:
    Dictionary`2.get_Item(TKey key)
    BlobsTranscriptStore.GetTranscriptActivitiesAsync(String channelId, String conversationId, String continuationToken, DateTimeOffset startDate) line 178
    BlobsTranscriptStore.GetTranscriptActivitiesAsync(String channelId, String conversationId, String continuationToken, DateTimeOffset startDate) line 174
    TranscriptStoreBaseTests.TestDateLogUpdateActivities() line 334
    --- End of stack trace from previous location where exception was thrown ---

____

TranscriptStoreBaseTests.cs  - Microsoft.BotBuilder.Azure (netcore3.1)
LogDeleteActivities()
 Microsoft.Bot.Builder.Azure.Tests.BlobsTranscriptStoreTests.LogDeleteActivities
   Source: TranscriptStoreBaseTests.cs line 355
   Duration: 1.8 sec

  Message:
    Assert.Equal() Failure
    Expected: 3
    Actual:   0
  Stack Trace:
    TranscriptStoreBaseTests.LogDeleteActivities() line 384
    --- End of stack trace from previous location where exception was thrown ---

I'll dig into the errors further and can update the issue once I understand what they mean

Now that I'm looking into this, it seems the breaking tests have been resolved. 🤷
Woohoo, less work for me 😁

Now that I'm looking into this, it seems the breaking tests have been resolved. 🤷
Woohoo, less work for me 😁


Text args in steps should be loaded from property and scoped variables

added method to load value from property or from scoped variables and esle take argument and return it; tests for new method

Coverage decreased (-0.05%) to 81.437% when pulling 76ac951cab54bd92b36b261a2e89c799ebdcca30 on MaDream:feature/everyTextArgsCanBeLoaded into c636a75ee134e9d197b51329413abd06b1a990d9 on alfa-laboratory:master.

Coverage increased (+0.1%) to 81.587% when pulling 07614d424f804a422500c50655808350c746093b on MaDream:feature/everyTextArgsCanBeLoaded into c636a75ee134e9d197b51329413abd06b1a990d9 on alfa-laboratory:master.


What's the logic in choosing style and content layers?

I tried playing a bit with those two parameters, but more often than not I get this error:
''function value changing less than tolX''
The layers I tried were completely random, I wonder if there are some ''working'' combinations for the default model? how do you pick yours?

I've had that "error" pop up before, I believe it occurs when the variations between each iteration becomes insignificant.
I'm currently messing with layers and such. A user on reddit posted this link, which I thought was interesting. Here's their post w/ some tips.

thanks, I was using that link as a reference too, but I get the error with some combinations that are working for the redditor.
where can I find how many relus are there in the vgg19? I mean, is there a thing such as relu6_6 or do they stop at say, relu5_4?

I'm not sure how many relus there are... I don't think there's a relu6_6 though.
How many iterations are you able to do before you get that error?

a plain zero :)
the few times it works I get infinite loss and black output (I guess it's the opposite problem of having ''function value changing less than tolX''). I'm on clnn backend.

That's bizarre, can you post an example of a command that fails instantly?

You might want to consider the code I submited there: https://github.com/jcjohnson/neural-style/issues/237#issuecomment-226553422
It essentially "auto-balance" style and content layers based on either minimum loss or max loss. It give interesting results.

I was just reading that post, if we don't look at those creepy cat photos it's quite cool!
I think it's totally worth a pull.

@rayset Yeah, there is sort of two discussion mixed in there. I think the layer weight balancing is an interesting idea worth investigating. I don't think I have the implementation 100% right. For example, I don't like what happen if you use both min and max balancing at the same time. Not sure how to best implement that yet.

if you have some other examples using your min-max approach it would be amazing to see them.
that topic is very interesting, I had no idea there were tools to look so good into feature maps.


🚀 Feature:  Allow customization of Parameters / Actions based on User Defaults

🔖 Feature description
Allow different list of enum values for a template parameter based on the logged in user. Allow template actions to pick code from a specific location based on the logged in user
🎤 Context
We have multiple lines of business and quite a few of them might have different requirements for same templates.
Line of Business might be restrictive in terms of the language used for a template.
Template for Generating a scaffold for Lambda API Deployment.
The scaffold is generated  in a git repo. The scaffold comprises of  1) App Code in language of users choice 2) CDK Infra Code 3) Firm specific Settings
Eg: languages allowed for the template may vary based on line of business they belong to, so the enum in the example below needs to be dynamic.
parameters:
- title: Fill in some steps
required:
- lob
properties:
lob:
title: Line of Business
type: string
description: Unique Line of Business of the component
ui:autofocus: true
enum:
- FS
- Shared Tech
dependencies:
lob:
oneOf:
- properties:
lob:
enum:
- Shared Tech
language:
title: Language
type: string
enum:
- Python
- Typescript
- Go
required:
- language
- properties:
lob:
enum:
- FS
language:
title: Language
type: string
enum:
- Python
- Typescript
required:
- language
The If conditions on the dependency can be used to achieve this would make the template bulky, and make maintenance difficult.
The thought process was  of having template level defaults for every template. which can be evaluated on click of launch template and can be used across for the template
We could have defaults associated to the template be a object. That is either stored with template
✌ Possible Implementation
Template has default values loaded as a JSON Object based on a criteria of logged in User properties. This keys from the JSON Object is available through out the template for all values needed by parameters and steps.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

@awanlin FYI


[Request] Too many options can be defined, but some do not work

For example, i trying to get all tweets and retweets (it's important). I try some functions, it seems the best practice, that use Profile function (for get retweets). And i also see we can use the Resume option.
But after analysing the code (why i must analysing it) i see the Resume option seem only work with Search function .
I think the best pratice, if we use some options does not working with main function(Ex: Profile), raise exception, because too options, too confusions.
The second solutions. ex:
For some functions that we want call
twint.run.Search()
twint.run.Followers()
twint.run.Following()
twint.run.Favorites()
twint.run.Profile()
twint.run.Lookup()

We can use configuration like this
# We can see, we use search options for Profile function (that eliminate confusion)
c = twint.Config()
c.search.resume = 12345
c.global.limit = 50
twint.run.Search()

# We can see, we use search options for Profile function (that eliminate confusion)
c = twint.Config()
c.search.resume = 12345
c.global.limit = 50
twint.run.Profile()

Also the code, can raise excaption if some options have setted for other function we want call

Perhaps something like this in the wiki to make it clear which flags are for which data gathering type
I have ran into this issue too

@0xSnipe that structure is not clear to me, may be elaborate please?


Update Go version of RIE binary to 1.17.10

Please update the Go version to 1.17.10 to mitigate CVE-2022-24675 and CVE-2022-28327 as the RIE is used in https://github.com/aws/aws-lambda-base-images/tree/python3.7
Thanks!

Updated in v1.6. The Lambda base images are not immediately updated but they will be.


Publish 11/09/2021, 10:30 AM

Docs Build status updates of commit da1b40e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Connect-ExchangeOnline.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Disable-RemoteMailbox.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-EXOMailboxFolderStatistics.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-MigrationUser.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-RecordReviewNotificationTemplateConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-ApplicationAccessPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-InboundConnector.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/New-OutboundConnector.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-DlpComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-FilePlanPropertyReferenceId.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-InboundConnector.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-LabelPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-OrganizationConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-PolicyConfig.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-RetentionCompliancePolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-SafeLinksPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Test-TextExtraction.md
:white_check_mark:Succeeded
View (exchange-ps)

skype/skype-ps/skype/Export-CsOrganizationalAutoAttendantHolidays.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendant.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendantHolidays.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendantStatus.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendantSupportedLanguage.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendantSupportedTimeZone.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Get-CsOrganizationalAutoAttendantTenantInformation.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Import-CsOrganizationalAutoAttendantHolidays.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendant.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantCallFlow.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantCallHandlingAssociation.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantCallableEntity.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantDialScope.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantMenu.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantMenuOption.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/New-CsOrganizationalAutoAttendantPrompt.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Remove-CsOrganizationalAutoAttendant.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsOrganizationalAutoAttendant.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Update-CsOrganizationalAutoAttendant.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Ensure that the Bazel symlinks are not created for child workspaces.

This avoids errors when attempting to build/test from the parent workspace.

This is on hold per this discussion.

Resolved with #1014.


fix(GlobalHeader): rename user.newSkuSubscription => user.hasNewSkuSu…

…bscription
Overview

rename user.newSkuSubscription to user.hasNewSkuSubscription for GlobalHeader

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.133-alpha.89be8e.0@codecademy/gamut-labs@31.15.1-alpha.89be8e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://629906dcf3749a1102708068--gamut-preview.netlify.appDeploy Logs

updated related monolith PR: https://github.com/codecademy-engineering/Codecademy/pull/30887


feat: blog post on SIO-AsyncAPI

Description
This is a blog post on new Python library SIO-AsyncAPI. Although I may have benefited from waiting to receive feedback on an issue that I created before beginning this PR, I decided to work on it in parallel since I had some free time.
Related issue(s)

Here is original issue for Blog Post Suggestion: https://github.com/asyncapi/website/issues/1193

It's Tic Tac Toe, not tick tack toe joy✌🏽
this is a tick
and this is a tack

Good to know :sweat_smile:

@alequetzalli thank you so much for the review :pray:

@akshatnema @alequetzalli you will have to approve again once @daler-rahimov updated the date of the blog post

/rtm


(PUP-6417) Do not raise error when line parsing failed

Raise a error when parsing will cause the prefetch method fail of some
providers, which will lead to flush the file content that is not manged
by Puppet.
When using  resource types like ssh_authorized_keys or host, Puppet will use Puppet::Util::FileParsing module for file line parsing. Specifically, Puppet will call parse for file parsing method during prefetch stage, the parse method is like:
  # Split a bunch of text into lines and then parse them individually.
  def parse(text)
    count = 1
    lines(text).collect do |line|
      count += 1
      if val = parse_line(line)
        val
      else
        error = Puppet::ResourceError.new("Could not parse line #{line.inspect}")
        error.line = count
        raise error
      end
    end
  end

As the code above shows, Puppet will raise a Puppet::ResourceError if some line in the file can't be parsed correctly(May cause by wrong format). This will lead to failure of prefetch method of a resource type. However, Puppet will still write content to the file cause the flush method in the provider of these resource types. For example, the flush method in ssh_authorized_keys provider will flush the ~/.ssh/authorized_keys file using content in @property_hash. But the flush will delete the original content in that file cause @property_hash is not set by prefetch method. See flush method below:
  def flush
    # Make sure we've got a target and name set.

    # If the target isn't set, then this is our first modification, so
    # mark it for flushing.
    unless @property_hash[:target]
      @property_hash[:target] = @resource.should(:target) || self.class.default_target
      self.class.modified(@property_hash[:target])
    end
    @resource.class.key_attributes.each do |attr|
      @property_hash[attr] ||= @resource[attr]
    end

    self.class.flush(@property_hash)
  end

As above shows ,@property_hash is set by using resource attribute when it is empty. This will lead to lose original content in the file after flush the file.
How to reproduce this bug:
Say the ssh authorized_keys file is like:
$ cat ~/.ssh/authorized_keys
ssh-rsa ORIGINAL_KEY COMMENT
A LINE THAT CAN'T PARSE BY PUPPET

Then apply a puppet manifest like:
ssh_authorized_key { 'test':
  user => 'root',
  type => 'ssh-rsa',
  key  => 'A_NEW_KEY',
}

the authorized_keys becomes like:
$ cat ~/.ssh/authorized_keys
ssh-rsa A_NEW_KEY test

The original content in that file lost.

CLA signed by all contributors.

I wonder if this isn't better handled in transaction.rb somewhere - in my mind the bug is that we keep trying to apply resources even after prefetching them failed. While making prefetch for parsed files more robust is a good thing, it doesn't solve the root misbehavior of puppet's application process.

It also looks like this change had pretty broad fallout in the tests for providers which use the file parsing code (especially mount).

So I guess two questions for you:

How do you feel about fixing this issue here vs in a more centralized location
Do you need help debugging and working through the test failures?

@branan thanks for your advice. I'm not familiar with much code in Puppet. So I'm not sure if there could be some better solutions. And I have a workaround solution for handling unrecognized lines during file parsing.
For example, add a regex that matching anything in the last in the  provider. So that any line don't match the regular regex will match the last one, which will not cause the prefetch stage fail. And calling the flush will not delete any original lines in the file.
Say, in ssh_authorized_keys provider, using the text_line method to create a new FileRecord object that match anything else:
Puppet::Type.type(:ssh_authorized_key).provide(
  :parsed,
  :parent         => Puppet::Provider::ParsedFile,
  :filetype       => :flat,
  :default_target => ''
) do
  desc "Parse and generate authorized_keys files for SSH."

  text_line :comment, :match => /^\s*#/
  text_line :blank, :match => /^\s*$/

  record_line :parsed,
    :fields   => %w{options type key name},
    :optional => %w{options},
    :rts => /^\s+/,
    :match    => Puppet::Type.type(:ssh_authorized_key).keyline_regex,
    :post_parse => proc { |h|
      h[:name] = "" if h[:name] == :absent
      h[:options] ||= [:absent]
      h[:options] = Puppet::Type::Ssh_authorized_key::ProviderParsed.parse_options(h[:options]) if h[:options].is_a? String
    },
    :pre_gen => proc { |h|
      # if this name was generated, don't write it back to disk
      h[:name] = "" if h[:unnamed]
      h[:options] = [] if h[:options].include?(:absent)
      h[:options] = h[:options].join(',')
    }

  record_line :key_v1,
    :fields   => %w{options bits exponent modulus name},
    :optional => %w{options},
    :rts      => /^\s+/,
    :match    => /^(?:(.+) )?(\d+) (\d+) (\d+)(?: (.+))?$/

  text_line :else, :match => /^.*$/                       # This will match any line in the last

The record type is ordered in new_line_type method, and put into variable @record_order, when parsing lines, the parse_line method will iterate @record_order variable. So any lines unregular will match the last record type which will match everything:
  # Handle parsing a single line.
  def parse_line(line)
    raise Puppet::DevError, "No record types defined; cannot parse lines" unless records?

    @record_order.each do |record|
      # These are basically either text or record lines.
      method = "handle_#{record.type}_line"
      if respond_to?(method)
        if result = send(method, line, record)
          record.send(:post_parse, result) if record.respond_to?(:post_parse)
          return result
        end
      else
        raise Puppet::DevError,
          "Somehow got invalid line type #{record.type}"
      end
    end

    nil
  end

Same as ssh_authorized_keys, we can add this special regex in hosts provider or others that use fileparsing.
How do you think this kind solution?
BTW, I'm quite confusing with the test failures in  this patch. Thanks for your help, could you help me select a solution for this bug and debugging with the test failures?
PS: My english is poor. Thanks for understanding my words.

@liaoishere: first, sorry for the long delay in getting back to you on this PR, and its companion #5031. As a heads-up, I just merged #5314 (which extended your contribution in #5031 with a spec test). I think that addresses PUP-6417, and that fix should be released with puppet 4.8.0.
Meanwhile, it might be best to file a separate issue at tickets.puppetlabs.com for what this PR is trying to fix. It's really not specific to PUP-6417 (even if it was exposed by that issue), and as @branan suggests, it may be exposing a more fundamental issue in the puppet transaction logic. Are you interested in submitting that issue?
Many thanks for your work both in #5031 and here!

This PR hasn't been updated in some time, and unfortunately it seems like we're not going to be able to pick it up any time soon. I'm going to close it for now, but we can re-open if/when a new ticket is filed related to PUP-6417 and the team has sufficient time to incorporate it into the codebase.


i3status-rust: 0.32.2 -> 0.32.3

Description of changes

GitHub release
News

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

This release adds a new feature flag icu_calendar. Is it desired to enable it similar to other features?

@HKalbasi, I failed to notice the addition of this feature in the recent release, as it wasn't documented in the release notes. I believe enabling this feature could be useful. However, to address the concerns raised about its impact on the binary size in the upstream pull request, we might want to consider making it optional through a configurable parameter. For instance, using a parameterwithICUCalendar that defaults to false could help manage this.

Do you have an example of a rust package with a similar config parameter so that I can learn from it?

I don't have a specific Rust package example in mind, but consider using:
{
   ...
   , withICUCalendar ? false
}:

Combine this with a feature flag that adapts based on the argument's value:
  buildFeatures = [
    "notmuch"
    "maildir"
    "pulseaudio"
  ] ++ (lib.optionals withICUCalendar [ "icu_calendar" ]);

Thanks for the instructions. Then I can use it via pkgs.i3status-rust { withICUCalendar = true; }? What will happen to the existing users of the package? Should they pass an empty {} to make it work, or does it work as is?

To activate support for icu_calendar, you can utilize:
pkgs.i3status-rust.override { withICUCalendar = true; }

Given that the withICUCalendar argument defaults to false, the default behavior of i3status-rust remains unchanged. You can continue using it without explicitly configuring any arguments. I've initiated #269993 for this purpose, and I'd be grateful if you could test it out.

@kilianar I just tried it and it works great, thank you!


Detect changes on team-provider-info.json and update the associated resources

Is your feature request related to a problem? Please describe.
Sometime, in our AWS Amplify project we change the content of team-provider-info.json manually.
We do that because we changed some stuff that needs to be updated.
For example on a function resource I set an environment variable from the value of a parameter in  team-provider-info.json:
"my-env": {
  "categories": {
      "function": {
        "myNiceFunction": {
          "myEnvVariableValue": "some-value"
        },

Another use case can be that I changed my Social provider app ID and secret:
"my-env": {
  "categories": {
      "auth": {
        "myAuth": {
          "hostedUIProviderCreds": "[{\"ProviderName\":\"Facebook\",\"client_id\":\"12345\",\"client_secret\":\"xxxxxxxxxxxxxx\"},{\"ProviderName\":\"Google\",\"client_id\":\"12345\",\"client_secret\":\"xxxxxxxxxxxxxx\"},{\"ProviderName\":\"LoginWithAmazon\",\"client_id\":\"12345\",\"client_secret\":\"xxxxxxxxxxxxxx\"}]"
        }
      },

When I do that change, Amplify CLI do not detect the change:
amplify status

Current Environment: my-env

| Category | Resource name                            | Operation | Provider plugin   |
| -------- | ---------------------------------------- | --------- | ----------------- |
| Auth     | myAuth                                   | No Change | awscloudformation |
| Function | myNiceFunction                           | No Change | awscloudformation |

Describe the solution you'd like
I like that the CLI read the team-provider-info.json and detect the change. And when I push I want these parameters to be redeployed with the new values.
Describe alternatives you've considered
My current super painfull workaround is:
Everytime I make a change in team-provider-info.json I update the cloudformation script with a minor change to force Amplify CLI to update my resource
Additional context
There are two other painpoints that can benefit from this change:
#5402 #5401

@xavierraffin I will mark this as an enhancement. Alspo, you can force push your stack amplify push --force

I have run into this today as well. My use-case is similar but has arisen from automation.
I have AWS CDK deploying an amplify app to my environment. I am creating a fresh backend environment using the 'amplify init' headless script. The backend environment doesn't have any categories added.
I am exporting the Cognito variables needed for 'team-provider-info.json' from AWS CDK. Then following the official article:
https://aws.amazon.com/blogs/mobile/amplify-cli-adds-scaffolding-support-for-amplify-apps-and-authoring-plugins/
The backend imports properly in my local with the 'team-provider-info.json' file for the environment having the correct values.
Then I do:
`#!/bin/bash
set -e
IFS='|'
CODEGEN="{
"generateCode":true,
"codeLanguage":"javascript",
"fileNamePattern":"src/graphql/**/*.js",
"generatedFileName":"API",
"generateDocs":true
}"
amplify push
--codegen $CODEGEN
--yes
--force`
This pushes the backend but when I do a subsequent pull. It pulls the old values.
I might work around this by finding a way to make a small change in an automated way. It feels yucky though.


Percentage radius

I have a custom squircle painter that I 'stole' off flutter/flutter PRs a while back. One thing I did was add the ability to paint percentage radii. It's a super handy feature, and the only thing stopping me from switching to figma_squircle full time.
While there are ways to do this with a LayoutBuilder, there is enough information available in OutlinedBorder to paint percentage radii from a constructor and a percentage value.

Here's my latest file that shows my current implementation.
// FROM https://github.com/flutter/flutter/pull/27523

// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'dart:math' as math;
import 'dart:ui' as ui;

// ignore_for_file: implementation_imports
import 'package:figma_squircle/figma_squircle.dart';
import 'package:flutter/src/painting/basic_types.dart';
import 'package:flutter/src/painting/borders.dart';
import 'package:flutter/src/painting/edge_insets.dart';

/// A rectangle border with continuous corners.
///
/// A shape similar to a rounded rectangle, but with a smoother transition from
/// the sides to the rounded corners.
///
/// The rendered shape roughly approximates that of a superellipse. In this
/// shape, the curvature of each 90º corner around the length of the arc is
/// approximately a gaussian curve instead of a step function as with a
/// traditional quarter circle round. The rendered rectangle is roughly a
/// superellipse with an n value of 5.
///
/// In an attempt to keep the shape of the rectangle the same regardless of its
/// dimension (and to avoid clipping of the shape), the radius will
/// automatically be lessened if its width or height is less than ~3x the
/// declared radius. The new resulting radius will always be maximal in respect
/// to the dimensions of the given rectangle.
///
/// To achieve the corner smoothness with this shape, ~50% more pixels in each
/// dimensions are used to render each corner. As such, the ~3 represents twice
/// the ratio (ie. ~3/2) of a corner's declared radius and the actual height and
/// width of pixels that are used to construct it. For example, if a
/// rectangle had and a corner radius of 25, in reality ~38 pixels in each
/// dimension would be used to construct a corner and so ~76px x ~76px would be
/// the minimal size needed to render this rectangle.
///
/// This shape will always have 4 linear edges and 4 90º curves. However, for
/// rectangles with small values of width or height (ie.  <20 lpx) and a low
/// aspect ratio (ie. <0.3), the rendered shape will appear to have just 2
/// linear edges and 2 180º curves.
///
/// The example below shows how to render a continuous rectangle on screen.
///
/// {@tool sample}
/// ```dart
/// Widget build(BuildContext context) {
///   return Container(
///     alignment: Alignment.center,
///     child: Material(
///       color: Colors.blueAccent[400],
///       shape: const CupertinoRectangleBorder(cornerRadius: 75.0),
///       child: const SizedBox(
///         height: 200.0,
///         width: 200.0,
///       ),
///     ),
///   );
/// }
/// ```
/// {@end-tool}
///
/// The image below depicts a [CupertinoRectangleBorder] with a width
/// and height of 200 and a curve radius of 75.
///
/// ![](https://flutter.github.io/assets-for-api-docs/assets/painting/Shape.continuous_rectangle.png)
///
/// See also:
///
/// * [RoundedRectangleBorder], which is a rectangle whose corners are
///   precisely quarter circles.
/// * [ContinuousStadiumBorder], which is a stadium whose two edges have a
///   continuous transition into its two 180º curves.
/// * [StadiumBorder], which is a rectangle with semi-circles on two parallel
///   edges.
class CupertinoRectangleBorder extends ShapeBorder {
  /// Creates a continuous cornered rectangle border.
  ///
  /// The [cornerRadius] argument must not be null.
  const CupertinoRectangleBorder({
    this.cornerRadius = 0.0,
  }) : percentage = -1;

  const CupertinoRectangleBorder.percentage({
    this.percentage = 0.0,
  }) : cornerRadius = -1;

  static OutlinedBorder outlinedBorder({double cornerRadius = 0.0}) {
    return SmoothRectangleBorder(
      borderRadius: SmoothBorderRadius(
        cornerRadius: cornerRadius,
        cornerSmoothing: 0.6,
      ),
    );
  }

  /// The radius for each corner.
  ///
  /// The radius will be clamped to 0 if a value less than 0 is entered as the
  /// radius. By default the radius is 0. This value must not be null.
  ///
  /// Unlike [RoundedRectangleBorder], there is only a single radius value used
  /// to describe the radius for every corner.
  final double cornerRadius;

  final double percentage;

  Path path(Rect rect) {
    final calculatedCornerRadius =
        percentage == -1 ? cornerRadius : rect.shortestSide * percentage;

    double limitedRadius = 0;
    final double width = rect.width;
    final double height = rect.height;
    final double centerX = rect.center.dx;
    final double centerY = rect.center.dy;
    final double radius = math.max(0.0, calculatedCornerRadius);
    final double minSideLength = math.min(rect.width, rect.height);

    // These equations give the x and y values for each of the 8 mid and corner
    // points on a rectangle.
    //
    // For example, leftX(k) will give the x value on the left side of the shape
    // that is precisely `k` distance from the left edge of the shape for the
    // predetermined 'limitedRadius' value.
    double leftX(double x) {
      return centerX + x * limitedRadius - width / 2;
    }

    double rightX(double x) {
      return centerX - x * limitedRadius + width / 2;
    }

    double topY(double y) {
      return centerY + y * limitedRadius - height / 2;
    }

    double bottomY(double y) {
      return centerY - y * limitedRadius + height / 2;
    }

    // Renders the default superelliptical rounded rect shape where there are
    // 4 straight edges and 4 90º corners. Approximately renders a superellipse
    // with an n value of 5.
    //
    // Paths and equations were inspired from the code listed on this website:
    // https://www.paintcodeapp.com/news/code-for-ios-7-rounded-rectangles
    //
    // The shape is drawn from the top midpoint to the upper right hand corner
    // in a clockwise fashion around to the upper left hand corner.
    Path bezierRoundedRect() {
      return Path()
        ..moveTo(leftX(1.52866483), topY(0.0))
        ..lineTo(rightX(1.52866471), topY(0.0))
        ..cubicTo(rightX(1.08849323), topY(0.0), rightX(0.86840689), topY(0.0),
            rightX(0.66993427), topY(0.06549600))
        ..lineTo(rightX(0.63149399), topY(0.07491100))
        ..cubicTo(rightX(0.37282392), topY(0.16905899), rightX(0.16906013),
            topY(0.37282401), rightX(0.07491176), topY(0.63149399))
        ..cubicTo(rightX(0), topY(0.86840701), rightX(0.0), topY(1.08849299),
            rightX(0.0), topY(1.52866483))
        ..lineTo(rightX(0.0), bottomY(1.52866471))
        ..cubicTo(rightX(0.0), bottomY(1.08849323), rightX(0.0),
            bottomY(0.86840689), rightX(0.06549600), bottomY(0.66993427))
        ..lineTo(rightX(0.07491100), bottomY(0.63149399))
        ..cubicTo(rightX(0.16905899), bottomY(0.37282392), rightX(0.37282401),
            bottomY(0.16906013), rightX(0.63149399), bottomY(0.07491176))
        ..cubicTo(rightX(0.86840701), bottomY(0), rightX(1.08849299),
            bottomY(0.0), rightX(1.52866483), bottomY(0.0))
        ..lineTo(leftX(1.52866483), bottomY(0.0))
        ..cubicTo(leftX(1.08849323), bottomY(0.0), leftX(0.86840689),
            bottomY(0.0), leftX(0.66993427), bottomY(0.06549600))
        ..lineTo(leftX(0.63149399), bottomY(0.07491100))
        ..cubicTo(leftX(0.37282392), bottomY(0.16905899), leftX(0.16906013),
            bottomY(0.37282401), leftX(0.07491176), bottomY(0.63149399))
        ..cubicTo(leftX(0), bottomY(0.86840701), leftX(0.0),
            bottomY(1.08849299), leftX(0.0), bottomY(1.52866483))
        ..lineTo(leftX(0.0), topY(1.52866471))
        ..cubicTo(leftX(0.0), topY(1.08849323), leftX(0.0), topY(0.86840689),
            leftX(0.06549600), topY(0.66993427))
        ..lineTo(leftX(0.07491100), topY(0.63149399))
        ..cubicTo(leftX(0.16905899), topY(0.37282392), leftX(0.37282401),
            topY(0.16906013), leftX(0.63149399), topY(0.07491176))
        ..cubicTo(leftX(0.86840701), topY(0), leftX(1.08849299), topY(0.0),
            leftX(1.52866483), topY(0.0))
        ..close();
    }

    // The ratio of the declared corner radius to the total affected pixels
    // along each axis to render the corner. For example if the declared radius
    // were 25px then totalAffectedCornerPixelRatio * 25 (~38) pixels would be
    // affected along each axis.
    //
    // It is also the multiplier where the resulting shape will be convex with
    // a height and width of any value. Below this value, noticeable clipping
    // will be seen at large rectangle dimensions.
    //
    // If the shortest side length to radius ratio drops below this value, the
    // radius must be lessened to avoid clipping (ie. concavity) of the shape.
    //
    // This value comes from the website where the other equations and curves
    // were found
    // (https://www.paintcodeapp.com/news/code-for-ios-7-rounded-rectangles).
    const double totalAffectedCornerPixelRatio = 1.52865;

    // The ratio of the radius to the magnitude of pixels on a given side that
    // will be used to construct the two corners.
    const double minimalUnclippedSideToCornerRadiusRatio =
        2.0 * totalAffectedCornerPixelRatio;

    // The multiplier of the radius in comparison to the smallest edge length
    // used to describe the minimum radius for this shape.
    //
    // This is multiplier used in the case of an extreme aspect ratio and a
    // small extent value. It can be less than
    // 'minimalUnclippedSideToCornerRadiusRatio' because there
    // are not enough pixels to render the clipping of the shape at this size so
    // it appears to still be concave (whereas mathematically it's convex).
    //
    // This value was determined by an eyeball comparison with the the native
    // iOS search bar.
    const double minimalEdgeLengthSideToCornerRadiusRatio = 2.0;

    // The minimum edge length at which the corner radius multiplier must be at
    // its maximum so as to maintain the appearance of a concave shape with
    // continuous tangents around its perimeter.
    //
    // If the smallest edge length is less than this value, the dynamic radius
    // value can be made smaller than the 'maxMultiplier' while the rendered
    // shape still does not visually clip.
    //
    // This value was determined by an eyeball approximation.
    const double minRadiusEdgeLength = 200.0;

    // As the minimum side edge length (where the round is occurring)
    // approaches 0, the limitedRadius approaches 2 so as to maximize
    // roundness (to make the shape with the largest radius that doesn't clip).
    // As the edge length approaches 200, the limitedRadius approaches ~3 –- the
    // multiplier of the radius value where the resulting shape is concave (ie.
    // does not visually clip) at any dimension.
    final double multiplier = ui.lerpDouble(
      minimalEdgeLengthSideToCornerRadiusRatio,
      minimalUnclippedSideToCornerRadiusRatio,
      minSideLength / minRadiusEdgeLength,
    )!;
    limitedRadius = math.min(radius, minSideLength / multiplier);
    return bezierRoundedRect();
  }

  @override
  Path getInnerPath(Rect rect, {TextDirection? textDirection}) {
    return path(rect);
  }

  @override
  Path getOuterPath(Rect rect, {TextDirection? textDirection}) {
    return path(rect);
  }

  @override
  void paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) {}

  @override
  EdgeInsetsGeometry get dimensions => const EdgeInsets.all(0.0);

  @override
  ShapeBorder scale(double t) {
    return CupertinoRectangleBorder(
      cornerRadius: cornerRadius * t,
    );
  }

  @override
  ShapeBorder? lerpFrom(ShapeBorder? a, double t) {
    if (a is CupertinoRectangleBorder) {
      return CupertinoRectangleBorder(
        cornerRadius: ui.lerpDouble(a.cornerRadius, cornerRadius, t)!,
      );
    }
    return super.lerpFrom(a, t);
  }

  @override
  ShapeBorder? lerpTo(ShapeBorder? b, double t) {
    if (b is CupertinoRectangleBorder) {
      return CupertinoRectangleBorder(
        cornerRadius: ui.lerpDouble(cornerRadius, b.cornerRadius, t)!,
      );
    }
    return super.lerpTo(b, t);
  }

  @override
  bool operator ==(dynamic other) {
    if (runtimeType != other.runtimeType) return false;
    final CupertinoRectangleBorder typedOther = other;
    return cornerRadius == typedOther.cornerRadius;
  }

  @override
  int get hashCode => cornerRadius.hashCode;

  @override
  String toString() {
    return '$runtimeType($cornerRadius)';
  }
}


borderRadius is not working in Android but working in iOS

"react-native": "0.60.3"
"react-native-snap-carousel": "^3.8.0"
<Carousel
          borderRadius={10} // this is not working for Android
          slideStyle={{ borderRadius: 20 }}
          ref={c => (this._ref = c)}
          data={this.props.images}
          renderItem={item => this._renderItem(item)}
          onSnapToItem={index => this.setState({ currentImage: index })}
          layout={'default'}
          sliderWidth={this.props.parentWidth || width}
          itemWidth={this.props.parentWidth || width}
          loop={this.props.circleLoop || false}
        />

Is there any another option to use borderRadius with rounded corner?

it works for me:
slideStyle={{borderRadius: 20, overflow: 'hidden'}}

Sorry, please allow me to advertise for my open source library! ~
I think this library react-native-reanimated-carousel will solve your problem. It is a high performance and very simple component, complete with React-Native reanimated 2


Landscape Video Not Full Width

When run in landscape orientation (mobile phone), the video does not fill the full width of the screen

Did you set the css right? Is your container 100% width and height?


Auto-complete not working

This is in version 0.11.1.  The auto-complete suggestion list displays, but any action on the list items (tab, enter, mouse click) erases anything you have typed and inserts nothing.

Hmm. What is this completing? I think I may have broken this for module imports, but not identifiers.
Just pushed a new version, can you try now?

Sorry - the imports were broken.  The new version fixes the import completion, but now none of the identifier completions are being triggered (no list of options pops up).

Hmm, can't reproduce that one. Have you tried the explicit autocomplete trigger (ctrl+space I think)?

Actually - I can reproduce on another machine, but possibly not the same issue; do you get tooltips still?

Autocomplete trigger isn't working and neither are the tooltips.  This is on a Windows 7 Pro system.  Was working prior to the 0.11.x releases.

Great, this at least we can fix. This seems to be related to the change to load modules in psc-ide differently (previously I loaded modules for the current file on file switch, now I was loading all available at startup). 2 options until I make this more robust:

Try rebuilding (unlikely this will work)
Nuke your output/ folder, rebuild, and restart the atom window (ctrl+alt+r on windows)
Run psc-ide-server --debug manually in your project folder, plus do the above, and see if modules in your project get loaded

Actually I think I inadvertently crated a dependency on purescript 0.8.4. Updated again, maybe you can try now? :)

My friend, I think that did it.  Just took the new version for a test drive and auto complete was working for both imports and identifiers, as were tooltips (type info).  Seems like you solved it!

By the way, can I say thank you again for the incredible support you have shown this community?


[ISSUE-278] Resolve pipeline_metadata.version error

Raised to resolve - #278
Deprecate pipeline_metadata - This setting throws an error when the pipeline is updated manually, as the subsequent terraform plan cannot handle the version value being of type: float64.
Add metadata - This is able to handle the multiple data types.

@tobio - Hey, another small one for when you have a spare min or two 👍
Unfortunately I couldn't find a way to handle multiple data types in TypeMap... (please do enlighten me if this is possible though!)
Have also just deprecated the field as opposed to introducing a breaking change by replacing, so technically the error still exists in the old pipeline_settings, but this should provide a workaround for those that may run into it until the older field is fully removed

I'm inclined to just make this a breaking change.

@RobsonSutton, lets do this. It's nicer to break this now and completely close of this bug.

@tobio - Should be updated to be a breaking change now 👍


Company product search api updated

Branch-name:  company-product-search-api-updated
By: Rubina Thapa
Date: 2024-05-06
Time: 12:43 PM
Epic: Product/Compay
Task: Search product and company through their name
Description: It searches for a product and company based on the provided name

Do not merge directly to main branch


Rename dataEditor.* config variables

To be consistent the dataEditor.* variables should be renamed.
eg
{
    "dataEditor.omegaEditPort": 9000
    "dataEditor.logFile": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
    "dataEditor.logLevel": "info"
}

should become something like
{
    "dataEditor": {
        "omegaEditPort": 9000
        "logFile": "${workspaceFolder}/dataEditor-${omegaEditPort}.log",
        "logLevel": "info"
    }
}

Be sure to document this change on the 1.3.0 wiki.


clusterlogging pkg: clusterlogging handler adjustments + new methods

clusterlogging handler adjustments + new methods:

WithCollection
WithManagementState
WithLogStore
WithVisualization

@trewest @kononovn @achuzhoy @cdvultur PTAL

@trewest @kononovn @achuzhoy @cdvultur PTAL


re-enable cycle counting, add unit test

Hi @InvalidCo - I appreciate the PR. This was actually working as designed, although undocumented. The intention was to keep track of the number of cycles used during the last operation (the last call to cpu.step()). If you need to keep track of total usage, you can do that outside of the CPU.
I've made that clear in the documentation, and folded your test into the test suite anyway since it's useful to have :)


Tested and passing Python 3.4 support, with a messy commit history.

Also some gitignore stuff. Sorry bout that.

this isn't even close to the work it actually takes to add py3 support. Closing.


Going backwards makes input going forwards on MP4

When I go backwards, the inputs visualizer makes the forward inputs show instead of the backwards
In the example below, the speed viz is negative (meaning it's backwards) but the inputs show forwards

@Atheuz Perhaps you wanna look into this?

It looks to me that InputGasPedal is always positive, but when going in reverse the gear is 0.

The vehicle velocity itself has little to do with which inputs are pressed, so we can't really check gear value.

I'm not sure I completely understand that statement.
What I meant to say was that during my observations in TM2 Stadium, the following occurred:

I accelerated forwards by pressing ↑. I observed the up key highlighted on the dashboard
I released the up key and applied the brake by pressing ↓. I observed the down key highlight as I slowed down.
When the car stopped moving forward, the down arrow was no longer highlighted. I am still holding the down arrow on my keyboard.
The car starts to move backward as I continue to hold my down arrow key. I observe that now the Up arrow key is highlighted on the dashboard.

My conclusions from this observation:

Down arrow key applies both Reverse and Brake.
Reverse and Brake are not the same thing.

Ah, yes you are right.

Braking at positive velocity:
![braking-positive-velocity](https://user-images.githubusercontent.com/202696/134373427-0dff0694-5140-4260-9884-ee5d827c6854.png
Braking at negative velocity:

)
Note the InputIsBraking.

From some experimentation, it appears to me that:

if positive velocity:

if inputIsBraking and inputGasPedal:

up-key and down-key are both pressed

if inputIsBraking and not inputGasPedal:

down-key is pressed

if inputGasPedal:

up-key is pressed

if negative velocity:

if inputIsBraking and inputGasPedal:

up-key and down-key are both pressed

if inputIsBraking and not inputGasPedal:

up-key is pressed

if inputGasPedal:

down-key is pressed

There seems to be a problematic edge-case near zero speed, which could be fixed if we could replace the car's linear velocity with the wheel's angular velocity for the above conditions.
Unfortunately this also requires some threshhold value for mapping inputGasPedal to a bool value, since it changes smoothly.
This observation also predicts that the inversion of this bug would also appear: driving with negative velocity, and then braking with the up-key will be displayed as a down-input. From my testing, this is true (at speeds above when the wheels start spinning).


Add more descriptions about "tracing"

Currently this library lacks basic description about what is the "tracing" we would like to solve. It is not friendly for wild people that accidentally discovered this library, for example, from TiKV and its friend repositories.
A nice example would be https://tracing-rs.netlify.app/tracing/ where core concepts are explained in detail.

Hopefully we can keep it very simple - the tracing crate world is crate spaghetti.
From my PoV.

Reporters just plugin and work (hopefully my #[trace] macro work will mean this, in the fullness of time, becomes:#[trace[root=true, recurse=public, reporter=Jaeger]
fn main(){
    fn hi(){
        println!("your un-traced code here");
    }
    pub fn world(){
        hello();
        println!("world");
        pub fn hello() {
            println!("Hello");
        }
    }
    // etc.
   world();
}

The public API, from my PoV, is (tracing crate compatible):

<s>.record("key","value");

Everything else is considered internal implementation details and subject to change at any instant.
There are no constraints on the levels of tracing your app can have, and how you name them. An ./example/levels crate that implements log/tracing style levels should suffice.

All that said I think we can keep this to a one pager for the "...wild people that accidentally discovered this library".
I certainly struggled to figure out some basics, but it has been worth it so far :)
Hopefully we can improve things for others.


Fix bug with EventNode in NewNode. #89

This change is

Codecov Report

Merging #96 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
+ Coverage   92.02%   92.03%   +0.01%
==========================================
  Files          28       28
  Lines        1166     1168       +2
==========================================
+ Hits         1073     1075       +2
  Misses         82       82
  Partials       11       11

Impacted Files
Coverage Δ

decoder.go
97.43% <100%> (+0.06%)
:arrow_up:

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 d570610...f6a2bb8. Read the comment docs.


Project Names with Spaces Break the Build

If you name your project something like "Test Aspire", and make no other changes to the Aspire Starter Project, and then build, it will break the build, as the generated code has spaces in it:

Either you shouldn't allow spaces in project names at creation, or your code generation needs to replace all spaces with underscores, like it does for periods.

I am running on Windows 11.

Good catch! We should fix this one for preview2. If you want to send a PR, the fix should be here:
https://github.com/dotnet/aspire/blob/f4a75f37aef36a29f30252f21f2409d3c987f35c/src/Aspire.Hosting/build/Aspire.Hosting.targets#L22-L23

This includes those with period(.) separator. e.g. Company.MegaProject

Would it be better (and possible) to have the logic for the generated code be pure c# instead of having some of it in msbuild? I think that the tooling for using c# APIs insude msbuild files in not quite there yet

Good catch! We should fix this one for preview2. If you want to send a PR, the fix should be here:
https://github.com/dotnet/aspire/blob/f4a75f37aef36a29f30252f21f2409d3c987f35c/src/Aspire.Hosting/build/Aspire.Hosting.targets#L22-L23

Sounds good, I can add a PR later today.

There's already a PR open https://github.com/dotnet/aspire/pull/953

Ah, perfect, thank you!


Fix depwarns

I incorporated #55 and added a couple of using Compat.String lines to silence the (new) warnings on julia-0.4. If tests pass, I'll merge this myself.

Coverage remained the same at 90.485% when pulling 752d06dd85f0f384cbddd0a28f18305554009bd7 on cgj_teh/depwarns into 2c0304321b1def601ffecaa1282b47eb666fb948 on master.


Cherry-picking "Configurable heap memory release rate - #32589"

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Don't think we backport features, is it possible to upgrade to Envoy version that contains the feature?

branches are currently not working - trying to resolve that now - should be back up and running by early next week

Don't think we backport features, is it possible to upgrade to Envoy version that contains the feature?

No, it is not possible, that is the reason trying for backport.

@sakatkoori we don't backport features, only bug/security fixes. Best course of action for you would be either to upgrade or to maintain a private build for v1.29+memory release feature.


Fix issue of generating QRCode with console

Related to session using in command line section. #9

Why this PL not merged!?

Why this PL not merged!?
I was just want to make a  pull requests to this issue, and I find it was already exists.
It works,why this PL not merged!? for such a long time...

@ihipop Use this one, It's cool.
https://github.com/endroid/QrCode

thank you for this recommendation.Stared.


OAuth token authentication support

I did this in my fork for my @zbowling/tinderbox app where I'm using node embedded inside a native Cocoa app with your library at the core. I use OAuth to authenticate the user instead of basic auth.

Thanks for the patch. And awesome use of the library.


add dimension characters i,d and f

@esgomezm encountered an example with the need to add a dimension to include multiple objects in one sample.
This lead to further discussion of the differences between image channels, categories, and computed features.
In today's meeting the remaining participant's @esgomezm , @oeway and me agreed on the addition of i (index/element), d (category/class) and f (feature) to cover the aforementioned cases.

Came up in our group meeting today; @akreshuk, @emilmelnikov  and me had some reservations.
The problem is that this proposal allows input data to be up to 9d data:
given the current proposal (if we understand this correctly) the input [b, t, c, i, d, f, z, y, x] is allowed.
However, all networks that we currently support, and will support in the foreseeable future, will allow for maximally 5d input.
So there is a lot of potential for headache caused by mapping the axes to the actual input internally.
Furthermore, the distinctions between c, i, d and f sound purely semantic to me. Maybe we should rather add this through axes metadata, for example with a new (optional) field axes_description.
On a related note: there is a discussion about the axes metadata happening for the ome ngff format as well:
https://github.com/ome/ngff/issues/35

I think it's really depends on how we define the axis here.
If we only allow 5 type of axes, say bxyzc, then we will have to choose from these 5 type of axes for every network. Now, say if we want a time axis, we will have to use perhaps b to represent while t is more intuitive. If we also allow t, then does it mean we allow 6 axes? This is to say, I wouldn't simply add the allowed axis types and take that as our allowed number of axes.

Furthermore, the distinctions between c, i, d and f sound purely semantic to me. Maybe we should rather add this through axes metadata, for example with a new (optional) field axes_description.

As to my understanding, our current axes are semantic names of the axes, I mean otherwise you would simply use axes numbers. For me, the proposed axes_description is the same as our axes here. It provides semantical meaning or hint for each axis, a consumer software won't care about it if they only want to run the model and produce a tensor-- the axes definition only becomes useful when we want to render or display the tensor to the UI. For different cases, would be nice if we can choose from a rich set of vocabulary to express the semantical meaning.

Came up in our group meeting today; @akreshuk, @emilmelnikov and me had some reservations.
The problem is that this proposal allows input data to be up to 9d data:
given the current proposal (if we understand this correctly) the input [b, t, c, i, d, f, z, y, x] is allowed.
However, all networks that we currently support, and will support in the foreseeable future, will allow for maximally 5d input.
So there is a lot of potential for headache caused by mapping the axes to the actual input internally.
Furthermore, the distinctions between c, i, d and f sound purely semantic to me. Maybe we should rather add this through axes metadata, for example with a new (optional) field axes_description.
On a related note: there is a discussion about the axes metadata happening for the ome ngff format as well:
ome/ngff#35

After fridays discussion and reading through this thread again, I've come to a conclusion I could live with (and support it ^^)
But first, let me reiterate my understanding so far and correct me if I'm wrong.

XYZ have been declared as image axes
T is used as time or channel in different models to provde a 4D aspect to images
B is usually used for batches and I know that we use it in N2V and DenoiSeg

None of these have been officially documented and constrained as such. But why not do just that? We do want to visualize the data as an image or a table anyway and we also want to provide as much cross-plattform-compatibility as possible.
If we then add other axes and make it clear by documentation what they are used for (for example the ones Fynn mentioned) then we can all support them in our respective software and represent the data as tables and/or images, depending on axes used.
tl;dr: if we want to add more axes (and I see the need for that), we should constrain them and only support them.

T is used as time or channel in different models to provde a 4D aspect to images

so far we have t for time and c for channels.

Some general thoughts aimed at searching for common ground and compromises everyone can live with:

What do axes letters (like those we currently use) actually mean?

tzyx: time and space are 'clean' physical dimensions, with zyx refering to a 3d (righthanded?) space.
b: special, but straight forward batch dimension: really just a list of data samples that works as a tensor dimension, because we generally optimize our code to do so for efficient parallel computing. (There are exceptions though, different samples do not have to have the same shape, which opens the next question: Do we want/need to coer this case (in the future)?)
c: opinions start to diverge.
Either this 'other' dimension encodes values for the same sample/time/location. Then i, d and f just add semantic meaning to c. From this point of view c just happens to encode image channels in many use cases, but might as well be anything else, potentially flattened into this one 'rest' dimension.
Or c is associated with 'image channel' and differentiating to other semantic meanings justifies going (at least conceptually) to a higher dimensions.

What description of input/output (axes) do we need? (This part starts to be colored by my own opinion, I'm afraid)

The input/output description needs to encode the nature of the data to the extent relevant to apply the model and allow consumer software to show data appropriately.
Only if the input/output can be interpreted in code -- not by a human -- we can provide a smooth end user experience. Thus we need to balance easy of use VS flexibility (keeping it simple, while we don't want to exclude any model devs or consumer software from the model zoo, or make them escape to the config section by default).
Beyond 'understanding' model input/output it's up to the consumer software to display this to the end user. High flexibility leads to a need for high configurability. Complex data requires the end user to choose how to look at the data, while simple data can be shown in a fixed, unconfigurable manner.

My conclusions so far:

We do not only aim at a framework to describe arbitrary data (like the ngff format), but would like to cater (or even limit) the data to the capabilities of our consumer software.
While our consumer software might include amazingly specific applications (in the future), we have to pay special attention to the more common use cases with the common tools and common models (tends to be on the simpler-ish side, but already includes tables).
While we can mostly get away with limiting i/o data to a certain dimension limit (~6-8), we do have to account for different types of dimensions (-> image vs table, etc.). Also limiting the number of dimensions will exclude some models and not make them comply with lower dimensions instead.
We should not forget that we want to promote consumer cross-compatibility, which complex data descriptions hamper.

Proposal:

We do add a few (pseudo) dimensions (i, f, d) to allow for straight forward description of almost all i/o data, which serves as a more detailed visualization hint (this list of c like axes may be extended in the future, but we will try to keep it short).
We agree not to duplicate any axis letter (chances are those dimensions can very well be flattened, which makes the model more accessible to a wider range of consumer software).
We emphasize the close relationship of channel like (pseudo) dimensions in the documentation to encourage model devs to limit their use to one of them, which allows to map those to the c dimension (e.g. in software that can 'only' handle 6d data) and 'keep it simple', while allowing higher dimensional models (max 9d)
As this turned out more complex than initially assumed, we add a key axes_description with a list of human readable short (single line + char limit) descriptions (maybe nested for 'columns'), that consumer software could potentially display. (alo: maybe fix description for b). Details are left for further discussion.
Left out for further discussion: Add keys like  axes_unit/axes_resolution to further clarify the nature of the i/o data.

example draft (only for a scalar + table, as we all can image "simple" images/videos in this format):
inputs:
- name: screenshot_of_source_code
  axes: bxy
  ...

# example with fixed columns/ small table
outputs:
  - name: bug_density  # scalar per image
    axes: b
    ...
  # table with individual bugs
  - name: bug_size  # first column
    axes: bf
    shape: [1, 100]
    ...
  - name: bug_age  # second column
    axes: bf
    shape: [1, 100]
    ...

# example with big table
outputs:
  - name: bug_density  # scalar per image
    axes: b
    ...
  - name: bug_table    # table with individual bugs
    axes: bif
    shape: [1, 100, 2]  # btw, we don't allow for an unknown size (yet), which would be important for tables, there are not 100 bugs on every page of code after all.
    axes_description: ["batch", "bug", ["size", "age"]]   # idea: nested axes description (has to match shape). Details of this go a bit beyond the scope of this issue/PR for now.

note that in the example axes f has size 100 in the small table example, but 2 in the big table example...  This minimal example demonstrates how much variability these limited options already give to developers to define their model output in ambiguous ways.

Proposal:

We do add a few (pseudo) dimensions (i, f, d) to allow for straight forward description of almost all i/o data, which serves as a more detailed visualization hint (this list of c like axes may be extended in the future, but we will try to keep it short).
We agree not to duplicate any axis letter (chances are those dimensions can very well be flattened, which makes the model more accessible to a wider range of consumer software).
We emphasize the close relationship of channel like (pseudo) dimensions in the documentation to encourage model devs to limit their use to one of them, which allows to map those to the c dimension (e.g. in software that can 'only' handle 6d data) and 'keep it simple', while allowing higher dimensional models (max 9d)
As this turned out more complex than initially assumed, we add a key axes_description with a list of human readable short (single line + char limit) descriptions (maybe nested for 'columns'), that consumer software could potentially display. (alo: maybe fix description for b). Details are left for further discussion.
Left out for further discussion: Add keys like  axes_unit/axes_resolution to further clarify the nature of the i/o data.

/polls "I am OK with this proposal" "I might be OK with this, if minor changes that I briefly commented on below are addressed" "This is going nowhere! We have to take a completely different angle, I'll make a separate issue to lay out my plans"

I like adding axes_description and I think we can use it to express the custom metadata e.g. for informing a viewer how a channel should be displayed. I think this way we don't need to add new letters like i, d, f here. See discussion in #70.

I think we have a very good intermediate solution (https://github.com/bioimage-io/spec-bioimage-io/issues/70#issuecomment-824036922). I think it's probably best to close this PR and open a new one for it.
@FynnBe do you want to give it a go?

We decided to first do an intermediate change where we introduce just i, see #75.
And then we will go for a change in the axes layout, see https://github.com/bioimage-io/spec-bioimage-io/issues/70#issuecomment-825737433. Hence, this PR is deprecated and I am closing it.


Chat - Emoji tooltip is not translated to Spanish

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.47-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Send an emoji only
Change app language to 'Spanish'
Hover over the sent message

Expected Result:
Emoji tooltip should be translated to Spanish
Actual Result:
Emoji tooltip is not translated to Spanish
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/baa029f8-86fc-4dc7-bf2d-6e3edab83948
View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @bfitzexpensify

We think that this bug might be related to #vip-vsp
CC @quinthar

@srikarparsi  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

we are looking at reverting https://github.com/Expensify/App/pull/37778
@mkhutornyi will retest this issue

closing this out


[💡Feature Request] Get historical options price

using this link https://www.dolthub.com/repositories/post-no-preference/options we can get historical options prices from more than 2 years. seems the database can be accessed using https://github.com/dolthub/doltpy
It's a game-changer nobody implements yet with more than 2 years of historical options price. harvest will be the first.

I'm mixed on this one, since it is a great feature to add, but at the same time it looks like the database is compiled by a third-party enthusiast meaning it is not a reliable source. That being said, this might be a great candidate for a plugin - #93

Sounds Good 👍


pxtrace: "Struct/union of type 'struct _tracepoint_sched_sched_wakeup' does not contain a field named 'pid'"

Describe the bug
We have created the following pixie script to get scheduling latencies using bpftrace:
import pxtrace
import px

program = """
#include <uapi/linux/ptrace.h>
#include <linux/sched.h>
#include <linux/nsproxy.h>
#include <linux/pid_namespace.h>

tracepoint:sched:sched_wakeup,
tracepoint:sched:sched_wakeup_new
{
    @qtime[args->pid] = nsecs;
}

tracepoint:sched:sched_switch {

    if (args->prev_state == TASK_RUNNING) {
        if (args->prev_pid != 0) {
            @qtime[args->prev_pid] = nsecs;
        }
    }
    $ns = @qtime[args->next_pid];
    $latency = (nsecs - $ns)/1000;
    if($latency != 0 && args->next_pid != 0 && args->prev_pid != 0){
        printf(\"time_:%d oproc:%s opid:%d lat:%lld nproc:%s npid:%d\", nsecs, args->prev_comm, args->prev_pid, $latency, args->next_comm, args->next_pid);
    }
    delete(@qtime[args->next_pid]);
}
"""

def demo_func():
    table_name = 'latencies_table'
    pxtrace.UpsertTracepoint('latencies_probe_2111',
                             table_name,
                             program,
                             pxtrace.kprobe(),
                             "10m")
    # Rename columns
    df = px.DataFrame(table=table_name)

    return df

df = demo_func()
px.display(df)

On running the above script, we get the following errors:
Semantic analyser failed with message: stdin:9:5-21: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_wakeup' does not contain a field named 'pid'
    @qtime[args->pid] = nsecs;
    ~~~~~~~~~~~~~~~~
stdin:9:5-21: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_wakeup_new' does not contain a field named 'pid'
    @qtime[args->pid] = nsecs;
    ~~~~~~~~~~~~~~~~
stdin:13:8-25: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_state'
    if (args->prev_state == TASK_RUNNING) {
       ~~~~~~~~~~~~~~~~~
stdin:13:29-41: ERROR: Unknown identifier: 'TASK_RUNNING'
    if (args->prev_state == TASK_RUNNING) {
                            ~~~~~~~~~~~~
stdin:14:12-27: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_pid'
        if (args->prev_pid != 0) {
           ~~~~~~~~~~~~~~~
stdin:15:13-34: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_pid'
            @qtime[args->prev_pid] = nsecs;
            ~~~~~~~~~~~~~~~~~~~~~
stdin:18:11-32: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'next_pid'
    $ns = @qtime[args->next_pid];
          ~~~~~~~~~~~~~~~~~~~~~
stdin:20:25-39: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'next_pid'
    if($latency != 0 && args->next_pid != 0 && args->prev_pid != 0){
                        ~~~~~~~~~~~~~~
stdin:20:48-62: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_pid'
    if($latency != 0 && args->next_pid != 0 && args->prev_pid != 0){
                                               ~~~~~~~~~~~~~~
stdin:21:78-93: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_comm'
        printf("time_:%d oproc:%s opid:%d lat:%lld nproc:%s npid:%d", nsecs, args->prev_comm, args->prev_pid, $latency, args->next_comm, args->next_pid);
                                                                             ~~~~~~~~~~~~~~~
stdin:21:95-109: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'prev_pid'
        printf("time_:%d oproc:%s opid:%d lat:%lld nproc:%s npid:%d", nsecs, args->prev_comm, args->prev_pid, $latency, args->next_comm, args->next_pid);
                                                                                ~~~~~~~~~~~~~~
stdin:21:121-136: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'next_comm'
        printf("time_:%d oproc:%s opid:%d lat:%lld nproc:%s npid:%d", nsecs, args->prev_comm, args->prev_pid, $latency, args->next_comm, args->next_pid);
                                                                                ~~~~~~~~~~~~~~~
stdin:21:138-152: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'next_pid'
        printf("time_:%d oproc:%s opid:%d lat:%lld nproc:%s npid:%d", nsecs, args->prev_comm, args->prev_pid, $latency, args->next_comm, args->next_pid);
                                                                                ~~~~~~~~~~~~~~
stdin:23:5-33: ERROR: Struct/union of type 'struct _tracepoint_sched_sched_switch' does not contain a field named 'next_pid'
    delete(@qtime[args->next_pid]);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The above errors shouldn't be occurring as the structures in question do in fact contain these fields:
//// struct _tracepoint_sched_sched_wakeup

$ sudo cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/format
name: sched_wakeup
ID: 283
format:
        field:unsigned short common_type;       offset:0;       size:2; signed:0;
        field:unsigned char common_flags;       offset:2;       size:1; signed:0;
        field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
        field:int common_pid;   offset:4;       size:4; signed:1;

        field:char comm[16];    offset:8;       size:16;        signed:1;
        field:pid_t pid;        offset:24;      size:4; signed:1;
        field:int prio; offset:28;      size:4; signed:1;
        field:int success;      offset:32;      size:4; signed:1;
        field:int target_cpu;   offset:36;      size:4; signed:1;

print fmt: "comm=%s pid=%d prio=%d target_cpu=%03d", REC->comm, REC->pid, REC->prio, REC->target_cpu

//// struct _tracepoint_sched_sched_switch

$ sudo cat /sys/kernel/debug/tracing/events/sched/sched_switch/format
name: sched_switch
ID: 281
format:
        field:unsigned short common_type;       offset:0;       size:2; signed:0;
        field:unsigned char common_flags;       offset:2;       size:1; signed:0;
        field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
        field:int common_pid;   offset:4;       size:4; signed:1;

        field:char prev_comm[16];       offset:8;       size:16;        signed:1;
        field:pid_t prev_pid;   offset:24;      size:4; signed:1;
        field:int prev_prio;    offset:28;      size:4; signed:1;
        field:long prev_state;  offset:32;      size:8; signed:1;
        field:char next_comm[16];       offset:40;      size:16;        signed:1;
        field:pid_t next_pid;   offset:56;      size:4; signed:1;
        field:int next_prio;    offset:60;      size:4; signed:1;

print fmt: "prev_comm=%s prev_pid=%d prev_prio=%d prev_state=%s%s ==> next_comm=%s next_pid=%d next_prio=%d", REC->prev_comm, REC->prev_pid, REC->prev_prio, REC->prev_state, REC->next_comm, REC->next_pid, REC->next_prio

I can also confirm that our script works when we run it using the bpftrace tool. Any clue what the issue iould be? Thanks in advance!

Hi @pranav-bhatt, thanks for reporting this. I've reproduced this, and the issue appears to be somewhere in BPFTrace related to multiple compilations. Will let you know more once we have some more information.

@oazizi000 thanks for the update! We kinda have everything else setup for our use case, and this is the only hold up 🙈.

Hi @oazizi000! Any progress n this issue?

Hi @pranav-bhatt, we have a provisional fix. We're working on getting it upstreamed soon. Stay tuned.

@pranav-bhatt A fix has been submitted. You should see it in the next release (v0.9.4), which should go out in the coming days. Let us know if you still see any issues around this.
Thanks for reporting!


Use released deps.

Fixes a few issues and precursor to adding it as a dependency to rust-ipfs

can we get the arbitraries in too?

I released rust-cid 0.4.


Protoc parser

The protoc parser parses protobuffers which could be used for type checks and field definitions.

Subtask of #2


Simplify code

Hi @joelchen
It would be good to for one commit for one thing, so don't need to push 5 commits for only three line changes, as we want to keep the commit history as clean as possible.

Thank you.


Incorrectly claims invalid apiVersion being used for MS.Resources/deployments

 [-] apiVersions Should Be Recent In Reference Functions (102 ms)                                                                                Microsoft.Resources/deployments is using an invalid apiVersion. Line: 548 643 646 649 780 783, Column: 24 24 24 24 24 24
ApiVersion not found for: reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2019-10-01') and version         Valid Api Versions foun
d Microsoft.Resources/deployments :                                                                                2021-01-01
2020-10-01
2020-06-01
2019-09-01
2019-08-01

2019-10-01 is a valid apiversion fo MS.Resources/deployments
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "<IP_ADDRESS>",
  "resources": [
    {
      "type": "Microsoft.Resources/deployments",
      "apiVersion": "2019-10-01",
      "name": "bastion",
      "properties": {
        "expressionEvaluationOptions": {
          "scope": "inner"
        },
        "mode": "Incremental",
        "parameters": {
          "bastionHostName": {
            "value": "[parameters('bastionName')]"
          },
          "bastionSubnetId": {
            "value": "[reference(resourceId('Microsoft.Resources/deployments', 'vnet'), '2019-10-01').outputs.bastionSubnetId.value]"
          },
          "location": {
            "value": "[parameters('location')]"
          }
        },
        "template": {
          "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
          "contentVersion": "<IP_ADDRESS>",
          "resources": [
          ]
        }
      }
    }
  ]
}

See failure in pipeline here: https://dev.azure.com/azurequickstarts/azure-quickstart-templates/_build/results?buildId=72429&view=logs&j=275f1d19-1bd8-5591-b06b-07d489ea915a&t=14b22f05-782e-55fa-3e59-b66c82f514a9

TTK is, well, sort of correct here - it's comparing against the list of apiVersions published in the /providers api and this one is not (even though it's valid/supported).
We should see if we can fix in bicep so it's not using an "unpublished" apiVersion to support modules.


Site Nav Doesn't work when font is enlarged on iPhone (Safari)

Describe the bug
The site generally gets wacky, but specifically, the nav doesn't work when the font is enlarged on iPhone using Safari.
It tries to load, can't, and then gives an error.
To Reproduce
Steps to reproduce the behavior:

Go to any page.
Increase font size to anything over 100% aa -> AA
Try to use top nav.

Expected behavior
Some type of menu.
Screenshots

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: iPhone Xs
OS: [e.g. iOS8.1]
Browser Safari
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Can confirm this, just poked around at 110% (through the reader menu on safari) and trying to tap the hamburger made the site mad. This might just be a staging site issue.

Please reconfirm this is an issue with #474 being merged into r2d @TomDeMichele @twblack88.


New Hardware

Is possible to run mruby on this machine?
https://www.kickstarter.com/projects/paulstoffregen/teensy-35-and-36

256KB Ram is a little bit too small i guess..

mruby worked on LEGO Mindstorm EX2 which has only 48KB. Of course, we had to strip off many classes and features and it was able to run only a few lines of code (but Mindstorm robot did line tracing move). Or you can check out tiny version of mruby VM github.com:mrubyc/mrubyc.git

@xor256 I saw that this teensy has now an Cortex M4 with 256kb as @Asmod4n mentioned. I already ported mruby to an Arduino Due nearly 4 years ago (http://blog.mruby.sh/201303161453.html), which had a Cortex M3 with 96kb. So I can also confirm that it is easily possible to run it on this device.

I'm implementing another mruby VM, which is smaller than mruby.
Currently it is beta level and it supports only a few classes.
If you are interested in smaller mruby, mruby/c, please check mruby/c repository.
https://github.com/mrubyc/mrubyc


Update index.md

Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288, size <= 75 kB)
[x] Content (and my changes are in index.md)

I added the v lang programming language to the programming languages collection

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Please restore the pull request template and fill it out. Thanks!

I restored the pull request template and added the item to the end of the list. Sorry for the inappropriate initial PR.


Support for multiple files

Can we add support for multiple files (js, css), something like thimble.mozilla.org or plnkr.co?

This would require lots of core and UI changes, so I'm not planning on implementing it right now.
Thanks for the suggestion. If more people ask for it, I'll re-open.

I think this would be possible by adding the following options:
styles: [],
scripts: []

with urls as comma separated arrays. Then on template render, include these elements in the iframe. I haven't had time to look at the code in depth, but this seems like a relatively simple addition,


diagnostic: check for strings in XDG_DATA_DIRS

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

To fix https://github.com/orgs/Homebrew/discussions/5549
One thing this ignores is canonicalizing paths (e.g. "${HOMEBREW_PREFIX}/share/" or any other equivalent paths)

Thanks @cho-m!


Move the signals to create user profile in their own file

Goal
Currently, when a new user instance is created/updated, an associated user profile instance is created/updated using the signals create_user_profile and update_user_profile respectively. However, these signals are currently placed in the accounts/models.py file. They should be moved to their own module.
Tasks

[ ] Move the create_user_profile & update_user_profile signals from accounts/models.py to accounts/signals.py module.
[ ] For the signals to be executed, import the module in accounts/apps.py module ready method.
[ ] Write tests for the signals. The tests should be placed in accounts/tests/test_signals.py file.

Functionalities in this issue have been implemented in PR #29.


Slurp Error

url：https://max2d.com/archives/1031
Error：Slurp Error!net::ERR_CERT_DATE_INVALID. If this is a bug, please report it from plugin settings.

the website's SSL certificate is expired and slurp can't load pages from sites with bad SSL configurations. it also looks like this site redirects HTTP to HTTPS, so you won't be able to bypass SSL.
not much that can be done about that unfortunately, except to complain to the website and ask them to renew their certificates.

the website's SSL certificate is expired and slurp can't load pages from sites with bad SSL configurations. it also looks like this site redirects HTTP to HTTPS, so you won't be able to bypass SSL.
not much that can be done about that unfortunately, except to complain to the website and ask them to renew their certificates.

ok, thanks


Issues with build-tools

Hey there,
first: thank you very much for creating this example! It's very useful to learn how I could develop a plugin for e.g. Chrome or Firefox and the integration of bun and Astro is awesome.
I updated the versions locally and it works as I'd expect it to.
However: I am not exactly sure why the ./build-tools scripts are necessary.

If I don't mind creating the images in proper sizes in the correct place myself, I suppose I do not need create-icons.ts, right?
I also have no idea what crypto.ts does.
I don't understand why we need extract-inline.ts ("Remove inline scripts and styles from the generated HTML files." does not explain this and to be honest I don't get it) - is it because a browser plugin is not allowed to have those?
I also do not fully understand get-filepaths.ts. I understand, that you retrieve *.js and *.ts files from there, but why is it necessary?

I'd expect bun to ensure, that the Astro components and pages (and their styles) are properly built and published in some directory and then I'd expect the contents.ts, background.ts and index.ts to be built - probably even in a separate manner? - and published into the same directory, resulting in a completed directory containing the unpacked plugin (e.g. the dist directory).
Please do not get me wrong - I am sure, that you have plenty of experience and this template works for you (and I'm glad you made it), but perhaps for the lack of knowledge / understanding, I am not quite getting why this is one "combined" project - instead of having e.g. the "popup" (consisting of Astro components) and the actual "plugin" scripts ("contents.ts", "background.ts" and its "index.ts") be separate and only ever "meet" in the final dist folder.
Can you perhaps help me understand?
Best regards,
Igor.

Thank you for your thorough post Igor. I'll come back with a full response when I have the time. Until then, here is the reason for regarding the extract-inline.ts (and crypto.ts).

Thank you! The linked issue indeed explains things. I also need to look at it in more detail. Yeah - no hurry in regards to the post. Still, your template is an amazing starting point! I would have spent quite a few more hours on basics without it.

Hi @divStar I added a PR #3 to address your this topic. Hopefully it clarifies some of the confusion surrounding the build-tools.

I'd expect bun to ensure, that the Astro components and pages (and their styles) are properly built and published in some directory and then I'd expect the contents.ts, background.ts and index.ts to be built - probably even in a separate manner? - and published into the same directory, resulting in a completed directory containing the unpacked plugin (e.g. the dist directory).

Running bun run build triggers the script in the package.json
astro build && cd build-tools && bun run csp && bun bundler.ts
Which essentially does what you expect in the quoted section. I could also add some info on this somewhere.

Thanks man! I left it for your nodeJS/Astro example though, because I had issues building the content.js and background.js files (on top of the popup made in Astro).
I might come back to this at some point, but for now the nodeJS/Astro example seems a bit more solid (though this also might be due to me being much more familiar with nodeJS).

Oh you were running into issues on this one? If so, please close the issue here and reopen it there instead. Also, please describe the steps to recreate your problem and provide any error messages and logs of failure. This will help me fixing it 😊.

Thank you. No, the issue was with my plugin functionality I think. I will report though if I think the repo can be improved.

Closing due to inactivity and because #3 is merged, reopen if you have something new to report.


Ambiguous error output when clang-format executable doesn't exist

If you run the application with the optional --clang-format-executable and the executable doesn't exist you get the error message run-clang-format.py: error: [Errno 2] No such file or directory. While this is technically true, it does not truly represent what is wrong with the application.
If the application is run on a directory of files a message will appear for every file:
$ ls ./src
foo.cpp  foo2.cpp
$ python run-clang-format.py ./src -r --clang-format-executable clang-format-wrong
run-clang-format.py: error: [Errno 2] No such file or directory
run-clang-format.py: error: [Errno 2] No such file or directory

This could lead people to believe that there's something wrong with the file structure or source-file-finding function of the application instead of a missing package, or executable. This is especially annoying to debug when running on CI with limited resources.
Checking that the executable is present (with a --version call, or something) and having a relevant error message for this specific error would fix the issue.

Thank you for the excellent application. I'm surprised that this isn't done by the LLVM team, given how ubiquitous the use case is.

FYI, in Python 3 the Python exception message is more helpful by default, as you get:
run-clang-format.py: error: [Errno 2] No such file or directory: 'clang-format-wrong': 'clang-format-wrong'

Nevertheless, it's nice to have only one error at the start, than many errors.
I added a clang-format --version check at start, and tried to improve the various error messages.
Thank you for your bug report.


Added type hints

Added type hints throughout. Type hints were made in the pre-Python 3.9 style. Resolves issue #90
mypy reports the following:
mypy . Success: no issues found in 7 source files

Hello and thanks for this. Note however that this PR breaks support for Python 2. We can debate for how long we should support it, but the decision should be explicit, not accidental.

I guess I should have read setup.py more carefully.
Side note: I think adding something to README.rst about which Python versions is supported would be a good idea