Navigators raising unnecessary errors when closed or disposed

Version: v2.0.0-rc.4
While playing with the latest version I noticed that some new errors were raised, but I think they should not.

Example 1 : IFrameWindow
Calling userManager.signinSilent() while being logged out.
The following, at IFrameWindow.ts#L59, will be raised :
close(): void {
  ...
  this._abort.raise(new Error("IFrame removed from DOM"));
  ...
}

Removing the iframe is normal behavior in that case, so it should not raise an error.
[UserManager] startSilentRenew: begin
[SilentRenewService] start: begin
[UserManager] getUser: begin
[UserManager] _loadUser: begin
[WebStorageStateStore] get('user:http://localhost:8080/auth/realms/demo:demo'): begin
[InMemoryWebStorage] getItem('oidc.user:http://localhost:8080/auth/realms/demo:demo'): begin
[UserManager] signinSilent: begin
[UserManager] _loadUser: begin
[WebStorageStateStore] get('user:http://localhost:8080/auth/realms/demo:demo'): begin
[InMemoryWebStorage] getItem('oidc.user:http://localhost:8080/auth/realms/demo:demo'): begin
[UserManager] _loadUser: no user storageString
[UserManager] _loadUser: no user storageString
[UserManager] getUser: user not found in storage
[UserManager] _signinStart: begin
[OidcClient] createSigninRequest: begin
[MetadataService] _getMetadataProperty('authorization_endpoint'): begin
[MetadataService] getMetadata: begin
[MetadataService] getMetadata: getting metadata from http://localhost:8080/auth/realms/demo/.well-known/openid-configuration
[JsonService] getJson: begin
[JsonService] getJson: url: http://localhost:8080/auth/realms/demo/.well-known/openid-configuration
[JsonService] getJson: HTTP response received, status 200
[MetadataService] getMetadata: merging remote JSON with seed metadata
[MetadataService] _getMetadataProperty('authorization_endpoint'): resolved
[OidcClient] createSigninRequest: Received authorization endpoint http://localhost:8080/auth/realms/demo/protocol/openid-connect/auth
[SigninState] toStorageString: begin
[WebStorageStateStore] set('38ca48dfc1724961a2aecab05f210c65'): begin
[UserManager] _signinStart: got signin request
[IFrameWindow] navigate: Using timeout of: 10
[IFrameWindow] navigate: begin
[IFrameWindow] navigate: setting URL in window
[WDS] Live Reloading enabled.
[IFrameWindow] navigate: got response from window
[IFrameWindow] _dispose: begin
[Event('Window navigation aborted')] raise: Error: IFrame removed from DOM
    at IFrameWindow.close (vendor.js:79346)
    at vendor.js:79276
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (vendor.js:80388)
    at _next (vendor.js:80410)
    at ZoneDelegate.invoke (polyfills.js:381)
    at Zone.run (polyfills.js:143)
    at polyfills.js:1285
    at ZoneDelegate.invokeTask (polyfills.js:415)
    at Zone.runTask (polyfills.js:187)
[UserManager] _signinEnd: begin
[OidcClient] processSigninResponse: begin
[OidcClient] readSigninResponseState: begin
[WebStorageStateStore] remove('38ca48dfc1724961a2aecab05f210c65'): begin
[SigninState.fromStorageString]
[OidcClient] processSigninResponse: received state from storage; validating response
[ResponseValidator] validateSigninResponse: begin
[ResponseValidator] _processSigninState: begin
[ResponseValidator] _processSigninState: state validated
[ResponseValidator] _processSigninState: Response was error login_required
[OidcClient] clearStaleState: begin
[WebStorageStateStore] getAllKeys: begin
[UserManager] removeUser: begin
[UserManager] storeUser: begin
[UserManager] removing user
[WebStorageStateStore] remove('user:http://localhost:8080/auth/realms/demo:demo'): begin
[InMemoryWebStorage] getItem('oidc.user:http://localhost:8080/auth/realms/demo:demo'): begin
[InMemoryWebStorage] removeItem('oidc.user:http://localhost:8080/auth/realms/demo:demo'): begin
[State.clearStaleState] got keys (2) ['efa2be9d8cb34f89ae9f6860aa7845d6', '3d6a91d95d1343f885f7523174a5e95c']
[WebStorageStateStore] get('efa2be9d8cb34f89ae9f6860aa7845d6'): begin
[State.fromStorageString]
[State.clearStaleState] got item from key:  efa2be9d8cb34f89ae9f6860aa7845d6<PHONE_NUMBER>
[State.clearStaleState] removed item for key:  efa2be9d8cb34f89ae9f6860aa7845d6
[WebStorageStateStore] remove('efa2be9d8cb34f89ae9f6860aa7845d6'): begin
[WebStorageStateStore] get('3d6a91d95d1343f885f7523174a5e95c'): begin
[State.fromStorageString]
[State.clearStaleState] got item from key:  3d6a91d95d1343f885f7523174a5e95c<PHONE_NUMBER>
[State.clearStaleState] removed item for key:  3d6a91d95d1343f885f7523174a5e95c
[WebStorageStateStore] remove('3d6a91d95d1343f885f7523174a5e95c'): begin
[UserManager] removeUser: user removed from storage
[UserManagerEvents] unload: canceling existing access token timers
[Timer('Access token expiring')] cancel: begin
[Timer('Access token expired')] cancel: begin
[Event('User unloaded')] raise:

Example 2 : PopupWindow
Calling userManager.signinPopup() while being logged out and closing the popup manually right after it opens.
The following, at PopupWindow.ts#L60, will be raised :
public close(): void {
  ...
  this._abort.raise(new Error("Popup closed"));
  ...
}

We already have the error Popup closed by user, so the other one should not be necessary.
[UserManager] signinPopup: begin
[UserManager] _signinStart: begin
[OidcClient] createSigninRequest: begin
[MetadataService] _getMetadataProperty('authorization_endpoint'): begin
[MetadataService] getMetadata: begin
[MetadataService] getMetadata: using cached values
[MetadataService] _getMetadataProperty('authorization_endpoint'): resolved
[OidcClient] createSigninRequest: Received authorization endpoint http://localhost:8080/auth/realms/demo/protocol/openid-connect/auth
[SigninState] toStorageString: begin
[WebStorageStateStore] set('ee206ac354ee41f9935e3adb5b59128f'): begin
[UserManager] _signinStart: got signin request
[PopupWindow] navigate: begin
[PopupWindow] navigate: setting URL in window
[Event('Window navigation aborted')] raise: Error: Popup closed by user
    at vendor.js:79418
    at timer (polyfills.js:2570)
    at ZoneDelegate.invokeTask (polyfills.js:415)
    at Object.onInvokeTask (vendor.js:37141)
    at ZoneDelegate.invokeTask (polyfills.js:414)
    at Zone.runTask (polyfills.js:187)
    at invokeTask (polyfills.js:496)
    at ZoneTask.invoke (polyfills.js:485)
    at data.args.<computed> (polyfills.js:2550)
[PopupWindow] _dispose: begin
[UserManager] _signinStart: error after preparing navigator, closing navigator window
[Event('Window navigation aborted')] raise: Error: Popup closed
    at PopupWindow.close (vendor.js:79434)
    at vendor.js:80102
    at Generator.throw (<anonymous>)
    at asyncGeneratorStep (vendor.js:80388)
    at _throw (vendor.js:80414)
    at ZoneDelegate.invoke (polyfills.js:381)
    at Object.onInvoke (vendor.js:37154)
    at ZoneDelegate.invoke (polyfills.js:380)
    at Zone.run (polyfills.js:143)
    at polyfills.js:1285

Example 3 : PopupWindow
Calling userManager.signinPopup() while being logged out and proceed with login.
The following, at PopupWindow.ts#L60, will be raised :
public close(): void {
  ...
  this._abort.raise(new Error("Popup closed"));
  ...
}

Closing the popup is normal behavior in that case, so it should not raise an error.
[UserManager] signinPopup: begin
[UserManager] _signinStart: begin
[OidcClient] createSigninRequest: begin
[MetadataService] _getMetadataProperty('authorization_endpoint'): begin
[MetadataService] getMetadata: begin
[MetadataService] getMetadata: using cached values
[MetadataService] _getMetadataProperty('authorization_endpoint'): resolved
[OidcClient] createSigninRequest: Received authorization endpoint http://localhost:8080/auth/realms/demo/protocol/openid-connect/auth
[SigninState] toStorageString: begin
[WebStorageStateStore] set('c91be46b10674906afd3c5da19326ca9'): begin
[UserManager] _signinStart: got signin request
[PopupWindow] navigate: begin
[PopupWindow] navigate: setting URL in window
[PopupWindow] navigate: got response from window
[PopupWindow] _dispose: begin
[Event('Window navigation aborted')] raise: Error: Popup closed
    at PopupWindow.close (vendor.js:79434)
    at vendor.js:79276
    at Generator.next (<anonymous>)
    at asyncGeneratorStep (vendor.js:80388)
    at _next (vendor.js:80410)
    at ZoneDelegate.invoke (polyfills.js:381)
    at Object.onInvoke (vendor.js:37154)
    at ZoneDelegate.invoke (polyfills.js:380)
    at Zone.run (polyfills.js:143)
    at polyfills.js:1285
[UserManager] _signinEnd: begin
[OidcClient] processSigninResponse: begin
[OidcClient] readSigninResponseState: begin
[WebStorageStateStore] remove('c91be46b10674906afd3c5da19326ca9'): begin
[SigninState.fromStorageString]
...

I actually had a fix for this originally in the logger improvements that was just out scope for the PR - basically just needs to have a couple of lines moved around in the IFrameWindow and PopupWindow code.

I actually had a fix for this originally in the logger improvements that was just out scope for the PR - basically just needs to have a couple of lines moved around in the IFrameWindow and PopupWindow code.

I guess those two changes:

https://github.com/authts/oidc-client-ts/pull/291#discussion_r774449005
https://github.com/authts/oidc-client-ts/pull/291#discussion_r774449331

@kherock please fix that soon.

