🐛 [firebase_dynamic_link] Dynamic link broke Safari on IOS when link contains unicode

Bug report
Describe the bug
As in the title, when the link contains a unicode character such as ó the link will break Safari and not open correctly.
Steps to reproduce
Steps to reproduce the behavior:

Open this link in the IOS Simulator https://arya.page.link/qV5g
See the error message in Safari: Safari cannot open the page because the address is invalid

Expected behavior
To open the app correctly and fire the flutter integration as usual.
Sample project
This is not needed as I'm pretty confident that you will be able to reproduce this in the example app.

Additional context
You can try with a valid link such as this one: https://arya.page.link/6XZ5 and you can confirm that is indeed working as expected.
Also, this is the  code used for generating the link in our backend:
const getParameters = (gymId: string) => {
  return {
    dynamicLinkInfo: {
      domainUriPrefix: `https://${process.env.DYNAMIC_LINK_DOMAIN}`,
      link: `https://www.getstriveapp.com/register/${gymId}`, //gmyId can contain unicode
      androidInfo: {
        androidPackageName: process.env.APP_UNIQUE_IDENTIFIER,
      },
      iosInfo: {
        iosBundleId: process.env.APP_UNIQUE_IDENTIFIER,
        iosAppStoreId: process.env.APPLE_STORE_ID,
      },
      navigationInfo: {
        enableForcedRedirect: true,
      },
    },
    suffix: {
      option: 'SHORT',
    },
  };
};

const generateReferralUrl = async (gymId: string) => {
  const response = await fetch(
    `https://firebasedynamiclinks.googleapis.com/v1/shortLinks?key=${process.env.WEB_FIREBASE_API_KEY}`,
    {
      method: 'POST',
      headers: {
        'content-type': 'application/json',
      },
      body: JSON.stringify(getParameters(gymId)),
    },
  );

  const jsonResponse = await response.json();

  const referralUrl = jsonResponse.shortLink;
  console.info(`generated referral link [${referralUrl}] for gym [${gymId}]`);

  return referralUrl;
};

Notes
I'm not sure if this is actually the right place to report this as it might as well be an issue with Safari since on Android the dynamic link works fine for the most part.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 3.10.4, on macOS 13.3.1 22E772610a darwin-arm64, locale en-IT)
    • Flutter version 3.10.4 on channel stable at /Users/nerder/Development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 682aa387cf (7 days ago), 2023-06-05 18:04:56 -0500
    • Engine revision 2a3401c9bb
    • Dart version 3.0.3
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nerder/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nerder/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nerder/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.10121639/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] Android Studio (version 2022.2)
    • Android Studio at /Users/nerder/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/222.4459.24.2221.9971841/Android
      Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.2)
    • IntelliJ at /Users/nerder/Applications/JetBrains Toolbox/IntelliJ IDEA Ultimate.app
    • Flutter plugin version 74.0.4
    • Dart plugin version 231.9065

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.2)
    • IntelliJ at /Users/nerder/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.9011.34/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1.1)
    • IntelliJ at /Users/nerder/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-0/231.8770.65/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (3 available)
    • SM G975F (mobile)          • R58M67B0S3Y                          • android-arm64 • Android 12 (API 31)
    • iPhone 14 Pro Max (mobile) • FB142510-43C2-45EC-BFF4-150B6E17F611 • ios           • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64  • macOS 13.3.1 22E772610a darwin-arm64

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Thanks for the report @nerder
I accessed the link on iOS simulator in which I get the said behavior, but accessing it on physical device took me properly to app store, so that probably indicates it is not a plugin issue but could be specific to simulators as they don't have AppStore app and the link must be trying to find one and hence the error as address is invalid.
See if it helps to answer / resolve your issue.

Hey @darshankawar thank you for your fast reply, the problem is that when I have the app installed it should open it, not try to open the App Store.
can send you a quick video when the first link correctly opens the app in the simulator and the other return that error.
The expected behavior should be to open both links in the app to be handled properly.

Actually, after some extensive testing, it seems like the link doesn't even trigger the flutter code to be executed as it fails directly in the native code and spawns this error in the console:
FLTFirebaseDynamicLinks: The URL has not been supplied with the dynamic link. Please try opening your app with the long dynamic link to see if that works
https://github.com/firebase/flutterfire/blob/52d920a5ed7e06cbbf9105a20eefc56824475f27/packages/firebase_dynamic_links/firebase_dynamic_links/ios/Classes/FLTFirebaseDynamicLinksPlugin.m#L311
I'm not sure how to debug this further in the native implementation.
Here are the 2 links when expanded:

https://arya.page.link/?link=https://www.getstriveapp.com/register/new_test&apn=com.arya.checkin.dev&isi=1471462737&ibi=com.arya.checkin.dev&efr=1
https://arya.page.link/?link=https://www.getstriveapp.com/register/mataró_jiujitsu&apn=com.arya.checkin.dev&isi=1471462737&ibi=com.arya.checkin.dev&efr=1

They are configured exactly in the same way the only differences are those special characters encoded in browser code that I suspect are breaking something.

Thanks for the update and digging deep. Can you take a look at this and see if using it in your scenario, still gives you same behavior or not ?

Sorry if it wasn't clear earlier, but I wanted to see if you follow the steps mentioned in that link with respect to your app, run in release mode, generate the dynamic link to see if the same issue persists or not.

Up. I'll be providing more information between today and tomorrow. I was quite busy with a big release for my app.

hey @darshankawar, I don't have a real IOS device handy to do that test. But I'm pretty positive this is happening because it's happening with our app in production.

Thanks for the update. Can you take a look at this and see if it helps in your case ?

Thanks for the update. I do see the same behavior as reported using the links provided. I think there was already an issue or I read something about having unicode in dynamic links but can't seem to find any reference of it.
/cc @russellwheatley

There is an ETA for this?

Hi folks, we'd like to inform you that the Firebase Dynamic Links service will be shutdown on August 25, 2025. In the meantime, only critical or security issues will be fixed in the SDK.
More at firebase.google.com/support/dynamic-links-faq


Create PR - "choose target branch" should show list of branches

Create PR
Try to send PR to a branch with a long name that isn't master
I have to copy/paste it or type from memory.

I should see a list of branches like "Git: Checkout to..."

Def bumping this one. If VSCode has access to it as part of the native VCS implementation, wouldn't there be an API to grab that list with?

This one is kinda old so bumping it with a comment @RMacfarlane. When working against a feature branch with a long name, it's easy to mess this up or forget it. I've done it 3 times today already.

I create branches with the Jira integration, I always have to copy the branch names from github if I want to make a PR to a feature branch instead of master.


Jobs repeating schedules because of multiple dynos?

Hi @dsander @cantino, I've been using Huginn for a while and have been running it on Heroku with no problems. Yesterday I've noticed that I had a huge queue of jobs, which was my fault since I was saving too much stuff in memory in one of my agents, which made it less and less performant overtime, until it blew up yesterday. My current Heroku setup is:

Yesterday I've also changed the config variable PROCFILE_PATH to Procfile and my Procfile is as follow:
web: bundle exec rails server -p ${PORT-3000} -b ${IP-<IP_ADDRESS>}
jobs: bundle exec rails runner bin/threaded.rb

Right now I have 4 agents scheduled to run every 10 minutes and since I've made that change, what started happening was that every 4 minutes, the scheduler started running for every job, instead of just running one time. Since I have 5 jobs and 4 agents, suddenly I had a queue of size 20. Is this intended behaviour?
At the moment I'm receiving hundreds of events a day and my Heroku billing is going up. Are there any optimizations I can make so that I don't have to run away from Huginn?
Thanks!

Hi @pedrocaseiro,
bin/threaded.rb is also including the scheduler which takes care of running your Agents every X minutes. There should only be one of it process running, if you need additional Agent processing speed you can scale the delayed_job processes. Scaling bundle exec rake jobs:work might work as well, but I never tested it.


Add service to attach metrics to Log4j Core

This PR is an evolution of #1943, that adds an easy to use way to add metrics and other instrumentation to Log4j Core.
It introduces an InstrumentationService class that is used each time a component on the "logging path" is created or added to the Configuration. Most notably:

