Added new dimension to internal metrics to identify mode

Description:
To easily filter between agent and gateway deployments of the collector in dashboards a proposed new dimension otelcol.service.mode to be added to the metrics/internal pipeline.
Link to Splunk idea:
N/A
Testing:
Deployed the collector with the configuration changes and successfully filtered collector mode in OOTB OTel Dashboard in O11y Cloud.
Documentation:
N/A

This is a great way for customers that want to check the load on all their otel gateways. Recently came up during a customer project. Please approve.

CI fails. We will review.

@rcastley the TestDefaultGatewayConfig are broken because they need to be updated whenever the config yamls are changed. Let's know if you need help with that.
https://github.com/signalfx/splunk-otel-collector/actions/runs/12303965814/job/34340867187#step:16:141:~:text=default_config_test.go%3A59,Test%3A       	TestDefaultGatewayConfig/default

@pjanotti I have tried and failed 👎🏻 I updated the default_config_test.go for both agent and gateway modes but it is still failing on two tests. If you could help me to understand why that would be awesome. Thank you :-)

Both Integration Test / integration-test-docker (amd64, integration) (pull_request) and Integration Test / integration-test-docker (arm64, integration) (pull_request) fail with the following:
PASS
ok  	github.com/signalfx/splunk-otel-collector/tests/receivers/scriptedinputs	34.078s
?   	github.com/signalfx/splunk-otel-collector/tests/testutils	[no test files]
?   	github.com/signalfx/splunk-otel-collector/tests/testutils/subprocess	[no test files]
?   	github.com/signalfx/splunk-otel-collector/tests/testutils/telemetry	[no test files]
FAIL
make: *** [Makefile:88: integration-test] Error 1

I don't understand/know how to resolve this so if someone could help me, I would be most grateful. Thank you!