I tested those changes again but it looks like moving the popup window's abort event only prevents Example 2.
I'd say examples 1 & 3 are by design. Maybe with some careful refactoring someone could get rid of those events. However they're debug logs that aren't present with Log.INFO, and calling close() while there are potentially still active event listeners should indeed raise an error. I think it makes sense that debug logs should show error events even when nothing is subscribed to them.
Regardless the only time an error event must be raised here is when the promise created in navigate() is unresolved and the window is closed programmatically. This event is really important here because the rejection handler calls _dispose() in order to clean up after itself. What you see in the logs is what happens when the event is raised after someone else already called the _dispose() method.


remove require(octokit)

remove require(octokit) since it seems to be already built into github actions

documentation: https://github.com/actions/github-script


C# port of MathDice

This is a surprisingly good learning exercise, I'm discovering features and techniques in C# and re-learning fundamentals of programming I take for granted. Thanks Jeff!

We need more C# ports, appreciated! 🤝


Using Custom Filter in Datatable as a service Implementation

Can somebody explain me with a simple example how to implement custom filter in Datatable as a service Implementation. I couldn't understand a thing from tutorials.

Let me try if I can explain it for you.
On your DT Service class you have an ajax() method that handles the ajax json response to client-side.  This is the place where you transform your json response by editing/adding column, etc...
Another method is the query() method that handles your base query to be use by DT. The class has request() method that you can use to access the Request instance. See example snippet below:
    public function ajax()
    {
        return $this->datatables
            ->eloquent($this->query())
            ->addColumn('action', 'audits.audit.datatables.action')
            ->make(true);
    }

    public function query()
    {
        $audits = Audit::query();

        if ($this->request()->get('auditType')) {
            $audits->where('type', $this->request()->get('auditType'));
        }

        return $this->applyScopes($audits);
    }

Hope this helps. Will try to add more demo on service implementation soon.

Thanks. I got this part. Can you tell me how to send ajax data from client and then redraw the table ?

Hook your js on preXHR event of DT to pass custom data to server. https://datatables.net/reference/event/preXhr

Now custom filter works but pagination is not working.

Thanks, I solved it.

Hi Can I see an example???

See the above code snippet by @yajra. Or if you are looking for JavaScript snippet tell me.

in the above Request example with 'auditType' -- where is this posted from? the blade? can it be posted from a controller?

From the Javascript, here is the example code :
$('#dataTableBuilder')
.on('preXhr.dt', function ( e, settings, data ) {
data.auditType= $('input[name=auditType').val();
});

<input type="text" onchange="abc(this.value)" >

    function abc(a) {
        $('.datatable')
        .on('preXhr.dt', function ( e, settings, data ) {
            data.auditType = a;
        });
    }

sir, iam using datatable service too, why i cannot loaddata after onchange ..

Hi i do as follows:  i catch the change event and click the reload button on datatable, like this:
$(selector).on('change',function(){
$('.buttons-reload').click();
});
Im not pretty sure its the right way to update the table, but it works.

Hi, could you please help me? Who makes the request in this case.
My  view:
<input type="text" name="abc">         <div class="col-md-12">             {!! $dataTable->table(['style'=>'width:100%', 'class'=>'table table-striped table-hover']) !!}         </div>
ClientsDataTable:
`
public function query()
{
$workstation_id = Auth::user()->activeWorkstation()->id;
    $clients = Client::where('workstation_id', $workstation_id)->with('addresses')->with('devices');

    if ($this->request()->get('abc')) {
        $clients->where('name', $this->request()->get('abc'));
    }

    return $this->applyScopes($clients);
}

JS:

`
Please help, I don't know who supposed to send the request.

The datatable makes the request every time you change the values on your custom filter.
You need to catch the change,keyup or keydown event on the input, like:
$(selector).on('change',function(){ $('.buttons-reload').click(); });
The buttons-reload is a button that you configure on the datatable class:
public function html()     {         return $this->builder()             ->columns($this->getColumns())             ->addAction(['width' => '35%'])             ->parameters([                 'language' => [                     'url' => '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json'                 ],                 "lengthMenu" => [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],                 "pagingType" => "full_numbers",                 'dom' => 'lBfrtip',                 'scrollX' => true,                 **'buttons' => [                     'reload'                 ],**             ]);     }
So when you press keys on the input, and catch the event, the datatable's reload button is clicked, then it provokes the request, the datatable class catch the input value and applies to the query you need to execute.
It works for me, but possibly is a better way to make it works.

Hi,
It did reload the query, but without passed data. Any suggestion?

It works!!! Sorry, i forgot to add on preXhr.dt on the 'on change' event like this:
$('input[name=abc]').on('change',function(){                     $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {                         data.abc= $('input[name=abc]').val();                     });                     $('.buttons-reload').click();                 });

I'll just leave this here for anyone who is interested ;)
$(document).ready(function () {
    $('.js-datatable-filter-form :input').on('change', function (e) {
        window.LaravelDataTables["dataTableBuilder"].draw();
    });

    $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {
        $('.js-datatable-filter-form :input').each(function () {
            data[$(this).prop('name')] = $(this).val();
        });
    });
});

'preXhr.dt

I'll just leave this here for anyone who is interested ;)
Javascript
$(document).ready(function () {
    $('.js-datatable-filter-form :input').on('change', function (e) {
        window.LaravelDataTables["dataTableBuilder"].draw();
    });

    $('#dataTableBuilder').on('preXhr.dt', function ( e, settings, data ) {
        $('.js-datatable-filter-form :input').each(function () {
            data[$(this).prop('name')] = $(this).val();
        });
    });
});

The extra filter data can be retrieved via the request() function. Using a scope the results can be filtered in the back-end.
Example scopes:
Archived scope
<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class ArchivedScope implements DataTableScopeContract
{
    public function apply($query)
    {
        $query->onlyTrashed();

        return $query;
    }
}

Example controller method:
public function archived(UserDataTable $dataTable)
{
    $dataTable->addScope(new App\DataTables\Scopes\ArchivedScope());

    return $dataTable->render('admin.users.index');
}

Role scope
Note the request() function in the apply method here.
<?php namespace App\DataTables\Scopes;

use Yajra\Datatables\Contracts\DataTableScopeContract;

class RoleScope implements DataTableScopeContract
{
    public function apply($query)
    {
        if ($roleId = request('role_id')) {
            $query->where('role_id', $roleId);
        }

        return $query;
    }
}

More information on the scopes can be found here: https://datatables.yajrabox.com/services/scope

Thank you my lord, this this this 'preXhr.dt this is what i am looking for, please yajra add this in document somewhere because
there are two default ways i know but this mix and match with service class implementation along with ajax filters is really really helpful. Thank you so much again :D


'Reboot to update' after click behavior

After clicking "Reboot to update", fixed wrong text and locked modal until admin node is rebooted.
bsc#1045380, bsc#1045730

[X] Implementation
[X] Update specs
[x] GIF

I decided to simplify a bit the loading part suggested by @flavio adding a loading icon to the rebooting button.
Also, I wasn't able to automate testing (:pensive:) because I'm not able to mock browser requests and we don't have js testing yet. I found https://github.com/oesmith/puffing-billy#setup-for-capybara that would do the trick but it seems to exist an issue with phantomjs. If someone has an idea, drop it here and I'll check it out.

@vitoravelino given concourse won't show me this jobs logs, but it failed after 34 seconds, I'm assuming this needs to just be forced pushed.. Can you do that? I'd like to merge this ASAP.


Examples 2.0

We need a few examples which I think we can split into 3 groups:

simple universal examples like TodoMVC
simple examples which show how to work with a particular feature:

windows on desktop (an app with the Settings window)
FS (?)
Node backend (http server?)
p2p (background color change on click from any peer)

something more advanced for the showcase, like adding collaborative capabilities to existing apps

In the next two weeks I'm going to focus on groups 1 and 2, cause I think it will be more useful in the short term
Please share your ideas for the apps here or post links to opensource projects that we can wrap into Socket Runtime (cc @getify)

Hi @chicoxyzzy , I was thinking, maybe we can use my application  socket-life-counter  as one of the examples from group 1. It's a simple application, I took one of my first apps I wrote in vanilla JS, and convert it to  socket app.  Most of functionality it's implemented , of course it's not completely finished, some more work needs to be done. It's using react template also got redux included , typescript added. Now, I'm only w8ing  for p2p been enabled, so I can start sharing this app across all devices. What do you think ?

Hey @wujekbizon, what is the premise of the life-counter? Where can we find the original?

Hey @wujekbizon, what is the premise of the life-counter app? Where can we find the original?

It's an app, for counting life total in card games like Magic The Gathering. You can set timer , name a player. Really basic things.
the code can be found github-code. There is also live version to be found https://js-lifecounter.vercel.app/

I do have also simple shopping list wrote in React, shopping list

Hey @wujekbizon, what is the premise of the life-counter app? Where can we find the original?

It's an app, for counting life total in card games like Magic The Gathering. You can set timer , name a player. Really basic things. the code can be found github-code. There is also live version to be found https://js-lifecounter.vercel.app/

Does it rely on any network capabilities?

Hey @wujekbizon, what is the premise of the life-counter app? Where can we find the original?

It's an app, for counting life total in card games like Magic The Gathering. You can set timer , name a player. Really basic things. the code can be found github-code. There is also live version to be found https://js-lifecounter.vercel.app/

Does it rely on any network capabilities?

In its current form , no.
Are you looking for examples, that  are using, let's say, connection to DB , or server ?

@wujekbizon this looks really good but I think using the todo-mvc apps will provide the most familiar context for the largest possible audience.

@wujekbizon this looks really good but I think using the todo-mvc apps will provide the most familiar context for the largest possible audience.

Yes, you are 100% right.

TLDraw: https://github.com/tldraw/tldraw

PushPin: https://github.com/automerge/pushpin

other "local-first" app ideas -- actually, "local-only" in that they're only only for your own "personal cloud" of devices -- that I would like to make for showing off socket:

distributed credentials management -- like 1password/etc, but where you can "store" all your secrets (encrypted, of course) out in the global peer network cache (just simply re-broadcasting every 24-48 hrs, etc). of course, it's also local on your device, but by also being replicated in the network, it ensures your credentials can be synced between all your devices, and also acts as a "backup" in case your device is lost. obviously, there's a chicken-and-the-egg problem here about how you protect your "master secret" that encrypts/decrypts your credentials store. but I have some ideas about how to handle that.