instrumentMessageFactory is called each time a logger is created,
each time a logger configuration is added instrumentLogEventFactory, instrumentReliabilityStrategy and instrumentLoggerConfig are called,
each time an asynchronous element is created (AsyncLoggerDisruptor, AsyncLoggerConfigDisruptor or AsyncAppender) the instrumentQueueFullPolicy` method is called,
the startup of a disruptor-based element additionally causes an instrumentRingBuffer call,
finally each time an appender is added to the configuration an instrumentAppender call happens.

Most of these methods can be use twofold:

they can return a wrapped component, so that "push" metrics can be implemented,
they can return the parameter of the method itself.

What do you think? cc/ @adamthom-amzn, @jvz
Looking at the currently existing solutions, micrometer-metrics (cf. Log4j2Metrics) could replace their filter-based solution to one based on instrumentLogEventFactory.
Which of the other method's could be useful? Are the additional parameters enough to define all the dimensions of the metrics?
Note: this PR is a draft for now, since it lacks documentation and tests.

At first glance, I quite like this approach, and it would help with some other instrumentation I've hacked in - I observe configuration changes to modify all attached appenders to add a filter that tracks appender throughput, and since I was already reflectively pulling out AsyncQueueFullPolicies, I was also grabbing RingBuffers to monitor them as well. Being able to decorate these components is appealing.


getViewAtPosition(int position) produces index out of bounds exception

I think there is an error, regarding the position attribute.
Position get's already set correctly so there is no need for "+1".
// scrolled position is always the left scrolled page             View leftView = getViewAtPosition(position);             View rightView = getViewAtPosition(position);

            View leftView = getViewAtPosition(position);
            View rightView = getViewAtPosition(position + 1);

Both lines cannot refer to the same index, there is no error there.
Check that your implementation of getObjectAtPosition returns null in case requested index is out of bounds.

 Thanks for the explanation.


TextBlock Text Jumping Around Despite Fixed Width Font.

Describe the bug
When using a fixed width font, the bounds of a TextBlock keep changing when the text changes, despite the text having the same amount of characters.
e.g. a clock with the text changing from "00:18:11" to "00:18:12":

This causes the text to jump left and right as the time changes.
To Reproduce

Use a TextBlock and a fixed width font
Change the text in the TextBlock to an equal length string with different characters.
Observe the bounds changing.

Expected behavior
Text should be rendered in the same position and not jump around.
Avalonia version
11.0.11
OS
macOS
Additional context
No response

Actually, tried a different font and it was fine.

Actually, tried a different font and it was fine.

Try upgrading to newest or nightly Avalonia. Besides that, try using LetterSpacing so that the kerning is consistent as a workaround. eg. <TextBlock Text="Testing" LetterSpacing="1" />

Hi @stevemonaco. Can confirm setting LetterSpacing="1" resolves this.


Clear backstack

I have a button in my Activity.
On click of button, I want to clear whole backstack and keep my home fragment.
How do I do that?

List<IMasterFragment> fragments =  getFragmentMaster().getFragments();
for(int i = fragments.size() - 1; i > 0; i--) {
    fragments.get(i).finish();
}


Relase build with debug info option

Can an option be added to have an optimized build with debug info? The debug build takes too long to initialized a VkInstance.

Sorry for the 4 month delay. I put it off till now haha.
This doesn't work
I think something is overriding the options passed
I have tried setting the cmake build type to RelWithDebInfo as well and it is still painfully slow compared to the release builds


Async Provider

While one currently can inject into an async function, providing asynchronously something is not possible. Having an async counterpart or method for each provider should be possible. It does require some nontrivial rework of the cython container though.

I'm closing this issue, for now at least, it's just complex to support an async provider and not a priority. The next best option for someone looking for this functionality would be to do something similar to:
from antidote import injectable, inject

@injectable
class Service:
    async def do_stuff(self) -> object:
        ...

@inject
async def f(service: Service = inject.me()) -> None:
    await service.do_stuff()


CsvFileSource cannot handle gzip files

Hi, and thanks very much for this library.
I noticed that when trying to feed the CsvFileSource a gzip file, I got this error:
TypeError: argument 1 must be an iterator

After some digging I found out that csv.reader() expects an iterator, which, unfortunately, is not what self.open_file() returns (see FileBasedSource).
This test exposes the problem, and this addition to sources.py fixed my problem.

Hi!
Thanks for filing the issue. Would you like to submit a pull request with the change so I can pull it in?

Sure, I'll do that.


Fix bug causing crash when 'every' is set (#5)

I ran the test suite without the lib change and the test failed (expected), and then passes when the change is in place. Woo :)

LGTM


Remove the trade-tariff related entries from Procfile

These are no longer relevant, since trade-tariff is not managed
through govuk-puppet.

We've always kept the ports in this file (as per https://docs.publishing.service.gov.uk/manual/retiring-an-application.html#10-update-development-scripts), although I'm not 100% sure why. Could we remove all the comments?

We've always kept the ports in this file (as per https://docs.publishing.service.gov.uk/manual/retiring-an-application.html#10-update-development-scripts), although I'm not 100% sure why. Could we remove all the comments?

Ah ok. I've got no idea why it would be useful to keep them around, but I also don't use the Procfile and related utilities. I'll leave this open for now to see if someone comes along and points out why this is the wrong thing to do.

Ruben mentioned on slack about problems with running retired apps locally, if the port numbers are reused. This seems reasonable to me, so I've created a patch adding this to the docs [1], and I'll close this now.
1: https://github.com/alphagov/govuk-developer-docs/pull/334


Misleading Language "VM's" rather than "Hosts" or "Instances"

This article uses the language "VM's" rather than the more accurate and Hosts/Instances. This is pretty confusing to new developers who aren't familiar with Serverless as it seems to indicate that Durable Functions runs on Virtual Machines as a scaling pattern rather than Azure Functions. Whilst under the hood that may be true, it isn't accurate in the context of this article.

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

ID: afd094d0-fb49-e206-2f99-c3fec27bb20f
Version Independent ID: 42fd1479-2478-3137-b43e-da13a4c10a48
Content: Performance and scale in Durable Functions - Azure
Content Source: articles/azure-functions/durable/durable-functions-perf-and-scale.md
Service: azure-functions
GitHub Login: @cgillum
Microsoft Alias: azfuncdf

Hi @deepbass Thanks for reaching out. We will review and update as appropriate.

@deepbass  I have assigned this to content author to further review and update as appropriate.


Reuse KV-Cache with local LLM (IlamaCpp) instead of expensive reprocessing of all history tokens

Feature request

I want the local LLM (IlamaCpp) to maintain its context, which will significantly improve the efficiency of follow-up questions.
Currently, the context of IlamaCpp is lost after the first call, necessitating the reprocessing of all tokens for any subsequent question.
Proposed Solution: Utilize the internal KV cache of IlamaCpp to retain context and avoid reprocessing the same tokens repeatedly.

Motivation

My motivation is to address the inefficiency in the current process where the context is not preserved between queries.
There seems to be no existing solution for this specific issue as per my research, for example, LangChain Caching Documentation.

minimized example which shows my current workaround:

from langchain.llms import LlamaCpp
from langchain.chains import LLMChain
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate
from pathlib import Path

class LlmRunner:
    def __init__(self, path_to_model: Path) -> None:
        self.llm_instance = LlamaCpp(
            model_path=str(path_to_model),
            n_ctx=16384,
            max_tokens=-1,
            temperature=0,
            repeat_penalty=1.15,
            n_gpu_layers=1,
            n_threads=8,
            verbose=False,
        )

    def run(self, invoice_text: str):
        # Initial processing filling up kv-cache and context
        initial_prompt = """
Extract and format keys from the invoice text into JSON.
<context>
{input}
</context>
        """
        chain1 = LLMChain(
            llm=self.llm_instance,
            prompt=ChatPromptTemplate.from_messages([
                HumanMessagePromptTemplate.from_template(initial_prompt)
            ])
        )
        response1 = chain1.invoke({'input': invoice_text})

        # Follow-up processing which COULD reuse the context, but doesn't
        follow_up_prompt = """
Review your results and normalize the dates to YYYY-MM-DD.
<input>
{input}
</input>

<context>
{invoice_text}
</context>"""
        chain2 = LLMChain(
            llm=self.llm_instance,
            prompt=ChatPromptTemplate.from_messages([
                HumanMessagePromptTemplate.from_template(follow_up_prompt)
            ])
        )
        response2 = chain2.invoke({'invoice_text' : invoice_text, 'input': response1['text']})

        return response2['text']

# Example usage
path_to_model = Path("path_to_your_model")
runner = LlmRunner(path_to_model)
invoice_text = "Your invoice text here"
result = runner.run(invoice_text)
print(result)

Your contribution

if something like this already exists I am willing to provide example and update documentation
if you point me in the right directions and it's just a few 100s LOC I am willing to submit a PR

I've researched this further and it seems like the native llama_cpp version is also not able to do this. So it's not an issue with langchain

Closing because it would need to be implemented with llama_cpp first


PowerShell install has different install location than setup.exe

PowerShell installs to %USERPROFILE%\.bicep:
https://github.com/Azure/bicep/blob/main/docs/installing.md#powershell
Setup.exe installs to %USERPROFILE%\AppData\Local\Programs\Bicep CLI

The PowerShell script was just a temporary solution until we had the setup.exe. I think the real fix here is to make setup.exe remove our files from %USERPROFILE%\AppData\Local\Programs\Bicep CLI and delete the directory if empty (we probably should not delete the directory if other files remain there in case the user put their own files in the directory).

The PowerShell script was just a temporary solution until we had the setup.exe. I think the real fix here is to make setup.exe remove our files from %USERPROFILE%\AppData\Local\Programs\Bicep CLI and delete the directory if empty (we probably should not delete the directory if other files remain there in case the user put their own files in the directory).

It would be nice if setup.exe would remove the reference to a powershell-installed version of bicep on the PATH, but not do that for any custom installs.


Bug: 'spo customaction list' should be scope 'All' as default

Command is working in general, but if not any --scope is provided the default value should be 'All'.
So if not any scope is provided it's undefined here:
https://github.com/pnp/office365-cli/blob/8306c5b9067a412948c91c763143e4d1c654f253/src/o365/spo/commands/customaction/customaction-list.ts#L63
I think we should define the scope constant in the beginning of commandAction

Makes sense. Good catch! 👏


What is the username & password for Social fish its not coming.....plz help me

What is the username & password for Social fish its not coming.....plz help me
What should I do...I'm using in termux in mobile

Originally posted by @saedee_f1 in https://github.com/UndeadSec/SocialFish/issues/280#issuecomment-853349051

python3 SocislFish.py cyberpunk pasword123

Fuck
On Wed, Jul 28, 2021, 4:01 PM busigor0110 @.***> wrote:

python3 SocislFish.py cyberpunk pasword123
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/UndeadSec/SocialFish/issues/292#issuecomment-888100727,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUDCCGQUFIGSIQYE4UJ542TTZ62M3ANCNFSM47EVLGQA
.


Unable to update Null as a value to a existing property in case of update

NEST/Elasticsearch.Net version:  NEST 7.10
Elasticsearch version: 7.8.0
Description of the problem including expected versus actual behavior: I am trying to update Null values in a Nullable Datetime field but couldn't able to, Serializer seems to ignore Nulls.
**Things i have tried so far : **

inject a custom serializer which includes NULL getting an exception  :  "Could not load type 'Nest.CartesianPoint' from assembly 'Nest, Version=<IP_ADDRESS>";
Tried Null value attribute (I am using attribute mapping) turns out i am not able to set a NullValue for Nullable Date time.
manually updated mapping in Elastic search using kibana and set a Min Value. No success either
A clear and concise description of what the bug is.

Steps to reproduce:

Create a partial model with some Nullable date fields.
Insert values with date fields containing values.
Try to update a null next time on those date fields which were set in Step 1.
Couldnt able to Set NullValue in attribute mapping for Nullable date field

Expected behavior
A clear and concise description of what you expected to happen.
I want to update Null value in datefields
Provide ConnectionSettings (if relevant):
Provide DebugInformation (if relevant):

@KillerAyce I am investigating the NullValue property on the attribute as I believe I understand what's likely the problem there.
Something like this...
var createIndexResponse = client.Indices.Create("null-sample", c => c
    .Map<Book>(m => m
        .Properties(ps => ps
            .Date(d => d.Name(n => n.PublishDate).NullValue(DateTime.MinValue))
        )
    )
);

So that I can understand the issue better, are you able to provide a small sample of your model and how you are indexing it with NEST?

@KillerAyce Further to the above, this comment further explains some of the options for updating with null values.

@KillerAyce Further to the above, this comment further explains some of the options for updating with null values.

I was able to solve this problem by using CustomJsonNetSerializer.
I was not overriding the following method
       protected override void ModifyContractResolver(ConnectionSettingsAwareContractResolver resolver) =>             resolver.NamingStrategy = new CamelCaseNamingStrategy();
Thanks

Thanks @KillerAyce. I'm very pleased you got this working. Thanks for sharing your final solution. I'll close this now and open a new issue to review the NullValue attribute property for DateTime.


Specialized readers

[Current coverage][cc-pull] is 99.35%

Merging [#314][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.08%

@@             master       #314   diff @@
==========================================
  Files            75         76     +1
  Lines          5283       5221    -62
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           5255       5187    -68
- Misses           28         34     +6
  Partials          0          0

File ...ts/test_h5_reader.py was modified. more

Misses +13
Partials 0
Hits -13

[][cc-pull]

Powered by Codecov. Last updated by da6e6fb
[cc-base-branch]: https://codecov.io/gh/BlueBrain/NeuroM/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/BlueBrain/NeuroM/pull/314?src=pr


Color scheme auto detect doesn't sync with the Windows scheme change made when VSCode was closed

VSCode Version: 1.48.2
OS Version: Windows 10 (v2004)

Steps to reproduce (at least one way):

Use a workspace
Set Windows to dark mode (if not already)
Set workspace settings to window.autoDetectColorScheme on and workbench.colorTheme to some dark theme
Close VSCode and wait for at least 15 seconds
Set Windows to light mode
Open VSCode

After these steps, the VSCode doesn't seem to switch to light mode, but stays on dark mode. (For some reason, it does sync if I switch to the light mode right after closing VSCode. But not if I wait at least 15 seconds. This is perhaps related to the Chromium process shutdown?)
My expectation would be that the window.autoDetectColorScheme would always keep the VSCode theme in sync, regardless of whether the OS color scheme was changed while VSCode was open or when it was closed. At least I can't think of any use case where I would want the color scheme to match only if I changed my OS theme while VSCode was open, but not when it was closed, so my strong assumption is that this is indeed a bug and not as it was designed.
My workspace settings has also the workbench.preferredDarkColorTheme set, but not the workbench.preferredLightColorTheme, as I'm fine it using the default light theme, but I don't think it affects this. At least it shouldn't.

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

/needsMoreInfo
Could you please check if it's reproducible in Insiders build https://code.visualstudio.com/insiders/ ?
Most likely fixed in scope of #105102


881 [Solutions] Update Search Payload

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #881
Test URLs:

Before: https://main--danaher-ls-aem--hlxsites.hlx.page/
After: https://881-update-search-payload--danaher-ls-aem--hlxsites.hlx.page/us/en/solutions/mabs/cell-line-development/products

@davidzochowski - I've updated Search payload. Please have a look. Thanks.

Checking Coveo analytics. There are two issues:

Change logic so that if clientid is null, do NOT send analytics payload
Update line 198  if (fullResponse && fullResponse.results.length > 0 && clientId !== null) {
For onClickCoveoAnalyticsPayload, need to add customData.contentIDValue and customData.contentIDKey
Logic is same as line 76+77 in delayed.js
context_contentIDValue: window.location.href,
context_contentIDValue: 'permanentid' //this can be hardcoded


Change the page title to use the page title component

This makes it consistent with font sizes  and spacing expected for a page title.
Previously we have hard coded html which was incorrectly sized
https://trello.com/c/NqhMR3Gp/711-use-page-title-component-for-page-titles-in-design-system-layout
Before

After

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠

Lovely!!!


[Spec] Redesign simulation output aggregation strategy

Return the simulation result all at once.
Inject the object to record all events or state changes and extracting simulation result from the object.
Logging all events or state changes to external storage/server and extracting simulation result from it.


Wildmenu popup-window is at the wrong position when a terminal job is running in current tab page

Steps to reproduce

Run vim --clean -c 'set wildoptions=pum | term'
In Vim, type <c-w>:h <tab>
Result: The popup-menu is not displayed directly above the command-line.

This happens only when the terminal job is still running. When running :term ls, and then typing <c-w>:e <tab>, the popup-menu is correctly displayed above the command-line.
Expected behaviour
Wildmenu pum should always be displayed right above the command-line.
Version of Vim
8.2.4639
Environment
Linux
Logs and stack traces
No response

I cannot reproduce this.  I also can't think of anything that influences this.

I noticed when I first go to terminal-normal mode with <c-w>N before typing :h <tab>, everything is fine.
It seems to be related to my bash prompt. Can you reproduce it with a bash prompt that spans two lines?
For example:
export PS1="\u@\h in \w\n$ "

Hi,
On Mon, Mar 28, 2022 at 12:17 PM bfrg @.***> wrote:

I noticed when I first go to terminal-normal mode with N before
typing :h , everything is fine.
It seems to be related to my bash prompt. Can you reproduce it with a bash
prompt that spans two lines?
For example:
export PS1="\u@\h in \w\n$ "

I am able to reproduce the problem on Ubuntu by adding one or two dummy
echo lines
to the .bashrc file.  The attached patch fixes this problem.  In the
failing case, the
pum_display() function computes the context_lines as 2.  In the working
case, the
context_lines is set to 0.  I am not sure whether the changes in the
attached patch
is the correct way to fix this issue.

Yegappan

[For those reading this on github: the attachment was sent to the vim-dev maillist]
Since you can reproduce the problem, can you write a test that way?  Probably using a screendump.

I have created PR #10050 with the fix and a test. But I think the changes to pum_display()
need to be reviewed. For a cmdline completion popup menu, pum_display() should not
use the curwin to compute the popup menu dimensions.

Thank you! Just tested it and can confirm that it fixes the issue.


Conference hotfix

Fix missing stripe code in conference transformer
rename files

I noticed that when I tried to yarn install, I had to upgrade my node version. Maybe this should be mentioned in the readme. I am currently on 20.1.0. I switched to 20.11.0, and then it worked :)
The package in question, is sharp

hm... I haven't added any sharp

no worries. I will create an issue for that :)

issue #77 created 😄


[New dataset request] Please add MKQA

Summary
MKQA: A Linguistically Diverse Benchmark for Multilingual Open Domain Question Answering

"MKQA contains 10,000 queries sampled from the Google Natural Questions dataset.For each query we collect new passage-independent answers. These queries and answers are then human translated into 25 Non-English languages."

Huggingface link

@PrithivirajDamodaran It is an LLM qa answering benchmark, that does not fit with the purpose of the MMTEB which is embedding evaluation at the end of the day.

@asparius Multilingual Embedding models like BGE-M3 use it to demonstrate their cross lingual retrieval capabilities. M3 is a XLMR based bi-encoder not an LLM.

@asparius, I think we have plenty of QA retrieval datasets within MMTEB, and this would work fine as well. However, we have debated adding LLM generation to MMTEB (keeping the LLM stable while only varying the LLM).

@KennethEnevoldsen afaik retrieval qa includes corpus however there is only question and answer in this dataset. This is why I thought it was not usable unless there are other tasks that we can use these like you one mentioned. If there is, I can work on it.

We have QA datasets, where we use the answers to constitute the corpus, but examining the answers does indeed seem very small to be used for retrieval, and the dataset is translated, so I am unsure if I the dataset would provide meaningful results for retrieval.

Sure, size of the dataset does matter especially if we have to repurpose answers as passages and build a pseudo. But translation should not be problem isn't it ? MMARCO is translated, Indic-Marco is translated.
Attaching BGE-M3 MKQA page for reference. Apparently multiple multilingual models have been evaluated on MKQA.

Paper link

But translation should not be problem isn't it ? MMARCO is translated, Indic-Marco is translated.

MTEB does indeed include quite a lot of translated datasets, but translated datasets come with a variety of issues; translationese, potential errors in interpretation, lack of localization and even with localization documents such as a scientific document translated to Danish would never appear naturally, as most research in Denmark is conducted in English. Thus it does they does not reflect the naturally occurring distribution and performing well on these might not reflect performing well on Danish as it naturally appears.
Thus while translated datasets can be very valuable, they are not the highest quality datasets available.
For comparison BGE-M3 performs quite poorly on the Scandinavian embedding benchmark
It might still be relevant to implement MKQA within mteb

For comparison, BGE-M3 performs quite poorly on the Scandinavian embedding benchmark

Sure but this has been explicitly acknowledging and called out in the limitations, pasting here for reference:


Undefined reference to __tsan_init when using thread sanitizer

Problem
I am trying to use thread sanitizer in my fork of triomphe and it has link errors when trying to use thread sanitizer, complaining that a lot of symbols started with __tsan_ is not found.
Here is the log for the errors (it also failed on my computer).
Looking at the command used in linking, it seems that rustc didn't enable thread sanitizer using -fsanitize=thread.
  = note: "cc" "-m64" "/tmp/rustdoctestbg4CHc/rust_out.rust_out.1376475e-cgu.0.rcgu.o" "/tmp/rustdoctestbg4CHc/rust_out.3oi7hjnjienb8flc.rcgu.o" "-Wl,--as-needed" "-L" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps" "-L" "/home/runner/work/triomphe/triomphe/target/debug/deps" "-L" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libtriomphe-4868d43b5964945c.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libstable_deref_trait-62193f8fb5c13074.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libserde-d532e61b9a54ea8f.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libmemoffset-793678c9d116a3a9.rlib" "-Wl,--start-group" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libstd-e6aec2a875c401ae.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libpanic_unwind-27978ec139b8e8b6.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libminiz_oxide-7ac06f911a3d6b26.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libadler-587439a6ae9f9fae.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libobject-a68a19d2fe64c521.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libmemchr-862919f7416845ee.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libaddr2line-61bd6bdfa82e83a2.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libgimli-3bf1af53ac54ff93.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libstd_detect-c4183b6f70b69172.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/librustc_demangle-fae3b074d6cde041.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libhashbrown-c7328df30f706e1c.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/librustc_std_workspace_alloc-ee176d63441f1d9c.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libunwind-b48f6fd7afb5ff65.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libcfg_if-124043d27ba65b25.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/liblibc-26e5cdbe255d5639.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/liballoc-496de79ccc19be0a.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/librustc_std_workspace_core-56980bdf30abc751.rlib" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libcore-a7bb8f77359f7f7d.rlib" "-Wl,--end-group" "/home/runner/work/triomphe/triomphe/target/x86_64-unknown-linux-gnu/debug/deps/libcompiler_builtins-6fe0500162851140.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestbg4CHc/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs"

Steps

git clone https://github.com/NobodyXu/triomphe
RUSTFLAGS='-Zsanitizer=thread' cargo +nightly test -Z build-std --target --target $(uname -m)-unknown-linux-gnu  -- --nocapture

Possible Solution(s)
No response
Notes
No response
Version
rustc on my laptop:
rustc 1.59.0-nightly (404c8471a 2021-12-14)
binary: rustc
commit-hash: 404c8471aba60c2d837fa728e7c729a0f52d5830
commit-date: 2021-12-14
host: x86_64-unknown-linux-gnu
release: 1.59.0-nightly
LLVM version: 13.0.0

Similar things also happened in my fork of arc-swap, however this time it only happens in the github workflow.


Add ExistenceRequirement to Balances::transfer

Closes #3986.

CC @joepetrowski

This is a major breaking changes breaking JS sdk (the interface of dispatchable call transfer) and other substrate-based chains (Currency trait).
One way to avoid the breaking change is add a new method and have the existing one calling the new one with a existence requirement AllowDeath to preserve existing semantics. The Currency trait should also have default implementation to avoid breaking other non substrate runtime modules.

yeah, we could perhaps do something like have transfer(origin, dest, value) that calls another balance api named something like transfer_more_complex(origin, dest, value, existence_requirement) with ExistenceRequirement.

Transactions are only valid for a given runtime version anyway so old unconfirmed transactions will be invalided anyway on runtime upgrade. So I mostly care about existing polkadot js code still works and existing runtime module outside of Substrate don't need unnecessary breaking changes (i.e. add new method with default implementation to a trait is fine, modify existing will be a breaking change). I understand breaking changes are sometimes unavoidable but in this case it not hard to avoid break one of the most commonly used method (transfer).

I'm ok with adding fn transfer_some which only transfers some of the balance, never all. If the value is too high, then the transfer will fail.
That said, I'm not sure if this really is a pain point given that we now have a means of getting the total fee. @joepetrowski under what conditions could an account accidentally be reaped when the exchange didn't want it to be given that we now have the RPC for determining fees?

That said, I'm not sure if this really is a pain point given that we now have a means of getting the total fee. @joepetrowski under what conditions could an account accidentally be reaped when the exchange didn't want it to be given that we now have the RPC for determining fees?

I thought about that after posting the issue and added a follow-up comment to demonstrate that you can calculate a max fee but not the exact fee as you don't know for how many blocks your tx will be in the queue.
Based on my comment above, for Polkadot, you can calculate the fee within 0.2% for a 50-block mortal, which seems like a reasonable bound.
That said,

W3F Research says that a fast-adjusting fee may have v = 0.0033, which would have a margin of 18%. Is this implemented somewhere and I just haven't seen it? (@kianenigma )
Other Substrate-based chains will have unique means of adjusting fees.

IMO, fn transfer_some is not critical but is a nice guarantee to have in that it will (a) reduce maintenance with governance changes and (b) make integration of other Substrate chains easier.

@joepetrowski under what conditions could an account accidentally be reaped when the exchange didn't want it to be given that we now have the RPC for determining fees?

A very very very rare but nonetheless possible case that you query the fee, and take that into account, the fee is slightly increased by the time your transaction is included, because, lets say that the network is congested.
@joepetrowski can't we say that the way to prevent this is to NOT submit an immortal transaction? this way you can know a bound on the fee.

@joepetrowski can't we say that the way to prevent this is to NOT submit an immortal transaction? this way you can know a bound on the fee.

Yeah, immortals should be a no-go in most cases anyway, especially for an exchange as they could easily be replay attacked.

So we're clear on removing the current changes in this PR, and adding a transfer_some method that does the same thing?

Based on the discussion, yes in my opinion. That seems to be the safest option. yet, I won't be shocked if we change/remove it in the future.. but it doesn't seem like a lot of effort to add it so I'd be okay with that. The only complication I see would be for generic-asset. It should just call the normal transfer?
PS. This will be substrate's 4000'th PR once merged 🚀

Alright, I'll get on that. Sorry to disappoint, I think it's only the 4000th issue/PR opened unfortunately, not that special :P

generic-asset doesn't have existential deposit policy implemented at all so you shouldn't need to worry about it.

It seems you need to merge master to make CI happy


The "How can I monitor capacity consumption?" section needs an update...

...to reflect the new "Power BI Premium Capacity Metrics" App that Microsoft published. Thanks

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

ID: 2a447889-379d-3ded-9ab9-313c4f55a667
Version Independent ID: 4f8e3f79-5025-919a-7282-8a63dda6bc8d
Content: Frequently asked questions about Power BI Embedded - Power BI
Content Source: powerbi-docs/developer/embedded-faq.md
Service: powerbi
GitHub Login: @markingmyname
Microsoft Alias: maghan

@chrisweis Thank you for your feedback! We are already in the process of updating that information.  We are planning for it to be updated by next week.  Thank you.

@chrisweis We added that information to the FAQ article.  It should go live in a day or two.
Thank you.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Check whether a type is free for use in a group

This is useful to avoid an assert and a crash if someone adds a component to a group that is already in another group. It's useful in all cases, but especially so in large codebases where it is not obvious who 'started' a group.

Correct me if I'm wrong but what you want isn't a way to know if a group exists. Instead, you need a way to know if a type is free to use for another group. Am I wrong?

Yes, you're right.

Then registry::sortable returns exactly this information. I agree that the naming doesn't really help. 😅

Thanks! I see why it's named that way.

I'm open to suggestions to change its name. 🙂

registry::sortable makes sense as well, especially if you want to make it more general (perhaps in the future some other feature can make a component unsortable and not just because it's in a group)
maybe an alias registry::groupable would be useful

I think it's more about the state of the storage rather than the functions that it offers. That is, I'd probably change it to something like ::owned<T>. Does it make sense?

sorry, I didn't reply - yes, that makes sense ty!


fix runtime filter generator meet npe when process set operation

Proposed changes
Issue Number: close #xxx

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

run buildall

run buildall

(From new machine)TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 46.96 seconds
stream load tsv:          577 seconds loaded<PHONE_NUMBER>9 Bytes, about 123 MB/s
stream load json:         20 seconds loaded<PHONE_NUMBER> Bytes, about 112 MB/s
stream load orc:          64 seconds loaded<PHONE_NUMBER> Bytes, about 16 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
insert into select:          29.5 seconds inserted 10000000 Rows, about 338K ops/s
storage size:<PHONE_NUMBER>0 Bytes


Release v0.18.2

v0.18.2 Feb. 10, 2021
Enhancements

Added "dataframe" output format for prediction explanations #1781
Updated LightGBM estimators to handle pandas.MultiIndex #1770
Sped up permutation importance for some pipelines #1762
Added sparsity data check #1797
Confirmed support for threshold tuning for binary time series classification problems #1803

Fixes
Changes
Documentation Changes

Added section on conda to the contributing guide #1771
Updated release process to reflect freezing main before perf tests #1787
Moving some prs to the right section of the release notes #1789
Tweak README.md. #1800
Fixed back arrow on install page docs #1795

Testing Changes

Main

[x] CircleCI tests passed
[x] "Latest" docs build passed
[x] "Latest" documentation looks good
[x] Release Notes include the latest changes on main

Release branch

[ ] CirceCI tests passed
[ ] "Latest" docs build passed
[ ] "Latest" documentation looks good
[ ] Release Notes include the latest changes on main

Performance Tests

[ ] Completed


Updated Nginx & HTTPD config

stripped unnecessary logic for folder redirects from nginx.conf
added option to nginx.conf and httpd.conf to redirect HTTP to HTTPS

this redirect happens only when behind a proxy (i.e. x-forwarded-* headers are set) and only when the proto is not set to https

https://www.pivotaltracker.com/story/show/166590861

This looks good, but we'll need to resolve these conflicts before we can merge it.

OK, just to be clear. Would you like me to update the PR or are you going to resolve the conflicts? It seems like it's just import name changes to be updated. Nothing too crazy.

I see now how I wasn't very clear. I'll go ahead and just resolve the conflicts myself. Thanks!


Change CSS Scope to Limit to Template

https://github.com/rei/febs/blob/e85812b8340f065e08841163652c496001d5c761/templates/src/style/entry.less#L1
The example Less file could be scoped to the template rather than the body. The example works but the color change of the body and padding visually break the overall page structure. I would recommend keeping things isolated to the template rather than impact global styles.
Proposed:
App.vue
<template>

{{ message }}

</template>

entry.less

.example-vue-component {
  position: relative;
  margin-top: 2px;
  padding: 20px;
  background-color: #000;
  color: white;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  h1 {
    color: darkcyan
  }

  pre {
    color: chartreuse
  }
}

For this one, in the sample template, that LESS/CSS was really intended to be overwritten when the developer begins development.  Perhaps we should add some comments to entry.less to indicate that these should be overridden and are just for the purpose of the startup page?  And/or rename those files to, say, sample.less, sample.template, etc.

Here are some screenshots of the current and proposed styling:
Current styling:

Proposed styling:

Way better, just change the svg src to https://satchel.rei.com/media/img/header/rei-co-op-logo-black.svg

Right on thanks for that link to the logo! I agree, there really is no need for that extraneous global page style. Lets go with that, I'll swap out that logo too.


add a Changelog

@samwillis I left out the <=v0.0.4
Maybe you want to add this - if not, I can try to do thyt by parsing the commits. Are not that many.

sorry, I started to fork the wrong branch. again.


Fix i18n fields on update

Hey guys,
Fix problem with issues (dont open because the project is a fork)
https://github.com/Avantio-ITS/mongoose-i18n-localize/issues
I have a problem


Add initial hosted service

Description
Add description...
Checklist

[ ] Description added to PR
[ ] PR is linked to issue
[ ] Solution can start locally

Codecov Report

Merging #28 (e0a08bf) into main (87c87cb) will increase coverage by 0.18%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #28      +/-   ##
==========================================
+ Coverage   98.79%   98.98%   +0.18%
==========================================
  Files          20       21       +1
  Lines         166      197      +31
==========================================
+ Hits          164      195      +31
  Misses          2        2

Impacted Files
Coverage Δ

MinimalApi/Extensions/SwaggerExtension.cs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Feat - [Public Interface] - track

v0.21.x
await shippoService.track.fetch(carrier_enum, track_num)
await shippoService.track.fetchBy(["fulfillment", id])

finished for now


Import env.seed for "randomInt" function

Tried to get a random integer with a simple sc but get an error after executed it on my node:
Data: {"massa_execution_error":"Runtime error: runtime error when executing operation eFmzi8wuCGcvKZ1Rr1aF8jhV3EVTvAa8Nu3ZsTwziBew77QCi: Runtime error: bytecode execution error: RuntimeError: Error while importing \"env\".\"seed\": unknown import. Expected Function(FunctionType { params: [], results: [F64] })\n    at <unnamed> (<module>[5]:0x218)"}
Looks like it requires an env.seed import that is mentioned inside the error (Expected Function(FunctionType { params: [], results: [F64] })). But how?
An example approach by assemblyscript official book:
function env.seed?(): f64
Another example approach by @gregLibert :
imports!{
    "env" => {
        "seed" => <a determinist random function>,
    },

};

and finally my code called by main:
import { generateEvent } from "@massalabs/massa-sc-std";
import { randomInt } from "@massalabs/as";

export function randomWinner(_args: string): void {

    const a = randomInt(1, 10);
    generateEvent("Number: " + a.toString());

}

Any ideas?

This problem is directly related to the way a Massa node runs a webmodule and is not related to AS itself. Therefore, I am moving it to the appropriate repository.


how can hook this block?may i?

Without knowing more about the implementation of bk_addEventHandler I can't help.

This is an old question, but I'd like to know the answer if it's possible to hook on to the block that the OP mentioned in his example: bk_addEventHandler


[BUG] cnf_setup command is not working correctly in case of failing cnf creation

Describe the bug
It looks like that cnf_setup doesn't work correctly. It is finishing successfully even if cnf is not created or it is not in running state.
Example with envoy:
./cnf-testsuite cnf_setup cnf-config=example-cnfs/envoy/cnf-testsuite.yml
Successfully created directories for cnf-testsuite
cnf-testsuite namespace already exists on the Kubernetes cluster
cnf setup online mode
Successfully setup envoy
cnf setup online mode complete
ubuntu@vm:~/test/testsuite$ kubectl get pods
No resources found in default namespace.
Example coredns:
./cnf-testsuite cnf_setup cnf-config=example-cnfs/coredns/cnf-testsuite.yml
Successfully created directories for cnf-testsuite
cnf-testsuite namespace already exists on the Kubernetes cluster
cnf setup online mode
Successfully setup coredns
cnf setup online mode complete
ubuntu@vm:~/git/cnf-testsuite$ kubectl get pods
NAME                               READY   STATUS             RESTARTS   AGE
coredns-coredns-7b6b6c5d6d-4hlvk   0/1     ImagePullBackOff   0          3m59s
To Reproduce
I found out this issue when I had some issues with image pulling. So for reproduction is needed little bit broken environment to have issues with pulling (maybe wrong dns setting).
Expected behavior
cnf_setup command should fail or at least return correct exit status.
Device (please complete the following information):

OS [e.g. Linux, iOS, Windows, Android]
Distro [e.g. Ubuntu]
Version [e.g. 18.04]
Architecture [e.g. x86, arm]
Browser [e.g. chrome, safari]

How will this be tested? aka Acceptance Criteria (optional)
(optional: unnecessary for things like spelling errors and such)
Once this issue is address how will the fix be verified?
Additional context
Add any other context about the problem here.

#2114 Merged


Missed notifications improvements

I think it'd be a good idea to have an event or notification in the case that we have a large backlog of unsent notifications (snooze was not running for x days).
Otherwise it could just go unnoticed by the developer unless they checked the table.
Also, adding a command to cancel one that were missed (or doing this when the above notification is sent?)

Wouldn't this just have to be a separate cron that checks for unsent notifications in the table or if the first cron is running? Seems like they could both fail. I think I used a separate service called Cronhub to monitor cron activity like this before.
How do you envision sending this event/notification?

I more mean doing something when the command runs again for the first time.
For example, seeing that the backlog has 100 notifications, cancel them & log (or exception) to make sure the dev is aware?

The tolerance field already helps prevent the deluge of old notifications right? Are you meaning to send an event if there is something that should be sent but is older than the tolerance allows?

I think we can close this for now, and consider re-visiting later if we come across the issue in prod.


Add documentation for Chocolatey 0.20.0 release

Description Of Changes
Information about the new features within Chocolatey GUI 0.20.0 have been added.
Screenshots have been updated, and missing sections of docs have been created.
Motivation and Context
Without this information, folks won't know what has been included in the release.
Testing

Ran the site locally, and made sure that all the pages looked as expected

Change Types Made

[ ] Bug fix (non-breaking change)
[ ] Feature / Enhancement (non-breaking change)
[ ] Breaking change (fix or feature that could cause existing functionality to change)
[ ] PowerShell code changes.
[x] Documentation changes

Related Issue
N/A
Change Checklist

[x] Requires a change to the documentation
[x] Documentation has been updated
[ ] Tests to cover my changes, have been added
[ ] All new and existing tests passed.
[ ] PowerShell v2 compatibility checked.

@gep13 I added a commit onto this which fixes the navigation.

(Also, rebased this onto master during the process, and now it shows me as a coauthor of all the commits. Not too sure what I did there or if it's a problem. Maybe there was a better way I should have done that. )

(Also, rebased this onto master during the process, and now it shows me as a coauthor of all the commits. Not too sure what I did there or if it's a problem. Maybe there was a better way I should have done that. )

That is pretty much just what happens when you rebase a different persons commit.
@gep13 is still considered the author of the commits, but you are considered the committer since each commit would be updated (so the author haven't changed, but the one that committed each one changed).

@st3phhays yip, as @AdmiringWorm mentioned, this is totally expected, and not a problem.  Thanks for getting that change made, really appreciate it!


Remove AutoModelingToolkit constraint building hacks

See https://github.com/SciML/GalacticOptim.jl/pull/237/files#r865796564 . It only works because checks=false so it's relying on undefined behavior, though I don't think it's setup in a way that will break so it's fine to merge for now. That said, some kind of build_constraint_jacobian in ModelingToolkit etc. would be the right way to handle this.

Next step I think would be to support the constraints natively in MTK, with the symbolic interface as well, but that should probably be tracked there


chore: Improve Debug print.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

47 of 47 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 93.325%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
8766

Relevant Lines:
9393

💛  - Coveralls


Allow for VersionNoPrefix in VersionFormat

VersionNoPrefix can now be included in the VersionFormat (## {{.VersionNoPrefix}}) so a change can look like ## 2.0.1 instead of ## v2.0.1.
Closes #586
Check the following

[x] Keep 100% code coverage
[x] Be properly formatted
[ ] Documentation changes are included
[x] Include a change file if expected

Additional context
Any additional info that might help get your pull request merged.

Not sure if there are documentation changes to be made. Happy to implement anything you think the PR is missing!
Thanks

Not sure if there are documentation changes to be made. Happy to implement anything you think the PR is missing!
Thanks

The comment above the new struct value is part of the generated docs so you are good.


Form Generator Date Field Problem

When specifying a field of date:date, the generator chokes and ouputs:

    <%= f.label :date %>

I thought that maybe it had something to do with the fact that the field and type were named the same, so i changed it to date_of_install:date, to no avail:

    <%= f.label :date_of_install %>

I'm not even sure if we need to add any other class besides field to div. @parndt?

I'm sorry, wasn't clear on the fact that there was no field here at all... only a label.

Please bundle update and try again. I've added support for :date, :datetime and :time types.


Raspian OS 64bit Unbound 1.13.1 Timeout´s DNSSEC on specific Adresses

Describe the bug
A clear and concise description of what the bug is.
I get Timeouts with enabled DNSSEC on Pihole, on this Sites:
dig fail01.dnssec.works @<IP_ADDRESS> -p5335
dig good-A.test.dnssec-tools.org @<IP_ADDRESS> -p5335
dig good-AAAA.test.dnssec-tools.org @<IP_ADDRESS> -p5335

or without Localhost and Port
It works directly if we set a timeout for the "Dig" Command like:
dig fail01.dnssec.works @<IP_ADDRESS> -p5335 +timeout=15
but with a higher Response Time about 2700ms
See also this Thread on Pihole Forums:
https://discourse.pi-hole.net/t/unbound-pihole-latest-version-timeout-nur-beim-servfail-test/
Me and a other User have this Problems
Other Sites works without Problems:
dig www.dnssec-failed.org
dig www.brokendnssec.net +dnssec

On fail01.dnssec.works Unbound status says:

unbound[7099:0] info: validation failure <fail01.dnssec.works. A IN>: no signatures from <IP_ADDRESS>

Where is the Problem here ? before on my 32Bit Raspian OS this worked like a charm.
If you need more configuration Information just ask.
To reproduce
Steps to reproduce the behavior:

Hardware Raspberry Pi 4B 2GB
Fresh install of Unbound with Pihole on a Raspian OS 64bit (LITE Version)
The first use of "dig fail01.dnssec.works @<IP_ADDRESS> -p5335" or only "dig fail01.dnssec.works" leads to "connection timeout no servers coud be reached.
Same for "dig good-A.test.dnssec-tools.org" and "dig good-AAAA.test.dnssec-tools.org"

Expected behavior
A clear and concise description of what you expected to happen.
System:

Unbound version: 1.13.1
OS: Raspian OS 64bit (LITE) Bullseye 11 latest
unbound -V output:
Version 1.13.1

Configure line: --build=aarch64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=${prefix}/lib/aarch64-linux-gnu --libexecdir=${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --disable-rpath --with-pidfile=/run/unbound.pid --with-rootkey-file=/var/lib/unbound/root.key --with-libevent --with-pythonmodule --enable-subnet --enable-dnstap --enable-systemd --with-chroot-dir= --with-dnstap-socket-path=/run/dnstap.sock --libdir=/usr/lib --disable-flto
Linked libs: libevent 2.1.12-stable (it uses epoll), OpenSSL 1.1.1n  15 Mar 2022
Linked modules: dns64 python subnetcache respip validator iterator
BSD licensed, see LICENSE in source package for details.
Report bugs to<EMAIL_ADDRESS>or https://github.com/NLnetLabs/unbound/issues
Additional information
Add any other information that you may have gathered about the issue here.

Same for me:
"connection timeout; no servers could be reached".

Just to add that this same exact behavior happens on Orange Pi Zero 2 with Armbian_22.11.1_Orangepizero2_bullseye_edge_6.0.10 and latest unbound.

I see two different broken domains here.

dnssec.works
One of the nameservers (ns2.myinfrastructure.org) is not responding. This coupled with the DNSSEC error from the other nameservers makes Unbound try to find a correct answer that will eventually hang on the timeouts of the unresponsive nameserver. Eventually a SERVFAIL response will be generated by Unbound but not because of the DNSSEC error, rather the timeout errors that did not let Unbound finish the fallback logic of trying to find an answer that makes sense.
test.dnssec-tools.org
This domain seems broken even for tests that should not be, based on their name (https://dnsviz.net/d/good-a.test.dnssec-tools.org/dnssec/).

I am closing this; feel free to reopen/ping if I missed something :)


endpoint which proxies CMR

We need an endpoint for ceylon.net.http.server which takes a request for a .js file, parses the name of the module from it, and looks up that module in CMR, and serves the file. Thus, using requirejs on the client side would be as easy as:
require.config({ baseUrl: "/modules"});
require("my.module.name/1.0.1", function (my) { ... });

And we do all the module repo lookups, including to Herd, on the server side with caching, etc.

Here's my attempt: https://github.com/ceylon/ceylon-sdk/commit/e40209f831ca8d91100588176047655ac219386e
Usage:
    value modulesDir = (process.propertyValue("user.dir") else "")
            + "/modules";

    value manager = CeylonUtils
            .repoManager()
            .extraUserRepos(Collections.singletonList(javaString(modulesDir)))
            .buildManager();

    value server = newServer({
        AsynchronousEndpoint(startsWith("/modules"), serveModule(manager, "/modules"), {get})
    };

I didn't make a generic endpoint because I wanted to be able to provide a custom repo manager (that loads modules from the current project as well), but I suppose it's very easy to create a generic ModulesEndpoint that provides a generic repo manager, and this endpoint would use serveModule().
The actual "file name" is not used, only its extension, which means the following URL will still be resolved correctly:
/modules/ceylon/language/1.2.0/foo.bar.qux.js

Don't know if that's a problem...

Done with a big help from @bjansen , thanks!

We now also support the shorter my.module-version.js format besides the official my/module/version/my.module-version.js format


bug fixes for tokenizer readme

There were some bugs in tokenizer example code in readme. The code was changed to working code.

@dulajsan  Thank you for the contribution 👍


post training quantization

Thank you for your work.
I am trying to quantize the MiDaS DPT_Large model into INT 8 quantization.
I have searched through github and googled, and asked bing if there is any one liner code to quantize the model into INT8 given calibration image folder.
However there seems no such way, and no examples or trials that other people had done to quantize MiDaS.
I have tried quantization through torch.quantization module, but got the following error:
Using cache found in /root/.cache/torch/hub/intel-isl_MiDaS_master
Traceback (most recent call last):
  File "quantize.py", line 58, in <module>
    output = prepared_model(data)
  File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1533, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/.cache/torch/hub/intel-isl_MiDaS_master/midas/dpt_depth.py", line 166, in forward
    return super().forward(x).squeeze(dim=1)
  File "/root/.cache/torch/hub/intel-isl_MiDaS_master/midas/dpt_depth.py", line 114, in forward
    layers = self.forward_transformer(self.pretrained, x)
  File "/root/.cache/torch/hub/intel-isl_MiDaS_master/midas/backbones/vit.py", line 13, in forward_vit
    return forward_adapted_unflatten(pretrained, x, "forward_flex")
  File "/root/.cache/torch/hub/intel-isl_MiDaS_master/midas/backbones/utils.py", line 88, in forward_adapted_unflatten
    layer_1 = pretrained.activations["1"]
KeyError: '1'

I used code:
import os
import copy
from PIL import Image
import torch
import torch.quantization
from torchvision import datasets, transforms
from sklearn.metrics import mean_squared_error
from torch.utils.data import random_split, Dataset
from torch.quantization import get_default_qconfig, QConfig
from torch.quantization import default_observer, MovingAverageMinMaxObserver

class CustomImageDataset(Dataset):
    def __init__(self, img_dir, transform=None):
        self.img_dir = img_dir
        self.img_names = os.listdir(img_dir)
        self.transform = transform

    def __len__(self):
        return len(self.img_names)

    def __getitem__(self, idx):
        img_path = os.path.join(self.img_dir, self.img_names[idx])
        image = Image.open(img_path)
        if self.transform:
            image = self.transform(image)
        return image.unsqueeze(0)

# Load your model
model = torch.hub.load("intel-isl/MiDaS", "DPT_Large")
model.eval()  # Set the model to evaluation mode
original_model = copy.deepcopy(model)

# Define the transformations to be applied to the images (e.g., resize, normalization)
transform = transforms.Compose([
    transforms.Resize((384, 672)),
    transforms.ToTensor(),
])

# Load the calibration data
calibration_data = CustomImageDataset(img_dir='/workspace/data/safety/calib', transform=transform)
calibration_data = torch.utils.data.Subset(calibration_data, torch.randperm(len(calibration_data)))
calibration_loader, validation_loader = random_split(calibration_data, [len(calibration_data)//2, len(calibration_data)//2])
# Prepare the model for quantization
# Create a custom qconfig
custom_qconfig = QConfig(
    activation=default_observer,  # or replace with your choice of observer
    weight=default_observer  # or replace with your choice of observer
)

# Apply the custom qconfig to ConvTranspose layers
model.qconfig = custom_qconfig
prepared_model = torch.quantization.prepare(model, inplace=False)

# Calibrate the model
for data in calibration_loader:
    with torch.no_grad():
        output = prepared_model(data)

# Convert to quantized model
quantized_model = torch.quantization.convert(prepared_model, inplace=False)
torch.save(quantized_model, 'quantized_midas.pth')

quantized_model.eval()
original_model.eval()
mse = 0
num_samples = 0
try:
    for data, _ in validation_loader:
        with torch.no_grad():
            original_output = original_model(data)
            quantized_output = quantized_model(data)
            mse += mean_squared_error(original_output.cpu().numpy(), quantized_output.cpu().numpy())
            num_samples += 1
except Exception as e:
    print(f"Failed during validation: {e}")
    exit()

# Print the mean squared error over the validation set
print(f'Mean Squared Error on Validation Set: {mse / num_samples}')

I used Docker image: https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-23-04.html
for environment setting.
I am having a hard time trying to quantize MiDaS manually by myself while I am still not familiar to pytorch functions.
It would be a great help to know if anyone could share their story succeeding in quantizing MiDaS model.
Any comments or advice is also welcome.
Thanks.

I don't think this behaviour is to do with quantisation. The trace of the error starts during your forward call to the quantised model...
# Calibrate the model
for data in calibration_loader:
    with torch.no_grad():
        output = prepared_model(data)

However, I am seeing the same error so there is still a problem here. I notice you are not applying the MiDaS transform in your code, This does not fix the issue for me but you will want to do this. Probably give the tutorial another read...

Managed to fix it, just wrong versions of some package, I created a new environment and installed the versions of packages listed here... https://github.com/isl-org/MiDaS/blob/master/environment.yaml

I have tracked down the issue (for me at least). I was making a copy of the model using the python built-in copy.deepcopy method. The copy throws the error in the forward call, but the original works fine.  I wouldn't be too surprised if the torch quantisation module does something similar, so this may well be the cause of @shanek16's issue.


Duplicate Ranks

As discussed, Gohbem seems to be creating duplicate ranks, specifically for Koffing:
{
    "great": [
        {
            "pokemon": 110,
            "form": 706,
            "cap": 50,
            "value": 1836309,
            "level": 23,
            "cp": 1479,
            "percentage": 0.95009,
            "rank": 1731,
            "capped": true
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 1836309,
            "level": 23,
            "cp": 1479,
            "percentage": 0.95009,
            "rank": 1731,
            "capped": true
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 1836309,
            "level": 23,
            "cp": 1479,
            "percentage": 0.95009,
            "rank": 1731,
            "capped": true
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 1836309,
            "level": 23,
            "cp": 1479,
            "percentage": 0.95009,
            "rank": 1731,
            "capped": true
        }
    ],
    "ultra": [
        {
            "pokemon": 110,
            "form": 706,
            "cap": 50,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.99239,
            "rank": 13
        },
        {
            "pokemon": 110,
            "form": 706,
            "cap": 51,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.98497,
            "rank": 56
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.99239,
            "rank": 13
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 51,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.98497,
            "rank": 56
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.99239,
            "rank": 13
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 51,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.98497,
            "rank": 56
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 50,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.99239,
            "rank": 13
        },
        {
            "pokemon": 110,
            "form": 944,
            "cap": 51,
            "value": 4028491,
            "level": 48.5,
            "cp": 2500,
            "percentage": 0.98497,
            "rank": 56
        }
    ]
}

to recreate, it would likely help to have the input stats

Welp I had an image and stats queued up but @Mygod has informed me that this has actually been fixed in the codebase already but hasn't been released. @lenisko plz

Already fixed in #12.


How to open a new tab at given URL and visit the new tab - see example

Hi Ken @kensoh
please help.
Let me explain my use case.   I have 2 websites(siteA and siteB) and they are unrelated to each other (can't open siteB from siteA using any operates like clicking some link or buttons).
The job is to get some datas from siteB and put it into the forms in siteA (and do the same thing from A to B) .
but r.url() always works with the first tab.
I tried like this 👇:
r.init(visual_automation=True)
r.url("http://www.siteA.com")
r.wait(2)
r.keyboard('[ctrl]t')
r.popup("blank")
r.wait(2)
r.url("http://www.siteB.com")
but it dosen't work. It can successfully create a new tab but  [ r.url("http://www.siteB.com") ]  still just changes the first tab to siteB...
please help. Thanks.

Hi @Anencephalous I understand your scenario, you can use dom() to send JavaScript to open a new tab, see example -
The URL will change on the new Yahoo tab. And you can use r.popup() to change focus back to the Google tab.
r.init()
r.url('www.google.com')
r.dom("window.open('www.yahoo.com')")
r.dom("window.open('https://www.yahoo.com')")
r.popup('yahoo')
r.url('www.duckduckgo.com')

Will close issue for now but let me know if any issue!

BIG THANKS.

BIG THANKS @kensoh


Query plugin metadata

Hi,
I've been enjoying using this plugin, but I was wondering if there's a way to query the plugin metadata from the API (e.g. language IDs, titles and icons).
From what I've seen, there's no plugin specific documents being created. It would however be really helpful to create a dynamic language selection menu.

@LiamMartens Hi,
What I was trying to do by querying the API (and without having to query the configuration and additionally adding metadata such as the icons) is:

Dynamically populating getStaticPaths()
Dynamically create a language selection field on my website and populate it with the name, icon etc. as show in the original post
Since that data is internally available through Sanity/Sanity Studio, I thought it would be a nice feature to be able to query it through the API just like any other document


Add optional parameters to side_menu.dart

Hello, friend. I used this plugin today and it worked very well to help me save some time. But I found that there are times when the menu bar does not need icons or text,so Add optional parameters to side_menu.dart,I have submitted some changes and hope you can merge it.

Hello, please add a check for null icon and text at same time.
Icon and title should not be null at same time.

Thanks for the reminder, I've added the assertion


Simplify previous commit, add test

Let me know what you think of this.

Sorry, did you want this one in your branch instead?


Update 8.3.0 Completely Breaks Insomnia Functionality Without SSO Account

Expected Behavior
The expected behavior is for an open source tool to not require an account with a third-party cloud service provider to use a self-hosted tool that is essentially a wrapper for curl.
Actual Behavior
Update 8.3.0 requires a cloud-based sign on to access any old project data or any functionality inherent to the program.
Reproduction Steps

Open Insomnia on version <8.3.0
Apply automatic update once prompted
Restart Insomnia
Observe behavior

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
This appears to be an unintended side effect. There should be a local-only option enabled for this.
Workaround: Downgrade to previous versions and disable automatic updates.
Insomnia Version
8.3.0
What operating system are you using?
macOS
Operating System Version
Ventura 13.5.2
Installation method
Insomnia.rest
Last Known Working Insomnia version
3.5.8

@cashank thanks for reporting this, I understand your feelings. You can read the discussions that community had with Kong's leadership about this here: https://github.com/Kong/insomnia/discussions/6590 and in other discussions/issues available in the repository.


adding decentribe space

Add space for ...
Etherscan: https://etherscan.io/address/...
CoinGecko: https://www.coingecko.com/en/coins/...
Website: https://...
Twitter: https://twitter.com/...

added the requested changed, please review again


Amend RFC 550 with (expanded) abstract specification rather than algorithm

Massive redo of Detailed Design of RFC 550; expanded parts of spec in passing.
As noted in the Edit History addition:

replaced detailed design with a specification-oriented presentation rather than an implementation-oriented algorithm.

fixed some oversights in the specification (that led to matchers like break { stuff } being accepted),

expanded the follows sets for ty to include OpenDelim(Brace), Ident(where), Or (since Rust's grammar already requires all of |foo:TY| {}, fn foo() -> TY {} and fn foo() -> TY where {} to work).

expanded the follow set for pat to include Or (since Rust's grammar already requires match (true,false) { PAT | PAT => {} } and |PAT| {} to work). See also [RFC issue 1336][].

Not noted in Edit History addition:

expanded/revised terminology section to fit new detailed design

added "examples of valid and invalid matchers" subsection, that uses the
specification from detailed design to explain why each is valid/invalid.

rewrote the algorithm to actually implement the (new) specification, and
moved the discussion of the algorithm to a non-binding appendix.

diff of amendment (split view)

I forgot to mention it in amendment as currently written, but: This change is strongly motivated by https://github.com/rust-lang/rust/issues/25658
(that is, this change, along with an implementation I am prototyping, is meant to fix that issue).
One thing I have not addressed at all here is whether the change described here would go through warning cycle.  I am not sure whether I can easily do that (though in principle I guess I could just run both analyses, and set the new one to warn for the initial release cycle).

cc @cmr @rust-lang/lang

One thing that we may want, in order to land this in practice, is a fragment specifier for the subclass of expressions that corresponds to expressions that can be used as a test in an if; i.e., expressions that cannot be followed by a { token.
The reason that we may want such a fragment specifier is because a crater run with my prototype signaled that some crates in the wild are relying on the ability to put { after an $t:expr NT, which was not supposed to be allowed under the original intent of this RFC.
Adding a new fragment specifier; maybe call it $t:pred, for "predicate" ?  Or if you prefer, $t:moelarry (which is of course naturally followed by "curly") 😉.

This is excellent work @pnkfelix. :shipit:

I found a typo, but I can't find it again...

So hopefully I'll have a chance soon to incorporate this properly into the RFC, but two new things:

I prototyped a way to warning cycle this. (I think I wrote this idea somewhere else.)  Just run both analyses: if the new one accepts, then accept; if they both reject, then reject; and if the old accepts but the new rejects, then issue a warning (and note that it will be promoted to a hard error).

I did a crater run on my most recent implementation, with the warning above promoted to an error so that we actually see regressions reported).  I think this latest prototype follows the specification given here.  I haven't done a full analysis of the data yet, but here is a link to the comparison report:
https://gist.github.com/pnkfelix/ef90a670f0e5a29d29ba

Did a new crater run (the previous one was bad because I was comparing against an old baseline, and so the set of crates had changed in the meantime).  Very promising results.
analysis here
Summary:

10 total root regressions reported; 1 is probably a false positive, leaving 9 legitimate root regressions.
3 regressions are due to expr is followed by { (which I addressed in an earlier comment).
2 regressions show expr followed by ..., which is just a bad macro (see rust-lang/rust#25658 ); i.e. we expect to break this.
2 regressions show expr or ty followed by semi-randomly selected identifiers (functions, varargs, copy, swap, perm, drop). This is again just a bad macro
2 regressions show ty followed by [. (In theory we could add [ to FOLLOW(ty), but its not clear if its well motivated.)
1 regression due to expr followed by _. (In theory we could add _ to FOLLOW(expr), but its not clear if its well motivated.)
(The bullets add up to more than 9 because one of the regressions, dlib-0.2.0, falls into two of the buckets above.)

Hear ye, hear ye! This RFC amendment is now entering final comment period.

For those like me coming from the subteams report and lacking context: RFC 550 is Macro future-proofing.

@nikomatsakis @huonw so, what do you two think: Should I take | back out of FOLLOW(pat), and let us resolve that issue separately (it is already tracked on #1336) ?  How high are the chances of us wanting to extent pat to support a | b as a pat, while being unwilling to force the user to write it as (a | b) instead?
My personal inclination is to add | to FOLLOW(pat)`, and use the "require surrounding parens" as the solution for future extension.

