[Web] "await for" in streams hangs on exception

In flutter web, if you use await for to transform a stream that throws exception, the code hangs inside await for.
This is unexpected and different from mobile behavior.
As a workaround you can replace await for yield to yield* map.
Code that reproduces the issue:
import 'package:flutter/material.dart';

class TestStreamError extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text((TestStreamError).toString())),
        body: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            TestStreamErrorPropagation('Stream throwing exception', generateInts1()),
            TestStreamErrorPropagation('Stream "await for" of Stream throwing exception', generateInts2WithAwaitFor()),
            TestStreamErrorPropagation('Stream "map" of Stream throwing exception (workaround)', generateInts2WithMap()),
          ],
        ));
  }

  Widget TestStreamErrorPropagation(String title, Stream<int> stream) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text(title, style: TextStyle(fontSize: 20), textAlign: TextAlign.left),
        StreamBuilder(
            stream: stream,
            builder: (context, AsyncSnapshot<int> snapshot) {
              if (snapshot.hasError) {
                return Text('Exception handled successfully', style: TextStyle(color: Colors.green));
              }
              return Text(snapshot.data.toString(), style: TextStyle(color: Colors.orange));
            }),
      ],
    );
  }

  Stream<int> generateInts1() async* {
    for (var i = 0; i < 10; i++) {
      if (i == 3) throw Exception('error (expected) on 3rd element');
      yield i;
      await Future.delayed(const Duration(seconds: 1));
    }
  }

  Stream<int> generateInts2WithAwaitFor() async* {
    var numbers = generateInts1();
    await for (var value in numbers) {
      print('generateInts2: start yield step ' + (value * 2).toString());
      yield value * 2;
      print('generateInts2: end yield step ' + (value * 2).toString());
    }
  }

  Stream<int> generateInts2WithMap() async* {
    var numbers = generateInts1();
    yield* numbers.map((event) => event * 2);
  }
}

I can reproduce this issue on stable and master

Videos
On web
https://user-images.githubusercontent.com/50555895/182573121-73cd3ac3-31d2-4228-bbd3-19cd03181ec6.mov
On desktop (MacOS)
https://user-images.githubusercontent.com/50555895/182573621-8c51675a-2049-4215-ae9f-59bb2b32f2e0.mov

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const TestStreamError(),
    );
  }
}

class TestStreamError extends StatelessWidget {
  const TestStreamError({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text((TestStreamError).toString())),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          testStreamErrorPropagation(
            'Stream throwing exception',
            generateInts1(),
          ),
          testStreamErrorPropagation(
            'Stream "await for" of Stream throwing exception',
            generateInts2WithAwaitFor(),
          ),
          testStreamErrorPropagation(
            'Stream "map" of Stream throwing exception (workaround)',
            generateInts2WithMap(),
          ),
        ],
      ),
    );
  }

  Widget testStreamErrorPropagation(String title, Stream<int> stream) {
    return Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: [
        Text(
          title,
          style: const TextStyle(fontSize: 20),
          textAlign: TextAlign.left,
        ),
        StreamBuilder(
          stream: stream,
          builder: (context, AsyncSnapshot<int> snapshot) {
            if (snapshot.hasError) {
              return const Text(
                'Exception handled successfully',
                style: TextStyle(color: Colors.green),
              );
            }

            return Text(
              snapshot.data.toString(),
              style: const TextStyle(color: Colors.orange),
            );
          },
        ),
      ],
    );
  }

  Stream<int> generateInts1() async* {
    for (var i = 0; i < 10; i++) {
      if (i == 3) throw Exception('error (expected) on 3rd element');
      yield i;
      await Future.delayed(const Duration(seconds: 1));
    }
  }

  Stream<int> generateInts2WithAwaitFor() async* {
    var numbers = generateInts1();
    await for (var value in numbers) {
      print('generateInts2: start yield step ${value * 2}');
      yield value * 2;
      print('generateInts2: end yield step ${value * 2}');
    }
  }

  Stream<int> generateInts2WithMap() async* {
    var numbers = generateInts1();
    yield* numbers.map((event) => event * 2);
  }
}