note: this shows off using the network, but is not designed for user-to-user interaction
it would also show off using bluetooth/nfc for local-device-sync of secrets

distributed clipboard -- I already built this simple tool at https://copythat.to which lets you securely synchronize copy/paste of text across any device, by storing the encrypted data in a gist in your oauth-authenticated github account. But I would like to wrap this in socket and have it work fully P2P with no need for github.

note: this shows off using the network, but is not designed for user-to-user interaction
it would also show off using bluetooth/nfc for local-device-sync of secrets

personal mental health tracker -- probably self explanatory as to why this is data you'd like to keep in an app on your device(s) but never have any intent to share that data with others (and especially not a cloud server of some company).

Another app example: tailwind


FetchMock@12, ReferenceError: Response is not defined

Node: v20.17.0
NPM: 10.8.2
fetchMock: 12.0.2
webpack: 5.95.0
I am trying to upgrade tests in our project (React) with v12. Made all of the changes as per the new documentation.
But now I am starting to get the error: ReferenceError: Response is not defined for all of the tests. This is an example of how a test with new changes look like:
describe(A test using fetchMock', () => {
    beforeEach(() => {
        fetchMock.mockGlobal();
    });

    afterEach(() => {
        fetchMock.clearHistory();
        fetchMock.removeRoutes();
        fetchMock.unmockGlobal();
    });

    it('It should display data for the site', async () => {
        fetchMock.get('api/random/sites', [{code: 'TEST', name: 'TestName'},{code: 'TEST1', name: 'TestName1'}]);
        const { findByTestId} = setup();
        await act(async () => fetchMock.callHistory.flush(true));

        const container = await findByTestId('data-container');
        expect(container).toBeInTheDocument();

        expect(fetchMock.callHistory.called('api/dashboard/emergency/sites')).toBeTruthy();
    });
});

pendingPromises: [
        Promise {
          <rejected> ReferenceError: Response is not defined
              at Router.generateResponse node_modules\fetch-mock\dist\cjs\Router.js:137:38)
              at node_modules\fetch-mock\dist\cjs\Router.js:117:74
        }
      ],

I am not sure if my test still missing something that is needed for v12,
I am happy to provide additional information if needed.
Thanks in advance!

This sounds like something related to your specific test runner's environment. Are you able to create a repo with a reduced test case that includes exactly how you're configuring webpack, react etc. Once I have that I can investigate

It is a bit difficult to create a repo.
If this helps, when I added fetch-ponyfill in jestSetup.ts (which is my setupFilesAfterEnv in jest config) and the following code in the same file:
const ponyfillFetch = fetchPonyfill();
if (!globalThis.fetch) {
    globalThis.fetch = ponyfillFetch.fetch;
    globalThis.Headers = ponyfillFetch.Headers;
    globalThis.Request = ponyfillFetch.Request;
    globalThis.Response = ponyfillFetch.Response;
}

Error is gone, but then test succeeds only when I mock response like this:
fetchMock.get('api/random/sites',  new Response(JSON.stringify([{code: 'TEST', name: 'TestName'},{code: 'TEST1', name: 'TestName1'}])));
Additional Information:
testEnvironment: 'jsdom',
And a snippet of polyfills used in webpack:
const polyfills = [
    'core-js/stable',
    'regenerator-runtime/runtime',
    'time-input-polyfill',
    'url-search-params-polyfill',
    'whatwg-fetch',
    'abortcontroller-polyfill'
];

export const baseOptions = {
    entry: {
        app: [...polyfills, './index.tsx'],
    },
    exclude: [
        /node_modules/,
        /polyfills/
    ],
    plugins: {},
    sourceMap: true,
};

Sorry, I'll only look at it if you create a repo that demonstrates the failure. In my experience, discussing things without an example I can actually run just takes a lot longer, and often I am unable to recreate the issue and debug as it relies on something that has been left out of the description provided in the issue.

@ShamaGarg closing due to inactivity. I'll happily look at it if you can create a repo I can run


Failed to execute 'start' on 'AudioBufferSourceNode'

I have my audio editing tool working for FireFox and when checking for chrome compatibility I run into the error output stated in the title.
this is my code:
function create_wavesurfer(id, source){
  var instance = Object.create(WaveSurfer);

  instance.init({
    container: document.querySelector("#timeline_" + id),
    waveColor: '#EDC5AA',
    progressColor: '#E88E4B',
    scrollParent: true,
    minPxPerSec: 60
  })

  instance.on('ready', function(){
    instance.play();
  })

  instance.load(source);
}

when the play() is called the error is triggered.
Chrome Version 39.0.2171.71 (64-bit)
Any ideas?
EDIT:
Full output: Uncaught InvalidStateError: Failed to execute 'start' on 'AudioBufferSourceNode': Offset must be a finite non-negative number: -0.702404

I'm also experiencing the same issue with multiple waveforms and I can't necessarily reinstall due to custom code. Any thoughts on what it could be?


Remove trailing whitespaces from differentiable parameterizations notebooks

I stumbled upon some trailing whitespaces in differentiable parameterizations notebooks and removed them. I also added newlines at end of file #unix.

Pull Request Test Coverage Report for Build 503

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 77.725%

Totals

Change from base Build 499:
0.0%

Covered Lines:
1640

Relevant Lines:
2110

💛  - Coveralls

Thanks, @felixwege


Provide a meaningful message when taking approval for data usage when signing in

Provide a more meaningful message for the below when taking approval for data usage when signing in. This should include for what purpose you need these information for (without just pointing to the policies). And better it could be worded in a more polite way.
By selecting below categories you agree to Identity Servers Terms of Services. You also agree to our Privacy Policy, which describes how we process your information, including below attributes

This has been changed as below with the Doc team's help,

Changes are already with 5.5.0-alpha2 release
https://github.com/wso2/carbon-identity-framework/pull/1368
@emswbandara shall we close this?


feat(worlds): add animals

:tada: This PR is included in version 1.13.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


A way to get complete PyPi index in machine-readable form

Hi!
I'm author of repology.org which tracks package versions in 100+ repositories. It supported PyPi as well, which is very useful as it may point to the newerver version of any python package as sonn as it's updated on PyPi, but this has broken because index of all pypi packages is no longer available from https://pypi.python.org/pypi/. https://pypi.python.org/simple is not suitable either, as I absolutely need package versions (and preferably other metadata such as summary and license) in addition to packages names, and it would be to slow to download page for each package (and will also generate extra server load).
I was directed here from #python, so I ask for a simple way to get a machine readable index of all PyPi packages. It doesn't need to be realtime, at least for repology hourly/daily generated file would be quite sufficient. Machine-readable format such as json is also highly preferred, e.g. something like this.
[
    {
        "name": "requests",
        "version": "2.18.1",
        "summary": "Python HTTP for Humans."
    }
    ...
]

Hi @AMDmi3,
There is already a per-project JSON endpoint, e.g. https://pypi.org/pypi/requests/json.
There is also an RSS feed which gives every new release of any project: https://pypi.org/rss/updates.xml.
It seem to me like these would mostly cover your use case, do you agree?

Unfortunately, no. Info on all packages is needed, and per-project json is too long to fetch and, as mentioned, would generate unneeded server load.

Hi! Thanks for filing this issue, it is close enough in scope to another issue, that I'm going to close this as a duplicate of #347. Ideally please comment on that issue with the relevant items you would need from such an API.


AuthError: Not authorized error Sign in with Apple + Cognito

Describe the bug
I'm trying to integrate SIWA with AWS Cognito. And I'm able to successfully sign in on the AWS hosted UI after configuring with SIWA.
    func appleLogin() async {
        do {
            let result = try await Amplify.Auth.signInWithWebUI(for: .apple)
            switch result.nextStep {
            case .done:
                print("login is done")
            default:
                print(result.nextStep)
            }
        } catch {
            print(error)
        }
    }

However, on the native iOS app, I'm able to get the auth token and decode the JWT token. And once I send that token to AWS using func federateToIdentityPool(withProviderToken:, for:) of AWSCognitoAuthPlugin, this leads to fail.
    func federateToIdentityPools(with token: Data) {
        guard
            let tokenString = String(data: token, encoding: .utf8),
            let plugin = try? Amplify.Auth.getPlugin(for: "awsCognitoAuthPlugin") as? AWSCognitoAuthPlugin
        else { return }
        Task {
            do {
                let result = try await plugin.federateToIdentityPool(
                    withProviderToken: tokenString,
                    for: .apple
                )
                print("Successfully federated user to identity pool with result:", result)
            } catch {
                // Failed to federate to identity pool with error: AuthError: Not authorized error
                // Recovery suggestion: Check whether the given values are correct and the user is authorized to perform the operation
                print("Failed to federate to identity pool with error:", error)
            }
        }
    }

As Recovery suggestion mentiond, I checkd my identity pool.
The IAM Role I use has three roles as follow.

In identity provider, I added apple with accurate client id.

I also activate guest access with that IAM role.

What can I check more?
Steps To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Expected behavior
Succes Sign in apple with federateToIdentityPool method using token.
Amplify Framework Version
2.19.0
Amplify Categories
API
Dependency manager
Swift PM
Swift version
5.9
CLI version
12.3.0
Xcode version
15.0
Relevant log output
<details>
<summary>Log Messages</summary>

INSERT LOG MESSAGES HERE