@pnkfelix I say add it

lang team discussed, and decided RFC amendment is good as-is (i.e., it is okay that it is adding | to the FOLLOW set for pat).

and also durka42 on irc asked about the $e:moelarry idea; the short answer there is that we need not couple that extension with this RFC.  We can put in the stricter rules that we had intended to have all along, and orthogonally add extensions like that to the classes of macro_rules fragments.

This is making invalid a macro that I’ve been using for about a year, and I don’t know how to fix it. I’d appreciate some help: https://users.rust-lang.org/t/macro-rules-used-like-a-match-expression/4328

I replied in the Discuss thread. It's not pretty :)
On Mon, Jan 18, 2016 at 12:50 PM, Simon Sapin<EMAIL_ADDRESS>wrote:

This is making invalid a macro that I’ve been using for about a year, and
I don’t know how to fix it. I’d appreciate some help:
https://users.rust-lang.org/t/macro-rules-used-like-a-match-expression/4328
—
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/rfcs/pull/1384#issuecomment-172604268.


Invalid size causes error

I think you should add in the documentation that the size is of values 16, 32, 64. Setting a size of any other values will cause and error.

@seeya, I will update the document. Thank you so much for your feedback :pray:

@seeya, I updated the document. Thank you so much for your feedback :pray:


Updates to Contributing and Code of Conduct