flutter doctor -v (Stable)
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.0.5 at /Users/nabeelparkar/fvm/versions/stable
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (3 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/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 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 69.0.4
    • Dart plugin version 221.5921.27

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

flutter doctor -v (Master)
[✓] Flutter (Channel master, 3.1.0-0.0.pre.2055, on macOS 12.4 21F79 darwin-arm, locale en-US)
    • Flutter version 3.1.0-0.0.pre.2055 on channel master at /Users/nabeelparkar/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b4673a2c1f (2 hours ago), 2022-08-03 00:51:16 -0400
    • Engine revision 6cd744bb97
    • Dart version 2.19.0 (build 2.19.0-58.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nabeelparkar/Library/Android/sdk/
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = /Users/nabeelparkar/Library/Android/sdk/
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = /Applications/Brave Browser.app/Contents/MacOS/Brave Browser

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/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 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Ultimate Edition (version 2022.1.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 69.0.4
    • Dart plugin version 221.5921.27

[✓] VS Code (version 1.69.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.44.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.4 21F79 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Brave Browser <IP_ADDRESS>

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

See https://github.com/dart-lang/sdk/issues/47764
This does work as expected in release mode

@jason-simmons Can this issue be considered a duplicate of https://github.com/dart-lang/sdk/issues/47764?

Yes - this is a known issue in Dart

@jason-simmons Thank you for the insight. Marking as duplicate


K.Dᴀᴠɪs: Watch fauk\Wyour?

K.Dᴀᴠɪs requests the watch of the watch_keyword fauk\Wyour?. See the Metasmoke search here and the Stack Exchange search here.

fauk\Wyour? has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.084% when pulling 53bc1c5dfe08a20e3e7b2bab35ad9483e9b3a0c4 on auto-blacklist-1522054309.9220603 into 287cffc6062f5f17756409010ad43fc50af9d7f3 on master.

!!/approve


Ruby 2.4 support

Description
Ruby 2.4 is around the corner, so I want to make sure byebug works with it. Tests were segfaulting against ruby-head so I run git bisect using https://github.com/deivid-rodriguez/ruby-bisect to find the offending commit, which happened to be https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/55038. Opened an issue and attached a patch to ruby-core here: https://bugs.ruby-lang.org/issues/13011.
This PR is just some extra changes in byebug I made during this process.
Requirements
Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Used the same coding conventions as the rest of the project.
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] All tests are passing.
[x] The PR relates to only one subject.

The patch is now in ruby's trunk so the build against ruby-head should be back to green as soon as Travis picks up the latest revisions in ruby-core.

So buybug support 2.4.0 ruby? The readme shoud probably be updated


Authentication setup for Control Panel v3 and Data Labs API

User Story
As a data platform developer
We have unanswered questions
That need to be answered for us to develop the new control panel
Value / Purpose
No response
Proposal
Auth0 setup

Setup new Auth0 client for new control panel
Setup control panel with AAD connection
Register data labs API on auth0

Outstanding Questions

What iAM Identity provider do we need to create to enable this? (MP restricts
the permissions on Idp provider)

Additional Information
Link to overall control panel diagram can be found in slack discussion
Further flow diagram here
No response
Definition of Done

[ ] Use Terraform to setup new client for Control Panel in Auth0
[ ] Use Terraform to enable Azure AD connection with new Control Panel
[ ] Questions from lined document resolved

Confirmed that we will use new Auth0 tenant that has been setup in terraform

Reference for creating new component in terraform in the tech docs

New Auth0 tenants have been created:

ministryofjustice-data-platform
ministryofjustice-data-platform-development

My suggestion is:

Create a new machine-to-machine application in the new tenant(s) (same as 2OHxsZFxxRgcpZDkBHpXvgyNd0D6Ue0d in alpha-analytics-moj)
Upload application credentials to AWS Secret Manager in analytical-platform-management-production eu-west-2 auth0/${tenant_name}/${secret_id}
Create a new Terraform component terraform/auth0/${tenant_name}

Moving to blocked as Entra ID and client cannot be tested as we are dependent on deploying to an environment to test

Testing with Entra ID become unblocked, which allowed us to drop using Auth0 as a middleware. Therefore we implemented authentication with Entra ID directly, this was merged in https://github.com/ministryofjustice/data-platform-control-panel/pull/35


Transfer modes broken.

Largest, smallest, default, priority 1, priority 0, priority 2, priority 100, all plugs transfer whatever they want.  In my case it's 9 per second out of one bank, the balance out of the other, unless I put a third plug on the network in which case it tries to pull 100% from that one.

Seeing something similar with 1.2.3 in FTB Beyond 1.8.1. I'm not sure it's a change in Flux Networks, as I'm seeing the same behavior if I change back to 1.2.2 and 1.2.1 as well. SolarFlux solar panel bank with ~700m rf stored won't transfer enough to charge my capacitor bank that prior to FTB 1.8 was fine. No change in priority or modes seems to matter, it always shows a drain on my capacitor bank when there are flux network nodes on the solar panels that should be sending power. If I remove them and run a cable, it goes back to drawing enough power into the capacitor bank that it charges again.
Any thoughts on things to check/try? Wondering if the underlying Forge update or something like that is the issue.

Fixed in dev


BUG FIXED IN THE CONTACT ME PAGE

Related Issue
[BUG]: Contact Form Submit button not responding #77
Description
All bugs in the contact me page have been fixed. The details when once uploaded in the page it is saved in django admin. A message is also displayed after the user clicks on submit button.
Type of PR

[x] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

Additional context:
Hereby the bugs have been fixed. Kindly review the PR and label it under GSSoC @SiddharthBahuguna

Kindly label the PR under GSSoC.


ARROW-12517: [Go][Flight] Expose app metadata in flight client and server

Adding a convenient way to expose the Application Metadata field in the arrow flight client and server for Go.

@sbinet @emkornfield

A few minor comments otherwise this looks reasonable.  thank you @zeroshade

@emkornfield I've updated based on your feedback and responded to the questions. Let me know if there's anything else needed


chore(testgrid): add customer specific migration specs

What this PR does / why we need it:
Adds customer specific migration tests to testgrid

license scan is failing but no deps have been added.


NetSparkle doesn't correctly handle Sparkle items that use a redirect

The InitDownloadAndInstallProcess function assumes that the path that is given in the xml is a valid final filename and sets _downloadTempFileName to be that filename and creates a temporary directory to contain it.
There is a problem with sparkle app feeds that use a redirect mechanism like Microsoft AppCenter - for example the feed https://api.appcenter.ms/v0.1/public/sparkle/apps/c27e6512-ceae-4665-82c5-c0d7f6a27f30 suggests a download enclosure location of https://rink.hockeyapp.net/api/2/apps/c27e6512ceae466582c5c0d7f6a27f30/app_versions/5789?format=zip&avtoken=26b4ee8fcdfde2e89ce5d7b54ad61f43172a32de&download_origin=hockeyapp&mctoken=ed71c9ffae166f2bfbfaf1335fcbaedb17cb0b0e  however this location is actually then redirected to download the final MSI file.
The issue is that the file is successfully downloaded by WebClient.DownloadFileAsync, but _downloadTempFileName has not been set to match the redirected filename, so GetInstallerCommand does not know how to call the downloaded file.
I've tried checking the response headers that WebClient returns but there doesn't seem to be any that show the "actual" filename that should be used, so I suspect it might need a rewrite to use an HTTP WebRequest instead as this can apparently retrieve the correct filename. I'm afraid that is beyond my abilities though!

Closed by #63


Strange and useless autosuggestion #region/#endregion PHP

Does this issue occur when all extensions are disabled?:
In this ticket, I test with extension, but it also happens without extensions, for example here -> https://github.com/microsoft/vscode/issues/139559

Version: 1.63.2 (system setup)
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:40:02.816Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19044

Additional info:
I've seen #region, #endregion autosuggestions very often in my PHP projects for some time. It wasn't there before.
This auto-suggestion shows up in a lot of unnecessary situations, causing confusion when writing code.
Eg.:

It may be related to the one mentioned above:
https://github.com/microsoft/vscode/issues/139559
Steps to Reproduce:

I see the same in C++/C code.

I had the same situation so I had to remove auto-suggestion within [settings.json] file, because it was so annoying. I'm willing to contribute to this and get rid of it.

I see this with snippets that start with # and I don't see it in an older build.
@TylerLeonhardt did you change something with the filtering logic and special characters for quick open that might have impacted this? cc @jrieken

Yeah, I have made changes and they need further polish it seems...

111

@kanlukasz From what extension do the #region snippets come from? Out of the box I am not seeing them

I am afraid the extensions are not involved as now i am testing it on the new portable VSCode version without any extensions and the situation is the same
Steps to Reproduce:

Download fresh VSCode portable from official source

Unpack, create empty data directory inside, run

Set VSCode Settings:

{
    "editor.quickSuggestions": {
        "other": true,
        "comments": true,
        "strings": true
    },
    "editor.wordBasedSuggestionsMode": "allDocuments"
}

Open empty project folder

Create file - index.php

The contents of the index.php file:

<?php

getName('');

Now try type B or Bart inside getName('')

Above I have written everything in the form of text and sources, but for the sake of clarity, I am attaching a short GIF with the result of these actions again:

with C++ extension on, I see it when I create a new file and type this and then hit ctrl+space. (It shows up as suggestions all the time in my code, but this was the most simple example I could replicate.)

Yeah, with C++ I am seeing this using function abc($|) which is unwanted (not that | is the cursor). I am pushing a change for that.
@mattiasljungstrom your sample (https://github.com/microsoft/vscode/issues/140039#issuecomment-1015180383) is how it is because the #-prerix matches the snippet prefix and because snippets work without context
I try again with php but one important difference to CPP (and likely others) is that $ is part of a word in CPP but not in PHP. So, for the PHP we aren't aiming for "overlap" because we are not at a word end

Sorry, I'm not sure what you mean by overlap. Does this apply to my example above?
So it will be fixed for php too or not?

@jrieken ok thanks! just to be clear, it happens in lots of scenarios, not only after '$'. another example without typing '#':

:

it happens in lots of scenarios,

Same with PHP (i have only shown one example which is the easiest to reproduce)

@mattiasljungstrom Yeah, that should be fixed now. The $ or t bit will be identified as "word" and when at word ends the prefix must overlap (now)

@kanlukasz re https://github.com/microsoft/vscode/issues/140039#issuecomment-1015179712 - that's using stable, not insiders, right? please use insiders because that already has some fixes

@jrieken - I did some quick tests and it looks like it works fine now 🎉


Create gzip compressed packages

IB-7782
Signed-off-by: Raul Metsma<EMAIL_ADDRESS>

@metsma, can you check the failed build please?


URI parameters cannot repeat

Hi.
I am accessing the Echo Nest API, which requires me to repeat the same uri parameter name. However I can't make this work in Guzzle 6. I read a similar issue from 2012, however the approach does not work.
I have tried adding it manually into the query string without any success.
A sample API call could be:
http://developer.echonest.com/api/v4/song/search?format=json&results=10&api_key=someKey&artist=Silbermond&title=Ja&bucket=id:spotify&bucket=tracks&bucket=audio_summary

I can't find any way to do this, so I'm raising it here as an issue now:
Here's my example Client:
    /**
     * @param array $urlParameters
     * @return Client
     */
    protected function getClient(Array $urlParameters = [])
    {
        return new Client([
            'base_uri' => 'http://developer.echonest.com/api/v4/',
            'timeout'  => 5.0,
            'headers' => [
                'Accept' => 'application/json',
            ],
            'query' => [
                'api_key' => 'someKey',
                'format' => 'json',
                'results' => '10',
                'bucket' => 'id:spotify'         // I need multiple bucket parameter values with the 'bucket'-name
        ]);
    }

    /**
     * @param $artist
     * @param $title
     * @return stdClass|null
     */
    public function searchForArtistAndTitle($artist, $title)
    {
        $response = $this->getClient()->get(
            'song/search?' . $this->generateBucketUriString(),
            [
                'query' => array_merge($client->getConfig('query'), [
                    'artist' => $artist,
                    'title' => $title
                ])
            ]
        );

        // ...
    }

Thanks.

I guess this was a duplicate of #1308 (mentioning it for others who came here from Google)


Add APIs to query ondemand Pod log

[x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[x] Update the CHANGES log.

We should add on-demand logs here.
And one question, on which dashboards we are going to add this feature? Service Mesh and Kubernetes?

I discussed with @Fine0830 and want to put it here

This is good, recommend considering putting into k8s dashboard as well.

Do we have any chance to have e2e for this? Considering the env limitations, is this practical?


ElasticSearch Filter Plugin

Search Elasticsearch for a previous log event and copy some fields from it into the current event. Below are two complete examples of how this filter might be used.
Currently this filter is supported in Elastic eco system.
Use Cases and more details are present at https://www.elastic.co/guide/en/logstash/current/plugins-filters-elasticsearch.html

I am looking for equivalent OpenSearch plugin just like the above ElasticSearch plugin that works with eS

This should probably be filed for Data Prepper, since this is referring to a logstash filter plugin

This is different from Data Prepper. The Logstash Elasticsearch filter plugin will make a query to Elasticsearch and update the current event in Logstash with data from Elasticsearch.
I believe the ask here is to create and support an OpenSearch filter plugin for Logstash.

yes this is write David, ask is to find/write an alternative of elasticsearch filter for logstash in opensearch.

This is different from Data Prepper. The Logstash Elasticsearch filter plugin will make a query to Elasticsearch and update the current event in Logstash with data from Elasticsearch.
I believe the ask here is to create and support an OpenSearch filter plugin for Logstash.

Thats correct

Thank you for the clarification. I created https://github.com/opensearch-project/data-prepper/issues/953 to see if something like this would be useful within Data Prepper.

@dlvenable Shall we close this one on behalf of https://github.com/opensearch-project/data-prepper/issues/953?

@anasalkouz , No. This issue should stay open because the requestor is asking for a new Logstash plugin. Data Prepper is a distinct tool from Logstash.

@elfisher can you please look into this and decide the next step?

Is this the same as as the input plugin for logstash? https://github.com/opensearch-project/opensearch-plugins/issues/121

@elfisher yes, it is similar only difference is that belongs to input of logstash where as this requirement is for filter section of logstash.

@prashanttct07 thanks for clarifying. I'll add this to the backlog, and we will work to prioritize it. If this is something you (or anyone else) would be interested in contributing, let us know. We are happy to help review.

Hi , Can we have the timelines for the availability of filter plugin

@gsinghk81 unless someone says otherwise nobody is currently working on this, so it doesn't have a timeline


doom update is blocked by absent repo for let-alist package

What did you expect to happen?
doom update to finish successfully.
What actually happened?
doom update reports:
`

Updating recipe repos...
Updating packages (this may take a while)...
x There was an unexpected error:...
Type: doom-package-error
Message:
Error with packages
Data:
"let-alist"
(error "Failed to run "git"; see buffer straight-process")
Straight output:
remote: Repository not found.
fatal: repository 'https://github.com/emacsmirror/let-alist.git/' not found
`

Additional details:

Include a link to your private config
Include screenshots/casts of your issue
If you mention key sequences, include what commands they're bound to (use SPC h k KEY or C-h h k KEY to inspect keys).
Include any warnings or errors logged to *Messages* (use M-x view-echo-area-messages to see it).

If an error message is involved include a backtrace of it.
How to acquire a backtrace:
https://github.com/hlissner/doom-emacs/blob/develop/docs/getting_started.org#how-to-extract-a-backtrace-from-an-error

Steps to reproduce:
as stated in What actually happened?
 The let-alist package was suddenly removed from https://github.com/emacsmirror.
To get around this issue delete ~/.emacs.d/.local/straight/repos/let-alist then run doom sync. The package is built into Emacs 26 and onwards anyway, so it shouldn't try to install it again.
If it does, try adding this to ~/.doom.d/init.el:
(with-eval-after-load 'straight
  (add-to-list 'straight-built-in-pseudo-packages 'let-alist))

I had to add 'let-alist to 'straight-built-in-pseudo-packages as you suggested and update worked as a charm. Thank you very much.

Understood. I've added it in 8fa5b94, but perhaps this should be reported upstream to straight. In any case I'll consider this resolved.


[question] Will this be maintained for v9 stable? Release is tomorro

Just an inquiry, but I saw people asking on discord and such. Please give me an update when you can.
Cheers!

Yes, the module will be updated to v9 shortly.


Schedule a

#1177 #1178 #1179
This will get some migration conflicts. So I'll have to fix that first. It looks like it has other conflicts as well. Anyway, this doesn't need to go in right away, I just want to push it up for review. I'd like Rob's PR to go in first.
Changelog:

Schedule A front-end should be done
Fuel Class drop down is coming from the database
Received or Transferred are coming from the database as well
Special Autocomplete for the Fuel Supplier name
Address is pre-populated upon selection of Fuel Supplier
Totals should be a floating element and can be moved
Cleaned up the serializers and viewsets

 Compliance Report A | Create Notional Transfer Sub-tab |5|

 Compliance Report A | Show the total fuel received and transferred for each fuel class |2|

 Compliance Report A | Implement autocomplete autosuggestion for certain fields |3|


Refactor data structures and access methods

Refactor data structures so that there is a clear distinction between data and metadata and update associated docs and tests.

Closes #28

Closes #28


[PROPOSAL] Improve dbt local processor.

Purpose:
DbtLocalArtifactProcessor when loading dbt_project.yaml does two things that might be changed/improved:

it loads naively whole file when it may not need to use all values
uses only its own alternative of env_var dbt Jinja macro

Proposed implementation
For 1. - we could introduce sort of lazy loading values.
For 2. - when parsing events macros from manifest.json could be used to provide more context and increase ability to render

Thanks a lot, @JDarDagran , this looks a great proposal!
This will make the openlineage library more reliable - avoiding issues like the ones we've seen in Cosmos - but overall.

done
seems hard to maintain. I might reopen this whenever someone reports a need.


apple: increase debounce for path search

fixes #2282
Our previous debounce timer would wait 200 ms before starting a search. This would cause a lot of searches to kick off while the user is typing, and since searches cannot happen concurrently, each search would have to wait for the subsequent search to complete (due to the mutex on core).
So I increased the debounce duration to 550 ms. This makes searching more forgiving for slow types, although the problem won't truly be fixed unless we can interrupt searches, or allow concurrent searches.
I also did a small refactor.

Not needed anymore (we are going to improve cancelation speed and reduce debounce).


Add documentation for Faiss encoder SQfp16

Description
Add documentation for the new k-NN faiss encoder SQfp16 which quantizes 32 bit float vectors into 16 bit float values using Scalar Quantization results in memory optimization with a very minimal loss of precision. It also boosts the overall performance by enabling the SIMD support(vector dimension must be multiple of 8) on Linux and Mac OS.
Issues Resolved
Closes https://github.com/opensearch-project/documentation-website/issues/5038
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@kolchfa-aws Thanks for reviewing it. I have addressed your review comments.

@kolchfa-aws @natebower I need to make more changes to this existing documentation. Will address all the review comments and update it on Monday.

Unfortunately, we need to postpone this feature to 2.13 due to some build related issues. @kolchfa-aws can you pls help to update the labels on the PR and github issue. Thanks!
https://github.com/opensearch-project/opensearch-build/issues/4386#issuecomment-1930143245

@naveentatikonda - Has anything changed, or is this content good to go? Thanks!

@naveentatikonda - Has anything changed, or is this content good to go? Thanks!

This documentation needs to be updated. I will make changes this week. Thanks!

@naveentatikonda I rewrote and pushed the edits to this PR. In terms of understanding, it would be good to specify the relationship between the sq encoder and the built-in Faiss scalar quantizer. Please take a look and see if my edits preserved technical accuracy. Thanks!

@naveentatikonda I rewrote and pushed the edits to this PR. In terms of understanding, it would be good to specify the relationship between the sq encoder and the built-in Faiss scalar quantizer. Please take a look and see if my edits preserved technical accuracy. Thanks!

Looks good. Thank you!

@naveentatikonda I addressed your comments.

@kolchfa-aws can this be merged?

@jmazanec15 @naveentatikonda requested a tech review on this PR. Once the tech review is done, we will do an editorial review and then we'll merge.

@kolchfa-aws can this be merged?

@jmazanec15 I'm waiting for @vamshin to review this PR before moving it to editorial review


Dark Theme improvment

Hi!
First, thank you for this awesome tool that I use everyday.
I really like dark themes when I'm coding, in all my tools, this is why I use the Stylish chrome extension that permits me to inject css in webpages. This is what I do for google and other websites, I use it for hotel too.
I did want to share the css I inject inside Hotel & ask you if you could think in a dark theme feature.
(I could make a PR if you want...)
Here is the code :
#app,
aside,
main {
    background-color: #333;
    color: #eee;
    overflow-y: auto;
}

aside {
    border-right: 2px solid #555;
}

li small {
    color: #aaa;
}

button.logs.selected {
    color: #14B8CC;
}

footer {
    display: none;
}

#down {
    position: fixed;
    top: auto;
    bottom: 20px;
    right: 40px;
    background-color: #555;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    line-height: 55px;
    text-align: center;
    box-shadow: 0 0 5px #111;
    transform: scale(1);
    opacity: .2;
    transition: all .3s;
}

#down:hover {
    color: #eee;
    box-shadow: 0 0 10px 5px #111;
    transform: scale(1.1);
    opacity: 1;
}

The result :

Looking forward to an answer,
Benjamin

Hi Benjamin,
Thanks for sharing your CSS :)
For the moment, I'd rather not maintain multiple styles.
That said, feedback on this topic is welcome and if many users ask for a dark theme I may reconsider.

A must have ⭐

Sounds cool!

v0.5.12 has a "dark theme" switch for the terminal view.
Thank you for the feedback and :+1:


blobfuse: 1.0.2 -> 1.3.7, separately build cpplite

Motivation for this change

Build was broken due to missing <stdexcept> include, fix available in newer upstream release
Bumped version from 1.0.2 -> 1.3.7
Build scripts have changed, cpplite (azure-storage-lite) is now built in a separate CMake run
Upstream uses build.sh to manually copy resulting static libraries from cpplite build for blobfuse build, I put cpplite in a separate derivation and have the main blobfuse derivation depend on it
Upstream build would not install libazure-storage-adls.a during cpplite build, instead relying on manual copying in build.sh script
Added a patch to install libazure-storage-adls.a during cpplite build, so it is properly picked up during blobfuse build

The resulting binary works, but since I am not an Azure user, I could not test for actual functionality.
ZHF: #122042
@jonringer
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@ofborg eval

Result of nixpkgs-review pr 122976 at 3716dce6 run on x86_64-linux 1

1 package built successfully:

blobfuse

1 suggestion:

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/tools/filesystems/blobfuse/default.nix:20:17:
   |
20 |     patches = [ ./install-adls.patch ];
   |                 ^

Please follow CONTRIBUTING.md and manual#submitting-changes-making-patches  and squash the fix-up commits.
git rebase -i is a powerful command which achieves this, I created a small video demonstrating it's use here. A more indepth text tutorial can be found here


Added check for window and localstorage when building nextjs

Fixes #218
TF-331

@robertalv this is fixed in version 1.0.11!


typo: setOptimzeLevel should be setOptimizeLevel

This is actually fixed in develop already

It looks to me like this is not fixed in develop.  Sorry I missed this...

this is implemented both on develop and on 3.0-develop

Verified on develop and 3.0-develop. The typo has been fixed.


trace_processor endpoints return non-compilant http headers

TraceProcessors RPC endpoints (eg. /compute_metric) will return HTTP headers that are not compliant with spec, and in cases where a strict HTTP header parser is used this will result in a failure.
This does not impact The Python parser used, nor trace_processor communication with the UI, but will impact other tools and libraries that attempt communicate with trace_processor over HTTP RPC and more strictly adhere to proper headers such as Node's http implementation.
The issues stems from both "Content-Length" and "Transfer-Encoding" encoding headers both appearing together which is in volation of spec:
https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2

A sender MUST NOT send a Content-Length header field in any message
that contains a Transfer-Encoding header field.

how to reproduce
This spec violation can easily be verified:
in one terminal run:
./tools/trace_processor --httpd test/data/android_sched_and_ps.pb

In a 2nd terminal run:
% curl -X POST http://localhost:9001/status -v
*   Trying <IP_ADDRESS>:9001...
* Connected to localhost (<IP_ADDRESS>) port 9001 (#0)
> POST /status HTTP/1.1
> Host: localhost:9001
> User-Agent: curl/8.1.2
> Accept: */*
>
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Content-Type: application/x-protobuf
< Transfer-Encoding: identity
< Content-Length: 114
< Connection: keep-alive
<

notice that Tracefer-Encoding & Content-Length headers are both present.

I guess the fix would be to simply remove the Transfer-Encoding header where we have the  Content-Length header available?
@aMayzner can you take care of this bug? Should be a <5 line patch.

I took a quick attempt at a fix in https://android-review.googlesource.com/c/platform/external/perfetto/+/2746493
If you'd prefer to handle this differently, let me know.
Also if you'd prefer to implement your own CL to fix as well that works too.

I took a quick attempt at a fix in https://android-review.googlesource.com/c/platform/external/perfetto/+/2746493

Looks great thanks so much!

Also if you'd prefer to implement your own CL to fix as well that works too.

We're always happy to get patches from contributors, makes our life so much easier when we can just approve rather than context switch to something we might not have looked at for a while :)


[-𝐍𝐎𝐖-𝐕𝐈𝐑𝐀𝐋-]— Lily Phillips Video Original Video Link Lily Phillips Video Viral On Social Media X Now [1P2B3Z]

20 seconds ago
L𝚎aked Video Lily Phillips Original Video Viral Video L𝚎aked on X Twitter Telegram
[-𝐍𝐎𝐖-𝐕𝐈𝐑𝐀𝐋-]— Lily Phillips Video Original Video Link Lily Phillips Video Viral On Social Media X Now [1P2B3Z]
[-wATCH-]— Lily Phillips Video Original Video Link Lily Phillips Video Viral On Social Media X Trending Now
[-wATCH-]— Lily Phillips Video Original Video Link Lily Phillips Video Viral On Social Media X Trending Now
[-wATCH-]— Lily Phillips ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Lily Phillips ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Lily Phillips Video Original Video Link Lily Phillips Video Viral On Social Media X Trending Now
Lily Phillips Original Video video took the internet by storm and amazed viewers on various social media platforms. Lily Phillips, a young and talented digital creator, recently became famous thanks to this interesting video.
L𝚎aked Video Lily Phillips Original Video Viral Video L𝚎aked on X Twitter
Lily Phillips Original Video video oficial twitter
L𝚎aked Video Lily Phillips Original Video Viral Video L𝚎aked on X Twitter..

fgdswe


Automatic resistance to all damage mishandles Precision damage

These images shows damage being dealt to an incorporeal creature with Resistance 10 to All Damage (with exceptions that are not relevant to this issue). Per RAW, https://2e.aonprd.com/Rules.aspx?ID=340, precision damage is treated as the same damage type as the original attacks' damage type, but automated resistance to all damage treats it as a separate damage instance and resists the precision damage.

This is from a player's view and doesn't show the breakdown of what was resisted.

Posted in error; creature was immune to precision damage. Apologies.


Installed this pugin onto android firefox, get a blank screen on a certain flash game.

The flash game is named as Touken Ranbu which is accessible according to Tutorial here: http://touken-ranbu.wikia.com/wiki/How_to_Register with a Japanese VPN connection.

This game has already released android application named Touken Ranbu Pocket.Just go to Google Play to download it.

1.Still, shumway should have been able to run it.
2.While a pocket version of the game have been released which eliminated the need of its support in ordinary game play if the game, other similar games are constantly released onto the same platform and most of them does not have a mobile client version and it would still be necessary to rely on addons like this.


Cancel download somehow

Download should be canceled when the user cancels the whole wizard.
Maybe provide a stop button right near the progress bar?
Not sure what to do when the users goes Back in the previous wizard step?

Depends on https://github.com/foojay2020/discoclient/issues/3


Adding Magic Number program in Java

I can make the magic number program in java. Can you please assign me this issue?

Can you please assign this issue to me?

plz merge my pr #183 ; )

Yea! sure.... Your PR is merged


Request to add statement about default IME behavior when selecting

[Enter feedback here]
Hello Bastion team,
Please let me share the feedback from my customer about this FAQ

Which keyboard layouts are supported during the Bastion remote session?

Currently Bastion support selecting default language when connecting to VM via RDP, this affects the not only the keyboard mapping, but default IME as well. But this is not mentioned in Bastion doc.

Can you please consider adding the statement about IME behavior in this FAQ? This is a common use case for non-English users and we have a lot of inquiry about this. It would be very helpful to state it out here

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

ID: 03ec4426-bfc1-b046-500d-38b2ca89c71d
Version Independent ID: cdacb6c7-1d83-c62b-9204-f04d9955722c
Content: Azure Bastion FAQ
Content Source: articles/bastion/bastion-faq.md
Service: bastion
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@bangdu-ms , thank you for your feedback. We have assigned this to the content owner/author for review.
@cherylmc , for your review.

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


BREAKING CHANGE! Hex color conversion is incorrect now...

D'oh!
this:
TypedSvg.Attributes.fill <| Fill <| Color.rgba 255 255 255 0.0
used to spit out this:
fill="rgba(255, 255, 255, 0)" (which is correct - I need a transparent fill, not no fill)
Now, it generates: fill="#ffffff" (incorrect--now makse a solid white box).
I was wracking my brains to see if I'd changed a CSS file or something!

For now, just changed my elm-package.json to:
"elm-community/typed-svg": "2.0.0 <= v <= 2.0.0",

This is the first time an elm library change has blown up our app!
I would suggest that, in keeping with the spirit of the elm packaging system, if you make a breaking change to a library, up the version number to 3.0.0.
It may seem like a minor change (e.g. "only one line of code") but it is a breaking change for anyone using the library, e.g. SVG fills no longer supporting transparency is a big deal.

Sorry about that, I did not think it was a breaking change just going by the automatically enforced API rules, but I should have considered that more deeply. I think the best course of action would be to revert the change, push out a 2.0.2 release (which matches 2.0.0), and then carry the patch forward as a potential one for 3.0.0.
Note that rgba(255, 255, 255, 0) is not valid SVG 1.1, but seems to be an accepted by most browsers as it is valid CSS. I will re-open the issue (or create a new ticket) to discuss the best solution for handling Color.rgba with transparency.

Reverted the patch.

Awesome, thanks!!!


feat: ability to add tasks

Fix: #27
Features in the PR:

User can press enter or click the submit button to add new tasks.
Added materialize toasts for task addition
Input field will be erased after the task is added
If user presses Enter or clicks submit button and the input field is empty, no task will be added.

Issues seen while testing:
Issue 1: The first character of the previous entry is added on subsequent empty enter. Submit button still works even when the input field is empty
How to replicate:

Reload page/make sure page is newly loaded
Type "Hello World"
Press enter
Press the submit button

Issue 2: Uncaught TypeError: M.Toast.dismiss is not a function
How to replicate:

Use the add task interface to add any.
Check console log

Possible solution:

Get instance of the toast. (Code from https://materializecss.com/toasts.html)

 var toastElement = document.querySelector('.toast');
 var toastInstance = M.Toast.getInstance(toastElement);
 toastInstance.dismiss();

Close all toasts. (Code from https://materializecss.com/toasts.html)

M.Toast.dismissAll();

Alright, I'll fix it ASAP

I guess it's ready to merge now!

You may view the deployed changes here: https://todo.pwapilipinas.org


Make the testPackages test throw more descriptive errors

From this pr, #1455, where CI is failing, it's not clear what is failing exactly.
I suggest what could help is making all the errors thrown in the test suite a little more descriptive, as a start.

The test suite runs aren't available anymore so I can't really evaluate this issue. Please PR your improvements, if you're still interested in improving this.


Refactor: Cleanup and Optimize CSS

We are requesting a comprehensive CSS cleanup and optimization effort in our project. Over time, the CSS codebase has become complex, and we believe that it's essential to streamline and optimize the styles to improve performance, maintainability, and overall code quality.
Description
The current CSS code may include unused styles, redundancy, and suboptimal practices that can impact the project negatively. A thorough CSS cleanup and optimization will result in the following benefits:

Improved page load times by reducing the CSS file size.
Enhanced maintainability, making it easier to update and manage styles.
Better organization and structure of stylesheets.
Alignment with best practices for modern CSS development.

I want to work on this task , Please assign it to me sie @alonkeyval

I want to work on  this task. Please assign it to me sir @alonkeyval

Please assign me this issue.

Hey, I would like to work on this.

@utsavvvv @Aviraltech @Kritika30032002, any updates guys?


License?

Perhaps you would like to add a license such as MIT or Apache-2 to your project?

Hi @peacekeeper,
The project is under Apache License 2.0

Oh okay, yes now I see it in the source code. I was looking for a LICENSE file at the root level like most repos have it. Thank you.

No problem.
Thanks for your question. :)


Error Unknown plugin "dynamic-import-node" specified in "base" at 1,

node_modules/babel-core/lib/transformation/file/options/option-manager.js:180
          throw new ReferenceError(messages.get("pluginUnknown", plugin, loc, i, dirname));
          ^

ReferenceError: Unknown plugin "dynamic-import-node" specified in "base" at 1, attempted to resolve relative to "/Users/z/project/src/containers"
    at /Users/z/project/src/_server/node_modules/babel-core/lib/transformation/file/options/option-manager.js:180:17
    at Array.map (<anonymous>)
    at Function.normalisePlugins (/Users/z/project/src/_server/node_modules/babel-core/lib/transformation/file/options/option-manager.js:158:20)
    at OptionManager.mergeOptions (/Users/z/project/src/_server/node_modules/babel-core/lib/transformation/file/options/option-manager.js:234:36)
    at OptionManager.init (/Users/z/project/src/_server/node_modules/babel-core/lib/transformation/file/options/option-manager.js:368:12)
    at compile (/Users/z/project/src/_server/node_modules/babel-register/lib/node.js:103:45)
    at loader (/Users/z/project/src/_server/node_modules/babel-register/lib/node.js:144:14)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/z/project/src/_server/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)

require('babel-register')({   plugins: ["transform-decorators-legacy", "dynamic-import-node"],   presets: ['es2015', 'stage-0', 'react'],   // ignore: /scss/,   extensions: [".es6", ".es", ".jsx", ".js"] });
trying to use this plugin cause i got SyntaxError: Unexpected token import  on server side rendering
when trying to use webpack dynamic import in my react components

This seems similar to
https://github.com/airbnb/babel-preset-airbnb/issues/35
Are you babel-transpiling node_modules? This is typically a bad idea.

@ljharb no i dont do babel to node_modules, i just have ssr, and it required, and worked, but now i have that issue

@ljharb  yes  of course

I have same problem
on serverSide:
    "@babel/core": "^7.0.0-beta.54",
    "@babel/preset-env": "^7.0.0-beta.54",
    "@babel/register": "^7.0.0-beta.54",
    "babel-plugin-dynamic-import-node": "^2.0.0"

require("@babel/register")({
  "plugins": ["dynamic-import-node"],
  presets: [ '@babel/preset-react', '@babel/preset-env', '@babel/preset-stage-0', ],
});

Will it be supported for babel >= 7 ?

https://github.com/babel/babel/issues/8384 here i have create issue

@againksy when babel 7 is actually released, yes - but not before.

@ljharb  how can we investigate to make it support?

@ljharb hello, seems babel 7 already released, will it be supported?

@againksy nope, it’s still in beta.

Then it’s still not yet released - they just have a candidate for release.
When it’s released, we’ll support it. In the meantime, a PR that makes this plugin support both babel 6 and 7 would be helpful, so that such support can be added more quickly once v7 is actually released.

v7 was released 2 days ago; a PR is welcome.

v2.2.0 is released, containing this commit which allows it to work on both babel 6 and 7.


Store current selected infrastructure in env.infrastructure

Coverage increased (+0.03%) to 92.888% when pulling 3870f55adc7979d3c210340809b58e331eb6d597 on get_selected_infrastructure into 58bc3750d2fbfccbde9c53401403073ff3b04182 on master.

Coverage increased (+0.03%) to 92.888% when pulling 95974046d06079c45703d62b6946eb55a4d4bc73 on get_selected_infrastructure into 58bc3750d2fbfccbde9c53401403073ff3b04182 on master.

Coverage increased (+0.05%) to 92.903% when pulling c41941209ee03f7237efdf0430b4f54b63745b75 on get_selected_infrastructure into 58bc3750d2fbfccbde9c53401403073ff3b04182 on master.


Fix compile error for the generator

try cannot work since main's return type does not accept errors anymore

Thanks, I don't know how this ever worked...


new event needed codeunit 6620

Hi
please add more events on function

here is the postion

on the same way, for sales we already have

i need new event with the same position on purchase too.

There is a seperate repo for eventrequests, chances are higher you'll get a reponse there.
https://github.com/Microsoft/ALAppExtensions/issues

Thank you @wisa1.
Let's get the issue to a team who will fix and backport it, as this repository is only for issues related to the latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using.


Properly increment nonce and block height in wctl client

This is the continuation of PR #292.

Reviewing it now.


No notification for DxcDate when closing the date picker dialog

Hi,
I use the DxcDate and want to make a request to the server only when focus is lost (onBlur) or when user closes the date picker dialog (but not on every keystroke or on every click in the dialog).
When I select a date via the date picker dialog I get the "onChange", but there is no way to get notified when the dialog is closed and there is no "onBlur" called after changing the date via dialog and clicking somewhere else.
"onBlur" should called when the date picker dialog is closed  or there should be something like an additional "onClose" provided.
Best regards,
Dirk
Example:
() => {
  const [inputValue, changeInput] = useState("01-01-1995");
  const [isInvalid, changeIsInvalid] = useState(false);

  const onChange = ({ stringValue, dateValue }) => {
    changeInput(stringValue);
    changeIsInvalid(dateValue ? false : true);
    console.log("Don't want to make a request to the server on every keystroke")
  };
  const onBlur = (stringValue) => {
    changeInput(stringValue);
    console.log("Want to make a request to the server when focus lost")
  };

  return (
    <DxcDate
          label="Input label"
          assistiveText="assistive text"
          value={inputValue}
          invalid={isInvalid}
          placeholder
          format="MM-dd-yyyy"
          onBlur={onBlur}
          onChange={onChange}
        />
  );
}

When will this fix be available?  It is not available in 2.0.0

It's already available in @next versions (@next might bring some other breaking changes, though), but still didn't create a numbered release.
We are planing to do that soon, probably this week.


Add more example configuration in DOC

hi, im new to k8s, i decided to use NGF for incoming traffic routing. in current docs, i dont know how to configure path to use type: RegularExpression, no example config ....
by the way, im looking for a config to get REAL CLIENT IP in my app, but no information, i only get 10.x.x.x, it it not real client ip.

Hi @heroes1412!
Thanks so much for your interest in our project 😄
To answer your questions:

We do not yet support the RegularExpression path type. When this support is added, we will add examples demonstrating the functionality.
To get the originating client IP address, you can examine the X-Forwarded-For header in the request. Please note this functionality was added in the v1.0.0 release, so please ensure you are using the latest release 😄


Add action column to repo overview

#3551 #3266
Added commands to the main page, which are faster as they allow you to skip going to repo first.

todo:

change remote?
remove?

I like the idea of "actions" on the overview page. "Pull" (i.e. update) would be my wish. Ideally with some job to check if there's an update available (not a diff scan but a version lookup - separate topic). I do a lot of testing, so "uninstall" would be nice, but probably not relevant for many others. Maybe we end up with some settings like for hotkeys where users can pick the actions they want to see on the overview.
On the overview, I think refresh (check for diffs), syntax check, and CI (and possibly others) should be "bulk actions": select multiple repos via checkbox, then trigger the action. Results should then be shown as icons (for each selected repo): are there any diffs? are there syntax errors? did CI run successfully?

Added pull, atlhough it is currently a bit mysterious without knowing the repo state. The rest are great suggestions, but there's more work involved. I'll create issues for them.

Background operations
Checkboxes + syntax check/inspector as actions on selected items
Diffs/status column

after-thoughts: Pull vs Stage ... Stage also "blind" at this screen ... but Stage is cancellable - so it is ok

aaah, hover actually brings the bg dows to grey ...

Or make it two lines:

(from WordPress Plugin page)

I like the WordPress plugin idea!
Thanks!
Mark
Sent from my iPhone

On Jul 17, 2020, at 13:34, Marc Bernard<EMAIL_ADDRESS>wrote:

Or make it two lines:
(from WordPress Plugin page)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Not being able to cancel "pull" is another issue maybe.
There will be many links on the screen. maybe show them for the current line "on hover" only

Action button placement
All the actions should be in the table header like the repo page, but operate on the selected repo. Selection would be either through line highlight, radiobutton or checkbox (later).
But to navigate to the repo, there should be an arrow, like this:

Pull
I'll remove pull for now.
In the future I think pull should be a page which combines all the popups that appear, lets you make a selection and continue/cancel.
Maybe don't have syntax check for now?
You can always have syntax check be part of your code inspector variant so I guess it could go.
This would only leave Code Inspector | Stage | Patch (i'll put code inspector first as you should check the code first).

@FreHu did you finish the changes from the latest comment ? I though you mention you agree to remove pull for now but the code in unchanged.
Other suggestions (from Action button placement): these are good ideas, need some experimenting I guess. E.g. I would personally switch to repo based on any click on the table row - this is really most typical action and imho should most optimized. But there are some cons too: will work with JS only, cannot navigate easily to pkg and repo (I never use it by the way ... so for me it's ok, but needs more opinions for use cases).

All done. This is the final version:


update token propagate test for new token generation flow

#1259  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jlewitt1 and the rest of your teammates on  Graphite


Travismacos

too soon.. closing. Sorry

No problem.
What you can also do is mark this PR as [WIP] and keep it open. It will survive through rebases, etc. Basically it's just a view of your branch so you can keep feeding it or even completely change it if needs be.

👌


Kun eucv til eures

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue / Jira ticket id)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My changes generate no new build warnings
[ ] I have performed a self-review of my own code
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

 EURES CVer må har rett statsborgerskap


Not available anymore?

Seems like this wizard is not available anymore in my tenant. Did it move?

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

ID: 35205d31-e185-704a-9adb-58302cfe0f59
Version Independent ID: b621d6e3-30b6-f56d-bb3f-c6c8e54a13ee
Content: Azure AD roles security wizard in PIM - Azure Active Directory
Content Source: articles/active-directory/privileged-identity-management/pim-security-wizard.md
Service: active-directory
Sub-service: pim
GitHub Login: @curtand
Microsoft Alias: curtand

It seems to only appear if you're the first person to use PIM in your tenant and it hasn't already been set up. I checked several tenants and could only see it in a tenant that had a Premium license applied where no one else had set up PIM. The document states that it shows up if you're the first person to use it in the tenant.

You're saying though that you saw it in your tenant but then it disappeared after logging into the same tenant with the same account?
I asked the product team to confirm if that is expected behavior as the doc only says that it appears for the first person to set up PIM and not that it disappears after.

@stefanwiele I didn't hear back from the product team but based on my testing and checking with the documentation, it only seems to show if you're the first one to set it up.
If you'd like to make a feature request to change this, the best place to ask is in User Voice. https://feedback.azure.com/forums/169401-azure-active-directory

I'm re-opening this as my contact says that it should still be available but I am seeing the same behavior that you are seeing.

If you need me to test anything just let me know. Btw I am a MSFT FTE, feel free to reach out on Teams.

Great, I'm creating a bug for this and will add you to the thread.

I am seeing the same behavior that you are seeing. Wizard does not show up at all.

Thank you both! I created a bug for this. I have pinged you on Teams but will also follow up on this thread when we have an ETA for a fix.

This is indeed the new process for PIM.  New PIM instances will be created as v2 instances.  The process that is described in this thread is the process that will occur moving forward.  We are working to get an official announcement for this change as well as getting the documentation updated to reflect the new behavior and provide details.

+1 for this bug - was going to demo it to a customer! disappointing - but keen to know when it is fixed.

lostdoco- what do you feel is a bug?

Same here - following. I may just have to attempt to proceed without the wizard...

@MarileeTurscak-MSFT I don't see the Security wizard either. We see conflicting answers between this feedback and the one open.  I am taking the AZ 500 exam in couple of weeks time and hope done see any questions related to this.


CDS-77128 ASG Updates

https://harness.atlassian.net/browse/CDS-77128
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[x ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

https://harness.atlassian.net/browse/CDS-77128

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


bug: APP_ALLOWED_HOSTS configuration

I started the server and added the values "<IP_ADDRESS>", "localhost" in APP_ALLOWED_HOSTS variable in the config.py file. My settings thought did not get loaded in the application and I was getting an error in the form
  File "/Users/chris/.virtualenvs/cds-books-9brL8G_i/lib/python3.6/site-packages/werkzeug/wsgi.py", line 175, in get_host
    if not host_is_trusted(rv, trusted_hosts):
  File "/Users/chris/.virtualenvs/cds-books-9brL8G_i/lib/python3.6/site-packages/werkzeug/wsgi.py", line 129, in host_is_trusted
    if ref.startswith("."):
AttributeError: 'NoneType' object has no attribute 'startswith'

When I moved this configuration to <virtual_env>/var/instance/invenio.cfg everything worked as expected.
Validate that config.py variables are loaded properly.

fixed


Design Meeting Notes, 6/12/2020

Custom JSX Fragment Factories
https://github.com/microsoft/TypeScript/pull/38720

We didn't give a way to specify the factory for fragments the same way we do for regular tags

Fragments are a little unique in that there is no tag name. It's just assumed to be React.Fragment

Wait, what is a fragment?
import React from "react"

const a = ()=> (

  <> // <- I am a fragment
    <div />
  </>

)

We didn't know at the time how fragments were going to be used.

Held off because Mithril fragments don't work that way.
Still, there's a relatively well-known semantics at this point, Babel support sets precedent

Conclusion: Approve pending another review.

Use declare class when Generating Types
https://github.com/microsoft/TSJS-lib-generator/pull/858
https://github.com/microsoft/TypeScript/pull/39044

Is there a reason why?

It's cleaner
It saves 2.5K LoC

But they're not really classes

Subtle differences

Lexical conflicts
globalThis

Can just do ambient class merging

What? That's not a thing we allow.

Can you even merge statics?

Only with namespace merging.
Doesn't technically allow numeric/quoted/symbol-named properties.

Now doesn't allow some of those special names because of static names.
There's at least one upside...but we want to make sure it doesn't break anything.
Kind of not a fan: they're not really classes, they have issues with merging unles you use namespaces which we're not really fans of, so if we wanted to enable static side merging, we'd prefer interfaces to enable that.

But then we have to give them names?
Yes, even for the ones we don't care about.

Conclusion: relay feedback, consider using interfaces for the static sides.

Node Factory PR
https://github.com/microsoft/TypeScript/pull/35282

File size change of tsc.js started is about 87K of additional content.

Trimming now.

There's a lot of node factory functions that do more work than the parser does.

e.g. auto-parenthesization logic.
Deprecated the functions that already do this.
Now one object of factories.

You now need to be able to pass factories around - is that a breaking change?

Well that's why existing factory functions are being deprecated.
Logging warnings - see src/compat/deprecations.ts

Does this improve performance?

A little bit!
Why is parse time higher?

More work from bind time moved into parse

Some other benefits about being able to reinterpret nodes.

parsing top level await after the fact.

Higher Order Tuple Spreads
https://github.com/microsoft/TypeScript/issues/5453

Some updates on changes in tuple spreads.
Consider a type like [string, ...T, number]

When T is a tuple with a fixed length ([boolean, boolean]), this just flattens to a fixed tuple. ([string, boolean, boolean, number]).
When T has an open length (boolean[]), the rest element is created at the end: ([string, ...(boolean | number)[]])
When it's generic, it sticks around: [string, ...T, number]

Even for [...T] - important because T might be constrainted to a readonly array (e.g. T extends readonly any[]).

Now, JavaScript only allows one rest parameter...

BUT, with this, you can have a rest parameter whose type is a tuple with multiple rest positions.

Can represent a function that takes numbers at both the beginning and the end.
declare function foo<T>(x: number, ...rest: [...T[], number])

foo(1, "hello", 2); // works
foo(1, "hello", false); // error!

Sure would be nice if we could have a declaration for bind.
One other thing: we always get a question like "if I have a type parameter constrained to a readonly array, why don't I get tuples?"

Now we do that.
Already can do this with function foo<T extends unknown[]>(x: [] | T)
Gotta make sure it comes out as readonly.

Could do readonly [...T] instead.

Just out of curiosity, why does [string, ...boolean[], number] result in [string, ...(boolean | number)[]], rather than just staying as [string, ...boolean[], number]? Is it an issue of complexity, or...?
I recall working with APIs in the past that would benefit from the ability to type things like "any number of strings, followed by exactly one function".

Also, with this new work on type-level tuple transformations, I suspect #27995 will come up more often... 🤔 Time will tell I guess.

Kind of not a fan: they're not really classes

Could this be elaborated more?

@treybrisbane we could in theory type that when assigning from a fixed tuple to that type, but then it ceases to be useful; for example, there's no (clean) way to know where to grab the last element from. @ahejlsberg can answer the capabilities a bit better since he's working on the PR.

@saschanaz  (CC @sandersn)

Could this be elaborated more?

From my understanding, they're not declared as if they were classes. For example, I can define another class AbortController {} and not get an error. On the other hand, maybe it doesn't matter because they seem to be non-enumerable and neither behavior models that well.

For example, I can define another class AbortController {} and not get an error.

That's true, although I think the specific behavior doesn't affect TS users as it's an error in TS. Or does it?

@treybrisbane With the PR I'm working on you'll be able to model a function taking any number of strings followed by a function as
declare function foo<T extends string[]>(...args: [...T, () => void]): T;

This will indeed infer appropriate strings-only tuple types for T:
foo(() => {});  // []
foo('hello', 'world', () => {});  // [string, string]
foo('hello', 42, () => {});  // Error, number not assignable to string

The one kind of type you won't be able to represent is something like [...A[], ...B[]]. This will instead normalize to [...(A | B)[]. The issue here is that when A and B are not mutually exclusive types (i.e. when one is a subtype of the other), it becomes hard to discern when one sequence ends and the other starts, which in turn means that type relationships become complex (and expensive) to reason about.

@ahejlsberg Makes sense. Thanks for the explanation! 🙂


Ensure continuous data availability for CEMS and 860M archives

CEMS data now includes 1 file for each quarter (~110 files). One useful additional dataset specific validation to add to DatasetSpecificValidation would be to check that that there are no quarters of missing data (that each quarter of CEMS data from the first partition to the last is present). This check could be extended to 860M data as well, to ensure that there are no missing months of data.
### Tasks
- [ ] Add validation for continuous CEMS
- [ ] Add validation for continuous EIA 860m

See #214 for success conditions


Push/Pull in the background

Pushing and pulling images can be a lengthy operation - if the client disconnects before completion, it will be aborted (or if it's not, there's no way to find out, avoid duplicate jobs etc.)
It might be nice to allow background push/pull jobs - as well as polling for the status of ongoing jobs, etc.
Any thoughts?

you can use the linux command 'nohup'
such as: "nohup docker pull xxxx &"
than, the output will save to file named 'nohup.out'


Fix incorrectly displayed K8s minor versions for release-1.23 branch

This PR is a backport of the PR #34189.

/lgtm
/approve


Update to use registerTwigExtension

This PR moves to the registerTwigExtension method to register the Twig extension, as documented in the 4.x docs: https://craftcms.com/docs/4.x/extend/extending-twig.html#register-a-twig-extension. This fixes the Twig instantiated before Craft is fully initialized. warning that the plugin is throwing on each request in Craft 4 installations.
Fixes https://github.com/RobErskine/Craft-User-Manual/issues/32.
How to test

Load the plugin with this branch active in a Craft 4 site.
Visit an admin page and confirm that the Twig instantiated before Craft is fully initialized. warning doesn't appear in the web logs.
Do the same for a frontend page.

Thanks @braican! Will try to take a look over the next few days to get this merged in.

@RobErskine Any progress on this? This change also fixes an issue when applying existing project config settings on a fresh install: "can't apply existing project config: Unable to register extension "roberskine\usermanual\twigextensions\UserManualTwigExtension" as it is already registered."

@RobErskine would nice to see this merged in

This has been included in 5.0.2: https://github.com/RobErskine/Craft-User-Manual/releases/tag/5.0.2


The description is not completely localized on blob upload dialog

Storage Explorer Version: 1.9.0
Build: master_20190821.3
Platform/OS: Windows 10
Architecture: ia32
Language: German (de)
Regression From: Not a regression
Steps to reproduce:

Run the command 'StorageExplorer.exe --lang=de' to launch storage explorer.
Expand one storage account -> Blob Containes.
Create a new blob container -> Try to upload a file.
Check the upload dialog.

Expect Experience:
The description is completely localized on blob upload dialog
Actual Experience:
The description is not completely localized on blob upload dialog.

More Info:
This issue also reproduces for one ADLS Gen2 blob.

This issue doesn't reproduce on build master/20190822.2. So we close it.


Revert "- Fix the relationship between serve-expired and prefetch opt…

…ions,"
This reverts commit a8db52120b3d3ac078601ed875e8eac92bbbae65.
I am not quite sure of the rationale for the previous patch, but with it applied what I see is that when an expired entry is fetched from the cache the prefetch routine reply_and_prefetch is called. When this happens a response is returned to the client, however, the current cache entry is blacklisted. This makes the cache unusable until a response is fetched from the authoritative server.
Since the authoritative server can be down or slow, we would want to serve the stale response while this happens, and with this commit reverted that's exactly what I see.
Again, I don't know what this commit attempted to solve but the serve expired feature seems to work better without it.
Addresses #394

Thanks for looking into this but as described in #394, I don't think this is the right approach.
Closing.

Thanks for looking into this but as described in #394, I don't think this is the right approach.
Closing.


chore: use mirror for lifecycle image

Changes

:broom: Use our mirror of lifecycle image

@jrangelramos does this help?

@matejvasek yea that works for me


[Not game engine suggestion] Discord server

Maybe it will be better to communicate with contributors/subscribers through discord server.

good idea! will get to it tomorrow as soon as i come back from work

Unfortunately, I couldn't find mods, so it's a no for now :(


ReactPerf.printWasted() appears to show components that aren't rendered

As mentioned in IRC, I'm seeing components printed in printWasted() that I don't believe are actually ever getting rendered. For example printWasted shows me:

Owner > Component
Inclusive wasted time (ms)

"EntityGroup > Waterfall"
233.22

However <Waterfall /> is never actually mounted. In EntityGroup.js I do:
} else if( entity.type === 'waterfall' ) {
     console.log('created');
     return <Waterfall />;
}

which is the only reference to <Waterfall /> in that file. Additionally when I log inside of the Waterfall's render function, nothing is logged.
What's also worrying is that printWasted() also shows Waterfall's children getting mounted:

Owner > Component
Inclusive wasted time (ms)

"Waterfall > ParticleEmitter"
23.2

Does that imply that my components are getting mounted under the hood somewhere, and taking up render time? Or is it just an erroneous debugging line?
Versions:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Can you please have another look now? After synchronizing with the latest react this issue may have been resolved; as I am keeping a closer eye on how functionality is being replicated.


Finish.

[Enter feedback here]

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

ID: 7c758ab8-a66a-0d9d-af7a-a0fbe43ec6f4
Version Independent ID: 62e4d091-8261-eb79-0f50-92a302487dd0
Content: Azure Data Explorer data ingestion overview
Content Source: data-explorer/ingest-data-overview.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

Rms InternationalL*

@doangeh Could you share your feedback on the document or any questions related to the document?

@doangeh  Since we have not heard back from 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.


Refactor py-spy & pyperf to separate ProfilerInterface.

Refactor py-spy & pyperf to separate ProfilerInterface classes.
Description
Group profilers by common runtime (e.g.: Python, Java, etc.).
Support automatic selection of best available profiler for each runtime.
Related Issue
#500
Motivation and Context
We have PythonProfiler which is a class that hides the fact that we have 2 profiler types behind - py-spy or pyperf, and decides itself which one is used.
There was no mechanism to support multiple profiler options and keep them separate. More profilers will arrive in future that will benefit from this.
Also: #448
How Has This Been Tested?
Additional tests developed for new mechanism, added tests to ensure correct behavior of Python profiling.
Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have added tests for new logic.

Remaining actions for this PR:

[ ] Register PySpyProfiler and EbpfProfiler separately for python, using developed mechanism.
[ ] Organize profilers options: supported modes, runtime arguments should be either well separated or declared with runtime (Python) itself.

I reviewed most of it.
Issues/problems I spot:

Profilers still need to specify default_mode and possible_modes, which no longer makes sense as each profiler class now represents a single profiler and a single mode. IMO this is one of the problems we were trying to solve in this PR.

That would be okay but I see a few opportunities:

SystemProfiler supports 3 possible on-modes: smart, dwarf, and fp. Either we refactor it with this PR (but that wouldn't align with the intention of this PR) or keep possible_modes for now, but add a new issue to solve it.
python profiling won't be possible with "auto" mode, but I suppose it wasn't used frequently?

And issue with default_mode:

DotnetProfiler is disabled by default, with use of default_mode parameter; I think we might still need it for newly introduced profilers. I propose to keep this argument but at the Runtime level, renamed to: enabled_by_default

As you mentioned, we lack the concept of "runtime arguments". This is visible for Python which has 2 profilers, and will be visible in others as well if we ever add more profielrs (e.g in Java, some of the arguments are truly async-profiler specific and some are not and will be relevant to any java profiler, e.g --java-collect-jvm-flags). "Runtime arguments" is where we could have placed the default_mode and possible_mode arguments.

My proposal:

let's add the concept of a runtime object, and profilers will be attached to their runtime object. When generating commandline arguments,  they will be taken into account separately (i.e there will be a section "Java arguments" and then "Java async-profiler arguments").

I'm all for it. I wanted to make it clear (and convince myself too) that it's really needed, that's why I paused implementation at this stage.

possible_modes will be the default ones + the different registered runtime profilers for this runtime.

I agree we still need default mode - for the likes of DotnetProfiler and experimental ones.

At the same time we can rename JavaProfiler to JavaAsyncProfiler

And register with profiler_name=ap to support auto-generated possible_mode=ap?

This simplifies get_profiler_arguments

Sure.

As discussed earlier, I have introduced runtime object in form of ProfilingRuntime.
Runtime defines shared attributes of profilers: default_mode, mode_help, disablement_help and common_arguments.

Few things were simplified - get_profiler_arguments, get_preferred_or_first_profiler were discarded, as now the common and profiler-specific arguments are separate.
New concept was added - InternalArgument to handle arguments that are set in the code, not by arg parser, i.e.: perf_node_attach, perf_inject.

I only briefly reviewed now.


user supplied imports on init

see #2917

This is a pretty low-level feature that's quite easy to get wrong, mess up the internal state of wasm-bindgen, and inadvertently cause issues. Can you explain in more detail what this is going to be used for?
One thing I'm worried about is that wasm-bindgen hasn't been designed for this use case. That means that with no tests here there's no guarantee that this will continue to work in the future. Furthermore I don't have at the forefront of my mind what the possible gotchas are within the tool today.

Hold up i misunderstood docs
Closing now
Was mislead by this, with the top drop down stating rust, only just noticed it's web assembly Script not rust...
https://wasmbyexample.dev/examples/importing-javascript-functions-into-webassembly/importing-javascript-functions-into-webassembly.assemblyscript.en-us.html


Add more NRT examples

Fixes #1214
Add examples as noted in the referenced comments.

@Nigel-Ecma @RexJaeschke

I think “The compiler” here should probably always be ”A compiler” – there are a few of the latter already.

I did replace instances of "the compiler" as it relates to this PR with "a compiler".  A search in the standard uncovers 68 other instances of "the compiler". Some should not be changed. They are part of a longer phrase like "the compiler generated backing field" for properties and field like events.
Should I change others where the language is similar to those Nigel mentioned in this PR? Should I add it to this PR, or create a separate smaller PR?

@BillWagner Yes, please change them, as appropriate. If there are occurrences in other topics then I think a separate PR would be best, making it a general editorial fix.

@BillWagner & @RexJaeschke – I agree with Rex to change the ones you see.
It is easy to go down a rabbit hole here; I started as Bill did and saw each “the” needs to be examined – e.g. as in the backing field example “the” refers to the field and not the compiler. From there I started looking into “automatically” – as in “the compiler automatically…” – and these often should at least be something like “a compiler shall/must/may” – this is a spec not a description after all. Once we get to these we need to decide what is being required etc. Rabbit hole! This language I expect in many cases dates from the descriptive material from which the 1st edition was written, it will be a long road and incremental is the way to go.

Yes, please change them, as appropriate. If there are occurrences in other topics then I think a separate PR would be best, making it a general editorial fix.

Added in #1126

Approved 2024-12-11 call.


Creating rows for hybrid-cells in IFP

This draft PR is 90% completed.
It needs a couple of test cases, and some manipulations in the dbSite to allow for seeing ROWPATTERNS and using them.

Please remember to sign your commits.  I've set DCO to pass for this PR.

@maliberty
I believe most, if not all, of the comments are now resolved.
There is however one remaining thing here. Since you suggested that the lefin should handle the creation of the rowpattern vector, I had to make it a member of dbSite and not _dbSite (the inner cast).
This means this info is no longer available during serialization. I also couldn't see how to handle the schema pump to maintain backward compatibility.

Since you suggested that the lefin should handle the creation of the rowpattern vector, I had to make it a member of dbSite and not _dbSite (the inner cast).

I don't understand this comment.  Why is _dbSite needed in lefin?  lefin should call the public methods

replaced by https://github.com/The-OpenROAD-Project/OpenROAD/pull/4167


Pack expansion closures, part 6

Follow-up to https://github.com/apple/swift/pull/73685.
This implements support for autoclosures, closures and local functions nested within a pack iteration for loop, in what I believe is full generality.
Some combinations of closures also work with pack expansion expressions, but not all; this part needs more work in the solver.
General idea:

Capture analysis records references to ElementArchetypeTypes that are defined outside of the scope of the current function.
SIL type lowering extends the generic signature of the closure or local function with new generic parameters corresponding to the captured local archetypes.
Interface types of AST declarations in local context may contain element archetypes; SIL type lowering maps them to interface types in the extended signature.
SILGen lowers the code using the old generic signature's primary archetypes and local archetypes, which are out of scope, as before. A post-pass rewrites SIL instructions, replacing the old primary archetypes and local archetypes with primary archetypes for the new signature.
SILGen rewrites substitution maps when calling a closure, forwarding substitutions for any local archetypes it captures.

When a closure doesn't capture any local archetypes, the extended generic signature is the same as the original generic signature, and we skip the substitution map transform, etc.
Fixes https://github.com/apple/swift/issues/66917.
Fixes https://github.com/apple/swift/issues/69947.
Fixes rdar://113505724.
Fixes rdar://122293832.
Fixes rdar://124329076.

@swift-ci Please smoke test

Looks like this also resolves #73551 🙂

@swift-ci Please test

@swift-ci Please test source compatibility


Add feature to upload backup to s3 bucket

It will allow backup to be uploaded to AWS S3 bucket. Use of aws ec2 instance profile is kept as preferred (default) option.

@geerlingguy do not think it is a good solution when it is run from ci platform or any central platform like awx.


Parallel execution  of psake

Could you please add an example to add parallelism to Psake tasks.

That's a good call. I'm not sure how to integrate it in Psake, so it would understand dependencies and so on. It's would require changes in Psake itself. But for now you can call PSake tasks like this:
default.ps1 file
Task foo {
    Write-Host "foo started"
    sleep 10
    Write-Host "foo ends"
}

Task bar {
    Write-Host "bar started"
    sleep 10
    Write-Host "bar ends"
}

Task default -Depends foo, bar

call
@('foo', 'bar') | Invoke-Parallel {
    Import-Module D:\dev\PSake
    Invoke-PSake -buildFile D:\dev\PSake-demo\default.ps1 -taskList $_
}

Output:
foo started
bar started
foo ends
bar ends
psake version 4.4.1
Copyright (c) 2010-2014 James Kovacs & Contributors

Executing foo

Build Succeeded!

----------------------------------------------------------------------
Build Time Report
----------------------------------------------------------------------
Name   Duration
----   --------
foo    00:00:10.0618043
Total: 00:00:10.1531741
psake version 4.4.1
Copyright (c) 2010-2014 James Kovacs & Contributors

Executing bar

Build Succeeded!

----------------------------------------------------------------------
Build Time Report
----------------------------------------------------------------------
Name   Duration
----   --------
bar    00:00:10.0848683
Total: 00:00:10.1184720

Thanks. That works!!!

Correct, as I said a true paralelizm would require changes in psake itself.


When does Zephir Shine? Only 10% Performance Gain?

I am looking to optimize my web API  which receives a steady stream of medical data from hundreds of offices. As a proof of concept, I rewrote a portion of the API in Zephir to build the Patient object.
The Zephir Code:
    #under class Checks
    public static function PhoneOrNull(incoming=NULL)
    {
        if(empty(incoming)){
            return NULL;
        }

            if(strlen(incoming)>=10){
                var original_phone = urldecode(incoming);

                var phone = preg_replace("/[^0-9]/", "", original_phone);
                if (strlen(phone) == 10 && str_split(phone)[0] != 1) {
                    return "+1" . phone;
                }
                if (strlen(phone) == 11 && str_split(phone)[0] == 1) {
                    return "+" . phone;
                }

                return original_phone;

            }
        return NULL;
    }

    #under class Patients
    public static function NewPatient(incoming=NULL)
    {
            if(incoming == NULL){
            return NULL;
            }
            var gender = 0;
            var NewRecord=    [
                    "reference_id" : incoming->reference_id,
                    "parent_id" : Checks::StringOrNull(incoming->parent_id),
                    "family_id" : Checks::StringOrNull(incoming->family_id),
                    "first_name" : incoming->first_name,
                    "last_name" : incoming->last_name,
                    "email" : Checks::StringOrNull(incoming->email),
                    "home_phone" : Checks::PhoneOrNull(incoming->home_phone),
                    "work_phone" : Checks::PhoneOrNull(incoming->work_phone) ,
                    "wireless_phone" : Checks::PhoneOrNull(incoming->wireless_phone) ,
                    "preferred_confirm" : Checks::PhoneOrNull(incoming->preferred_confirm),
                    "preferred_contact" : Checks::PhoneOrNull(incoming->preferred_contact),
                    "preferred_recall" : Checks::PhoneOrNull(incoming->preferred_recall) ,
                    "preferred_confidential" : Checks::PhoneOrNull(incoming->preferred_confidential),
                    "address" : Checks::StringOrNull(incoming->address),
                    "city" : Checks::StringOrNull(incoming->city),
                    "state" : Checks::StringOrNull(incoming->state),
                    "zip" : Checks::StringOrNull(incoming->zip),
                    "birthday" : isset(incoming->birthday) && strtotime(incoming->birthday) > strtotime("-100 years") ? incoming->birthday : null,
                    "gender" : gender,
                    "is_text" : 1,
                    "is_email" : 1,
                    "is_phone" : 1,
                    "is_mail" : 1,
                    "reference_status" : Checks::StringOrNull(incoming->reference_status),
                    "first_visit" : isset(incoming->first_visit) && strtotime(incoming->first_visit) > strtotime("-100 years") ? incoming->first_visit : null,
                    "appointment_total" : Checks::IntOrNull(incoming->appointment_total),
                    "appointment_missed" : Checks::IntOrNull(incoming->appointment_missed),
                    "appointment_show_rate" : Checks::IntOrNull(incoming->appointment_show_rate),
                    "ssn" : isset(incoming->ssn) && strpos(incoming->ssn, "-") === false && (incoming->ssn > 0 && incoming->ssn <= 9999) ? incoming->ssn : null
                ];
                return NewRecord;
    }

Our old way was:
$createPatients[] = new Patient([
                   'reference_id' => $record->reference_id,
                   'parent_id' => isset($record->parent_id) ? $record->parent_id : null,
                   'family_id' => isset($record->family_id) ? $record->family_id : null,
                   'office_id' => $user->office_id,
                   'first_name' => $record->first_name,
                   'last_name' => $record->last_name,
                   'email' => isset($record->email) ? $record->email : null,
                   'home_phone' => isset($record->home_phone) ? databasePhone($record->home_phone) : null,
                   'work_phone' => isset($record->work_phone) ? databasePhone($record->work_phone) : null,
                   'wireless_phone' => isset($record->wireless_phone) ? databasePhone($record->wireless_phone) : null,
                   'preferred_confirm' => isset($record->preferred_confirm) ? databasePhone($record->preferred_confirm) : null,
                   'preferred_contact' => isset($record->preferred_contact) ? databasePhone($record->preferred_contact) : null,
                   'preferred_recall' => isset($record->preferred_recall) ? databasePhone($record->preferred_recall) : null,
                   'preferred_confidential' => isset($record->preferred_confidential) ? databasePhone($record->preferred_confidential) : null,
                   'address' => isset($record->address) ? $record->address : null,
                   'city' => isset($record->city) ? $record->city : null,
                   'state' => isset($record->state) ? $record->state : null,
                   'zip' => isset($record->zip) ? $record->zip : null,
                   'birthday' => isset($record->birthday) && strtotime($record->birthday) > strtotime('-100 years') ? $record->birthday : null,
                   'gender' => $gender,
                   'is_text' => 1,
                   'is_email' => 1,
                   'is_phone' => 1,
                   'is_mail' => 1,
                   'language_id' => $language_id,
                   'communication_id' => $user->office->communication_id,
                   'reference_status' => isset($record->reference_status) ? $record->reference_status : null,
                   'status_type_id' => $type_id,
                   'first_visit' => isset($record->first_visit) && strtotime($record->first_visit) > strtotime('-100 years') ? $record->first_visit : null,
                   'appointment_total' => isset($record->appointment_total) ? $record->appointment_total : null,
                   'appointment_missed' => isset($record->appointment_missed) ? $record->appointment_missed : null,
                   'appointment_show_rate' => isset($record->appointment_show_rate) ? $record->appointment_show_rate : null,
                   'ssn' => isset($record->ssn) && strpos($record->ssn, '-') === false && ($record->ssn > 0 && $record->ssn <= 9999) ? $record->ssn : null,
               ]);

I had stripped out a couple keys in the beginning of the test such as 'communication_id' => $user->office->communication_id which wasn't part of the incoming data just to be simpler. So the Zephir one was doing about 3 less keys than the raw PHP per cycle.
To test, I used the following:
$times=array();
for ($f=0; $f < 50; $f++) {

    $time_start = microtime(true);
    for ($i=0; $i < 500; $i++) {
                      $createPatients[] = new Patient(\Rd\Patients::NewPatient($record));
    }

    $time_end = microtime(true);
    //dividing with 60 will give the execution time in minutes otherwise seconds
    $times[] = ($time_end - $time_start);

}
//execution time of the script
print_r($times);

The average times were:
~0.068428039550781 Seconds  - Zephir
~0.076008081436157 Seconds  - PHP
I have run the test a number of times and it seems Zephir gives me about a 10% boost, is that expected? Is there something more I should be doing to get better performance gains? Seems like I could almost get that just optimizing what I have a little more.
The tasks I was looking to move over would be string manipulations such as the PhoneOrNull, and those hit most often by the APIs. I am looking to optimize which processes are handling data to minimize calls to the database, so I would be passing in 2 objects, cross comparing values, and only sending updates to the database when records actually change.
Running on Ubuntu 18.04, PHP 7.2, Zephir 0.12.19

Hi, I discovered this project just a few days ago and I thought it was a great idea and could benefit with performance.
But just learned the project is officially abandoned...
Besides, your tests show it actually does not improves performance too much...
You tested on PHP 7.2 while on the latest 7.4 it should be even faster.
Are you using Opcache or Preload in the test?

I didn't realize it was abandoned (https://www.reddit.com/r/PHP/comments/iogji4/zephir_will_not_be_maintained_any_longer_and_will/), thank you for letting me know. I wasn't using Opcache or Preload.
I know I can upgrade the PHP for additional performance, part of why I was building this into modules was to be able to whitelabel my application while maintaining some control over it through compiled obfuscation, the other was performance. Looking into other options.
Other options seem to be to build it in Rust and then use PHP FFI, or build a standalone API application server to handle those transformations for me. While I do a fair amount of .NET C# work, I haven't done much with C or C++ and feel that Rust may be more beneficial to learn if I have to learn something new. I realize PHP has a .NET option, but only if you run on a Windows server, which I will not likely ever do.

@cypherbits

But just learned the project is officially abandoned...

@ajhalls

I didn't realize it was abandoned

Reddit

Zephir will not be maintained any longer and will not be compatible with PHP 8

I completely understand that we live in era of fake news, but on original news was written, quote:
https://blog.phalcon.io/post/the-future-of-phalcon

Now that Serghei has stepped down, we have an issue with Zephir. We no longer have any active maintainers for the project to assume the lead and help with development/bugs etc.

and more important, quoute:

With no other options available, we will put active development of Zephir on hold, and we do not expect it to be compatible with PHP 8. Maintainers are always welcome to step up and help with Zephir.

@ajhalls
Now about performance diff only 10%. You won't gain any extra performance in loops and cycles since PHP7 and its opcache, so you have near the same performance in PHP or in C, as it already in memory. single difference will be in memory usage, ~ x2 more in PHP.


Normalize tmGrammar.json

JSON grammar file should end in tmLanguage.json
Grammar should include name

Already done!