```
Is this a regression?
No
Regression additional context
No response
Platforms
iOS
OS Version
17.0
Device
iPhone XR
Specific to simulators
No response
Additional context
No response

Hello @harsh62
First of all, when I call fetchAuthSession API, I cannot retrieve AWS Credentials.
Fetch auth session failed with error - AuthError: Invalid identity pool configuration. Check assigned IAM roles for this pool.

If I set logLevel verbose, the first error I got was
No plugin found for configuration key `awsAPIPlugin`. Add a plugin for that key.

and that last log that realted to Auth state is this (Invalid identity pool configuration).
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthorizationError.sessionError(AWSCognitoAuthPlugin.FetchSessionError.service(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.client(ClientRuntime.ClientError.retryError(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.service(AWSCognitoIdentity.GetCredentialsForIdentityOutputError.invalidIdentityPoolConfigurationException(AWSCognitoIdentity.InvalidIdentityPoolConfigurationException(_headers: Optional(Connection: keep-alive, \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nDate: Thu, 19 Oct 2023 06:09:02 GMT, \nContent-Type: application/x-amz-json-1.1, \nContent-Length: 143, \nx-amzn-RequestId: 4d2b691c-4bde-4d10-8f1f-9fa49a42e12d, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool.), _statusCode: Optional(http_status_400), _message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"), _requestID: Optional(\"4d2b691c-4bde-4d10-8f1f-9fa49a42e12d\"), _retryable: false, _isThrottling: false, _type: ClientRuntime.ErrorType.client, message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"))), \nStatus Code: http_status_400 \n Connection: keep-alive, \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nDate: Thu, 19 Oct 2023 06:09:02 GMT, \nContent-Type: application/x-amz-json-1.1, \nContent-Length: 143, \nx-amzn-RequestId: 4d2b691c-4bde-4d10-8f1f-9fa49a42e12d, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool.)), nil)), noCredentials)";
        };
    };
}

finally after I call federateToIdentityPool I got additional Auth state with error  (If you need the entire log, please let me know, and I will copy it all.)
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthenticationError.service(message: \"Session error: notAuthorized\")";
        };
        "AuthorizationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthorizationError.sessionError(AWSCognitoAuthPlugin.FetchSessionError.notAuthorized, noCredentials)";
        };
    };
}

The token value I passed is
eyJraWQiOiJZdXlYb1kiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiYXVkIjoiY29tLnN1amlubmFsamluLmF3c2NvZ25pdG8iLCJleHAiOjE2OTc3ODIxNTMsImlhdCI6MTY5NzY5NTc1Mywic3ViIjoiMDAxMjg2LjFmNDk0NmU2ZWQ3YzRiNzk4NzEwM2NmOTE2YzMzZTRhLjA5NTUiLCJjX2hhc2giOiJPRVc3d3pVbVp1MjF6M0dzSFh3NnRnIiwiZW1haWwiOiI5a241cGRwZzg4QHByaXZhdGVyZWxheS5hcHBsZWlkLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjoidHJ1ZSIsImlzX3ByaXZhdGVfZW1haWwiOiJ0cnVlIiwiYXV0aF90aW1lIjoxNjk3Njk1NzUzLCJub25jZV9zdXBwb3J0ZWQiOnRydWV9.0XDO42T6pn-GBlaA7Pqif9eZfUE_cxujdPgR4wKwmqdT-nGzT0OpLWYnEKMIIFAOk3wKl4Tf1COmykAhpfG-mFhnBkaYrNaRydV_sdP8JQYjjdHqhh2O5dYJEfB0YAfRcWo-tymuPWZLwSxqCf7aldeCYLWY5q072G53jYdoXvwUAvdOZ72M5dbReRbQ4t5JdihM7AkRr1ebQ-U_dB-G81l1HqWWdqLhI3h6j6KCgI8nR9Rp699_vrXjWT3yzJOalqo5pTHp49nFmMe3H6oBuwN1KWuzAXOpBhkhkyuAKXgnx0_GYdhn0xJTPW1-qCPSBTl1g_niczn6V0HXGVHcGA

Here is amplify-configuration.json without api key value.
{
    "UserAgent": "aws-amplify-cli/2.0",
    "Version": "1.0",
    "api": {
        "plugins": {
            "awsAPIPlugin": {
                "MarketPlace": {
                    "endpointType": "GraphQL",
                    "endpoint": "https://zwhdladxs5hupmuuw6rhnzef7u.appsync-api.ap-northeast-2.amazonaws.com/graphql",
                    "region": "ap-northeast-2",
                    "authorizationType": "API_KEY",
                    "apiKey": "myAPIKey"
                }
            }
        }
    },
    "auth": {
        "plugins": {
            "awsCognitoAuthPlugin": {
                "UserAgent": "aws-amplify/cli",
                "Version": "0.1.0",
                "IdentityManager": {
                    "Default": {}
                },
                "CredentialsProvider": {
                    "CognitoIdentity": {
                        "Default": {
                            "PoolId": "ap-northeast-2:ae5c5159-7262-4810-860f-2328df0d2ec2",
                            "Region": "ap-northeast-2"
                        }
                    }
                },
                "CognitoUserPool": {
                    "Default": {
                        "PoolId": "ap-northeast-2_y1W7X3qi1",
                        "AppClientId": "4uncboitr6bfn8s0e3dqamts3o",
                        "Region": "ap-northeast-2"
                    }
                },
                "Auth": {
                    "Default": {
                        "OAuth": {
                            "WebDomain": "z7ph5smhrwrl-staging.auth.ap-northeast-2.amazoncognito.com",
                            "AppClientId": "4uncboitr6bfn8s0e3dqamts3o",
                            "SignInRedirectURI": "awscognito://login",
                            "SignOutRedirectURI": "awscognito://login",
                            "Scopes": [
                                "phone",
                                "email",
                                "openid",
                                "profile",
                                "aws.cognito.signin.user.admin"
                            ]
                        },
                        "authenticationFlowType": "USER_SRP_AUTH",
                        "mfaConfiguration": "OFF",
                        "mfaTypes": [
                            "SMS"
                        ],
                        "passwordProtectionSettings": {
                            "passwordPolicyMinLength": 8,
                            "passwordPolicyCharacters": [
                                "REQUIRES_LOWERCASE",
                                "REQUIRES_NUMBERS",
                                "REQUIRES_SYMBOLS",
                                "REQUIRES_UPPERCASE"
                            ]
                        },
                        "signupAttributes": [
                            "EMAIL"
                        ],
                        "socialProviders": [
                            "APPLE"
                        ],
                        "usernameAttributes": [],
                        "verificationMechanisms": [
                            "EMAIL"
                        ]
                    }
                },
                "AppSync": {
                    "Default": {
                        "ApiUrl": "https://zwhdladxs5hupmuuw6rhnzef7u.appsync-api.ap-northeast-2.amazonaws.com/graphql",
                        "Region": "ap-northeast-2",
                        "AuthMode": "API_KEY",
                        "ApiKey": "myAPIKey",
                        "ClientDatabasePrefix": "MarketPlace_API_KEY"
                    },
                    "MarketPlace_AWS_IAM": {
                        "ApiUrl": "https://zwhdladxs5hupmuuw6rhnzef7u.appsync-api.ap-northeast-2.amazonaws.com/graphql",
                        "Region": "ap-northeast-2",
                        "AuthMode": "AWS_IAM",
                        "ClientDatabasePrefix": "MarketPlace_AWS_IAM"
                    }
                }
            }
        }
    }
}

Complete verbose logs are
Adding plugin: AWSDataStorePlugin.AWSDataStorePlugin)
Configuring
Configuration: nil
Successfully configured Amplify
No plugin found for configuration key `awsAPIPlugin`. Add a plugin for that key.
Credential Store state change:

notConfigured
Auth state change:

{
    "AuthState.notConfigured" =     {
    };
}
Auth state change:

{
    "AuthState.configuringAuth" =     {
    };
}
AWSCognitoAuthPlugin/InitializeAuthConfiguration.swift Starting execution
Credential Store state change:

migratingLegacyStore
AWSCognitoAuthPlugin/MigrateLegacyCredentialStore.swift Starting execution
AWSCognitoAuthPlugin/MigrateLegacyCredentialStore.swift Sending event CredentialStoreEvent.loadCredentialStore
Credential Store state change:

loadingStoredCredentials
AWSCognitoAuthPlugin/LoadCredentialStore.swift Starting execution
AWSCognitoAuthPlugin/LoadCredentialStore.swift Retreiving credential amplifyCredentials
AWSCognitoAuthPlugin/LoadCredentialStore.swift Sending event CredentialStoreEvent.throwError
Credential Store state change:

error(KeychainStoreError: Unable to find the keychain item
Recovery suggestion: This should not happen. There is a possibility that there is a bug if this error persists. Please take a look at https://github.com/aws-amplify/amplify-ios/issues to see if there are any existing issues that match your scenario, and file an issue with the details of the bug if there isn't. Issue encountered at:
file: /Users/sujikang/Library/Developer/Xcode/DerivedData/AWSPractice-eciyhhvzeavizeddsjakjaqpeczj/SourcePackages/checkouts/amplify-swift/AmplifyPlugins/Core/AWSPluginsCore/Keychain/KeychainStoreError.swift
function: recoverySuggestion
line: 69)
AWSCognitoAuthPlugin/IdleCredentialStore.swift Starting execution
No existing session found.
AWSCognitoAuthPlugin/IdleCredentialStore.swift Sending event CredentialStoreEvent.moveToIdleState
AWSCognitoAuthPlugin/InitializeAuthConfiguration.swift Sending event AuthEvent.validateCredentialAndConfiguration
Credential Store state change:

idle
Auth state change:

{
    "AuthState.validatingCredentialsAndConfiguration" =     {
    };
}
AWSCognitoAuthPlugin/ValidateCredentialsAndConfiguration.swift Starting execution
AWSCognitoAuthPlugin/ValidateCredentialsAndConfiguration.swift Sending event AuthEvent.configureAuthentication
Auth state change:

{
    "AuthState.configuringAuthentication" =     {
        "AuthenticationState.notConfigured" =         {
        };
    };
}
AWSCognitoAuthPlugin/InitializeAuthenticationConfiguration.swift Starting execution
AWSCognitoAuthPlugin/InitializeAuthenticationConfiguration.swift Sending event AuthenticationEvent.configure
AWSCognitoAuthPlugin/ConfigureAuthentication.swift Start execution
AWSCognitoAuthPlugin/ConfigureAuthentication.swift Sending event AuthenticationEvent.initializedSignedOut
AWSCognitoAuthPlugin/ConfigureAuthentication.swift Sending event AuthEvent.authenticationConfigured
Auth state change:

{
    "AuthState.configuringAuthentication" =     {
        "AuthenticationState.configured" =         {
        };
    };
}
Auth state change:

{
    "AuthState.configuringAuthentication" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
    };
}
Auth state change:

{
    "AuthState.configuringAuthorization" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.notConfigured" =         {
        };
    };
}
AWSCognitoAuthPlugin/InitializeAuthorizationConfiguration.swift Starting execution
AWSCognitoAuthPlugin/InitializeAuthorizationConfiguration.swift Sending event AuthorizationEvent.configure
AWSCognitoAuthPlugin/ConfigureAuthorization.swift Starting execution
AWSCognitoAuthPlugin/ConfigureAuthorization.swift Sending event AuthEvent.authorizationConfigured
Auth state change:

{
    "AuthState.configuringAuthorization" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.configured" =         {
        };
    };
}
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.configured" =         {
        };
    };
}
Starting execution
Check if authstate configured
Auth state configured
Fetching current state
No session found, fetching unauth session
Waiting for session to establish
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.fetchingUnAuthSession" =         {
            "FetchSessionState.notStarted" =             {
            };
        };
    };
}
2023-10-26T00:37:46+0900 info CognitoIdentityClient : [Logging] Request: POST https:443
 Path: /
 x-amz-user-agent: aws-sdk-swift/1.0,
Content-Length: 84,
Host: cognito-identity.ap-northeast-2.amazonaws.com,
Content-Type: application/x-amz-json-1.1,
User-Agent: aws-sdk-swift/1.0 api/cognito-identity/1.0 os/iOS/17.0.3 lang/swift/5.9 lib/amplify-swift/2.19.0,
X-Amz-Target: AWSCognitoIdentityService.GetId
 Optional([])
2023-10-26T00:37:46+0900 info SerialExecutor : [Logging] Creating connection pool for Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")with max connections: 50
AWSCognitoAuthPlugin/InitializeFetchUnAuthSession.swift Starting execution
AWSCognitoAuthPlugin/InitializeFetchUnAuthSession.swift Sending event FetchAuthSessionEvent.fetchUnAuthIdentityID
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.fetchingUnAuthSession" =         {
            "FetchSessionState.fetchingIdentityID" =             {
            };
        };
    };
}
AWSCognitoAuthPlugin/FetchAuthIdentityId.swift Starting execution
2023-10-26T00:37:46+0900 info CRTClientEngine : [Logging] Connection was acquired to: Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")
2023-10-26T00:37:46+0900 info CognitoIdentityClient : [Logging] Request: POST https:443
 Path: /
 User-Agent: aws-sdk-swift/1.0 api/cognito-identity/1.0 os/iOS/17.0.3 lang/swift/5.9 lib/amplify-swift/2.19.0,
Host: cognito-identity.ap-northeast-2.amazonaws.com,
Content-Length: 80,
x-amz-user-agent: aws-sdk-swift/1.0,
Content-Type: application/x-amz-json-1.1,
X-Amz-Target: AWSCognitoIdentityService.GetCredentialsForIdentity
 Optional([])
2023-10-26T00:37:46+0900 info SerialExecutor : [Logging] Creating connection pool for Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")with max connections: 50
AWSCognitoAuthPlugin/FetchAuthIdentityId.swift Sending event FetchAuthSessionEvent.fetchedIdentityID
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.fetchingUnAuthSession" =         {
            "FetchSessionState.fetchingAWSCredentials" =             {
            };
        };
    };
}
AWSCognitoAuthPlugin/FetchAuthAWSCredentials.swift Starting execution
2023-10-26T00:37:46+0900 info CRTClientEngine : [Logging] Connection was acquired to: Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")
error in connection_block_invoke_2: Connection invalid
AWSCognitoAuthPlugin/FetchAuthAWSCredentials.swift Sending event FetchAuthSessionEvent.throwError
AWSCognitoAuthPlugin/InformSessionError.swift Starting execution
AWSCognitoAuthPlugin/InformSessionError.swift Sending event AuthorizationEvent.receivedSessionError
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.fetchingUnAuthSession" =         {
            "FetchSessionState.error" =             {
                error = "AWSCognitoAuthPlugin.FetchSessionError.service(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.client(ClientRuntime.ClientError.retryError(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.service(AWSCognitoIdentity.GetCredentialsForIdentityOutputError.invalidIdentityPoolConfigurationException(AWSCognitoIdentity.InvalidIdentityPoolConfigurationException(_headers: Optional(Connection: keep-alive, \nContent-Type: application/x-amz-json-1.1, \nContent-Length: 143, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool., \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nDate: Wed, 25 Oct 2023 15:37:46 GMT, \nx-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f), _statusCode: Optional(http_status_400), _message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"), _requestID: Optional(\"c181353f-7222-4f59-96ae-bcd7f1158b5f\"), _retryable: false, _isThrottling: false, _type: ClientRuntime.ErrorType.client, message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"))), \nStatus Code: http_status_400 \n Content-Length: 143, \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nx-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool., \nDate: Wed, 25 Oct 2023 15:37:46 GMT, \nContent-Type: application/x-amz-json-1.1, \nConnection: keep-alive)), nil))";
            };
        };
    };
}
Received error - sessionError(AWSCognitoAuthPlugin.FetchSessionError.service(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.client(ClientRuntime.ClientError.retryError(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.service(AWSCognitoIdentity.GetCredentialsForIdentityOutputError.invalidIdentityPoolConfigurationException(AWSCognitoIdentity.InvalidIdentityPoolConfigurationException(_headers: Optional(Content-Type: application/x-amz-json-1.1,
x-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f,
Strict-Transport-Security: max-age=31536000; includeSubDomains,
Date: Wed, 25 Oct 2023 15:37:46 GMT,
x-amzn-ErrorType: InvalidIdentityPoolConfigurationException:,
x-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool.,
Content-Length: 143,
Connection: keep-alive), _statusCode: Optional(http_status_400), _message: Optional("Invalid identity pool configuration. Check assigned IAM roles for this pool."), _requestID: Optional("c181353f-7222-4f59-96ae-bcd7f1158b5f"), _retryable: false, _isThrottling: false, _type: ClientRuntime.ErrorType.client, message: Optional("Invalid identity pool configuration. Check assigned IAM roles for this pool."))),
Status Code: http_status_400
 Content-Type: application/x-amz-json-1.1,
x-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f,
Strict-Transport-Security: max-age=31536000; includeSubDomains,
Date: Wed, 25 Oct 2023 15:37:46 GMT,
x-amzn-ErrorType: InvalidIdentityPoolConfigurationException:,
x-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool.,
Content-Length: 143,
Connection: keep-alive)), nil)), noCredentials)
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.signedOut" =         {
            lastKnownUserName = "(nil)";
        };
        "AuthorizationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthorizationError.sessionError(AWSCognitoAuthPlugin.FetchSessionError.service(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.client(ClientRuntime.ClientError.retryError(ClientRuntime.SdkError<AWSCognitoIdentity.GetCredentialsForIdentityOutputError>.service(AWSCognitoIdentity.GetCredentialsForIdentityOutputError.invalidIdentityPoolConfigurationException(AWSCognitoIdentity.InvalidIdentityPoolConfigurationException(_headers: Optional(Content-Type: application/x-amz-json-1.1, \nx-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f, \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nDate: Wed, 25 Oct 2023 15:37:46 GMT, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool., \nContent-Length: 143, \nConnection: keep-alive), _statusCode: Optional(http_status_400), _message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"), _requestID: Optional(\"c181353f-7222-4f59-96ae-bcd7f1158b5f\"), _retryable: false, _isThrottling: false, _type: ClientRuntime.ErrorType.client, message: Optional(\"Invalid identity pool configuration. Check assigned IAM roles for this pool.\"))), \nStatus Code: http_status_400 \n Content-Type: application/x-amz-json-1.1, \nx-amzn-RequestId: c181353f-7222-4f59-96ae-bcd7f1158b5f, \nStrict-Transport-Security: max-age=31536000; includeSubDomains, \nDate: Wed, 25 Oct 2023 15:37:46 GMT, \nx-amzn-ErrorType: InvalidIdentityPoolConfigurationException:, \nx-amzn-ErrorMessage: Invalid identity pool configuration. Check assigned IAM roles for this pool., \nContent-Length: 143, \nConnection: keep-alive)), nil)), noCredentials)";
        };
    };
}
2023-10-26T00:37:59+0900 info CognitoIdentityClient : [Logging] Request: POST https:443
 Path: /
 X-Amz-Target: AWSCognitoIdentityService.GetId,
Content-Length: 934,
x-amz-user-agent: aws-sdk-swift/1.0,
Content-Type: application/x-amz-json-1.1,
User-Agent: aws-sdk-swift/1.0 api/cognito-identity/1.0 os/iOS/17.0.3 lang/swift/5.9 lib/amplify-swift/2.19.0,
Host: cognito-identity.ap-northeast-2.amazonaws.com
 Optional([])
2023-10-26T00:37:59+0900 info SerialExecutor : [Logging] Creating connection pool for Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")with max connections: 50
Starting execution
Check if authstate configured
Auth state configured
Waiting for federation to complete
AWSCognitoAuthPlugin/InitializeFederationToIdentityPool.swift Starting execution
AWSCognitoAuthPlugin/InitializeFederationToIdentityPool.swift Sending event FetchAuthSessionEvent.fetchAuthenticatedIdentityID
AWSCognitoAuthPlugin/FetchAuthIdentityId.swift Starting execution
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.federatingToIdentityPool" =         {
        };
        "AuthorizationState.federatingToIdentityPool" =         {
            "FetchSessionState.notStarted" =             {
            };
        };
    };
}
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.federatingToIdentityPool" =         {
        };
        "AuthorizationState.federatingToIdentityPool" =         {
            "FetchSessionState.fetchingIdentityID" =             {
            };
        };
    };
}
2023-10-26T00:37:59+0900 info CRTClientEngine : [Logging] Connection was acquired to: Optional("https://cognito-identity.ap-northeast-2.amazonaws.com/?")
Failed to federate to identity pool with error: AuthError: Not authorized error
Recovery suggestion: Check whether the given values are correct and the user is authorized to perform the operation
AWSCognitoAuthPlugin/FetchAuthIdentityId.swift Sending event FetchAuthSessionEvent.throwError
AWSCognitoAuthPlugin/InformSessionError.swift Starting execution
AWSCognitoAuthPlugin/InformSessionError.swift Sending event AuthorizationEvent.receivedSessionError
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.federatingToIdentityPool" =         {
        };
        "AuthorizationState.federatingToIdentityPool" =         {
            "FetchSessionState.error" =             {
                error = "AWSCognitoAuthPlugin.FetchSessionError.notAuthorized";
            };
        };
    };
}
Auth state change:

{
    "AuthState.configured" =     {
        "AuthenticationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthenticationError.service(message: \"Session error: notAuthorized\")";
        };
        "AuthorizationState.error" =         {
            Error = "AWSCognitoAuthPlugin.AuthorizationError.sessionError(AWSCognitoAuthPlugin.FetchSessionError.notAuthorized, noCredentials)";
        };
    };
}

And here is my code example with SwiftUI
    var body: some View {
                SignInWithAppleButton(
                    onRequest: configureRequest,
                    onCompletion: handleResult
                )
    }

    func configureRequest(_ request: ASAuthorizationAppleIDRequest) {
        request.requestedScopes = [.email]
    }

    func handleResult(_ result: Result<ASAuthorization, Error>) {
        switch result {
        case .success(let authorization):
            guard
                let credential = authorization.credential as? ASAuthorizationAppleIDCredential,
                let identityToken = credential.identityToken
            else { return }
            self.federateToIdentityPools(with: identityToken)
        case .failure(let error):
            print(error)
        }
    }

    func federateToIdentityPools(with token: Data) {
        guard
            let tokenString = String(data: token, encoding: .utf8),
            let plugin = try? Amplify.Auth.getPlugin(for: "awsCognitoAuthPlugin") as? AWSCognitoAuthPlugin
        else { return }
        print("mytoken is: " + tokenString) //todo_
        Task {
            do {
                let result = try await plugin.federateToIdentityPool(
                    withProviderToken: tokenString,
                    for: .apple
                )
                print("Successfully federated user to identity pool with result:", result)
            } catch {
                // Failed to federate to identity pool with error: AuthError: Not authorized error
                // Recovery suggestion: Check whether the given values are correct and the user is authorized to perform the operation
                print("Failed to federate to identity pool with error:", error)
            }
        }
    }

Closing due to inactivity.


[AUTOPATCHER-CORE] ntfs-3g upgrade to version 2022.10.3 - CVE-2022-40284 -

[AUTOPATCHER-CORE] ntfs-3g upgrade to version 2022.10.3 - CVE-2022-40284
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=264639&view=results
AMD64 build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=264647&view=results
ARM64 build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=264648&view=results

Looking at the changelog, the only changes are the security fixes. Approved.


A new --concatenate-modules flag

What kind of change does this PR introduce?
Feature (a new CLI flag).

Did you add tests for your changes?
No – there’re no tests for CLI flags.

If relevant, link to documentation update:
https://github.com/webpack/webpack.js.org/pull/1686

Summary
This PR adds a new --concatenate-modules CLI flag for the ModuleConcatenationPlugin + includes this flag under the -p flag umbrella.
The ModuleConcatenationPlugin noticeably decreases the bundle size and has no visible drawbacks except slowing down the build and breaking HMR (both of which are acceptable in production mode). Adding it under the -p flag improves the webpack UX (i.e. the easier it is to enable the production mode, the better).
The --concatenate-modules flag is required to include the plugin into the -p shortcut.
A follow-up from the discussion with Sean.

Does this PR introduce a breaking change?
Yes.

Other information
N/A.

No – there’re no tests for CLI flags.

Of course there are -> test/binCases

includes this flag under the -p flag umbrella.

This would be a breaking change. We also plan to make it default in production for webpack 4 anyway.

Of course there are -> test/binCases

Whoops, thanks! Was searching for optimize-minimize mentions in the project code, havenʼt found tests for it and assumed the CLI is not tested.
Will add them soon.

This would be a breaking change.

Youʼre right. Updated the PR to mention this.

We also plan to make it default in production for webpack 4 anyway.

So will we keep this PR open until v4 is released? Or should I close it?

Added tests. Have I organized them right?

CI is not super stable...

Thanks for your PR, but I have to say sorry that I reject it.
There are several reasons:

webpack 4 adds a --mode options which enables ModuleConcatenation by default in production mode.
Using the plugin is no longer recommended as there is a optimization.concatenateModules option for this now.
CLI will move to webpack-cli.
With concatenateModules on by default in production mode, I guess there are very few reasons to have it in the CLI.

webpack 4 adds a --mode options which enables ModuleConcatenation by default in production mode.

Great! That’s exactly what I wanted to see (having ModuleConcatenation enabled in production by default) :–)
Thanks!


Alert visitors to security problem

A highly visible notice seems warranted.

Thanks - I like your more recent edits 👍🏼


Query param values are not URL encoded

URL params cannot contain reserved characters yet the library does not encode values.
Example Input:
{
  queryParams: {
    test: 'test&'
  }
}

Expected Output:
?test=test%26

Actual Output
?test=test&

I now use querystring.stringify() because of that very issue.

Yeah it's an easy workaround - I'm using encodeURIComponent as it affects keys as well so building the query param object up like...
const qp = {};
qp[encodeURIComponent(myParamName)] = encodeURIComponent(myParamValue);

This makes sense to add into the project. Feel free to make a PR. If not I will add this when I get time.


istio_authn support for mTLS identities going through Gateways

Describe the feature request
I'd like to use istio_authn to authenticate mTLS clients (from another Istio mesh) that are passing via the gateway (both clusters have each other's root CAs in their cert chains). Currently istio_authn works on source.principal which is extracted from direct client connecting to the service that results in source.principal being set to gateway's identity.
Describe alternatives you've considered
An alternative is using forwarding client's certificate using X-Forwarded-Client-Cert (XFCC) HTTP Header and writing a custom filter that will perform authorization.
Another alternative would be maybe setting gateways to passthrough mode. Though I'm not sure what would be the performance impact, if any, but I'd lose HTTP retries etc.
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[x] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[x] Multi Cluster
[ ] Virtual Machine
[x] Multi Control Plane
Additional context
In my setup client from one cluster is passing through two gateways (at least one) to get to a service in another cluster. Both clusters have separate control planes and both have each other's root CAs in their cert chains.

I see I can use AuthorizationPolicy conditions with HTTP headers

with the XFCC validation there is a massive problem of spoofing it. Is there a filter that will verify XFCC header and before propagating it?


fix: scan window fix (cherry-pick)

This is a cherry-pick of @MBulli his changes in #721 with the following additions:

documentation adjustments for the scan window function
using named parameters for the two Size arguments
formatting adjustments by adding missing comma's in the test

Test still passes locally.
Fixes #633

Thanks a lot @MBulli for the fixes!


Example does not use all imports

This example:
from azure.servicebus import QueueClient, Message

# Create the QueueClient
queue_client = QueueClient.from_connection_string("<connectionstring>", "taskqueue")

# Receive the message from the queue
with queue_client.get_receiver() as queue_receiver:
    messages = queue_receiver.fetch_next(timeout=3)
    for message in messages:
        print(message)
        message.complete()

Does not use the Message class. I would recommend removing it for clarity's sake.

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

ID: 47bc6b40-39cd-eb95-1911-ddff96dda210
Version Independent ID: d91a6110-e9c0-3a34-a321-6850778baaef
Content: Quickstart: Use Azure Service Bus queues with Python - Azure Service Bus
Content Source: articles/service-bus-messaging/service-bus-python-how-to-use-queues.md
Service: service-bus-messaging
GitHub Login: @spelluru
Microsoft Alias: spelluru

@renzmann, Thank you for your feedback! We will review and update as appropriate.

@renzmann Thanks for your feedback. I have updated the doc and it will be published soon.


[Feature] Is it possible to make pocketpy compatible with the Qt build environment?

If I include pocketpy.h in my Qt project, I run into two name collisions:

emit method (used in the Qt message passing)
METHOD macro (not sure, but it collides with something)

A good solution (in my opinion) is:
#if defined(QT_VERSION)
#define emit emit_
#endif

and where the METHOD macro is defined can it simply be changed to METHOD_ automagically in the build script?
or possibly put that whole section in another if-defined block and used METHOD_ instead.  Possibly a define changing the define, but I'm not entirely sure if that would work... depends on the preprocessor.  It /might/.

This works for me on linux:
#if defined(QT_VERSION)
#undef emit
#define emit emit_
#undef METHOD
#endif

... and you could probably even emit (get it) the #define of emit, come to think of it

Hi, I've pushed a commit to fix METHOD() https://github.com/blueloveTH/pocketpy/commit/f3acafe44c523f0275fef5ead8e32df1ed6fb364.

I am not sure this is safe.
#if defined(QT_VERSION)
#define emit emit_
#endif

So you can have your own fix.

I've replaced all emit into emit_ in https://github.com/blueloveTH/pocketpy/commit/901f702f00d25cdbae466ded1632a833bbbda5f6.
Please try the latest commit.


Stormblessed: Watch jtattoo.net

Stormblessed requests the watch of the watch_keyword jtattoo\.net. See the MS search here and the Stack Exchange search here.

jtattoo\.net has been seen in 1 true positive, 0 false positives, and 1 NAA.

Approved by tripleee in Charcoal HQ

Something wrong in the approve logic: https://chat.stackexchange.com/transcript/message/51935964#51935964

Merged in #3335 proposal.


running etcd in localhost only, without clustering and without persistence

I would like to be able to run etcd in localhost only without clustering and without persistence (no disk, memory-only).

Why do you want this feature? etcd should run on stable storage, or it cannot guarantee the consistency it provides.

I would like these features for testing purposes, I do not need persistence or clustering for my current use. To be specific I would like etcd to load existing data directory but not write back to it, there may be multiple separate instances of etcd running at the same time at separate ports.

@grimnight maybe you should find another solution, etcd is not very suitable for such case.

@grimnight For this use case you can write a wrapper script that removes etcd's datadir before starting etcd and after etcd shuts down.
You can configure etcd with an initial cluster size of one and a single peer giving you a standalone etcd cluster.
Does this work for you?

@grimnight Closing for now, let me know if the proposed solution does not work for you.


Now enemies can take damage

I created a health variabel and for mob and other enemies. Spider have 3hp, mob have 1hp and ghost have 1hp.

I think mobs shuld have more health, they die to fast and you dont need to move. I tweeked the numbers a bit and when the regular mobs 3 HP and they spawned every .8 seconds it was a good balance for me, so maybe a bit more health

i think its nice but since we are gonna potentially have other weapons in the game i think that the script is gonna have to be optimised to the weapons damage numbers instead of mobs taking only 1 damage to any type of bullets hitting them


Replace list item on drop

How to replace a list item if drop takes place exactly at the top of the item and not besides it?

I have a similar question.... I need update an item on drop, not add it.  How can I drop my element over an actual item and update it?

Any answer...???  SAME!  How update an element on target list?


emit tasklist queue latency

emit tasklist queue latency for activity task

Coverage decreased (-0.03%) to 67.72% when pulling 749ff9361be1c519a2a5d9b67ec61bb98863d17c on yiminc:tasklist_queue_latency into e6e2bb893a2bada15680f5db0e4aad9a020eaf7b on uber-go:master.

Coverage decreased (-0.04%) to 67.763% when pulling cae678ec1d4b80e0fad802148ff3d22ef5da6c41 on yiminc:tasklist_queue_latency into 560adaf5865ef2aef52ff72ac0b29639a9775498 on uber-go:master.


Watch blueprint file for changes

It would be cool to have the api mock server watch the file for changes so I don't need to restart it all the time while working on my blueprint.

@maremmle: I needed to do something very similar for my own project. Will share the Gruntfile and project package when it is final (should be today).

@srenauld how about the Gruntfile ;-)

I use nodemon for that, like nodemon --watch . -e md ../../node_modules/api-mock/bin/api-mock ./api-sample1.md -p 3030 (my mock api files are in test/API, and api-mock is not installed as global, hence the ../..)


How to play the Landscape Video in portrait mode.

HI,
I am taking a video in landscape mode.I want to watch the video in portrait mode. how to implement playing the landscape Video in the portrait mode.
Thank  you

:paperclip: https://github.com/piemonte/PBJVision/issues/84


[CDN] Add support for Rules engine feature

Link to the old PR https://github.com/Azure/azure-cli/pull/11521
This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@Juliehzl  please help with the PR.

Hi @hytao, in summary, I will have some suggestions for your PR here:

I will recommend you move parameter description to _params.py file. In this way, you can provide short name to these parameters, reuse some argument type with CliArgumentType and utilize cli build-in arg types.
support_no_wait is used for long running operation, please double check it.
generic_update_command typically is used for update command. please find the right command type  for each of your command according to https://github.com/Azure/azure-cli/blob/dev/doc/authoring_command_modules/authoring_commands.md#register-commands

Hi @Juliehzl ,
I have updated _params.py based on your feed back.
For the last two comments, every rule operation, even adding a single condition to a rule, is in fact an update endpoint call which is a long running operation. That's why I use generic_update_command.
Could you please review it again? This is a key blocker to us and we need to publish this feature ASAP.

hi @hytao, as we discussed offline, please do the following changes for your code:

change generic_update_command() to custom_command()
mark your new commands in preview
remove support_no_wait or add wait_command if you want to support_no_wait
support array for corresponding parameters using nargs='*'
try to utilize some argument type if possible.

/azp run azure-cli

/azp run

@Juliehzl I have rebased azure/dev but it causes a lot of unexpected changes. What should I do now?

I have recreated a new PR to fix the versioning issue https://github.com/Azure/azure-cli/pull/11854


Limit the number of parameters

Limit the number of parameters  ，Keeping the number of parameters low makes units easier to understand, test and reuse.

Need to split the service reasonably, please reference #1789: “ split them into different AppServices”


Implement transformers activation functions

The original ModuleFormer hardcoded a custom newGELU activation function, used throughout the model.
I removed this function, and implemented get_activation() from transformers - which supports many common activation functions.  As evidenced by the unused ACT2FN import, it appears that this was the original plan, anyway.
I haven't tested every activation function yet, but gelu, gelu_new, and silu all seem to work fine.
In addition to that, I added some default gradient_checkpointing_kwargs, to prevent an error that would occur when gradient_checkpointing_enable() is called without arguments.
Please let me know if there's anything else I should consider here.
Next on my radar: Hivemind integration.

Hi @LuciferianInk, thanks for your contribution! I will merge your commit to the main branch. We are also working on improving the efficiency of moduleformer.


Update HDF from 1.12.1 to 1.12.3 (2nd attempt)

Note: once CI is green, the symbols will also need to be per itk_hdf5_mangle.h.in.

Note: once CI is green, the symbols will also need to be per itk_hdf5_mangle.h.in.

Hopefully next week I'll have time to try this again, on top of 5.4 branch.

Superceeded by #4940

Superceeded by #4940

What in particular to you want to ensure is in this PR? That other PR, was not building correctly, and this PR makes an effort to remove changes from the HDF5 code base.

I just wanted to ensure that this PR references the other one as context since they both seem to be addressing the same update desire.


If I enabled a module and then disabled it, the tables it created will not be deleted by a reset and will remain inside the database.
This can be a problem, because if I try to enable again those modules after doing another setup of the resetted tenant I receive an error, caused by the fact that the migrations try to create again some tables that already exist.

It's new to me that table are deleted. I thought it was only handled by each module if they implement Uninstall()

@sebastienros, I checked the current implementation and found that it trying to get the table names to be dropped through NHibernate 'ClassMappings' object, which will contains only mappings for enabled modules record classes, so we need to find another way to bring all table names with support for all database engines which supported by Orchard.

Or implement the Uninstsall methods so that when a module is uninstalled it correctly removes the tables and indices it created. Then the remaining tables would be all registered already, and the remaining module could just also delete their own tables.

@HermesSbicego-Laser, I'm totally agree with you, so I suggest to find a solution to load the database metadata, then dropping all tables will be very simple,  I'm trying to find a way to implement this solution, but the main problem is that we are dealing with different database types.
@sebastienros, regarding the uninstalling mechanism, I think it should be a user choice to delete or keep the tables which was created by the module, what do you think?

@mdameer If you're looking to drop all tables, look no further: I already wrote it for you ;) https://github.com/OrchardCMS/Orchard/blob/dev/src/Orchard.Web/Modules/Orchard.ImportExport/Services/DatabaseManager.cs

@sfmskywalker, it's so nice to hear from you again, I think the code you shared will have the same impact, as long as it depends on Nhibernate class mappings to load the database schema, can you please take a look at my suggested solution in PR #8031 and give me your feedback.

I see. My code does indeed depend on NHibernate class mappings. And since the "reset tenant" functionality relies on this, that feature is potentially broken if someone disables a feature that created a table.
I looked at your PR, and it looks good to me.

And yes, it's great to hear again from you too :)


"&" character in package description yields error on Windows when using "rez-build".

Hi,
This is quite an odd one and I'm creating an issue for reference because I don't think it has any adverse effect at the moment, i.e the build succeed.
If your package description contains a & it will yield an error when using rez-build. Changing the hello_world package description to:

description = "Python-based & hello world example package."

I get that output when building:
D:\Packages\hello_world
λ rez-build

--------------------------------------------------------------------------------
Building hello_world-1.0.0...
--------------------------------------------------------------------------------
Resolving build environment: python
resolved by thomas@****, on Thu Jun 01 08:58:41 2017, using Rez v2.13.0

requested packages:
python
~platform==windows       (implicit)
~arch==AMD64             (implicit)
~os==windows-10.0.15063  (implicit)

resolved packages:
platform-windows  K:\Packages\****\platform\windows
python-2.7.13     K:\Packages\ThirdParty\python\2.7.13\platform-windows

Invoking bez build system...
'hello' is not recognized as an internal or external command,
operable program or batch file.
executing rezbuild.py...

All 1 build(s) were successful.

Confirmed to be a problem not only for the description. Using &, <, >, and ^ in a value assigned to an environment variable made the cmd shell implementation choke.
PR #489 fixes it.


Insights add-in is analyze-your-content category

Can we add "MyAnalytics Insights add-in for Outlook" to "Connected experiences that analyze your content"? It already has correct error handling in it to inform the user "Your organization's admin has turned off the service required to use this experience." when the UserContentDisabled value/policy = 2.

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

ID: f9f215c4-d995-2d6c-0693-bca19f66fe2f
Version Independent ID: a9aa816b-f30d-3bbe-8fdc-204777b25dfe
Content: Connected experiences in Office - Deploy Office
Content Source: DeployOffice/privacy/connected-experiences.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

@mike-g-msft   Ping me offline (I'm in the address book) and we can discuss. Thanks.


bzlmod users should get a default toolchain registration

There's a TODO introduced, see thread:
https://github.com/p0deje/rules_ruby/pull/17#discussion_r1398271819

That error is our own, in extensions.bzl doing logic that looks at the global view of all calls to the extension and decide what to do. I think it's just a logic bug that we should figure out how to disambiguate this case.
@kormide has been doing these fixes in our other rules lately and probably has some details easily recalled.

You can follow what we do with toolchain registration in bazel-lib: https://github.com/aspect-build/bazel-lib/blob/main/lib/extensions.bzl#L110.
We use this private toolchain_repos_bfs utility to do the work.

@kormide Thank you for sharing, but the code in is quite similar to what ruby_rules already do and produce the same error. How would a user define a custom toolchain with a custom yq version in their MODULE? Do they need to use a different toolchain name?

@kormide Thank you for sharing, but the code in is quite similar to what ruby_rules already do and produce the same error. How would a user define a custom toolchain with a custom yq version in their MODULE? Do they need to use a different toolchain name?

We write the toolchain module extension so that whatever version is specified in the root module overrides versions from other invocations in the dependency graph, as long as the repo "name" is the same.


fix: button font size styling

The button's font size was referencing the color css var. This PR fixes this.

thanks


feat: bump base sdk versions to support seamless integration

Yeah. The only client-side SDKs experiment supports are iOS android, JS and react native.


Division by Zero with long cell content

The following tablex definition causes a
error: cannot divide by zero
     ┌─ C:\Users\...\tablex.typ:1100:25
     │
1100 │             fair_share = remaining / auto_cols_remaining
     │                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Her is the table definition:
#tablex(
	columns: 3,

	[Name],[Entität],[Eigenschaft],
	[GammaTaurus],[ThisIsASuperlongSymbolicName which is similar important as Supercalifragilistic],[],
)

When I put some linebreaks into the content (second column), it works fine.

Fixed in e75ce1a9e74c7ee00b460e0b97fbd6f7955d13fb, thanks!

That was fix - works fine now! Thank you for the excellent component!

That's great to hear! You're welcome! :handshake:


Add ability to specify annotations on service accounts

Issues
All for service account annotations to be given and service resource annotations.  We still need to allow annotations on the different container template specs - coming in a future PR.
Changelog

[ ] List your changes here
[ ] Make a changie entry

Tophatting

@jkrebstadt  - My understanding is this is part 1 of what you need - can you verify?

@jkrebstadt - My understanding is this is part 1 of what you need - can you verify?

Yes, exactly 👍🏻 . This will enable us to use custom annotations. Thx


add route fields dependencies

@jakedt you are going to like this one. Instead of fixing it here:
https://github.com/app-sre/qontract-reconcile/pull/32/files/6bd064ed7be9e02e24c8164b9b957eebca913622#diff-ef51b890752529017c1be234a40072f1R183
we can simply use dependencies


Can't start Raspberry Pi Zero VM due to usb-ehci added

UTM adds the -device usb-ehci to VMs even when the system is a Raspberry Pi Zero. This is not supported and means the VM won't start.

Has this fix been removed? It appears that usb-ehci1 is being added in the current version, see: https://github.com/utmapp/UTM/blob/7fd0f08c63f68d129415f0c1d3b4ebd6d3a11981/Managers/UTMQemuSystem.m#L463
This prevents Raspberry Pi systems being emulated. Running UTM on macOS I get the following error:
qemu-aarch64-softmmu: -device ich9-usb-ehci1,id=usb-controller-0: No 'PCI' bus found for device 'ich9-usb-ehci1'

@fgenoese The ICH9 USB controller is added if USB sharing is selected. (This specific USB controller is required to make QEMU USB sharing work AFAIK)
So to start your VM, you will need to set the number of USB sharing ports to 0.

Thanks @conath, that worked. Just wanted to add that the field is greyed out when in console display mode saying that "USB sharing is not supported in console display mode".
A reasonable approach might be to add if !(self.configuration.displayConsoleOnly) around the whole block (starting at L450). What do you think?

That sounds good to me.


Nullable properties should receive implicit null value when value is not provided

Bicep version
0.29.47
Describe the bug
Custom types do not implicitly assign null to nullable values that are not provided. For example, in a custom type with a nullable property, you should be able to use the dot operator for that property and receive null when that property is not explicitly defined. Instead, you receive an exception:
The template output 'implicitlyDefinedNullValue' is not valid: The language expression property 'value' doesn't exist, available properties are ''..

To Reproduce
type MySimpleType = {
  value: string?
}

// EXPLICIT PROPERTY DEFINITION

param explicitlyDefinedObject MySimpleType = {
  value: 'hello world'
}

// Output: 'hello world'
output explicitlyDefinedValue string? = explicitlyDefinedObject.value

// EXPLICIT NULL PROPERTY DEFINITION

param objectWithExplicitNull MySimpleType = {
  value: null
}

// Output: empty string
output explicitlyDefinedNullValue string? = objectWithExplicitNull.value

// IMPLICT NULL PROPERTY DEFINITION

param objectWithImplicitNull MySimpleType = {
}

// Output: Error
// Desired output: empty string
output implicitlyDefinedNullValue string? = objectWithImplicitNull.value

Additional context
Without this feature, you must manually check that all nullable properties contain a value before using a dot operator:
output implicitlyDefinedNullValueThatDoesNotThrow string? = contains(objectWithImplicitNull, 'value') ? objectWithImplicitNull.value : null

This is cumbersome; it would be much easier if types assumed null for nullable properties where the value is not explicitly defined.
If throwing an error in this scenario is the desired functionality of nullable values, the type system / compiler should probably block you from creating objects that don't define all of the properties. For example, the compiler should complain when you create an object like this since it essentially makes the type no longer safe.
param objectWithImplicitNull MySimpleType = {
}

Types don't modify the values they describe, so this would be a pretty significant change to how types definitions work in templates. This is related to #9636.
As a workaround in the meantime, there is special operator that serves as shorthand for the contains check and ternary:
output implicitlyDefinedNullValueThatDoesNotThrow string? = contains(objectWithImplicitNull, 'value') ? objectWithImplicitNull.value : null

// Is equivalent to:
output implicitlyDefinedNullValueThatDoesNotThrow string? = objectWithImplicitNull.?value


chore(main): release 5.5.1

:robot: I have created a release beep boop
5.5.1 (2024-08-12)
Bug Fixes

don't open duplicate tabs when opening files (#367) (1c1ac86)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v5.5.1
:sunflower:


Spam Not Checked

the outgoing email is not getting checked for spam though I followed the steps to configure it.
it says spam not checked check screenshot

Outgoing spam checking is disabled by default, you need to change the advanced settings to set an "outgoing spam threshold"

Please check if it is normal.

Do you get the "error when scanning for spam" on all new messages now?

all the messages in fact I have other mail server activated and this is coming in all.

does it means not spam? as it shows in spam status

The "error" implies that spamassassin has not been set up or is not running.
I get this

Presumably as the spam scan wasn't able to return a negative answer, Postal records it as not spam. There is probably some work to do there but you should investigate your spamassassin and make sure it is running.

@dmilbert are you saying that spamassassin wasn't running as a daemon for you? are you using an OS that isn't Ubuntu 16.04?


Error: "fatal: your current branch 'master' does not have any commits yet"

First of all: great tool!
Issue: I'm running git standup in my repository root directory. I get the output from one repository, but then standup fails with:
fatal: your current branch 'master' does not have any commits yet
Any way to debug so I can provide a little more info?

This happens, when you try to get log of an empty repository in git. Will have to fix it.
Regardless, try making an initial commit and it should work.

Ok. Once quick fix could perhaps be to print which repository that failed? I have around 50 repos locally cloned and finding which one lacks an initial commit could take some time.

Added PR #19 to fix this.

Fixed in https://github.com/kamranahmedse/git-standup/commit/583270b909dc1ba7229f6ee04d2dd33afe8a4563 Thanks 👍

me also get same bug @jotunskij


Error in building a binding for a subset of Linux kernel headers

I tried to generate header for a selected subset of Linux kernel headers . However, the attempt fail with the following set of errors.

Error while building Linux kernel bindings
STD_KERNEL_PATH='/lib/modules/4.2.0-41-generic/build' cargo build
Compiling kernel-wrapper v0.1.0 (file:///local/mnt/workspace/dipanjan/kwrap)
error: failed to run custom build command for kernel-wrapper v0.1.0 (file:///local/mnt/workspace/dipanjan/kwrap)
process didn't exit successfully: /local/mnt/workspace/dipanjan/kwrap/target/debug/build/kernel-wrapper-abf16a8eacafefd0/build-script-build (exit code: 101)
--- stdout
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:142:6: error: variable has incomplete type 'void', err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:142:12: error: expected ';' after top level declarator, err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:143:11: error: expected ';' after top level declarator, err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:281:6: error: variable has incomplete type 'void', err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:281:12: error: expected ';' after top level declarator, err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:282:6: error: variable has incomplete type 'void', err: true
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:282:12: error: expected ';' after top level declarator, err: true
/lib/modules/4.2.0-41-generic/build/include/linux/linkage.h:7:10: fatal error: 'asm/linkage.h' file not found, err: true
--- stderr
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:142:6: error: variable has incomplete type 'void'
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:142:12: error: expected ';' after top level declarator
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:143:11: error: expected ';' after top level declarator
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:281:6: error: variable has incomplete type 'void'
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:281:12: error: expected ';' after top level declarator
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:282:6: error: variable has incomplete type 'void'
/lib/modules/4.2.0-41-generic/build/include/linux/init.h:282:12: error: expected ';' after top level declarator
/lib/modules/4.2.0-41-generic/build/include/linux/linkage.h:7:10: fatal error: 'asm/linkage.h' file not found
thread 'main' panicked at 'Unable to generate kernel bindings: ()', /checkout/src/libcore/result.rs:859
note: Run with RUST_BACKTRACE=1 for a backtrace.
make: *** [all] Error 101

Is it still true that the Linux kernel only compiles with GCC? If so, I think we're out of luck, because bindgen relies on libclang. The error spew suggests to me that libclang thinks this is not valid C code.

I solved the problem, still I don't understand how it got solved.I used this kbuild.mk which supplies STD_CLANG_ARGS='${c_flags}'. I don't understand how c_flags is getting populated by the build system.

Ok, I am closing this issue since it seems that there were just required arguments that were missing, and this isn't fundamentally bindgen's fault.
If I've misunderstood, we can reopen this issue.
Cheers!


Distribution Support Request - PowerShell is not published to the RHEL 9 Repo. Please add it: https://packages.microsoft.com/rhel/9/

Name of the Distribution
Red Hat Enterprise Linux
Version of the Distribution
9
Package Types

[ ] Deb
[X] RPM
[ ] Tar.gz
[ ] Snap - Stop! Please file your issue in PowerShell-Snap instead.

Processor Architecture
x86_64
.NET Core Support

[X] The version and architecture of the Distribution is supported by .NET Core.

Distribution Requirements

[X] The version of the Distribution is supported for at least one year.
[X] The version of the Distribution is not an interim release or equivalent.

Exemption Justification
No response
Progress

[ ] An issue has been filed to create a Docker image in PowerShell-Docker

For PowerShell Team ONLY

[ ] Docker image created
[ ] Docker image published
[ ] Distribution tested
[ ] Update packages.microsoft.com deployment
[ ] Lifecycle updated
[ ] Documentation Updated

Also requested in #19672

Any idea when this might happen?
It doesn't make PowerShell for Linux very enterprise when it's not in the Repository that can be easily updated with Red Hat Satellite.

This request is being tracked in #17548


iOS 8 Extensions?

This is awesome! However how do you propose getting this to work in a keyboard extension? I am using a storyboard in my extension, but can't seem to get it working.

Hi Alex, mere 3 years later, I've built in support for App extensions (tested with Keyboard and Today extensions, but it should work with others as well). I basically separated out the logic of handling touches and showing the image indicators into GSTouchesShowingController, and then created a gesture recognizer (GSTouchesShowingGestureRecognizer) which you can add to your view in -viewDidLoad. You can take a look at the updated Readme to find out more. I know this is probably too late to be relevant for you anymore, but I figured I'll update you anyway.