Add code of conduct to head of project
Separate contributing guide to a separate file
Updates to README

Link to contributing guide
Add links to facilitate installation
Add reference to the license

Fix site config to point to correct git repos

License and code of conduct are required for this project to qualify for
Netlify's open source plan [1]. See issue #8.
[1] https://www.netlify.com/legal/open-source-policy/

/assign @otaviof

/approve

/approve


How to convert input dimension from 4 to 3?

Now The inference input need 4-dimension(batch_size, img_size, img_size, channels)
and the embedding output is (batch_size, embedding_size)
Is there a method for me to input a face( 3-dimension, (img_size, img_size, channels) ) output and output only a face embedding when inference.
How to modify the training code or something,
Could any one provide me with additional information to solve this? Thank you

you can use tf.expand_dims to expand input 3-dimension to 4-dimension, like that "input = tf.expand_dims(input, 0)", then you can get the embedding by "emb = output[0, :]".


Make email address optional

I think we have a working solution to allows signing in without an email address that would resolve #131 and work for everybody.

Tested with MySQL, Postgres and MongoDB
Tested with no database
Tested with multiple combinations of OAuth accounts from a range of providers, with and without email addresses
allowSignin() is now also passed the full raw oAuthProfile object on sign in (see docs)
jwt.set() is now also passed the full raw oAuthProfile object after first sign in (see docs)