@jinja2 Does the following change:
"attributes": []any{
	map[string]any{
		"action": "insert",
		"value":  "gateway",
		"key":    "otelcol.service.mode",

need to be applied also to TestDefaultAgentConfig function?

Those failing tests passed 🎉

@rcastley I think you'll need to setup commit signing https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification. I see The base branch requires all commits to be signed. under merging blocked.


Classes and methods regarding iron golems offering poppies are named incorrectly

The iron golem's behavior of offering poppies is managed by the IronGolemLookGoal class,IronGolemEntity#setLookingAtVillager method, and IronGolemEntity#lookingAtVillagerTicksLeft field. However, according to the usages of the field in the IronGolemFlowerFeatureRenderer and IronGolemEntityModel classes, the actual functionality relates to raising the iron golem's arm and rendering a poppy.

Not a yarnbug, accurate description of its behavior. Iron golems look at (baby) villagers and give them poppies.


Call os_log from table_printer

All types that are passed into table printer are handled.
Logs start, header, values, and end.
Apple-platform only; on others, this will no-op.

@nickjong Feedback addressed; please re-review, thanks!


Please settle on one style to name your API variables

Because of recent updates to the mail client I was forced to rename some variables in the api payload. For example asm.group_id became asm.groupId and asm.groups_to_display became asm.groupsToDisplay.
Fine, so I'm assuming you're moving from snake-case to camel-case.
But there are still loads of other variables that are still snake-cased. This is confusing and annoying. It's not like the v3 api is new. Can you please decide on one style of naming your variables and make it consistent? A public facing API should have names that are chosen carefully.

Best I can tell is that this library supports either in some cases (possibly for backwards-compatibility reasons) but not in call cases. And the TS definitions use camelCase for input and snake_case for output (since that's what the API expects).
For the renaming you've had to do, was this because of changes to the TS definitions? Or changes to the JS implementation? Also, what version were you migrating from and to? Just trying to track down where the breakdown happened.

@childish-sambino I am surprised that the input is supposed to be camelCased. Mine seems to be all snake-cased, apart from replyTo. Maybe my config it messed up or some things were carried over from older versions. Below you will find the function that formats the data for sendgrid. As you can see most fields are not camel-cased. The fact that this works maybe means that it's internally converted anyway?
Also, this is for a project that I barely ever need to touch anymore, so I prefer to leave it at that. Your type definitions cause me a lot of trouble in the past so I hope things are improving. As you can see there is still even a ts-ignore in here :) I will give it another try a few months from now.
function buildSendgridEmail(emailId: string, message: EmailMessage): MailData {
  const {
    template,
    subject,
    to,
    from,
    replyTo,
    categories,
    unsubGroup,
    utmCampaign,
    utmContent,
    substitutions,
    personalizations,
    trackingSettings
  } = message;

  const result = {
    asm: {
      group_id: unsubGroup,
      groups_to_display: [unsubGroup]
    },
    categories,
    from,
    replyTo,
    to: to ? useMailtrapForDevelopment(to) : undefined,
    subject,
    template_id: template,
    substitutions,
    personalizations,
    custom_args: {
      /**
       * We pass the email id to sendgrid so we have a reference once they call
       * our webhook with email status updates.
       */
      emailId
    },
    ip_pool_name: "transactional",

    /**
     * @TODO refactor this so the mappings are cleaner and trackingSettings is
     * typed.
     */
    tracking_settings: merge(
      {
        open_tracking: { enable: true },
        click_tracking: {
          enable: false,
          enable_text: false
        },
        ganalytics: {
          enable: utmCampaign ? true : false,
          utm_source: "Email",
          utm_medium: "email",
          utm_campaign: utmCampaign,
          utm_content: utmContent
        }
      },
      trackingSettings
    ),
    mail_settings: {
      sandbox_mode: {
        enable: SENDGRID_USE_SANDBOX ? true : false
      }
    },
    timestamp: Date.now()
  };

  // @ts-ignore
  return result;
}

Yes, either camelCase or snake_case are supported in some cases. I'm open to improving this repo and reviewing PRs to that end; just need to know what specifically is broken/incorrect. Let me know if/when you're able to circle back to this.


Why are site support requests for txxx.com being denied?

Many site support requests for https://www.txxx.com have been made in the past but moderators have denied the requests and locked the forum threads. Why?
Txxx.com has hundreds of channels of videos that seem to be uploaded by the video creators:
https://www.txxx.com/channels-list/most-popular/
If pornhub, redtube etc are supported by Youtube-dl why not support txxx.com?

Nothing is denied. There is already an issue opened. Stop posting duplicates.


Stryker 4 beta: Typescript + React expressionMutantPlacer error with "BooleanLiteral"

Summary
Trying to run stryker 4 beta on a react + typescript project and encountering an error during the expressionMutantPlacer step. The line that causes the error is:
const [expanded, setExpanded] = React.useState<string | false>('');

where the boolean literal false is attempting to be mutated. This issue can be worked around in my repo by replacing the above line with:
const [expanded, setExpanded] = React.useState<string | boolean>('');

Don't think this is a react specific issue, I think the mutator isn't detecting the boolean literal type correctly.
Stryker config

{
  "$schema"<EMAIL_ADDRESS>  "mutate": [
    "src/**/*.ts?(x)",
    "!src/**/*@(.test|.spec|Spec).ts?(x)"
  ],
  "testRunner": "jest",
  "reporters": [
    "progress",
    "clear-text",
    "html"
  ],
  "htmlReporter": { "baseDir": "coverage/mutation" },
  "coverageAnalysis": "off",
  "timeoutMS": 60000,
  "jest": {
    "projectType": "create-react-app",
    "enableFindRelatedTests": true
  },
  "maxConcurrentTestRunners": 6
}

Test runner config
Project built with CRA, jest config in package.json is:
"jest": {
    "collectCoverageFrom": [
      "**/*.{ts,tsx}",
      "!**/*.d.ts",
      "!**/node_modules/**",
      "!**/vendor/**",
      "!src/models/**",
      "!src/**/styles.ts",
      "!src/styles/**",
      "!src/serviceWorker.ts"
    ]
  }

Stryker environment
"@stryker-mutator/core": "^4.0.0-beta.10",
"@stryker-mutator/jest-runner": "^4.0.0-beta.10",
"@stryker-mutator/typescript-checker": "^4.0.0-beta.10",

"@stryker-mutator/jest-runner": "^4.0.0-beta.10",

Your Environment

software
version(s)

node
v14.9.0

npm
v6.14.8 with yarn v1.22.5

Operating System
macOS Catalina 10.15.7

Thanks!


How to unit test conversation flow and responses from bot.

Bot Info

SDK Platform: Node.js
Active Channels: MS Teams
Deployment Environment:Azure Bot Service

Issue Description
Hello,
I'm in the process of unit testing our dialogs and was looking for some advice. I've reviewed the tests that are part of this repository and I observed it's not actually testing your own dialogs/conversation instead in a test case you write a dialog and assert. ex: in following test, testDialog is created as a part of test case 'should match a RegExpRecognizer' and then response was just asserted.
  it('should match a RegExpRecognizer', function (done) {
    var connector = new builder.ConsoleConnector();
    var bot = new builder.UniversalBot(connector, function (session, args) {
      session.send('Not Matched').endDialog();
    });
    bot.recognizer(new builder.RegExpRecognizer('HelpIntent', /^help/i));

    bot.dialog('testDialog', function (session) {
      session.send('Matched').endDialog();
    }).triggerAction({ matches: 'HelpIntent' });

    bot.on('send', function (message) {
      assert(message.text === 'Matched');
      done();
    });

    connector.processMessage('help');
  });

How would I test 'HelpDialog' from my app ?
var builder = require('botbuilder');

module.exports = function(bot) {
  bot.dialog('Help', function (session) {
    builder.Prompts.text(session, `Hello, I can help you to reserve a meeting room.`, {
      speak: `Hello, I can help you to reserve a meeting room.`,
      retrySpeak: `Hello, I can help you to reserve a meeting room.`,
      inputHint: builder.InputHint.expectingInput
    });
    session.endDialog();
  }).triggerAction({
    matches: 'Help',
    onSelectAction: (session, args) => {
      session.beginDialog(args.action, args);
    }
  });
}

In our current setup, I have app.js which holds root dialog and also calls 2 functions based on channel.
I have 2 LUIS intents for now. Help and 'Room reservations' and those 2 dialog file have been exported from app.s. The dialog which was triggered by Room.Reservation intent will try to load meeting rooms for a user (user details like email,ID will be resolved from graph Db). Once meeting room suggested by a prompt user user can accept the room or ask for more room suggestions. Also, there is an option (served by another dialog called 'changeMeetingRoomFilters') called 'ChangeFilter' will lets user to change meeting room location etc. All these chaining on multiple dialogs happening root dialog (Room reservations) initially triaged by LUIS. Sometimes user can say 'Find me a meeting room for this friday at campus location ABC' then entities will be datetime and campus name. There is lot going in this app along with calls to MS graph and Neo4j Db to get meeting rooms, user data etc.
Here is my app.js
'use strict';

require('dotenv-extended').load();
// All imports goes here....
server.listen(process.env.port || process.env.PORT || 3978, function () {
    console.log('%s listening to %s', server.name, server.url);
});
var connector = new teams.TeamsChatConnector({
    appId: process.env.MICROSOFT_APP_ID,
    appPassword: process.env.MICROSOFT_APP_PASSWORD
});
server.post('/api/messages', connector.listen());

var bot = new builder.UniversalBot(connector, function (session) {
    session.userData.chatData = [];
    if (session.message && session.message.entities) {
        let authorizationToken = session.message.entities.find((e) => {
            return e.type === 'AuthorizationToken';
        });
        if (authorizationToken) {
            setUpAndGreetCortanaUser(authorizationToken, session);
        } else if (session.message.source == "msteams" && !session.userData.authUser) {
            setUpAndGreetMSTeamsUser(session);
        } else if (session.message.source == "emulator") {
            session.send(`Welcome to CAL.`)
        } else if (session.userData.authUser) {
            let prompt = `Welcome back to CAL ${session.userData.authUser.firstName}. How can I help you ?`
            builder.Prompts.text(session, prompt, {
                speak: prompt,
                retrySpeak: format('{0}, are you there?', session.userData.authUser.firstName),
                inputHint: builder.InputHint.expectingInput
            });
        } else {
            session.say(`You do not have access to this Bot.`,
                `You do not have access to this Bot.`);
        }
    }
})

bot.set('persistConversationData', true);
bot.set(`persistUserData`, true);

var recognizer = new builder.LuisRecognizer(process.env.LUIS_MODEL_URL);
bot.recognizer(recognizer);

function setUpAndGreetMSTeamsUser(session) {

    session.userData.authUser = {};
    //need to get this from outlook settings: /v1.0/me/mailboxSettings/timeZone
    //see graph.getUsersTimeZone()
    session.userData.authUser.timeZone = "America/Chicago";

    var conversationId = session.message.address.conversation.id;
    //Return a list of members in a team or channel.
    connector.fetchMembers((session.message.address).serviceUrl, conversationId, (err, result) => {
        if (err) {
            session.endDialog('There is some error to get user from MS teams.');
        }
        else {
            console.log("*******Logged in User by MS teams:******* " + result[0].userPrincipalName);
            authUserHelper.setAuthUserInfo(session<EMAIL_ADDRESS>                .then(function (results) {
                    console.log("******* Linked account user email:******* " + session.userData.authUser.email);

                    //For TESTing. Remove later
                    // session.endDialog('%s', JSON.stringify(result));

                    let firstName = '';
                    if (session.userData.authUser && session.userData.authUser.firstName) {
                        firstName = session.userData.authUser.firstName;
                    }
                    //Hello ! Welcome to CAL MS Teams Bot
                    let prompt = format('{0}, How can I help you ?', firstName);
                    builder.Prompts.text(session, prompt, {
                        speak: prompt,
                        retrySpeak: format('{0}, are you there?', firstName),
                        inputHint: builder.InputHint.expectingInput
                    });
                    session.sendTyping();
                    setTimeout(function () {
                        session.send("Hello there...");
                    }, 15000);
                })
                .catch(function (error) {
                    console.log(error);
                });
        }
    });
}
module.exports = { setUpAndGreetMSTeamsUser }

const logUserConversation = (event) => {
    chatData.push(event.text)
    console.log('******** BOT/User Message: ' + event.text) //+ ', ***** user: ' + event.address.user.name);
};

// Sub-Dialogs
loadSubDialogs();

function loadSubDialogs() {
    require('./app/dialogs/greetingintent.js')(bot);
    require('./app/dialogs/helpintent.js')(bot);
    require('./app/skills/common/dialogs/GlobalCommandDialogs')(bot, chatData);
    require('./app/skills/calendar/dialogs/RoomReservationMainDialog')(bot, chatData);
    require('./app/skills/calendar/dialogs/RoomReservationInfoDialog')(bot, chatData);
    require('./app/skills/calendar/dialogs/RoomAvailabilityDialog')(bot, chatData);
}

function setUpAndGreetCortanaUser(authorizationToken, session) {
    session.userData.authUser = {};
    //need to get this from outlook settings: /v1.0/me/mailboxSettings/timeZone
    //see graph.getUsersTimeZone()
    session.userData.authUser.timeZone = "America/Chicago";

    let decodedtoken = jwtDecode(authorizationToken.token);
    //       console.log(' ***** decodedtoken ******  ' + decodedtoken);
    if (decodedtoken) {
        session.userData.authToken = authorizationToken.token;
        //neo query needs LN,FN to to be resolved in schedule and delete so using this instead session.userData.firstAndLastName
        session.userData.authusername = decodedtoken.name;
        console.log("Logged in User by cerner AAD: " + decodedtoken.upn);
        authUserHelper.setAuthUserInfo(session, decodedtoken.upn)
            .then(function (results) {
                console.log("Linked account user logged in: " + session.userData.authUser);
                let firstName = '';
                if (session.userData.authUser && session.userData.authUser.firstName) {
                    firstName = session.userData.authUser.firstName;
                    console.log("Linked account user email : " + session.userData.authUser.email);
                }
                let timeOfDay = "morning";
                let nowHour = parseInt(moment().tz(session.userData.authUser.timeZone).format('H'));
                if (nowHour >= 18) {
                    timeOfDay = "evening";
                }
                else if (nowHour >= 12) {
                    timeOfDay = "afternoon";
                }
                let prompt = format('Good {0} {1}, how can I help you?', timeOfDay, firstName);
                builder.Prompts.text(session, prompt, {
                    speak: prompt,
                    retrySpeak: format('{0}, are you there?', firstName),
                    inputHint: builder.InputHint.expectingInput
                });
            })
            .catch(function (error) {
                console.log(error);
            });
    }
}

I looked into another example here BotInsightsTests which looked decent but they have bot.js which is designed completely different than what I have . Moreover all the sub dialogs are just dumped  in bot.js
I am confused on where to start. Any advice would be very appreciated!

This has been pending over 6 days. Any help will be appreciated?

Take a look at this blog, Unit Testing for Bot Applications. It is the same model that is used in the BotInsightsTest example you previously referenced. You can also checkout this video presentation from Channel9, Testing the Bot Framework.
Both are produced by Microsoft and should provide you with a good place to start. Here is one final example, alarm-bot-unit-testing, from an external source. It's a couple years old, but appears to follow the same model. Can serve as a example.

@stevengum , I had look at the Blog you referred earlier. It's using builder.IntentDialog() where I am LUIS .trigger() action to trigger a LUIS intent dialog.
I will have to rewrite everything in order to make use of IntentDialog. Also, I feel it's a older way so trigger()  is better way. Moreover, with new Bot sdk v4 not sure if this method will be supported unless something new is coming.

@rjgmail88, I can't help on how the system is currently designed. As the SDK is open source, you are always free to adjust the code to meet your needs.
As for the v4 SDK, a new tool, testadapter, is being implemented that should make testing easier. You can look at some of the code here, if you're curious.
I'm going to close the issue as answered. If you have any further questions, please feel free to reopen.

@rjgmail88 check out the BotTester framework. It makes testing conversation flow super easy to read and write. It also allows for session inspection!
here's some examples:
Test with prompts
    it('can test prompts', () => {
        bot.dialog('/', [(session) => {
            new Prompts.text(session, 'Hi there! Tell me something you like');
        }, (session, results) => {
            session.send(`${results.response} is pretty cool.`);
            new Prompts.text(session, 'Why do you like it?');
        }, (session) => session.send('Interesting. Well, that\'s all I have for now')]);

        return new BotTester(bot)
            .sendMessageToBot('Hola!', 'Hi there! Tell me something you like')
            .sendMessageToBot('The sky', 'The sky is pretty cool.', 'Why do you like it?')
            .sendMessageToBot('It\'s blue', 'Interesting. Well, that\'s all I have for now')
            .runTest();
    });

Inspect session
    it('can inspect session state', () => {
        bot.dialog('/', [(session) => {
            new Prompts.text(session, 'What would you like to set data to?');
        }, (session, results) => {
            session.userData = { data: results.response };
            session.save();
        }]);

        return new BotTester(bot)
            .sendMessageToBot('Start this thing!',  'What would you like to set data to?')
            .sendMessageToBotAndExpectSaveWithNoResponse('This is data!')
            .checkSession((session) => {
                expect(session.userData).not.to.be.null;
                expect(session.userData.data).to.be.equal('This is data!');
            })
            .runTest();
    });

LMK if you have any questions. I'm always happy to support the repo


Added README.md to rest-from-.net

To eliminate some bug reports, a README.md was added to the project stating what version of .NET was used to build thee project. Also what reference versions are required.
I ran into an issue where I have a more recent version of one of the assemblies. If there was a notation stating what is required to build and run the sample code, I wouldn't have submitted bug reports.
Going forward, there should me a README with every sample project.

Hi @HEDIDIN, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

this shouldn't be needed as the packages.json file clearly shows which packages and versions are being used.

Hi @HEDIDIN, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

People don't always look at packages.json
It would be helpful to have this info in the readme


Queuing events with unicode (non-ascii) payload strings fails

Laravel Version: 8.80.0
PHP Version: 8.1.1
Database Driver & Version: N/A (MySQL 5.7)

Description:
Trying to queue an event with a queued event listener will fail if the event payload contains non-ascii characters (at least for the following example).
Steps To Reproduce:

Consider the following event/listener and the use-case:
class SampleEvent
{
    public function __construct(public string $unicodeString)
    {
    }
}

class SampleEventListener implements ShouldQueue
{
    public function handle(SampleEvent $event): void
    {
         // Do whatever!
    }
}

// Somewhere in the code
Event::dispatch(new SampleEvent('敏琳张'));

If we register a queued event listener for this event, Laravel will fail to serialize it with this message: Unable to JSON encode payload. Error code: 5
The problem is that json_encode fails to serialize the payload.

I'm very sorry but it seems we don't support this right now. If you could figure out a way to make this work, we would appreciate a PR 👍

@driesvints The fix was simple. Propose a fix in this PR.

@driesvints @mixdf Do you know what was actually wrong and how the PR fixed it? I am guessing the accepted PR may be a breaking change if the queue is stored in a mysql table with old utf8 instead of utf8mb4 charset.

@halaei Good point, although I'm still unsure if that would be problematic since decoding both versions results in the same array.

@mixdf I am thinking your issue wasn't really about non-ascii characters. Maybe the queue driver you are using has limitation on the number of characters, e.g. the MySQL column is defined as varchar(256) instead of text.

@halaei I'm using Redis as the queue driver and the actual error was encountered when trying to json_encode the event payload. The funny thing is that it doesn't happen when using json_encode on the string itself, so you might be right about some part of it. I'll try to see if I can narrow the issue down and fix the actual root cause.

@driesvints @mixdf Do you know what was actually wrong and how the PR fixed it? I am guessing the accepted PR may be a breaking change if the queue is stored in a mysql table with old utf8 instead of utf8mb4 charset.

This was indeed a breaking change in our case. It resulted in the job's payload actually being truncated at the point where the Unicode character was (in our case, an emoji).

The fix to this issue caused breakage in my MSSQL usage. There's a ⚬ character that would normally take up more than 1 byte and PHP serializes it with that expectation. But when it gets inserted to the jobs database table, all such characters get converted to single character ?s, and then when trying to process the queue, the job always fails with ErrorException: unserialize(): Error at offset 1234 of 2345 bytes.
Please revert this change. It doesn't make sense how Japanese characters couldn't be encoded. Doing this with the isuse's example works fine for me out of the box without special json_encode() options:
11092 ± php artisan tinker
Psy Shell v0.10.7 (PHP 8.1.8 — cli) by Justin Hileman
>>> json_encode('敏琳张')
=> ""\u654f\u7433\u5f20""
>>>


Feature request: try_insert method

The standard library hashmap and btree map recently got a nightly-only try_insert operation (here's the tracking issue), which makes it very convenient to insert something into a map, panicking in the case that it's already there:
the_map.try_insert(key, value).unwrap();

It would be nice to also have this for IndexMap.

We're happy to match such methods once they're stable, but until then it's subject to change, and we don't want indexmap to get stuck with differences.


separate available configs from managing them

In https://www.balena.io/docs/learn/manage/configuration/#variable-list we show the available configs and how to manage them. I'd like to move the available configs to the Supervisor repository and be its own page then have this repo (docs) have a managing configs page.
This will make it easier to manage the configurable vars which all go through the Supervisor.

that edit...

closing in favour of https://github.com/balena-io/docs/issues/1833


Android 4.1 support

I have a Xperia E and it runs on jelly bean 4.1 but there is no support for jelly bean.
I NEED JELLY BEAN SUPPORT because the Xperia E has a broken screen and i have to plug, view image, screenshot, unplug and over and over AND OVER and because scrcpy and vysor dont have jelly bean support, this phone is almost useless!
So please add jelly bean support by lowering the api level to 16

No: #98

No android 4? this project is worthless for android 4 users


[Docs] API reference missing or hidden

I try to find the API reference of setuptools. I expect something like from code autogenerated docu like you can find on ReadTheDocs for other packages.
I only can find this "deprecated" one https://setuptools.pypa.io/en/latest/deprecated/distutils/apiref.html
For example I would like to see the details of "setputools.errors".

Help with that is appreciated. Happy to discuss PRs.
(Very likely that we just want to expose a subset of all available implementation details, instead of following disutils example).
Meanwhile you can use help() in the Python REPL.


[Feature] Provide a full offline map

Hi,
I wanted to know if it would be possible for this tool to be really offline.
In the index.html we can see all those links:
<link href="https://fonts.googleapis.com/css?family=Roboto+Mono&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdn-geoweb.s3.amazonaws.com/esri-leaflet-geocoder/0.0.1-beta.5/esri-leaflet-geocoder.css">
<link rel="stylesheet" href="https://xguaita.github.io/mtig-js/libs/draw/leaflet.draw.css">
<script<EMAIL_ADDRESS><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css">
<link rel="stylesheet"<EMAIL_ADDRESS><script<EMAIL_ADDRESS><script<EMAIL_ADDRESS><script<EMAIL_ADDRESS><script src="https://cdn-geoweb.s3.amazonaws.com/esri-leaflet/0.0.1-beta.5/esri-leaflet.js"></script>
<script src="https://cdn-geoweb.s3.amazonaws.com/esri-leaflet-geocoder/0.0.1-beta.5/esri-leaflet-geocoder.js"></script>
<script<EMAIL_ADDRESS>
Which are obviously referring to online resources. Could it be possible to have a proper offline map?
Cheers & thanks!

Yes It can be done. But it will take some time because of the corona viruse


test: add upload artifact with name test

The integration test of upload_artifact with name is missing in #143 , i added it back.

you're lightning fast


MINOR: fix some bugs in ControllerApis.scala

Fix some cases where ControllerApis was blocking on the controller
thread.  This should not be necessary, since the controller thread can
just interface directly with the network threads.
alterClientQuotas and incrementalAlterConfigs were not doing
authorization correctly in ControllerApis.scala.  Since the previous
release of KRaft did not support authorizers, this bug is not as severe
as it could have been, but it still needs to be fixed.  This PR also
adds unit tests to verify that all of the controller operations return
authorization failures when appropriate.  Fix how duplicate
configuration resources are handled.
Add support for the ALTER_CONFIGS API, and stub functions for
cluster reassignment, as specified in KIP-631.
Additionally, this PR fixes a comment in ControllerApis#deleteTopics
that no longer reflects what the code is doing when we don't have
"describe" permission.

@cmccabe thanks for this nice patch. It seems this patch includes some different targets. Could you update description to include them (for example, this patch adds new APIs to controller)?

Added.

@chia7712: I re-ran the test failures locally and couldn't get them to occur.
The failures I saw were mostly streams tests... those have have been a bit flaky lately... I hope we can fix this soon :(
Also, closer to home, RaftClusterTest#testCreateClusterAndCreateAndManyTopicsWithManyPartitions seems to flake periodically on Jenkins (even before this PR), but I can't seem to reproduce it locally.


Use dictionary of keys sparse storage

This PR is a work in progress for changing the block-offset list from a sorted Vector to a Dict, similar to https://github.com/ITensor/ITensor/pull/336. The goal is to speed up a variety of block sparse operations, since Dict has O(1) lookup (instead of the sorted Vector of block offsets, which has O(log(N)) lookup for N blocks). This was shown to make block sparse operations in the C++ version of ITensor about 10% faster, and we should probably just merge that PR.
Most tests are passing, there are a few more bugs to work out but over all this was a pretty easy change to make. I had tried to design NDTensors to be pretty agnostic about the storage but there were certain assumptions baked into the code about using a Vector, like linear indexing. However, over all the code has become simpler, and hopefully it will be faster as well!

I didn’t know about Dictionaries.jl. Sounds like a good thing to use here

Alright, this PR is ready to go. All tests are passing with the new design.
Here is a timing for a single sweep of the 1D S=1 Heisenberg model for N=100 sites:
After sweep 1 energy=-138.940086143521 maxlinkdim=600 time=37.533

while on master:
After sweep 1 energy=-138.940086143520 maxlinkdim=600 time=41.112

Not a huge speedup (around 9%), though I wasn't expecting anything major for this example since it was already mostly dominated by permutations, BLAS, and LAPACK.
Here are timings for hybrid real space-momentum space Hubbard model calculations on a 6 x 3 cylinder:
After sweep 1 energy=-5.839513403967 maxlinkdim=91 time=0.948
After sweep 2 energy=-12.435902968857 maxlinkdim=200 time=8.676
After sweep 3 energy=-13.313706521961 maxlinkdim=400 time=16.520
After sweep 4 energy=-13.520903592397 maxlinkdim=800 time=13.219
After sweep 5 energy=-13.633916035656 maxlinkdim=2000 time=20.778
After sweep 6 energy=-13.693184708837 maxlinkdim=2999 time=30.224
After sweep 7 energy=-13.711966030239 maxlinkdim=3000 time=34.462
After sweep 8 energy=-13.715767489572 maxlinkdim=3000 time=36.361
After sweep 9 energy=-13.716428672323 maxlinkdim=3000 time=36.913
After sweep 10 energy=-13.716542905483 maxlinkdim=2999 time=35.022

while on master:
After sweep 1 energy=-5.839513403963 maxlinkdim=91 time=1.174
After sweep 2 energy=-12.435902968869 maxlinkdim=200 time=9.990
After sweep 3 energy=-13.313706521970 maxlinkdim=400 time=18.359
After sweep 4 energy=-13.520903592410 maxlinkdim=800 time=15.075
After sweep 5 energy=-13.633916035668 maxlinkdim=2000 time=22.664
After sweep 6 energy=-13.693184708844 maxlinkdim=2999 time=33.091
After sweep 7 energy=-13.711966030241 maxlinkdim=3000 time=37.860
After sweep 8 energy=-13.715767489573 maxlinkdim=3000 time=38.694
After sweep 9 energy=-13.716428672323 maxlinkdim=3000 time=40.026
After sweep 10 energy=-13.716542905483 maxlinkdim=2999 time=38.636

so again around a 9% speedup. These speedups are very similar to the ones seen with the same design change in C++ ITensor: https://github.com/ITensor/ITensor/pull/336.

Good to see those timings: 9% seems like a lot to me for a code that's already so optimized to begin with.

To be fair, some of the block sparse code was not as optimized as it could have been (for example the block sparse addition was pretty simplistic). But I saw large speedups with this design for very sparse contractions, so I think the speedups here are beyond what would have been possible with the previous design.


factorio: 1.1.104 -> 1.1.107

Description of changes
Version bump to 1.1.107. Change log in following link:
https://wiki.factorio.com/Version_history/1.1.0#1.1.107

Things done
Updated versions.json with given python script. Ran headless server with existing save game. Connected to running server with client.

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 305320 run on x86_64-linux 1

3 packages built:

factorio (factorio-experimental)
factorio-demo
factorio-headless (factorio-headless-experimental)


refactor: Implement and integrate rlc function for simplified lin. combination

Summary
This is mostly implemented as a proof-of-concept to align with @adr1anh on #223. The RLC implements Horner's scheme on any iterator operand with the correct MulAssign, AddAssign traits.
Details

Introduced a new function rlc, which implements Horner's scheme,
Applied traits Borrow, MulAssign, and AddAssign to define it, which exist on UniPoly,
Used rlc function in evaluate method and kzg_compute_batch_polynomial,
Updated closures in mlkzg.rs file to directly handle vector arguments, simplifying the overall operations.
Streamlined the code by eliminating unnecessary assertions in kzg_verify_batch closure and redundant inner function in kzg_compute_batch_polynomial.

Next steps

extend the rlc to different parts of the code base, improve ergonomics, etc ...

I'd be happy for pointers!
for instance, do we want to extend this to iterated square powers (as we do in ML polys)?

implement a really parallelized variant, by generating powers using a parallel prefix scan (which then allows parallelizing the final multiplication, Horner's scheme being inherently sequential).

Looks really good! Would it make sense to implement this as an extension of Iterator where the bounds on Item are the same as rlc?

We could, but it's essentially a difference in call style rlc(foo, f) vs. foo.rlc(f). In each case you need one more import.
LMK which you prefer.

There are many places where this can be used inside of ppsnark.rs, it will be a nice addition!

I think ppsnark mostly gathers this under the batch auxiliary function, but happy you like it.
In any case, beware the algorithmics are a bit different: the power generation is not parallel. I'll run timings for this PR, but would encourage a PR converting instances of power polynomial usages to rlc to do so as well, until I land a parallel prefix scan (which is nearly ready to go).

Extract of the MLKZG bench (which is the one affected by the present PR):
group                                                                                dev                                    linear_combs
-----                                                                                ---                                    ------------
PCS-Proving 10/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/10         1.00      9.6±0.14ms            1.00      9.6±0.37ms
PCS-Proving 12/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/12         1.01     25.2±0.29ms            1.00     24.9±0.55ms
PCS-Proving 14/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/14         1.02     74.8±1.29ms            1.00     73.1±1.10ms
PCS-Proving 16/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/16         1.02    249.0±7.45ms            1.00    243.6±2.95ms
PCS-Proving 18/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/18         1.02   926.6±32.87ms            1.00   912.7±32.46ms
PCS-Proving 20/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/20         1.00       3.3±0.08s            1.01       3.3±0.12s
PCS-Verifying 10/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/10       1.14      4.7±0.36ms            1.00      4.1±0.33ms
PCS-Verifying 12/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/12       1.00      3.6±0.67ms            1.16      4.2±0.52ms
PCS-Verifying 14/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/14       1.01      3.8±0.45ms            1.00      3.7±0.49ms
PCS-Verifying 16/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/16       1.00      5.1±0.70ms            1.01      5.1±0.44ms
PCS-Verifying 18/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/18       1.08      5.5±0.45ms            1.00      5.1±0.69ms
PCS-Verifying 20/arecibo::provider::mlkzg::EvaluationEngine<halo2curves::bn256::engine::Bn256, arecibo::provider::Bn256EngineKZG>/20       1.07      5.3±0.47ms            1.00      4.9±0.71ms

@adr1anh @storojs72 if you're happy with the extension trait, we can just stamp, otherwise I'll remove the latest commit.


chore: editor placeholder pages

This introduces the EditorApp component, a pluggable "app" that will handle the routes required to handle adding/editing a step to an integration.
Its main goal is to make sure that regardless of where the app has been plugged, all the required routes and sub-components will be set. This together with the previous PR #163 should remove the risk of extending the editor with new features forgetting to do it everywhere is needed.
There are a lot of TODO placeholders for the pages right now, but the basic routing and wiring should be in place. Clicking on any step object when adding a step to an integration should never give an error, but redirect to the right URL and show a "TODO" as the page content.
I'm not super happy about how the whole thing looks right now, there is a lot of code that needs to be written to wire a page to the editor "only" for being able to do this in a typesafe way. I hope this will pay in the long run.

This is a sample usage of the EditorApp component. It requires the route and the relative children component that will be rendered on a route match, for every "sub-editor" we support; right now the list consists of endpoint (aka connection), api provider, template, data mapper, filter, template, step (the hard-coded ones like the log), and extension.
<EditorApp
  selectStepPath={routes.create.start.selectStep}
  selectStepChildren={startStepSelectConnectionPage}
  endpointEditor={{
    selectActionPath: routes.create.start.connection.selectAction,
    selectActionChildren: startStepSelectActionPage,
    configureActionPath:
      routes.create.start.connection.configureAction,
    configureActionChildren: startStepConfigureActionPage,
    describeDataPath: routes.create.start.connection.describeData,
    describeDataChildren: TODO,
  }}
  apiProvider={{
    uploadPath: routes.create.start.apiProvider.upload,
    uploadChildren: <UploadPage />,
    reviewPath: routes.create.start.apiProvider.review,
    reviewChildren: <ReviewPage />,
    editPath: routes.create.start.apiProvider.edit,
    editChildren: <EditPage />,
  }}
  template={{
    templatePath: routes.create.start.template,
    templateChildren: TODO,
  }}
  dataMapper={{
    mapperPath: routes.create.start.dataMapper,
    mapperChildren: TODO,
  }}
  basicFilter={{
    filterPath: routes.create.start.basicFilter,
    filterChildren: TODO,
  }}
  step={{
    configurePath: routes.create.start.step,
    configureChildren: TODO,
  }}
  extension={{
    configurePath: routes.create.start.extension,
    configureChildren: TODO,
  }}
/>

The selectStepChildren element, which must be of type SelectConnectionPage, will handle the actual routing between the sub-editors. Each step - as in the step element shown in the UI - points to an href that depends on the underlying stepKind property. The code that handles that looks like this:
const getStepHref = (step: IUIStep) => {
  switch (step.uiStepKind) {
    case 'api-provider':
      return this.props.apiProviderHref(step, params, state);
    case 'endpoint':
    case 'connector':
      return this.props.connectionHref(
        step as ConnectionOverview,
        params,
        state
      );
    case 'expressionFilter':
    case 'ruleFilter':
      return this.props.filterHref(step, params, state);
    case 'extension':
      return this.props.extensionHref(step, params, state);
    case 'mapper':
      return this.props.mapperHref(step, params, state);
    case 'headers':
      throw new Error(`Can't handle stepKind ${step.stepKind}`);
    case 'template':
      return this.props.templateHref(step, params, state);
    case 'choice':
    case 'split':
    case 'aggregate':
    case 'log':
    default:
      return this.props.stepHref(step, params, state);
  }
};

This is sample usage of the SelectConnectionPage component, as used in the "New integration: select start connection" step:
<SelectConnectionPage
  apiProviderHref={resolvers.create.start.apiProvider.upload}
  connectionHref={(connection, params, state) =>
    resolvers.create.start.connection.selectAction({
      connection,
      ...params,
      ...state,
    })
  }
  filterHref={resolvers.create.start.basicFilter}
  extensionHref={resolvers.create.start.extension}
  mapperHref={resolvers.create.start.dataMapper}
  templateHref={resolvers.create.start.template}
  stepHref={resolvers.create.start.step}
  {/* ...other props... */}
/>

The above snippet of codes are repeated for all the points in the integration editor app were the "EditorApp" is plugged, so:

New integration: select start connection
New integration: select finish connection
New integration: add step
New integration: edit step (without the possibility to change the step type)
Edit existing integration: add step
Edit existing integration: edit step (without the possibility to change the step type)

PR Storybook available here

Poking around, I hit this often when editing an integration on staging and adding a step:

For example I picked 'test3' I think and tried to add a 'log' connection to it.  seems the integration object at this spot isn't defined:

I did ctrl-F5 and opened the dev tools so I'm pretty sure my cache is clear.  I'll keep poking around though too :-)

FYI the problem is the placeholder resolvers for all the routes, that right now simply return a string and don't set the params/state required for the pages to work.


Possibility to estimate transformation without resampling full image

Hello,
I am trying to grid search over a number of hyper parameters to find the best settings for a new and challenging registration problem. In order to speed up the experiment I would like to avoid re-sampling the moving image as the final step because with my images this tends to eat up 30-45s each time.  Is there a way to turn this off and just return the transformation map without the transformed image?
Thanks!

Yes, you can do this be setting WriteResultImage to False in the parameters file. More details in Elastix documentation.

Thanks, that was the issue.  I thought that function was not integrated in SimpleElastix.


upgrade dependencies for semver

closes #1009
a few more updates for semver

It seems like there's some transitive dependencies on make-dir that isn't resolving semver to the version we want so still need to figure that out
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS><EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>

It seems like there's some transitive dependencies on make-dir that isn't resolving semver to the version we want so still need to figure that out
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>(Storybook is already up to the latest version)
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>(babel/cli is also up to the latest version)

is there a newer version of make-dir we can force w/ a resolves?

@jasonbasuil should this be in draft? can't tell if you're saying there are still build issues or webpack warnings

It seems like there's some transitive dependencies on make-dir that isn't resolving semver to the version we want so still need to figure that out
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>(Storybook is already up to the latest version)
<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>via a transitive dependency on<EMAIL_ADDRESS>(babel/cli is also up to the latest version)

is there a newer version of make-dir we can force w/ a resolves?

There is, though I'm not sure if that would cause issues is a specific version of make-dir is specified but could double check.

@jasonbasuil should this be in draft? can't tell if you're saying there are still build issues or webpack warnings

@jeffbax no build issues or webpack warnings currently

@jasonbasuil should this be in draft? can't tell if you're saying there are still build issues or webpack warnings

@jeffbax no build issues or webpack warnings currently

Well, I'd say keep chipping away at things. Mostly couldn't tell if this PR was done or not


env_files + additional_profiles = unexpected behaviour

Describe The Bug
When an env_file for a custom profile exists, it is loaded regardless of profile, presumably in relation to its order in the array.
To Reproduce
https://github.com/Justice4Joffrey/cargo-make-bug
>>> cargo make -p production echo                                                                                13:41:18
[cargo-make] INFO - cargo make 0.35.8
[cargo-make] INFO - Project: xxx
[cargo-make] INFO - Build File: Makefile.toml
[cargo-make] INFO - Task: echo
[cargo-make] INFO - Profile: production
[cargo-make] INFO - Running Task: legacy-migration
[cargo-make] INFO - Execute Command: "echo" "trace"
trace
[cargo-make] INFO - Build Done in 0.43 seconds.

Uses production profile, but RUST_LOG=info in ./etc/prod.env.
EDIT: I can avoid the local.env being loaded by putting it first in the list.

I see - I think this is a misunderstanding on my part. I was expecting additional_profiles to be where I specify custom 'valid' profiles. Turns out that's not the case, this is (I think) how I can specify to load multiple profiles at runtime regardless of what profile I've loaded with --profile.
Looking back at the docs, it is a touch ambiguous how additional_profiles works.

Additional` profiles can be used to define additional environment blocks and they will be defined in a new environment variable CARGO_MAKE_ADDITIONAL_PROFILES

I think I read this as, in order to say -
[env.local]
FOO=value

I would have to define "local" in additional_profiles. But it turns out that would make the "local" env always run.
Thanks for getting back so promptly on this, and for a super useful library.

no problem. i'm happy to get a doc PR if you wish to improve that section (in the content.md) to make it clearer.

Sure - #633


fix: fix store all wal options

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
Before we store all region wal options into table metadata or somewhere, we must store all region wal options.
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.
[x]  This PR does not require documentation updates.

Refer to a related PR or issue link (optional)
#2700

Seems depends on this https://github.com/GreptimeTeam/greptimedb/pull/2816

Seems depends on this #2816

Yes, but it works now. Maybe we can refactor the DatanodeTable and not store the redundant values in the future.


Example for actions and filters is missing

It would be great to have at least a single example of filters and actions on this page.
When reading this page without any previous knowledge, it is not clear how filter/action can be used exactly.

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

ID: 45d45fc4-082b-6da7-80d5-5ab1bc337ce5
Version Independent ID: 54245f96-ae3d-ea7a-36b8-5a1da81d2fe8
Content: Azure Service Bus topic filters
Content Source: articles/service-bus-messaging/topic-filters.md
Service: service-bus-messaging
GitHub Login: @clemensv
Microsoft Alias: spelluru

Hi @ddobric Thank you for your feedback! We will review and update as appropriate.

yes, some examples of valid action expressions are needed. Can you point to any examples where we can use an action expression to set the props (from the subscription)?

Hi @spelluru - Any thoughts on this one? Can we enrich this documentation with samples sought above, or point to a repo with samples?

@mike-urnun-msft  @spelluru,  thanks for finally responding. I do apologize, but after more than a month of no response/ no help with this. I just gave up on it and went with another technology/approach.
I really feel github is not the best place to report issues to Microsoft, they seem to get ignored quite often. I see open issues dating back to over 1.5 years old that are still open with no response.

@mike-urnun-msft  - I see SQL Filter examples in the article linked from this article:
https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter
We should add at least one example of each filter in this article. I will take it as an action item and work with Ashish on this.
@axisc - Please share any examples on using these filters. I will update the article. Thanks.

Hi @jwallra - Apologies for the inconvenience that you've experienced with this thread and the long delay occurred here. Per yours and the OP's feedback, we'll proceed to make the necessary updates on this documentation.

Let us not forget a sample for this guys, thank you in advance!

Any updates guys? It's nice to know Service Bus provides server-side filtering feature, but I have no idea how to configure, or where to configure it... Please help.

Here is the sample code I got from the product team. I will update the article now and after getting more samples. Thanks.
// Instantiate the management client
this.mgmtClient = new ManagementClient(connectionString);

// Create the SQL filter and assign
var sqlFilter = new SqlFilter("source=@stringParam");
sqlFilter.Parameters.Add("@stringParam", "orders");

// Instantiate the Rule = Filter + Action
var FilterActionRule = new RuleDescription
{
     Name = "filterActionRule",
     Filter = sqlFilter,
     Action = new SqlRuleAction("SET source='routedOrders'");
};

await this.mgmtClient.CreateRuleAsycn(BasicTopicName, basicSubscriptionName, filterActionRule);

#please-close


fix DinD host detection when using local socket

When using IPC socket (unix/npipe) to communicate with local docker server docker-py implementation rewrites the base url to HTTP, see https://github.com/docker/docker-py/blob/e901eac7a8c5f29c7720eafb9f58c8356cca2324/docker/api/client.py#L143-L168
We cannot rely on URL scheme in order to detect such connections. Instead, we detect connection adapters added by docker-py api client:

UnixHTTPAdapter https://github.com/docker/docker-py/blob/e901eac7a8c5f29c7720eafb9f58c8356cca2324/docker/transport/unixconn.py

NpipeHTTPAdapter https://github.com/docker/docker-py/blob/e901eac7a8c5f29c7720eafb9f58c8356cca2324/docker/transport/npipeconn.py

As NpipeHTTPAdapter type may not be available outside of Windows we rely on adapter-specific attributes.

Codecov Report

Merging #283 (dfd26e6) into master (2f67234) will decrease coverage by 21.93%.
The diff coverage is 55.55%.

@@             Coverage Diff             @@
##           master     #283       +/-   ##
===========================================
- Coverage   86.60%   64.66%   -21.94%
===========================================
  Files          29       29
  Lines         814      818        +4
  Branches       57       56        -1
===========================================
- Hits          705      529      -176
- Misses         79      266      +187
+ Partials       30       23        -7

Impacted Files
Coverage Δ

testcontainers/core/docker_client.py
57.44% <55.55%> (+1.63%)
:arrow_up:

testcontainers/mssql.py
0.00% <0.00%> (-100.00%)
:arrow_down:

testcontainers/postgres.py
0.00% <0.00%> (-100.00%)
:arrow_down:

testcontainers/compose.py
0.00% <0.00%> (-98.37%)
:arrow_down:

testcontainers/mysql.py
0.00% <0.00%> (-84.00%)
:arrow_down:

testcontainers/elasticsearch.py
0.00% <0.00%> (-83.68%)
:arrow_down:

testcontainers/oracle.py
0.00% <0.00%> (-55.56%)
:arrow_down:

testcontainers/selenium.py
67.85% <0.00%> (-25.00%)
:arrow_down:

testcontainers/core/generic.py
77.14% <0.00%> (-8.58%)
:arrow_down:

testcontainers/core/container.py
70.10% <0.00%> (-7.22%)
:arrow_down:

... and 3 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Rebased to the master. @tillahoffmann, any chance for a review?

Thank you for these improvements! Are there tests that we could add that fail before the change is introduced to avoid future regressions?

@tillahoffmann Hi, it's been more than half a year since I've opened this PR. , Can we maybe merge this?

@tillahoffmann a kind ping

This should be obsolete now that #714 is merged.
Could you check?
If you think the detection is still required maybe add a is_socket_connection method or property and include the results of the check to either host or get_connection_mode of the DockerClient.


Problems listening for multiple inputs

Trying to listen for inputs from multiple lines simultaneously, causes a few issues.
I have a list of Gpio pin numbers I would like to listen to.
Iterating the list, setting up the lines and listeners, only works for the first pin.
for (var pin in _buttonPins) {
    print("setting up pin $pin");
    final line = gpioChip.lines[pin];

    line.requestInput(consumer: "flutter_gpiod", triggers: {SignalEdge.falling, SignalEdge.rising}, activeState: ActiveState.high);

    line.onEvent.listen((evt) {
        _handleGPIOEvent(evt, pin);
    });
}

It appears that Stream get eventStream does not return a broadcastStream, easy fix.
Now it works for two pins.
Still, six to go.
running gpioinfo:
pi@raspberrypi:~ $ gpioinfo
gpiochip0 - 54 lines:
	line   0:      unnamed       unused   input  active-high
	line   1:      unnamed       unused   input  active-high
	line   2:      unnamed       unused   input  active-high
	line   3:      unnamed       unused   input  active-high
	line   4:      unnamed       unused   input  active-high
	line   5:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line   6:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line   7:      unnamed   "spi0 CS1"  output   active-low [used]
	line   8:      unnamed   "spi0 CS0"  output   active-low [used]
	line   9:      unnamed       unused   input  active-high
	line  10:      unnamed       unused   input  active-high
	line  11:      unnamed       unused   input  active-high
	line  12:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line  13:      unnamed       unused   input  active-high
	line  14:      unnamed       unused   input  active-high
	line  15:      unnamed       unused   input  active-high
	line  16:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line  17:      unnamed       unused   input  active-high
	line  18:      unnamed       unused   input  active-high
	line  19:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line  20:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line  21:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
	line  22:      unnamed       unused   input  active-high
	line  23:      unnamed       unused   input  active-high
	line  24:      unnamed       unused   input  active-high
	line  25:      unnamed       unused   input  active-high
	line  26:      unnamed "flutter_gpiodaultRouteName" input active-high [used]
...

Aside from the consumer name being weird (pointer error?), I guess it looks OK.
What is the correct way to do this?

I'll look into it

It appears that Stream get eventStream does not return a broadcastStream, easy fix.

Yeah, it's basically a ReceivePort's receive stream mapped to SignalEvent. Single subscription streams are easy to map over to broadcast streams, while the other way around is way harder, so I chose to return a single subscription stream. I should probably document this though

Aside from the consumer name being weird (pointer error?)

I think I'm not zeroing out the consumer field in the internal GPIO request, I'll change that.

Any advise wrt. how to listen for multiple ports simultaneously ?

Any advise wrt. how to listen for multiple ports simultaneously ?

What do you mean? It should be as simple as configuring them all as input with some non-empty triggers and then just listening to each lines onEvent stream. I just tested with 2 lines and it works fine, in that case at least. Or do you mean multiple chips?
Btw, I'll push an update soon that'll change the single subscription stream into a broadcast stream. (The single subscription stream really has only downsides) As per dart versioning requirements that'll be a major version upgrade.

When I run this code loop
var _buttonPins = [5, 6, 12, 19, 26, 16, 20, 21];

final chips = FlutterGpiod.instance.chips;

// Find the gpio chip
final gpioChip = chips.firstWhere((chip) => chip.label == 'pinctrl-bcm2835');

print("${gpioChip}");

for (var pin in _buttonPins) {
    print("setting up pin $pin");
    final line = gpioChip.lines[pin];

    line.requestInput(consumer: "flutter_gpiod", triggers: {SignalEdge.falling, SignalEdge.rising}, activeState: ActiveState.high);

    line.onEvent.listen((evt) {
        _handleGPIOEvent(evt, pin);
    });
}

I get this error
flutter: GpiodChip(index: 0, name: 'gpiochip0', label: 'pinctrl-bcm2835', numLines: 54)
flutter: setting up pin 5
flutter: setting up pin 6
[ERROR:engine/src/flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: Bad state: Stream has already been listened to.
#0      _StreamController._subscribe (dart:async/stream_controller.dart:710:7)
#1      _ControllerStream._createSubscription (dart:async/stream_controller.dart:860:19)
#2      _StreamImpl.listen (dart:async/stream_impl.dart:493:9)
#3      _ReceivePortImpl.listen (dart:isolate-patch/isolate_patch.dart:87:31)
#4      CastStream.listen (dart:_internal/async_cast.dart:17:17)
#5      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:118:10)
#6      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:88:16)
#7      _ForwardingStream.listen (dart:async/stream_pipe.dart:83:12)
#8      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:118:10)
#9      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:88:16)
#10     _ForwardingStream.listen (dart:async/stream_pipe.dart:83:12)
#11     new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:118:10)
#12     _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:88:16)
#13     _ForwardingStream.listen (dart:async/stream_pipe.dart:83:12)
#14     new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:118:10)
#15     _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:88:16)
#16     _ForwardingStream.listen (dart:async/stream_pipe.dart:83:12)
...

Yeah that was my bad. It's now a broadcast stream in 0.3.0. (uploaded to pub.dev already)

Thank you.


[Live] Triggered actions result in UnprocessableEntityHttpException due to "Invalid or missing checksum" error in LiveComponentHydrator

I've just upgraded from UX 2.4.0 to 2.5.0 in my Symfony 6.1.7 / PHP 8.1.11 project, and all UX Live Component actions no longer work - they do trigger a POST as expected, but the backend responds with HTTP status 422 Unprocessable Entity, due to an exception thrown by LiveComponentHydrator.php:129 with message Invalid or missing checksum. This usually means that you tried to change a property that is not writable: true..
I've done the Composer update in isolation, i.e. nothing else changed, and it goes back to working if I do a downgrade to 2.4.0.
Here's the result of the Composer update:
% composer update --with-dependencies
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Restricting packages listed in "symfony/symfony" to "6.1.*"
Updating dependencies
Lock file operations: 0 installs, 5 updates, 0 removals
- Upgrading doctrine/doctrine-bundle (2.7.0 => 2.7.1)
- Upgrading sensio/framework-extra-bundle (v6.2.8 => v6.2.9)
- Upgrading stripe/stripe-php (v9.8.0 => v9.9.0)
- Upgrading symfony/ux-live-component (v2.4.0 => v2.5.0)
- Upgrading symfony/ux-twig-component (v2.4.0 => v2.5.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
- Upgrading doctrine/doctrine-bundle (2.7.0 => 2.7.1): Extracting archive
- Upgrading sensio/framework-extra-bundle (v6.2.8 => v6.2.9): Extracting archive
- Upgrading stripe/stripe-php (v9.8.0 => v9.9.0): Extracting archive
- Upgrading symfony/ux-twig-component (v2.4.0 => v2.5.0): Extracting archive
- Upgrading symfony/ux-live-component (v2.4.0 => v2.5.0): Extracting archive

When I trigger an action on version 2.4.0, the POST payload looks like this:
{
  "data": "1ed5ada4-e0e0-6e9e-a430-fd47a6d79fa4",
  "editModalIsOpen": false,
  "shareModalIsOpen": false,
  "deleteModalIsOpen": false,
  "shareUrl": "http://<IP_ADDRESS>:8000/v/dxsh-2Sv3DW",
  "doneCtaMustRedirectToOverview": false,
  "formName": "video",
  "video": {
    "title": "Dies ist ein Test",
    "videoOnlyPresentationpageTemplate": "1ed5567e-d2bf-6a90-9bee-fd4a081f390a",
    "_token": "1b98129085706f.rbqRVEz6VFedLBrRDuE7JGZ-L5wBr9uSiPxtFEMlGI0.z5e8FwW9Ejzne0m7I7gJbQwTVsxU6Y3X_aY7QxtUcNvm3c4VCpc_Lvt6Sw"
  },
  "isValidated": false,
  "validatedFields": [],
  "_checksum": "C8V5E5gARfsauKzyYW0nMwmGj0/SPPRc8Me27T/S0K8="
}

But when I trigger the same action on version 2.5.0, it looks a lot slimmer:
{
  "video": {
    "title": "Dies ist ein Test",
    "videoOnlyPresentationpageTemplate": "1ed5567e-d2bf-6a90-9bee-fd4a081f390a",
    "_token": "aae77d559daee12a243f9.tLLZvZtpxG57cxHV7LX_OWOIj99RBaKVqTvjBO6l0tc.1p_0_tIuggUBJEK_wezNcAnl9o8EQ_TQ3GG1U7bUuoH_1Yb83QSvFx0lQA"
  },
  "isValidated": false,
  "validatedFields": []
}

The action is simply triggered through a click on a button which looks as follows:
<button
        class="p-2 pl-4 pr-4 w-full h-full text-left text-sm"
        data-action="live#action"
        data-action-name="showDeleteModal"
>...

I've seen that there has been quite some Changed Behaviours and BCs, so maybe there are changes I need to do. Nevertheless, putting this here in case others run into the same issue.

I had a similar issue until I compiled the assets (the javascript was updated too).

@xaviermarchegay I've also run npm run update and npm run buiild, but this doesn't change the situation for me. I've verified that the NPM dependencies have also been updated to the 2.5.0 version.

Thanks for the very clear bug report including the payloads before and after! And yes, there were quite a few BC-breaking changes, but what you're experiencing should not be happening.
Your 2.5 payload, indeed, looks way too small. Apart from many of your models being missing, it's obviously missing the _checksum. What does your root component element look like when it's rendered? Specifically, the data-live-data-value attribute would be interesting. It should, among other things, contain the _checksum. Also, when you hit this error, is it the first Ajax call that your component has made? Or has it made any others?
Cheers!

It's the first one. I've digged into it for a while now, but still have no idea where this issue comes from. Therefore, allow me to share some more code.
First, here is the gist of my LiveComponent:
<?php

#[AsLiveComponent(
    'videobasedmarketing_recordings_video_manage_widget',
<EMAIL_ADDRESS>)]
class VideoManageWidgetLiveComponent
    extends AbstractController
{
    use DefaultActionTrait;
    use ComponentWithFormTrait;

    #[LiveProp(fieldName: 'data')]
    public ?Video $video = null;

    #[LiveProp]
    public bool $editModalIsOpen = false;

    public function mount(
        Video $video
    )
    {
        $this->denyAccessUnlessGranted(
            VotingAttribute::Edit->value,
            $video
        );

        $this->video = $video;
    }

    #[LiveAction]
    public function showEditModal(): void
    {
        $this->editModalIsOpen = true;
    }

    #[LiveAction]
    public function hideEditModal(): void
    {
        $this->editModalIsOpen = false;
    }

    protected function instantiateForm(): FormInterface
    {
        return $this->createForm(
            VideoType::class,
            $this->video
        );
    }
}

Here is - again only the "gist" - of the component template:
{# @var this \App\VideoBasedMarketing\Recordings\Presentation\Component\VideoManageWidgetLiveComponent #}
{# @var TwigHelperService \App\Shared\Presentation\Service\TwigHelperService #}

    <button
            class="p-2 pl-4 pr-4 w-full h-full text-left text-sm"
            data-action="live#action"
            data-action-name="showEditModal"
    >

                Aufnahme bearbeiten

                {# Heroicon: pencil-square solid #}
                <svg
                        class="h-4 w-4 text-indigo-900"
                        xmlns="http://www.w3.org/2000/svg"
                        fill="currentColor"
                        viewBox="0 0 24 24"
                >
                    <path d="..." />
                    <path d="..." />
                </svg>

    </button>

And finally, here is the result, fresh from the rendered DOM:
<div data-controller="live" data-live-url-value="/_components/videobasedmarketing_recordings_video_manage_widget"
     data-live-data-value="{"video":{"title":"Dies ist ein Test","videoOnlyPresentationpageTemplate":"1ed5567e-d2bf-6a90-9bee-fd4a081f390a","_token":"bf951bf705cf7eccdb7.0m9PHUQoJcx4de_J8RRB5NvjURu1XB2zA2JmWxUuH1M.tgw_TwYfcZo3GIi5sG0jp-OCKVTyMmmLWTU-EEEYcAOCMCpVM2lKvScGug"},"isValidated":false,"validatedFields":[]}"
     data-live-props-value="{"data":"1ed5ada4-e0e0-6e9e-a430-fd47a6d79fa4","editModalIsOpen":false,"shareModalIsOpen":false,"deleteModalIsOpen":false,"shareUrl":"http:\/\/<IP_ADDRESS>:8000\/v\/dxsh-2Sv3DW","doneCtaMustRedirectToOverview":false,"formName":"video","_checksum":"C8V5E5gARfsauKzyYW0nMwmGj0\/SPPRc8Me27T\/S0K8="}"
     data-live-csrf-value="7.IG9PJq5-8-uWF3TKAa7KSJMwsz1IJLEs24SnT-YoNRs.FRsmQtxGvZ_vQS64YJePHdR7-nA-a9NdjeHVA7ZtVCgQQi5xwxCkjcc6Gw">

    <button class="p-2 pl-4 pr-4 w-full h-full text-left text-sm" data-action="live#action"
            data-action-name="showEditModal">

                Aufnahme bearbeiten

                <svg class="h-4 w-4 text-indigo-900" xmlns="http://www.w3.org/2000/svg"
                                             fill="currentColor" viewBox="0 0 24 24">
                    <path d="M21.731 2.269a2.625 2.625 0 00-3.712 0l-1.157 1.157 3.712 3.712 1.157-1.157a2.625 2.625 0 000-3.712zM19.513 8.199l-3.712-3.712-8.4 8.4a5.25 5.25 0 00-1.32 2.214l-.8 2.685a.75.75 0 00.933.933l2.685-.8a5.25 5.25 0 002.214-1.32l8.4-8.4z"></path>
                    <path d="M5.25 5.25a3 3 0 00-3 3v10.5a3 3 0 003 3h10.5a3 3 0 003-3V13.5a.75.75 0 00-1.5 0v5.25a1.5 1.5 0 01-1.5 1.5H5.25a1.5 1.5 0 01-1.5-1.5V8.25a1.5 1.5 0 011.5-1.5h5.25a.75.75 0 000-1.5H5.25z"></path>
                </svg>

    </button>

To corner the problem, I have just re-created the "random number widget" by following the docs to the letter, and the result works, with the resulting DOM looking like this:

    973

    <button data-action="live#$render">Generate a new number!</button>

Ok, things look a tad better now, although it's still not back in a working state.
The "way-to-slim" POST payload was likely due to me not updating the Node dependencies via NPM (I've only now realized that I ran into another issue after doing so, not realizing that the error now lies elsewhere).
The 2.4 payload looks like this:
{
  "data": "1ed5ada4-e0e0-6e9e-a430-fd47a6d79fa4",
  "editModalIsOpen": false,
  "shareModalIsOpen": false,
  "deleteModalIsOpen": false,
  "shareUrl": "http://<IP_ADDRESS>:8000/v/dxsh-2Sv3DW",
  "doneCtaMustRedirectToOverview": false,
  "formName": "video",
  "video": {
    "title": "Dies ist ein Test",
    "videoOnlyPresentationpageTemplate": "1ed5567e-d2bf-6a90-9bee-fd4a081f390a",
    "_token": "1c7ec31404.Kfv42Enjr35GTa1xrMIToIN-EzwXimz953CqAnOee9U.TZiIigvU-ygJIMoB7btx47sfa3NQ5BjFvSfySSeoFIV5pJ2QPqLADxk--A"
  },
  "isValidated": false,
  "validatedFields": [],
  "_checksum": "C8V5E5gARfsauKzyYW0nMwmGj0/SPPRc8Me27T/S0K8="
}

The 2.5 payload, after updating the PHP side via Composer AND the JS side via NPM, looks like this:
{
  "data": {
    "data": "1ed5ada4-e0e0-6e9e-a430-fd47a6d79fa4",
    "editModalIsOpen": false,
    "shareModalIsOpen": false,
    "deleteModalIsOpen": false,
    "shareUrl": "http://<IP_ADDRESS>:8000/v/dxsh-2Sv3DW",
    "doneCtaMustRedirectToOverview": false,
    "formName": "video",
    "_checksum": "C8V5E5gARfsauKzyYW0nMwmGj0/SPPRc8Me27T/S0K8=",
    "video": {
      "title": "Dies ist ein Test",
      "videoOnlyPresentationpageTemplate": "1ed5567e-d2bf-6a90-9bee-fd4a081f390a",
      "_token": "5b8da170bb4638ed4b00e0543.uOOhAZNAoWW_jx71kKTQLVOoT8TIQjyD4EQO_cre49g.3IDRU9F39TPw4nmF0d2ybmvJN4uPLEi7uhNWtp7ojIjovMRJ5AHOFOD8Sw"
    },
    "isValidated": false,
    "validatedFields": []
  },
  "childrenFingerprints": {
    "live-1045461726-0": ""
  },
  "args": {}
}

Symfony UX on the backend handles this payload without issues and returns the updated HTML. However, now the client side runs into
Uncaught (in promise) DOMException: Failed to execute 'replaceChild' on 'Node': The node to be replaced is not a child of this node.
    at http://<IP_ADDRESS>:8000/build/app.js:1350:21
    at Array.forEach (<anonymous>)
    at executeMorphdom (http://<IP_ADDRESS>:8000/build/app.js:1342:19)
    at Component.processRerender (http://<IP_ADDRESS>:8000/build/app.js:1856:7)
    at _callee2$ (http://<IP_ADDRESS>:8000/build/app.js:1810:26)
    at tryCatch (http://<IP_ADDRESS>:8000/build/app.js:157:1357)
    at Generator.<anonymous> (http://<IP_ADDRESS>:8000/build/app.js:157:4174)
    at Generator.next (http://<IP_ADDRESS>:8000/build/app.js:157:2208)
    at asyncGeneratorStep (http://<IP_ADDRESS>:8000/build/app.js:158:103)
    at _next (http://<IP_ADDRESS>:8000/build/app.js:159:194)

Glad you got this much closer when you updated the deps completely. The code causing the error is, indeed, part of a whole new system from 2.5 related to child components. Do you have a child component setup - where you render a component inside of another?

Thanks for the clarification! It's definitely a bug - there is no limitation. But we're doing some fancy things in the latest version with the "outer tag" and child components, and apparently there is a problem with some of that. I'll check into it more deeply.

Booo! See #593


getDoc fails silently on websites that aren't the ZR IDE

If the getDocInjected script can't find the ZR IDE to read text from, as happens when you try committing and pushing on a non-ZR website, the getDoc function returns undefined instead of throwing an error (the injected script throws an error, but this isn't properly transmitted back to the extension). We will set permissions in manifest.json preventing the extension from being used on websites that are not the ZR IDE before we release it, but an injected scripts that fails silently is still problematic.

As of commit 31d9f529253a0498e5c7568ce504d16b186c6289, getDoc times out after 5 seconds (instead of returning undefined) if the injected script fails to return a message. The issue should thus be resolved.


Write up documentation on how to use superset

Create a superset dashboard that is mostly a markdown file that describes how to use PUDL superset. It should explain how to use SQL Lab, link to our data dictionary and which superset features we're not supporting right now (creating personal dashboards and charts).

[ ] Explain the 100k row limit and point to other data access modes
[ ] Link to data dictionary
[ ] Provide a sample SQL query
[ ] Point to any relevant superset tutorial docs

@e-belfer do you think we should include how to create charts in our landing dashboard for now?

@bendnorman Do you have any tutorial documents you like? The ones I've seen are mostly focused on deployment, not usage

I added a couple of preset chart tutorials to the dashboard.

The initial iteration of this is complete!


URL Cleanup

This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).
Fixed URLs
Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

[ ] http://www.apache.org/licenses/LICENSE-2.0 with 1 occurrences migrated to:
https://www.apache.org/licenses/LICENSE-2.0 (https result 200).

I merged them from the command line.


fix(curriculum): added forumTopicId to Use Recursion to Create a Countdown challenge

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

After adding a solution to a new forum topic for this challenge, this PR adds the corresponding forumTopicId to the frontmatter.

@RandellDawson how are you assigning the forumIDs?

They are added after a corresponding forum topic is created for a new challenge.  There will not be many more under the new curriculum, because there is only one more PR which adds 4 new Rosetta Stone challenges which has not yet been merged.


chore: add commitlint hook

Current dependencies on/for this PR:

main

PR #46   👈

This comment was auto-generated by Graphite.

Merge Activity

Sep 27, 4:55 PM: @Hadronomy started a stack merge that includes this pull request via Graphite.


[proxima-beam-core] register common types in Beam Pipeline

cc @dmvk

can you please check failing travis build?


Added ToolAdmin.restartPrimitiveTool to support immediate edit tools.

@Josh-Schifter Your team will likely end up needing ToolAdmin.restartPrimitiveTool for immediate tools to create sheets, etc. Also tried to improve EditCommand documentation based on the meeting we had.

Agreed on restartPrimitiveTool.  Doc improvements are appreciated.


Update README.md

add Bubo Reader(deploy on netlify,glitch or github)

Is that a typo : G;itch ? Thanks for your submission.

I made a mistake. It's "Glitch"


'did-finish-load' event sets window readyState from READY back to LOADING

Does this issue occur when all extensions are disabled?: I modified vs\code\electron-browser\workbench\workbench.html

VS Code Version: I tested it on ea2afbaf90cb6d9672d8a681e90492d23c687064
OS Version: Win10 21H2

Steps to Reproduce:

Add slow loading resource to workbench.html

In devtools disable cache and enable network throttling. Slow 3G should work to make sure the loading completes after window is in ready state.

A reload fires events in this order:

[main 2022-01-15T05:24:15.509Z] window (main): ReadyState.NAVIGATING
[main 2022-01-15T05:24:19.242Z] window (main): ReadyState.READY
[main 2022-01-15T05:24:20.797Z] window (main): did-finish-load event
[main 2022-01-15T05:24:20.797Z] window (main): ReadyState.LOADING

That leaves the window in ReadyState.LOADING

I tried to reproduce with a different image:

<!DOCTYPE html>

		<meta charset="utf-8" />
		<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self' https: data: blob: vscode-remote-resource:; media-src 'self'; frame-src 'self' vscode-webview:; object-src 'self'; script-src 'self' 'unsafe-eval' blob:; style-src 'self' 'unsafe-inline'; connect-src 'self' https: ws:; font-src 'self' https: vscode-remote-resource:;">
		<meta http-equiv="Content-Security-Policy" content="require-trusted-types-for 'script'; trusted-types amdLoader cellRendererEditorText defaultWorkerFactory diffEditorWidget editorGhostText domLineBreaksComputer editorViewLayer diffReview dompurify notebookRenderer safeInnerHtml standaloneColorizer tokenizeToString;">

and was not able to get into that state.

But I do acknowledge a theoretical problem here: the READY signal is emitted from the workbench and I assume that if something loads slowly and we get the did-finish-load event afterwards because something is loading besides the workbench, we could get into this state.
However, I see no way of running into this issue with the workbench.html we have, because workbench.js is the last thing we load.
How does this happen, what is the scenario?

Looking closer, I think these states are a bit bogus, https://github.com/microsoft/vscode/pull/140846 attempts to clean that up and remove the one that depends on the underlying loading event. Maybe you want to review?

I don't think this PR will fix the problem. The did-finish-load event handler never checks the current value of window readyState.
I fixed it by adding a notification for LifecyclePhase.Starting on the renderer, identical to the LifecyclePhase.Ready notification behavior that ends up calling windows setReady().
I can make PR for reference, but I have to find a better repro for the issue first.

But with my change, the did-finish-load handler no longer changes the ReadyState of the window?

I just saw that. Nevermind, that means its fixed 👍


Plot safety car periods for driver_stats_lineplot

Methods already created for strategy plot should be useable with minimal modification.

Done in #23


Authn Filter Config for Beta Authn Policy

Beta authn policy still uses the old authn filter, with specially crafted configuration.

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
84ec49d300d7117859180e9bae30ffced2782cc2
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
84ec49d300d7117859180e9bae30ffced2782cc2
link
/test lint_istio

gencheck_istio
84ec49d300d7117859180e9bae30ffced2782cc2
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
0187b9158f645288473cd1170e51b660a9ff37ca
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I went through the fields in the filter config and policy. Haven't done a e2e test, but I think its ready for review, excepting adding more test cases. @diemtvu

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
ea97187a05f025fa2fad5decebf4b73343d17174
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
3551d1795786abaed6694b6b73085f18362af4dd
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
3551d1795786abaed6694b6b73085f18362af4dd
link
/test lint_istio

unit-tests_istio
3551d1795786abaed6694b6b73085f18362af4dd
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I'll delete the code links for the fields reference before the merge.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
3551d1795786abaed6694b6b73085f18362af4dd
link
/test unit-tests_istio

lint_istio
c9b52877901d0280c23e1ff31e243c65b4b735ba
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

lint_istio
c9b52877901d0280c23e1ff31e243c65b4b735ba
link
/test lint_istio

unit-tests_istio
c9b52877901d0280c23e1ff31e243c65b4b735ba
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@incfly: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

unit-tests_istio
c9b52877901d0280c23e1ff31e243c65b4b735ba
link
/test unit-tests_istio

lint_istio
442435f20c6604ccdb7231bb7776b21a733d17f1
link
/test lint_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Add a configuration setting for PipelineRun timeout

We are setting a max time of 120mn but that probably should be configurable on Pipeline annotation

should we add this as an annotation? or read this from user pipelinerun?
if we read from user pr then would we need to keep some buffer time on top of user's timeout 🤔

I am actually not sure :) but maybe for a start we can make the hardcoded
timeout value of 2h configurable in configmap
On Thu, Dec 16, 2021, 05:34 Shivam Mukhade @.***> wrote:

should we add this as an annotation? or read this from user pipelinerun?
if we read from user pr then would we need to keep some buffer time on top
of user's timeout 🤔
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift-pipelines/pipelines-as-code/issues/129#issuecomment-995431659,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAYFJGPICNY6BB4JTFKQD3URFT5XANCNFSM46MIT3AQ
.

this should be good enough  from b9af16905d6eb51fc4b743c9eb412981d58112ed


perlPackages: version bump IOCompress, CompressRawZlib, CompressRawBzip2

Summary
Version bump (minor) of perlPackages.{IOCompress,CompressRawZlib,CompressRawBzip2}.
perlPackages.IOCompress: 2.096 -> 2.102
perlPackages.CompressRawBzip2: 2.096 -> 2.101
perlPackages.CompressRawZlib: 2.096 -> 2.101
Changelogs contain no notable changes.
Motivation for this change
Perl fails on a version check when Compress::Raw::Zlib is included by Compress::Zlib (part of perl?).
Compress::Raw::Zlib version 2.101 required--this is only version 2.096 at /nix/store/ypr273yvmr07n5n1w1gbcqnhpw7lbbvz-perl-5.34.0/lib/perl5/5.34.0/Compress/Zlib.pm line 11.

This PR updates perlPackages.{IOCompress,CompressRawZlib,CompressRawBzip2} all at once to keep inter-dependencies in check and avoid needlessly rebuilding libreoffice.
Note: causes rebuild of libreoffice, which I cannot build in reasonable time myself.
Reproduce
Somehow I can't reproduce this outside of a derivation being built (perl path issue?).
$ cat test.pl
use Compress::Zlib ;

with import <nixpkgs> {};
stdenv.mkDerivation {
  pname = "test";
  version = "test";

  src = ./test.pl;

  unpackPhase = ''
    perl $src
  '';

  nativeBuildInputs = with pkgs.perlPackages; [
    perl
    CompressRawZlib
  ];
}

$ nix-build -I nixpkgs=$PWD test.nix
these derivations will be built:
  /nix/store/c9mdanmivfndnrzkgjvj78s4nilx6sqh-test-test.drv
building '/nix/store/c9mdanmivfndnrzkgjvj78s4nilx6sqh-test-test.drv'...
unpacking sources
Compress::Raw::Zlib version 2.101 required--this is only version 2.096 at /nix/store/ypr273yvmr07n5n1w1gbcqnhpw7lbbvz-perl-5.34.0/lib/perl5/5.34.0/Compress/Zlib.pm line 11.
...
error: build of '/nix/store/c9mdanmivfndnrzkgjvj78s4nilx6sqh-test-test.drv' failed

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
Result of nixpkgs-review pr 144035 run on x86_64-linux 1

1 package marked as broken and skipped:

odpdown

6 packages failed to build and are new build failures:

libreoffice: log was empty
(libreoffice-still): log was empty
libreoffice-qt: log was empty
libreoffice-unwrapped: log was empty
(libreoffice-still-unwrapped): log was empty
unoconv: log was empty

9 packages built:

hydra-unstable
libreoffice-fresh
libreoffice-fresh-unwrapped
perl532Packages.CompressRawBzip2
perl532Packages.CompressRawZlib
perl532Packages.IOCompress (perl532Packages.CompressZlib)
perl534Packages.CompressRawBzip2
perl534Packages.CompressRawZlib
perl534Packages.IOCompress (perl534Packages.CompressZlib)


[SPARK-41225][CONNECT][PYTHON][FOLLOWUP] Disable semanticHash, sameSemantics, _repr_html_

What changes were proposed in this pull request?
Disable semanticHash, sameSemantics, _repr_html_
Why are the changes needed?
1, Disable semanticHash, sameSemantics according to the discussions in https://github.com/apache/spark/pull/38742
2, Disable _repr_html_  since it requires eager mode, otherwise, it just returns None
In [2]: spark.range(start=0, end=10)._repr_html_() is None
Out[2]: True

Does this PR introduce any user-facing change?
for these three methods, throw NotImplementedError
How was this patch tested?
added test cases

merged into master


Fix flatten_result problem with deprecated cov_names keyword (#285)

Fixes #285

Oops. Guess there wasn't a test for flatten_result. :grimacing:

Yeah I'll add a test for this.

I added a test for flatten_result.


Add support for Odyssey skills and prestige ranks

This merge request adds the following and bumps the version to V3.

ADD: Odyssey ranks and prestige ranks
ADD: Odyssey and Horizon mode
ADD: Document number
CHANGE: Combined N/A and minimum rank mode. CQC defaults to N/A.

You may want to do some minor tweaks to lining up backgrounds with ranks etc, but other than that it should be good to go.
Example generated file:

Thank you so much for contributing, looks awesome! Glad there are people willing to maintain the project as the game updates


config ifstate in /etc/config/luci breaks LuCI

I'd not logged into the web inteface for some time, I connect over SSH once every while and install updates. So I don't know which update caused this problem, but where I expected the LuCI login page I was presented with the following error:
/usr/lib/lua/luci/dispatcher.lua:230: /etc/config/luci seems to be corrupt, unable to find section 'main'
stack traceback:
[C]: in function 'assert'
/usr/lib/lua/luci/dispatcher.lua:230: in function 'dispatch'
/usr/lib/lua/luci/dispatcher.lua:127: in function </usr/lib/lua/luci/dispatcher.lua:126>
After commenting out most of the /etc/config/luci file things started sort of working again.
Ultimately everything is working as expected, however the following section is the culprit:
config ifstate
option interface guest-wifi
option ifname radio0.network2 radio1.network2
option bridge true
Is there a new syntax for this part, or should it be moved to another configuration file?

What is config ifstate?  I've never heard of that config section type.

Your option ifname lacks quotes.


SharedString: Move to ECMAScript Private Fields

This change moves most usages of private member properties to use ECMAScript Private Fields. This brings stronger isolation to our classes and further reduces our available surface area for typescript and javascript users:

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-8.html#ecmascript-private-fields
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Private_class_fields

Are there any breaking change docs we need to update? Ideally folks shouldn't have been depending on typecasts to access private members, but surely some folks have been so it might be nice to give a "heads up" in the upgrade docs.

Any eslint rules we can add to nudge developers in the private field direction instead of the typescript private methods/properties?

One thing to keep an eye on is the bundle size impact since I believe Typescript transpiles this into something pretty verbose when the target is not esnext (though maybe it is also available in earlier targets)

I'll be going on vacation momentarily so don't block on me here. I like the direction of the change, my only concern would be how much bloat this adds to downstream consumers. Would be good to double check our bundle analysis both for this PR and on the corresponding package bump for the internal product repo.

I'm hoping this won't break anything, and it's pretty hard to know if we do. I think the best way to find out what breaks is to try and see. I will add a breaking note to that effect.
I looked briefly for an eslint rule, but didn't see one. its a good idea.
bundle size is a good call out.

Regarding linting, use the no-restricted-syntax rule.

Also relevant: https://github.com/typescript-eslint/typescript-eslint/issues/1391

looks like this has some unintuitive interactions with things like Object.create. closing this for now.

I'm curious...what are the interactions with Object.create that are problematic?

basically, it fails, as the created object can't access the private members of the original type, even via it's public methods, so things like the share string interceptors fail to work at all.

we can probably still use them in specific instances, but can't just wholesale enable them, and need to be cognizant of the limitations which are non-obvious

Got it. Thanks.


LIVD Table Needs To Be Updated

There is a new update for the LIVD table. This is an essential operation as it adds new emerging tests and takes away deprecated ones.
Steps:

Download LIVD table from here: https://www.cdc.gov/csels/dls/sars-cov-2-livd-codes.html
Add it to metadata/tables folder

follow naming convention to rename the current one
follow naming convention by renaming the new one LIVD-SARS-CoV-2-latest.csv

Check the covid-19 schema and make sure the table property points to the latest table
Check and change values in the supplemental table for the model name, if it has changed in the SARs table
Run generatedocs
Run integration test and end2end

Jorge experiencing sign in errors. @MauriceReeves-usds will work with @jorg3lopez to get it merged.

Currently 4 updated behind on LIVD. Jorge will work on this today.


edit tabs spacing according to Rivka's review

Signed-off-by: 662962756<EMAIL_ADDRESS>

 review console locale files for all languages


Speech_detection

speech_detector
When user speaks , some thing his speech is translated into words and that words are displayed dynamically on the notebook which is build with beautiful UI .
once please go through this and merge it , kindly inform for any modifications hacktoberfest_23 : )

https://github.com/aidenybai/million/assets/127650446/07d732f1-a352-4356-96ea-89e4e67ef35b


Update README.md

Pull Request #36

Checklist

[x] I have tested the changes locally
[x] Documentation has been updated (if necessary)

Make a fork and try to do so it automatically updates
You can create a separate issue for this


Merge import and from

Instead of the current
import text/blah.sh
OR
from text import blah.sh
Merge from() into import() so that it becomes
import text/blah.sh
OR
import blah.sh from text

Resolved by 0045246e433f190738897acd7e75857cc040cf2a


Sample Config with Error Missing a Comma

This PR contains a:

[ ] bugfix
[ ] new feature
[ ] code refactor
[ ] test update
[ ] typo fix
[x] metadata update

Motivation / Use-Case

Breaking Changes

Additional Info

@luizalexandrew pelase accept CLA