Combined with the above, we no longer need to cater for error handling for signing in without an email address as this can be done in all scenarios by using the allowSignin() handler and a custom error page for anyone that wants to do that (although I suspect that will be an edge case).
Additionally, now that these functions exist and the full oAuthProfile data passed to them, we don't need to have constraints on providers like caring if a provider things an email address is verified or not, as that can and should be checked in the allowSignin() callback.
Note: It's still possible the name of the allowSignin() callback (which was introduced in an earlier release) will change before v2 release so that it will align with future callback methods.

I had to do a follow up fix, but I am happy this works as intended now - after multiple runs of manual testing.
I'm going to merge this in now but I am not going to publish it just yet - to bundle multiple potentially breaking changes up into a one release I'm going to work on a couple of things before publish a new release:

Some minor work on the models first, including adding created at / updated at value to all rows and a last active and email verified properties to user model.

I'll also be documenting how to extend them and the database structure.
Mostly this is just adding to documenting the models and schemas.

I'm going to define the events / callback system

This will mean a breaking change to allowSignin() and allowCallbackURL() and the session.get and jwt.set methods, but will provide a consistent API for all events / callbacks.
The option will probably look something like this:
events: {
  signin,
  signout,
  createUser,
  updateUser,
  deleteUser,
  linkAccount,
  unlinkAccount,
  redirect,
  getSession,
  setJwt
}


Tests whether the file exists

When Flink losts task node, it throws ava.lang.UnsatisfiedLinkError: Can't load library: /tmp/libh3-java6591047064313530667.so
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1820)
at java.lang.Runtime.load0(Runtime.java:810)
at java.lang.System.load(System.java:1086)
at com.uber.h3core.H3CoreLoader.loadNatives(H3CoreLoader.java:125)
at com.uber.h3core.H3CoreLoader.loadNatives(H3CoreLoader.java:89)
at com.uber.h3core.H3Core.newInstance(H3Core.java:73)
because it was deleted on task node exit.so, when new H3Core instance, need test whether libraryFile exists

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhanghuirui seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


dm: add openapi physical import config

What problem does this PR solve?

Issue Number: close #10193
What is changed and how it works?
Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/retest

/run-cherry-picker


Extending and strengthening numba.extending.overload

Feature request
The decorator numba.extending.overload (@overload) has been used a lot for Numba internal implementations since its inception and it has fulfilled the requirement of presenting an easy method for adding new functionality to Numba. It is now quite clear that should be possible to rewrite large amounts of Numba internals with this decorator, this shrinking the code base considerably and also making internal implementations have a look and feel like NumPy. This presents an opportunity to make amendments to @overload that help with this rewrite so as to:

progressively make mismatches between typing and lowering implementations far less likely
improve error messages for users and e.g. add hints on how to fix
add additional convenience in terms of code generation.

Here's some initial ideas for new kwargs to @overload (but would also be applicable to the other functions in numba.extending):
kwarg: signatures

supported signature(s) are spelled out, will be described via a mini-language, this permits more meta-types, like ArrayLike.
this mini-language is used to strictly enforce type resolution at the implementation boundary, essentially this allows the checking of types from inference to make sure they match what is declared.
the above feeds into error messages, for example:
CompilationError: Could not compile X, unsupported types presented to function <the function>, types given <the inferred types>, but function supports <the supported types>
it should be possible to detect mismatch between declared support and what typing thinks?

If there's a mismatch, it means there's a bug somewhere.
this should be categorised as reportable as something is internally inconsistent

it should be possible to write a fuzzer based on mini-language declaration to help find issues.

kwarg: auto_asarray

this may or may not get rolled into the above mini-language, but the intention is to signal that some args could/should automatically be converted to arrays if they are array-like:

this means most of the time only one implementation of an alg will be needed
there are some efficiency concerns ? should we warn when this happens?
complexity in typing and error messages potentially increases

Extending @overload further for a NumPy specific overload e.g. (@overload_np) might be useful too. The intention here is to provide consistency against the NumPy API.

The @overload_np would, in addition to the above, parse the NumPy function being overloaded to obtain a signature and then check that the args match by name and default value in the overload implementation. The question arises as to whether this could/should this be generalized so that whatever the function being overloaded, it is read and checked? However, problems may occur if there's no usable inspection capacity?!

Thoughts?

Personally I am interested in numpy blas and lapack functions. If you can overload them, it will be impressing

@cristipurdel they are already overloaded to some extent, when a call is made to numba.linalg.* (or a matrix/matrix matrix/vector multiplication is performed) Numba uses bindings to BLAS and LAPACK available in SciPy's cython extensions to do the work. e.g.
from numba import njit
import numpy as np

def foo(x):
    w, _ = np.linalg.eig(x)
    return np.linalg.norm(w)

z = np.arange(25.).reshape(5, 5)

print(foo(z))
print(njit(foo)(z))

the following code gives error:
from numba import njit
import numpy as np

def foo(x):
    w, _ = np.linalg.eig(x)
#    return np.linalg.norm(w)
    return w

t = 5
z = np.random.rand(t,t)
t1 = foo(z)
t2 = njit(foo)(z)

print(t1)
print(t2)

Traceback:
File "C:\Users\***\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
  execfile(filename, namespace)

File "C:\Users\***\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
  exec(compile(f.read(), filename, 'exec'), namespace)

File "D:/Share/Documents/Python/CLT_optimisations/overload_np.py", line 12, in <module>
  t2 = njit(foo)(z)

File "C:\Users\***\Anaconda3\lib\site-packages\numba\targets\linalg.py", line 963, in real_eig_impl
  "eig() argument must not cause a domain change.")

ValueError: eig() argument must not cause a domain change.

Related R&D on hint provision: https://github.com/numba/numba/pull/3942


build: Remove old Android shaders

Android builds of vkcube have been using the same shaders as the desktop build since the NDK build was removed.

CI Vulkan-Tools build queued with queue ID 165437.

CI Vulkan-Tools build # 1416 running.

CI Vulkan-Tools build # 1416 passed.


Grid alignment properties are missing from utility styles

I might be missing something but I don't think there are utility classes generated for the following grid alignment properties:

{align-items:start;}
{align-items:end;}
{align-self:start;}
{align-self:end;}
{justify-content:start;}
{justify-content:end;}
Each of the properties does have a utility class that sets 'flex-start' or 'flex-end' instead. This makes it hard to add them without causing a breaking change or confusion. The class items-start corresponds to .items-start {align-items:flex-start;} which takes the most logical name for the align-items:start utility class.

On the other hand the align-content property has utility classes for start and end while lacking flex-start and flex-end.
The justify-items property and the justify-self properties do not have utility classes that set their value at all. I think these properties only affect Grid so they could probably be added without causing breaking changes.

You are correct!
This should be added with the logical properties approach.
Thanks for catching that.

I'd previously mentioned that I thought we could drop the flex- values, but it turns out I was wrong. These are still used to take into account the times when row-reverse and col-reverse flex layouts are used.
Much more info: https://csslayout.news/whats-the-difference-between-the-alignment-values-of-start-flex-start-and-self-start/
So, this update will include the missing values, as well as options for values with and without the flex- prefix, since each can be used differently. 😵💫

Further: as Ryan mentioned, justify-items and justify-self are ignored in flexbox layouts. However, these properties can be used inside block layouts and absolutely positioned layouts in addition to grid, which to me suggests the requisite classes shouldn't be named specifically for grid layouts (e.g. grid-items-center, grid-self-center, etc).
That said, items-* is already being used for align-items and self-* is already being used for align-self.
Options:

justify-items-* and justify-self-* (but this begs the question of 'why are align-items, align-self, and justify-content classes shortened, but these two justify-* classes aren't?
Rewrite the align-* classes to include align-* in the class name, as well as the justify-content classes, thus keeping all axial classes in the same naming pattern

@kristoferjoseph @ryanbethel Any preference? Or other ideas?

This all makes sense. Thanks for digging in.
I think #2 makes the most sense seeing as the other align properties are already prefixed with text.
Can we move all axial classes into their own file with their own heading?
I'd love to be able to group all the alignment classes under one section in the cheat sheet.

@kristoferjoseph Weird, we're on the same page. Thanks, it shall be done!

#2 but I defer to you both as the real experts. Thanks for solving this puzzle 😆.

@ryanbethel It's unanimous so I think you can consider yourself an expert on this one! 😄