Update style for header component

Details

Update style for header component from mw100 to w100
Fixed Issues

$ https://github.com/Expensify/App/issues/31359
PROPOSAL: https://github.com/Expensify/App/issues/31359#issuecomment-1812446508
Tests

Launch app
Tap the profile icon
Tap Workspaces--Workspace
Tap New Workspace
Tap Workspace
Enter name - Test Workspace testingtestingtestingtestingtestingtesting)
Tap Save
Tap card/Members/Bills/Travels/Members
9 Verify that the Workspace name in the header is truncated in the same format in all sections

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Launch app
Tap the profile icon
Tap Workspaces--Workspace
Tap New Workspace
Tap Workspace
Enter name - Test Workspace testingtestingtestingtestingtestingtesting)
Tap Save
Tap card/Members/Bills/Travels/Members
9 Verify that the Workspace name in the header is truncated in the same format in all sections

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/129500732/063f3ab4-7d00-4582-ad1f-24ad579d73dc

Android: mWeb Chrome
https://github.com/Expensify/App/assets/129500732/e9cd5637-cbbf-4ebc-9dfe-9de2dd5f89fb

iOS: Native
https://github.com/Expensify/App/assets/129500732/579af9ac-462e-4907-8dd3-194473ddd3f5

iOS: mWeb Safari
https://github.com/Expensify/App/assets/129500732/5bc950e6-91d4-4008-ae88-31ff090570f8

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/129500732/2febae7a-b991-4cbe-8810-08947d4bf359

MacOS: Desktop
https://github.com/Expensify/App/assets/129500732/41bc4345-9120-4326-826d-dd49aef7e5d8

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome
https://github.com/Expensify/App/assets/3069065/7a3ab42e-104b-419e-ad28-a09525c2e8c4

iOS: Native
https://github.com/Expensify/App/assets/3069065/e74592b3-1e06-44dd-94ea-10f0a42b363a

iOS: mWeb Safari
https://github.com/Expensify/App/assets/3069065/421dfa87-8d63-44a1-9035-9b30e3069419

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/3069065/550f7fd1-f166-4207-a574-9e3eded2fc31

MacOS: Desktop
https://github.com/Expensify/App/assets/3069065/5b3307d4-7bf9-4bf2-983d-b481d98c961a

@dukenv0307 Setting w100 will require more testing than just the Workspace component. I thought Header and HeaderWithBackButton are different. But turns out Header is used internally.
One example of regression, checkout the Dev environment tag is displaced because of w100.


I am not able to run the bot

hi i am not able to run the code at all what shall i do and can you make a new vid because i dont know how to do mongourl

l

run npm i dotenv or install dotenv in replit which you are using


Issue on a dependency - CVE-2017-20165

Hi,
Good day.
Just wanted to inform that we encountered a security issue on one of waveheader dependency for its version 0.0.2:
Dependency: debug
Version: 0.7.4
It is raised under this CVE ID: CVE-2017-20165
Hoping for an action to this.
Thank you.

Hi @karlwestin , @kirbysayshi
Good day!
I would like to follow up on this.


Bot incompatible with server mods

I tried to connect the bot on a vanilla mohist server and it worked but when I added the mods, it did not work

Working with the network stack in this project is entirely on the Mineflayer library. Accordingly, it is better to turn there for help.

I'm updated mineflayer module in last commit. It's probably fix problem.


feat: Promotion Conditions implementation

What
Ability to add discount conditions
How
The implementation has been split into a range of PRs:

Generic table for conditions
Collection conditions
Product type conditions
Product tag conditions
Customer group conditions
Product conditions

This PR contains the last part of the implementation in which we wire up the tables with the medusa-react hooks.

What

Adds the ability to add conditions to discounts
Revamps the Details view for discounts

Note

Editing discount conditions is currently not possible from Admin. We are waiting with implementing this, until https://github.com/medusajs/medusa/issues/1595 is implemented in the core. So the current UI iteration for conditions in the details view should be seen as temporary.

LGTM! Really great job @kasperkristensen 🚀
Before merging, we should resolve the issue with Chromatic not building.


Swift 4 package file

It would be great if https://github.com/vapor/jwt-provider/pull/22 could be merged so that jwt-provider can be fully compatible with Swift 4.0

Done :)


Added FrenchKit conference

FrenchKit:
http://frenchkit.fr:
Why it should be added to awesome-mobile-conferences:
[x] Conference has a website
[x] Conference has start/end date (if one day only conference write the same date)
[x] Check address using Geocoder to get clean address
[x] Updated contents.json instead of README
[x] Is the conference at the bottom of the array?

Conference is past but there will certainly be a 2018 edition ! I will update informations when CFP will be open :)
This repository is a great idea by the way ! Thanks for doing this.

thx @jdatour 👍


Salesforce Dashboard [PYTHON]

App name
dash-salesforce-crm
App

[x] This app is currently deployed on Dash Gallery: https://dash-gallery.plotly.host/dash-salesforce-crm
[ ] This app is new

Source code repository
https://github.com/plotly/dash-salesforce-crm
Current appearance

Redesign
Link: https://github.com/plotly/streambed/issues/12068#issuecomment-453795879

Link: https://github.com/plotly/streambed/issues/12879#issuecomment-483815952

Playground deployment
[url of playground deployment]

CRM app.zip


Test only a specific country code via TEST_COUNTRY=xx env variable

Hello,
It must be useful to check only a specific playlist which someone is working on.

Great idea. I will check the code and publish it to master branch in the next update.


fix: Adjust .sln file for all platforms

PR Details
As title suggests my PR allow to load sln files by adjusting slashes. Main motivation relates to future xplat GameStudio project
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

I tested this change by runing Stride.FixProjectReferences project. Seems to work now 😀

Thanks !


Advice on integration testing and how to manually rollback transaction

I am trying to create some integration tests and I need to rollback my transactions after objection's queries complete, just as in
it('should be able to persist Notificacao', () => {
      return objection.transaction(Notificacao.knex(), trx => {
          return Notificacao
              .query(trx).insert(notificacao1)
              .then(notificacao => {
                  expect(notificacao).to.include(notificacao1);

                 // trx.rollback() here wouldn't work because objection will call commit and the transaction will be closed already, from what I understood

                 // the following attempt to let objection rollback on its own doesn't work either
                 // return new Promise((resolve, reject) => {
                 //     reject('rollback')
                 //});
              })
      });
});

Can someone please offer some advice?

Hmm, based on my experience and the documentation, you should be able to simply do:
return objection.transaction(Notificao.knex(), txn => {
  return Notificao
    .query(txn)
    .insert(...)
    ...
    .then(notificao => {
      // Perform assertions
      ...
       What exactly are you experiencing as output for your code? Can you log out the value of txn to make sure it looks like a transaction object? If it's undefined somehow, passing it to query like query(txn) will not use a/the transaction.

Your example and what newhouse suggested, should work. You should also be able to use trx.rollback(), but in that case you shouldn't return anything from the transaction callback. Your problem is probably somewhere else. What does "doesn't work" mean in this case? What happens? Error message? Stack trace? Something?

Thanks for the replies. However, the suggestion from @newhouse doesn't work; it is equivalent to the last lines I commented out in my original post. By "doesn't work" I mean that in the case of returning a rejected promise, the data is commited anyway; and in the case of manually invoking trx.rollback(), an error is thrown (because the transaction has been closed already when I invoke the method or objection tries to commit the data after that).
Error: Transaction query already complete, run with DEBUG=knex:tx for more info
      at completedError (node_modules/knex/lib/transaction.js:299:9)
      at node_modules/knex/lib/transaction.js:273:22
      at tryCatcher (node_modules/bluebird/js/release/util.js:16:23)
      at Function.Promise.attempt.Promise.try (node_modules/bluebird/js/release/method.js:39:29)
      at Client_PG.trxClient.query (node_modules/knex/lib/transaction.js:271:34)
      at Transaction.query (node_modules/knex/lib/transaction.js:156:28)
      at Transaction.commit (node_modules/knex/lib/transaction.js:130:17)
      at Function.transactor.commit (node_modules/knex/lib/transaction.js:232:18)
      at Object.<anonymous> (node_modules/knex/lib/transaction.js:87:31)
      at Object.tryCatcher (node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromise0 (node_modules/bluebird/js/release/promise.js:614:10)
      at Promise._settlePromises (node_modules/bluebird/js/release/promise.js:693:18)
      at Async._drainQueue (node_modules/bluebird/js/release/async.js:133:16)
      at Async._drainQueues (node_modules/bluebird/js/release/async.js:143:10)
      at Immediate.Async.drainQueues (node_modules/bluebird/js/release/async.js:17:14)

My specific test case passes, but that's because it tests the return of the insert query. I only posted my test case in order to show the exact usage of the framework; it passes perfectly even with the rejected promise, because of where the assertion is placed.
I will try to provide a standalone example then, but from what I saw in objection's test suite it only tests against MySQL -- and I am using PostgreSQL.
Either way, if calling rollback() should work, -- as per your own comment, -- but instead throws the error I showed, that is already a problem that should be fixed. What is the purpose of having access to the transaction object if it can't be interacted with?

I'll take a look at the rollback method since there are no tests for it. Did you test what I suggested earlier about not returning a promise from the callback when calling rollback? Because if you do both, you are using it wrong. You an also see knex documentation about transactions. Objection transaction object is just a knex transaction object.
All tests are ran for sqlite, postgresql and mysql.

I just wrote a test case for the rollback method and it works as it should:
    it('should rollback if an error occurs (rollback method)', done => {
      let lastThenCalled = false;

      transaction(Model1.knex(), trx => {

        Model1
          .query(trx)
          .insertGraph([{
            model1Prop1: 'a',
            model1Relation1: {
              model1Prop1: 'b'
            },
            model1Relation2: [{
              model2Prop1: 'c',
              model2Relation1: [{
                model1Prop1: 'd'
              }]
            }]
          }])
          .then(models => {
            return models[0]
              .$relatedQuery('model1Relation2', trx)
              .insert({model2Prop1: 'e'})
              .return(models);
          })
          .then(models => {
            return models[0]
              .$relatedQuery('model1Relation2')
              .transacting(trx)
              .insert({model2Prop1: 'f'})
              .return(models);
          })
          .then(models => {
            expect(models[0].$query(trx).knex() === trx);
          })
          .then(() => {
            lastThenCalled = true;
            trx.rollback(new Error('whoops'));
          });

      }).catch(err => {
        expect(lastThenCalled).to.equal(true);
        expect(err.message).to.equal('whoops');

        return [
          session.knex('Model1'),
          session.knex('model_2'),
          session.knex('Model1Model2')
        ];
      }).spread((rows1, rows2, rows3) => {
        expect(rows1).to.have.length(0);
        expect(rows2).to.have.length(0);
        expect(rows3).to.have.length(0);

        done();
      }).catch(done);

    });

Alternatively you can use return if you also return the result from rollback since it is an async operation.
    it('should rollback if an error rollback method is called (with return)', done => {
      transaction(Model1.knex(), trx => {

        return Model1
          .query(trx)
          .insertGraph([{
            model1Prop1: 'a',
            model1Relation1: {
              model1Prop1: 'b'
            },
            model1Relation2: [{
              model2Prop1: 'c',
              model2Relation1: [{
                model1Prop1: 'd'
              }]
            }]
          }])
          .then(() => {
            return trx.rollback(new Error('whoops'));
          });

      }).catch(err => {
        expect(err.message).to.equal('whoops');

        return [
          session.knex('Model1'),
          session.knex('model_2'),
          session.knex('Model1Model2')
        ];
      }).spread((rows1, rows2, rows3) => {
        expect(rows1).to.have.length(0);
        expect(rows2).to.have.length(0);
        expect(rows3).to.have.length(0);

        done();
      }).catch(done);
    });

@dcominottim Did you solve this? Can I close the issue?

@koskimas Thanks for your replies. Unfortunately, the problem persists, although I seem to be doing things exactly as in your tests. I am preparing a standalone test case that I intend to show you today or tomorrow at last. I will try to have it ready in a couple hours.

Done. Please run the schema.sql script against your local objection_test DB, then npm install, place persistence.test.js in a test folder, and npm test. It should result in
1) Persistence... should be able to save Notification and rollback the transaction:
     Error: Transaction query already complete, run with DEBUG=knex:tx for more info

https://gist.github.com/dcominottim/8142e68bd0c890012fce63182a7fe495

I just looked at the code and you are not doing the rollback using either of the ways I told that would work. You are using this:
it('should be able to save Notification and rollback the transaction', () => {
  return objection.transaction(Notificacao.knex(), trx => {
    return Notificacao
      .query(trx).insert(notificacao1)
      .then(notificacao => {
        expect(notificacao).to.include(notificacao1);
        trx.rollback(new Error('ok'));
      })
    });
});

when you should be doing this:
it('should be able to save Notification and rollback the transaction', () => {
  return objection.transaction(Notificacao.knex(), trx => {
    return Notificacao
      .query(trx).insert(notificacao1)
      .then(notificacao => {
        expect(notificacao).to.include(notificacao1);
        return trx.rollback(new Error('ok'));
      })
    });
});

or this:
it('should be able to save Notification and rollback the transaction', () => {
  return objection.transaction(Notificacao.knex(), trx => {
    Notificacao
      .query(trx).insert(notificacao1)
      .then(notificacao => {
        expect(notificacao).to.include(notificacao1);
        trx.rollback(new Error('ok'));
      })
    });
});

Oh, reading the whole discussion again, I definitely misunderstood your explanation about when to return promises. Indeed, both of your last examples do work. Thanks a lot for the great support and library. The issue can be closed.

Great! I probably should document the rollback method better.


Am I counted as a viewer by Twitch?

Hi sorry no issue here but a question,
Am I actually detected as a logged viewer by Twitch when I use the GUI? I'm asking because some streams you can actually give you rewards, for example by watching the current CS:GO event with a Steam account linked to your Twitch one you have a chance to get a "souvenir" reward but for that you have to be a viewer on the official stream, is it the was with the GUI?
Thanks for your work.

Hello!
I've already been asked this question a few weeks ago: https://github.com/bastimeyer/livestreamer-twitch-gui/issues/128#issuecomment-132077273
I'm afraid I still can't give a proper answer to that question. Twitch will track you as a viewer either by  processing the HLS-video-chunk requests linked with your OAuth token or by checking if you've joined the IRC channel of the broadcasting channel.
You better ask this question over at the livestreamer repo, since this actually doesn't belong here. There is an already open issue-thread linked in my linked comment...

Thanks for the quick reply, looks like I missed this thread while searching, my bad!


add qiime2 to main

add qiime2 tools to Main into new section QIIME2 (same as on eu)
list is the same as in https://github.com/usegalaxy-eu/usegalaxy-eu-tools/blob/eb1c8dde37973f586ff2a62941d85d306fe3b2e2/tools_q2d2.yaml
Installation sequence for tool-installers

[ ] Test using @galaxybot test this
[ ] Inspect CI output for expected changes
[ ] Deploy using @galaxybot deploy this if test install was successful
[ ] Merge this PR

converting to draft since I just noticed https://github.com/galaxyproject/ephemeris/issues/186

I think we can close that PR

@galaxybot deploy this

You can also see that the section was created correctly in the test output

I thought the problem that persists is that the algorithms that convert name to id are different in Galaxy and in Nate's tools.

just noticed the new section is in the "deprecated tools" panel section, we likely need to change the integrated panel config

just noticed the new section is in the "deprecated tools" panel section, we likely need to change the integrated panel config

that nonsense needs to go, the moment we had more than one process serving the toolbox this failed to be something that works.

Also I don't think the deprecated tools thing actually "works" ... I can't click on it, and it doesn't have a clear start and end ?

@mvdbeek I am not sure what you mean. The DEPRECATED TOOLS in toolpanel is a label, it is not clickable.

That's not very useful is it ? How can I tell what's deprecated ? If I have more than one label, are the labels additive ?

@mvdbeek I agree, not very useful. I think it was relevant more when we were taking extra care in ordering and sorting tools. I think it worked in a way that everything below it in the toolpanel was considered deprecated. We should probably just remove the section label at this point.

Can't find some (at least one) tools that should be installed: https://github.com/galaxyproject/usegalaxy-tools/blob/29dba31012c0390f21f7a22fc5e5f8b66ff867a3/usegalaxy.org/qiime2.yml#L33

Can you have a look @martenson

@bernt-matthias you are correct, that one is not installed...I'll look into this

@bernt-matthias should be remedied after https://github.com/galaxyproject/usegalaxy-tools/pull/688


SA1202 (Public methods must come before private) conflicts with SA1204 (Static methods must appear before instance methods)

The following code produces either SA1202 or SA1204 depending on the order of the two methods.
public void A()
{
}

private static void B()
{
}

This appears to be an error with SA1204, since its precedence should be lower than that of SA1202.

Looks like a problem in SA1202 not separating static elements from instance ones. I'll get this fixed. Thanks for catching this! :smile:


GPTs for content creators

All GPTs:

VisualScript

Transform a script into scene images for your YouTube video. Whether you want oil-painting scenes or realistic images, this AI tool automates the illustration of your script's content with 1 click. https://chat.openai.com/g/g-u6ooEbi8z-visualscript
Link: https://chat.openai.com/g/g-u6ooEbi8z-visualscript
These are some examples of scenes it created for a script narrating Michael Jordan's life story:

AutoShare

AI Agent that uploads your content on YouTube, Facebook, Instagram and Discord. Post all your social media content in one place with 1 click.
Link: https://chat.openai.com/g/g-xwtecgGfH-autoshare

Packaging Expert

Create and improve YouTube thumbnails and titles. From an idea to a CTR-optimized packaging for your YouTube video with 1 click.
Link: https://chat.openai.com/g/g-nV0xRgkiY-packaging-expert
Here is an example of a thumbnail it created for an idea of a video talking about the use of drugs in the ancient egypt

ScriptCraft

Create and improve YouTube scripts: Obtain the best storytelling and engagement for your videos.
https://chat.openai.com/g/g-vO95llJQ3-scriptcraft

TubeInsight

Perform data analysis on your YouTube channel for insights. This AI tool is a data-driven YouTube strategist trained to give the best advice to content creators.
Link: https://chat.openai.com/g/g-9JpRjmWeH-tubeinsight

1 Out Of 10 Idea

Obtain viral YouTube video ideas with 1 click. Improve and create great ideas for your videos.
Link: https://chat.openai.com/g/g-hveqLmAae-1-out-of-10-idea

Thumbnail Wizard

Create and improve YouTube thumbnails: Obtain the best packaging and CTR for your videos with one click
Link: https://chat.openai.com/g/g-9FtAOTNOr-thumbnail-wizard

MrBeastGPT

MrBeast YouTube Consulting: Get the best advice from MrBeast AI on your video thumbnails, titles, scripts, content and ideas. Your AI YouTube strategist, inspired by MrBeast's insights
Link: https://chat.openai.com/g/g-nQJx1lruB-mrbeastgpt

Please raise a pull request for the same


How to remove

How to remove RTImageAssets completely from Xcode 6.3 ?
Thanks!

you can find all your plugins here
~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/


Zephyrus

This work introduces a wrapper to interface with the escape models and connects with Zephyrus as a PyPI package.

Hi @EmmaPostolec,
This is ready for review.
I just spotted an issue in the current main. When creating the star class here, it gives the star age which does not make sense as we are requesting the whole track instead and do age interpolation during the simulation. In the new version I am now creating the star object with mass and rotation rate only.


Support keyboard interaction in tab color selector

Description of the new feature/enhancement
Choose "Set tab color..." from the Command Palette (or right click on a tab and choose "Color...") - the tab color selector pops up:

It currently does not support keyboard interaction, which would be really nice for us terminal nerds who like to keep the fingers off the mouse as much as possible.
P.S. Thanks for Windows Terminal, you folks are doing an awesome job!

The tab color picker should follow the same keyboarding flow as all other UI -- namely that you can navigate it with Tab and select things with Space or Enter.
Is that not working?

I'm guessing you're looking for "The Tab Color Picker should be navigable with the arrow keys", issue #6675?

@DHowett Yes, @zadjii-msft beat me to it :)
Tab and Shift+Tab are working for navigation, was just expecting arrow keys navigation over anything else.
Thank you both, closing for deduplication (didn't find the other issue when searching for it).


add please program

ADD please, sudo like program with regex support written in rust
changelog:

Yeah 😅!
Do I need to resend a new request?

@vahidnameni
Then, could you accept my commit suggestions in this PR?

If you want to override, Yes I confirm two suggestion otherwise if you want i can commit suggestion from here.
Regards


"Trending" column in Multi-Column layout in Shortcut Settings doesn't show up

Describe the bug
As in the title. Happens with both dev.phanpy.social and phanpy.social.
To Reproduce
Steps to reproduce the behavior:

Go to "Shortcuts Settings"
Choose "multi-column"
Add a "Trending" column of any instance
See that the "Trending" column doesn't appear

Expected behavior
The Trending column will show up
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser Edge
Version 112.0.1722.34 (Official build) (64-bit)

Additional context
'Trending' works fine in "Floating button" or "tab/menu bar" layout.
Btw, thanks so much for making Phanpy. Phanpy makes Mastodon usable for me and I'm using Mastodon much more frequently because of that.

confirm fixed. Thanks a lot!


Note about version incompatibility with certain Axios version in README

Is the note at the top of the readme about version locking still a thing?  Axios fixed the issue in 0.19.1 and Nestjs just updated their axios reference to 0.19.2.
Edit: Well, Just noticed that's the per-request override.  I haven't been tracking that one as much but it would still be nice to get some bump sometime soon for the nestjs users

We use 0.19.2 without a problem, but I'd wait until the official word. I do know we had to use axios.default.adapter to get the adapter to conditionally reset, that's not cache's fault but axios arcane resolution logic for the config merge.

Should now be fixed with latest release using axios 0.20.x https://github.com/RasCarlito/axios-cache-adapter/releases/tag/2.6.0


Unable to show toast in a new position until all previous toasts disappear

toastr.info('a', null, {
  positionClass: 'toast-top-right'
});
toastr.info('a', null, {
  positionClass: 'toast-bottom-left'
})

Second toast is shown in top right position

+1

+1


Very large podcasts has duplicate downlods

Describe the bug
I have a very large podcast I am trying to archive, with thousands of episodes. Unfortunately, it is occasionally duplicating some of the episodes and I am not sure why, or if there is a way to clean it up. If it will auto clean up after it's done downloading the thousands of episodes, let me know and this can be closed.

Reproduction
added podcast that is very large and set to download 999999 episodes
System Info
Using docker on unraid. I tried to run the command listed, but it errors out because apparently the command is not in /bin nor does this container apparently have a bash shell.

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Okay so, I resolved that issue by completely removing the podcast and deleting all the files. Now I believe the issue is due to the fact that PodFetch doesn't realize it has already downloaded the files. It shows the download to server cloud clickable and not filled in for every episode, even though it downloaded every single one, and I confirm they do work and are downloaded .mp3s
So now my issue is that for alot of my podcasts, it has downloaded the files, but doesn't show they are downloaded in the software.

Everytime I click refresh podcast, it creates duplicate files again.

I can confirm this is the issue, and it's getting really bad and is now causing terabytes of duplicated data and wasted bandwidth by repeatedly downloading episodes already present over and over again every time it refreshes the podcast

I have the same issue with one podcast feed out of three subscribed. The older the cast is the often it is downloaded.

For anyone else having this issues, I believe a workaround is to turn off downloading of all podcasts before present day to stop it downloading those episodes over and over again. Unfortunately, it will continue on new episodes if you have the download new episodes option checked, but at least it won't keep downloading the same files every time you refresh if you turn if off. I believe this bug is happening because there is some other filetypes published by the source of the podcast, and PodFetch says it doesn't support it, so it thinks it failed even though it already successfully downloaded the .mp3

It looks like every podcast with this issue has the following log

And PodFetch thinks it did not download the episode, but it did download the .mp3

More details

Just pulled latest version, and this issue still occurs.
System information reports I'm on the below version:
v4.7.1-d195f456 (HEAD)

I just pulled the latest version v4.7.1-a089fcbf (HEAD) according to system info, and this issue still exists.

Still creates the duplicated folders, looks like nothing has changed. The only difference is just that now there is a panic error in the log vs just saying file format is not supported.

Still creates the duplicated folders, looks like nothing has changed. The only difference is just that now there is a panic error in the log vs just saying file format is not supported.

Which podcast are you downloading and how many podcast episodes do you download initially?

I download over 60 podcasts or more. It does it on almost all of them. Some of the podcasts I only download 1 episode (my daily news ones) and some I download all. It makes no difference, anytime i refresh a podcast that says file format not supported, it always duplicates the folder because it thinks it doesn't have it downloaded yet. I have 2 separate instances of Podfetch docker. One for my short term daily news podcasts, and my long term "archived" podcasts that I'll listen to later. My "short term" instance is set to download 5 episodes initially, and my "long term" instance is set to download 99999 initially. It happens on both. Right now all my "long term" podcasts have been paused until the issue is resolved due to unnecessary disk space.

You can test it with https://anchor.fm/s/13a6bdec/podcast/rss .
Now with standard settings it downloads one of episodes each hour:

I just made a new podfetch instance and added only one podcastfeed.
After adding the feed it starts downloading and every file downloaded throws an id3v2 error. The .mp3 and .jpg file is downloaded. After one hour it starts again downloading. The container runs for about three hours and there are already treetimes downloaded podcast.
`podfetch  | 2024-12-04T10:16:06 ℹ - Downloading podcast episode: Deus Ex! (SF 2)
podfetch  | 2024-12-04T10:16:10 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:16:10 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
podfetch  | 2024-12-04T10:16:10 ℹ - Downloading podcast episode: Revolution! (SF 1 Classic)
podfetch  | 2024-12-04T10:16:14 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:16:14 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
podfetch  | 2024-12-04T10:16:14 ℹ - Downloading podcast episode: Baphomets Fluch (SF 1 REMAKE)
podfetch  | 2024-12-04T10:16:23 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:16:23 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
podfetch  | 2024-12-04T10:16:23 ℹ - Polling for new episodes successful
podfetch  | 2024-12-04T10:16:24 ℹ - Polling for new episodes
podfetch  | 2024-12-04T10:16:25 ℹ - Downloading podcast episode: Fable (SSF 79)
podfetch  | 2024-12-04T10:16:39 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:16:40 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
podfetch  | 2024-12-04T10:16:40 ℹ - Downloading podcast episode: Ascendancy (SF 149)
podfetch  | 2024-12-04T10:16:53 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:16:53 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
podfetch  | 2024-12-04T10:16:53 ℹ - Downloading podcast episode: Deus Ex (SF 148)
podfetch  | 2024-12-04T10:17:07 ❌ - File format not supported: Id3v2
podfetch  | 2024-12-04T10:17:08 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
Downloades on 2024-12-04T10:16:14 was the first episode, and again on 2024-12-04T10:16:25 it starts getting the latest

same here, even with newest version, e.g. with the podcast https://podcast.darknetdiaries.com
Waitin a few hours or refreshing creates a new directory (e.g. 2024-12-03_152-_ Stacc Attack-1) with the same podcast again, filling up the disk space over a few days

2024-12-04T21:28:01 ℹ - Downloading podcast episode: 152: Stacc Attack
2024-12-04T21:28:10 ❌ - File format not supported: Id3v2
thread '' panicked at src/controllers/podcast_episode_controller.rs:188:14:
called Result::unwrap() on an Err value: Conflict("File format not supported")
2024-12-04T21:28:26 ℹ - Refreshing podcast: Darknet Diaries
2024-12-04T21:28:26 ℹ - Downloading podcast episode: 152: Stacc Attack
2024-12-04T21:28:35 ❌ - File format not supported: Id3v2
2024-12-04T21:28:35 ❌ - Error downloading podcast episode: The following error occurred: File format not supported
2024-12-04T21:28:35 ℹ - Succesfully refreshed podcast.
2024-12-04T21:28:35 ℹ - Downloading podcast episode: 152: Stacc Attack
2024-12-04T21:28:43 ❌ - File format not supported: Id3v2
2024-12-04T21:28:43 ❌ - Error downloading podcast episode: The following error occurred: File format not supported

New user (unraid docker).
2024-12-09T21:54:16 ℹ - Downloading podcast episode: Trop de pizzas en cantine 2024-12-09T21:54:20 ❌ - File format not supported: Id3v2 2024-12-09T21:54:20 ❌ - Error downloading podcast episode: The following error occurred: File format not supported 2024-12-09T21:54:20 ℹ - Downloading podcast episode: Barnierthon 2024-12-09T21:54:24 ❌ - File format not supported: Id3v2 2024-12-09T21:54:24 ❌ - Error downloading podcast episode: The following error occurred: File format not supported 2024-12-09T21:54:24 ℹ - Downloading podcast episode: Monsieur Plutôt

Wait. So the podcast downloads and it downloads again because the id3 tag is buggy. It must be a recent dependency upgrade. I'll fix this tomorrow.

Can we just ignore the tag? If we have .mp3 file and thumbnail, can't we just ignore all other files/tags and mark it downloaded in podfetch interface?

I pushed a new version. It contains a bunch of improvements and it doesn't bubble the errors if the tagging goes wrong. I have no idea. It definetely worked flawlessly before and it was tested back then. I also went back a few versions with that particular library and it still errors. I'll need to investigate but you can again download things without an issue

I also verified that this specific issue of duplicated downloads is fixed. It does not detect existing files, but that is fine, i guess I can delete all existing files and redownload them all, at least the server shows them as downloaded now. Thanks.


cmd/compile: runs out of memory allocating 12k + items in a map at init, works as literal map

On Ubuntu 14.04, Go 1.4.1 64 bits code compiles fine, with 1.5.2 64 bits I get the following error:
    # command-line-arguments
    fatal error: runtime: out of memory

    runtime stack:
    runtime.throw(0x843f10, 0x16)
            /usr/local/go/src/runtime/panic.go:527 +0x90
    runtime.sysMap(0xc8fc0c0000, 0xf6d0000, 0x44a600, 0xdab818)
            /usr/local/go/src/runtime/mem_linux.go:203 +0x9b
    runtime.mHeap_SysAlloc(0xc95400, 0xf6d0000, 0x0)
            /usr/local/go/src/runtime/malloc.go:426 +0x160
    runtime.mHeap_Grow(0xc95400, 0x7b68, 0x0)
            /usr/local/go/src/runtime/mheap.go:628 +0x63
    runtime.mHeap_AllocSpanLocked(0xc95400, 0x7b63, 0x0)
            /usr/local/go/src/runtime/mheap.go:532 +0x5f1
    runtime.mHeap_Alloc_m(0xc95400, 0x7b63, 0x100000000, 0xc81982ccff)
            /usr/local/go/src/runtime/mheap.go:425 +0x1ac
    runtime.mHeap_Alloc.func1()
            /usr/local/go/src/runtime/mheap.go:484 +0x41
    runtime.systemstack(0xc82003dee0)
            /usr/local/go/src/runtime/asm_amd64.s:278 +0xab
    runtime.mHeap_Alloc(0xc95400, 0x7b63, 0x100000000, 0xc820022720)
            /usr/local/go/src/runtime/mheap.go:485 +0x63
    runtime.largeAlloc(0xf6c6000, 0x3, 0x0)
            /usr/local/go/src/runtime/malloc.go:748 +0xb3
    runtime.mallocgc.func3()
            /usr/local/go/src/runtime/malloc.go:637 +0x33
    runtime.systemstack(0xc820021500)
            /usr/local/go/src/runtime/asm_amd64.s:262 +0x79
    runtime.mstart()
            /usr/local/go/src/runtime/proc1.go:668

    goroutine 1 [running]:
    runtime.systemstack_switch()
            /usr/local/go/src/runtime/asm_amd64.s:216 fp=0xc8b55892c8 sp=0xc8b55892c0
    runtime.mallocgc(0xf6c6000, 0x0, 0x3, 0xc8efa66000)
            /usr/local/go/src/runtime/malloc.go:638 +0x9c4 fp=0xc8b5589398 sp=0xc8b55892c8
    runtime.rawmem(0xf6c6000, 0xc8b55893d8)
            /usr/local/go/src/runtime/malloc.go:791 +0x32 fp=0xc8b55893c0 sp=0xc8b5589398
    runtime.growslice(0x785c20, 0xc8efa66000, 0xc56a000, 0xc56a000, 0xc56a001, 0x0, 0x0, 0x0)
            /usr/local/go/src/runtime/slice.go:92 +0x233 fp=0xc8b5589430 sp=0xc8b55893c0
    cmd/internal/obj.Symgrow(0xc8200aa000, 0xc8309ec1e0, 0xc56a001)
            /usr/local/go/src/cmd/internal/obj/data.go:52 +0x23b fp=0xc8b55894f0 sp=0xc8b5589430
    cmd/internal/obj.Setuintxx(0xc8200aa000, 0xc8309ec1e0, 0xc56a000, 0x0, 0x1, 0xc56a000)
            /usr/local/go/src/cmd/internal/obj/data.go:126 +0x76 fp=0xc8b5589548 sp=0xc8b55894f0
    cmd/compile/internal/gc.duintxx(0xc8309a5100, 0xc56a000, 0x0, 0x1, 0xc56a000)
            /usr/local/go/src/cmd/compile/internal/gc/obj.go:178 +0x97 fp=0xc8b5589630 sp=0xc8b5589548
    cmd/compile/internal/gc.duint8(0xc8309a5100, 0xc56a000, 0x12b00, 0xc56a000)
            /usr/local/go/src/cmd/compile/internal/gc/obj.go:182 +0x3e fp=0xc8b5589660 sp=0xc8b5589630
    cmd/compile/internal/gc.onebitwritesymbol(0xc8bcc82000, 0x63df, 0x7600, 0xc8309a5100)
            /usr/local/go/src/cmd/compile/internal/gc/plive.go:1747 +0x19b fp=0xc8b55896e8 sp=0xc8b5589660
    cmd/compile/internal/gc.liveness(0xc8201fcc60, 0xc8214de000, 0xc8309a5080, 0xc8309a5100)
            /usr/local/go/src/cmd/compile/internal/gc/plive.go:1815 +0x3ba fp=0xc8b55897c8 sp=0xc8b55896e8
    cmd/compile/internal/gc.compile(0xc8201fcc60)
            /usr/local/go/src/cmd/compile/internal/gc/pgen.go:528 +0xe07 fp=0xc8b5589a38 sp=0xc8b55897c8
    cmd/compile/internal/gc.funccompile(0xc8201fcc60)
            /usr/local/go/src/cmd/compile/internal/gc/dcl.go:1484 +0x1c9 fp=0xc8b5589ab0 sp=0xc8b5589a38
    cmd/compile/internal/gc.Main()
            /usr/local/go/src/cmd/compile/internal/gc/lex.go:473 +0x1f08 fp=0xc8b5589db0 sp=0xc8b5589ab0
    cmd/compile/internal/amd64.Main()
            /usr/local/go/src/cmd/compile/internal/amd64/galign.go:127 +0x58d fp=0xc8b5589e18 sp=0xc8b5589db0
    main.main()
            /usr/local/go/src/cmd/compile/main.go:26 +0x189 fp=0xc8b5589ef0 sp=0xc8b5589e18
    runtime.main()
            /usr/local/go/src/runtime/proc.go:111 +0x2b0 fp=0xc8b5589f40 sp=0xc8b5589ef0
    runtime.goexit()
            /usr/local/go/src/runtime/asm_amd64.s:1721 +0x1 fp=0xc8b5589f48 sp=0xc8b5589f40

As a side note, after compiling this example I saw that the executable had around 500 MB in size! So I realized that I should've just made it a literal map, and that brought it back to 8MB. And it compiled in both 1.4.1 and 1.5.2.
noram.go

/cc @aclements for triage.

This is the compiler running out of memory, not the runtime.

I don't think this is new in 1.5.2. Both 1.5.2 and 1.4.1 use ~3.5GB of memory when compiling this.
$ /usr/bin/time $(gover run 1.5.2 go tool -n compile noram.go)
28.48user 8.36system 0:31.88elapsed 115%CPU (0avgtext+0avgdata 3512724maxresident)k
25224inputs+506144outputs (108major+800295minor)pagefaults 0swaps
$ du -h noram.o
248M	noram.o

$ /usr/bin/time $(gover run 1.4.1 go tool -n 6g noram.go)
17.16user 2.46system 0:20.93elapsed 93%CPU (0avgtext+0avgdata 3701620maxresident)k
248inputs+983576outputs (1major+922620minor)pagefaults 0swaps
$ du -h noram.o
248M	noram.o

Tip (b8b65c1) is basically the same as 1.5.2. Since the memory use of the C version of the compiler is similar to the Go version of the compiler (a little worse, actually), this is certainly just the compiler using a lot of memory and not a runtime memory management issue.

This appears somewhat better now.  It only used ~2GB to compile at tip.
I'm going to punt this to 1.8 for now.  Almost freeze and no pending changes I know of will help this issue.

Comparing 1.7.5, 1.8.1, and tip at c20e54533ea49ca68640d9a59c9ed935b27da8e5 shows a mixed bag. Compile time is up, but memory use is down, and object file size is way down.
name \ time/op       17           18           tip
Pkg                   18.1s ± 3%   32.3s ± 3%   53.1s ± 2%

name \ user-time/op  17           18           tip
Pkg                   20.9s ± 4%   35.2s ± 3%   55.0s ± 2%

name \ alloc/op      17           18           tip
Pkg                  2.58GB ± 0%  4.14GB ± 0%  2.04GB ± 0%

name \ allocs/op     17           18           tip
Pkg                   6.34M ± 0%   6.99M ± 0%   6.21M ± 0%

name \ object-bytes  17           18           tip
Pkg                    252M ± 0%    193M ± 0%     28M ± 0%

name \ export-bytes  17           18           tip
Pkg                     176 ± 0%     181 ± 0%     208 ± 0%

I suspect that the memory usage decrease is due to CL 35114.
Compiling this file now spends a whopping 64% of its CPU time on line fuse.go:123, which is v.Block = c from:
	// move all of b's values to c.
	for _, v := range b.Values {
		v.Block = c
	}

Looks like fuseBlockPlain is accidentally quadratic. In a long series of plain blocks, every value gets moved along one at a time, block by block. I'll think about whether there's a low risk fix for that.

There were actually two quadratic bits. CLs 43570 and 43571 contain fairly minimal fixes for them. Up to @randall77 and @cherrymui whether they want them for 1.9 or 1.10, and whether @cherrymui would like to do 43571 differently.
After those CLs, this code now compiles in a somewhat acceptable 8s, although memory usage is still high at 2gb. I don't see any obvious next fixes for the memory usage. The next likely source of speed-ups would be to fix #20393.

@aclements, you added "wait-release" to @randall77's CL https://go-review.googlesource.com/c/go/+/151497/ but this issue is still triaged for Go1.12.
Should we perhaps move this to Go1.13? After all this isn't necessarily a new regression as it has existed since Go1.4*

Tip uses only about 1.2GB to compile this example now.
I'm going to close as fixed.
(I'm sure there's more we could do, but we can track that work on other issues.)


support DNS&Domain

Hi do you will support DNS?

dog tunnel already built in dns cache support, so this issue can be closed.


Added decorateWithHierarchySpecTag(..) method to be used to create

the hierarchical spec tag when deploying blueprints.

nice work.  minor comment can be dealt with later.
not 100% sure we have all the data we want for context but we can iterate from here.  there is one a closely related feature i've wanted which is to indicate on a spec which ancestor brought it in; this could be handled by a level_in_parent_yaml field in your hierarchy spec tag.  might add that.

i get two related test failures though:
Failed tests:
  EntityResourceTest.testGetSpecAcceptingXYaml:93->testGetSpec:126 expected [name: ent-with-spec
services:
- type: org.apache.brooklyn.entity.stock.BasicEntity] but found []
  EntityResourceTest.testGetSpecWithNoExplicitAccepts:98->testGetSpec:126 expected [name: ent-with-spec
services:
- type: org.apache.brooklyn.entity.stock.BasicEntity] but found [[{"format":"brooklyn-camp","summary":"brooklyn-camp plan for null","contents":"name: ent-with-spec\nservices:\n- type: org.apache.brooklyn.entity.stock.BasicEntity"}]]

Tests run: 251, Failures: 2, Errors: 0, Skipped: 0

yeah we've all done that!  simple fix, included in merge to master.  :)


Update actions versions

Should remove the warnings about Node.js < 20 no longer being supported soon.

Yup, it looks like it: https://github.com/jupyterlab/maintainer-tools/blob/e9d32bd99c37de59b00ba50f4600b66c7b7df2a6/.github/actions/base-setup/action.yml#L65. I think we can merge this one.


No Injected Headers when using Proxy

It appears that when using the proxy directive, the CORS headers are not being added. Not sure if this is intended behavior or not.
Caddyfile:
localhost:80
cors
proxy / localhost:8000

As a work around, I've been able to just use the header directive, but it would be nice to see this work with the cors addon.
Caddyfile with Workaround:
localhost:80
header / {
      Access-Control-Allow-Origin  *
      Access-Control-Allow-Methods "GET, POST, OPTIONS"
      Access-Control-Allow-Headers "Authorization"
}
proxy / localhost:8000

I am going to close this, plugin seems to be working just fine with latest version of Caddy (0.9.3)

I can replicate this behaviour with Caddy 0.9.5 on Darwin.


Handling rpc_s_access_denied exception

Hello @byt3bl33d3r,
It seems that the rpc_s_access_denied exception, often occuring when a user does not have the required privileges or that the target smb share is not under Windows but Unix (might happen during an internal pentest with a lot of unsorted targets), is not correctly handled and crashes the whole processing.
The following example shows a user trying to dump SAM dbs whilst not having the administrative privileges:
$ python crackmapexec_bug.py -d adyolo -u user1 -p "yoloswag1!" <IP_ADDRESS> --sam
[*] <IP_ADDRESS>:445 is running Windows 6.3 Build 9600 (name:DC01) (domain:adyolo)
[+] <IP_ADDRESS>:445 Login successful adyolo\user1:yoloswag1!
Traceback (most recent call last):
  File "crackmapexec_bug.py", line 1644, in dump
    self.__remoteOps.enableRegistry()
  File "crackmapexec_bug.py", line 795, in enableRegistry
    self.__checkServiceStatus()
  File "crackmapexec_bug.py", line 764, in __checkServiceStatus
    ans = scmr.hROpenSCManagerW(self.__scmr)
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/impacket/dcerpc/v5/scmr.py", line 1320, in hROpenSCManagerW
    return dce.request(openSCManager)
  File "/root/venvcrackmapexec/local/lib/python2.7/site-packages/impacket/dcerpc/v5/rpcrt.py", line 859, in request
    raise exception
DCERPCException: DCERPC Runtime Error: code: 0x5 - rpc_s_access_denied

It would be cool to better handle it and basically pass to the next target.
Cheers.

That was the idea, it should be going to the next target. Will push a fix today. Thanks!

@maaaaz fixed, thanks.


Azure Provider: discovery of containers not working

Hi,
i am working with the Azure provider to extract info about containers in an Azure Storage Account.
While the provider extracts info about the storage account (resource type: azurerm_storage_account) just fine, data about blobs (azurerm_storage_blob) or containers (azurerm_storage_container) is not extracted.
Are those not implemented yet or am I doing something wrong?
Many thanks

Ok,
i figured out that it does work by using the resources="*" flag or by using --resources=storage_blob,storage_container,storage_account.
But when trying to import a storage_blob, terraformer fails with the error message: azurerm error initializing resources in service storage_blob, err: The number of path segments is not divisible by 2 in "test-container". I will create a new issue for that.


archives message is automatically unachieved when a new message is sending over

I think that should be considered as improvement because later , we will go in to have a very long history message and might have the issue to load the message.
archive-mean something we keep as history  , we can un-achieve to review them later.
here is what I observation
1-inbox one org Nature has a lot of message for AP - so it decides to achieved this message and agree with if you like to read the conversion again, you will have to go to Messages setting to restore it.
2-after clicking on Achieve button , see the message goes to Achieved  Conversations on Manages Settings.
3-then AP send another message to Nature again after Nature achieved all AP messages
4-Naviage to Nature inbox and see all AP achieved message including the new message in display.
i think we should have another new thread of message from AP to Nature because per achieve conversation display, only when you go to message setting, archived conversation folder to restore if you want to read it.   as time going, the message will get growing and it seems there is no better way to achieve the old messages at the current time.

@adorapham
This is expected behavior for archived messages as:
From google about archive message behavior:
"When you archive a message: The message will come back to your inbox when someone replies to it." as per Gmail.

From google about archive message behavior:

@rabbi08 , yes, I see it is for Gmail message but Gmail message has many threads ,not like Direct private message, I just put it in for improvement.

I think it is the same for ignore message. here is what I observation (might be need to get improvement later)
1-HM send a message request to NM
2-NM take a look and decide to ignore the message request from HM after reading the confirmation dialog box "The message request will be deleted from your device. Are you sure you want to ignore?"
3-NM clicks on ignore and think the message is deleted
4-HM send another message request to NM
5-NM check the inbox and see all ignored message that NH thought deleted from device still on display plus the new message.
what if NM only want to see the last message but have to keep all the messages that NM decided to ignore and think them should be deleted from previous action.  NM don't want to block this person , but only want to choose to accept certain msg but seeming force to view all messages among them NM don't really like.

as discussion with @Zaydme ,that is something dev will take a look in future.

@tejasm2 - this is working as designed right? we should close and can reopen ticket if change mind in future?


feat(transformer/typescript): remove typescript ast nodes

#3559  👈
main

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

Join @Dunqing and the rest of your teammates on  Graphite


The program crashes and automatically shuts down after starting the process of redrawing the design

The program crashes when I try to create a module on a medium-sized netlist. In my original script, I run a script that gathers a list of all the gates that should be included in a new module that I want to create. The program runs correctly. Then, I run the following code:
...
m = netlist.create_module(f"module_{i}", netlist.get_top_module())
for gate_id in Gate_IDs:
m.assign_gate(netlist.get_gate_by_id(gate_id))
without receiving any errors. However, the program automatically shuts down during the recalculation process to display the new design (with the new module) in the "Graph-Views" tab. It appears that although the code runs successfully, there's an issue with redrawing the design in the "Graph-Views" tab after the new module has been created. Both the HAL GUI and the terminal from which I launch the program crash and close automatically, leaving no diagnostic messages.
When I attempt to reopen the project, in the "Modules" section at the upper-left corner I can see that my module has been created and is listed within the top-module hierarchy. However, when the program is about 8% through drawing the design in the "Graph-Views" tab, the program crashes again.
Do you know what can be happening?
Thanks in advance.

There is definitely something broken with the module renderer right now, but I couldn't yet pinpoint exactly what it is.
What I found so far:

Creating a module with a single gate doesn't trigger the issue.
Creating a module with many gates will sometimes cause a crash when the containing module is in an open view (e.g. you create a module under the top module, and you have the graph view of the contents of the top module open)

It appears that the layouter is bailing out with an assertion failure:
Fatal: ASSERT: "iy1 == iy0 + 1" in file hal/plugins/gui/src/graph_widget/layouters/graph_layouter.cpp, line 781 (hal/plugins/gui/src/graph_widget/layouters/graph_layouter.cpp:781, )

I have built a test case for this which reliably crashes HAL. I'll clean that up a bit and upload it later. Some more familiar with the intricacies of the graph layouter may want to triage based on that.
Also, I found a possibly related issue:

Deleting a module from the module tree on the top left doesn't redraw the graph view, so the deleted module stays visible. Clicking that module in the graph will then cause HAL to crash since it attempts to access a non-existent module.

Executing the script in the following HAL project reliably crashes HAL on an assertion failure in GraphLayouter::calculateGateOffsets().
hal_project_toy_cipher.zip
Just before the crash, mCoordY contains the keys 0,2. Hence, the iy1 == iy0 + 1 assertion in the iteration over this map fails.
I didn't fully figure out how the mCoordY map is filled in the first place, perhaps someone else can chime in.

Thank you very much for the help. I have seen that you have updated the corresponding file in the repository. After reinstalling HAL and importing the project where the error previously occurred, I can confirm that the error has been corrected and the modules are now created correctly.

@CuriousCodeCrafter Thanks for feed. I'll change the issue status to "fixed".


Undeclared dependency: six (in generated code)

While looking into the codebase to potentially help out with PRs, I noticed that the onepasswordconnectsdk.models.generator_recipe module includes:
import six

# ...

        for attr, _ in six.iteritems(self.openapi_types):

The import is undeclared as a dependency of the project; the only reason this hasn't been an issue so far is because it is a transitive dependency for python-dateutil. There is no guarantee that all future python-dateutil releases will include six as a dependency.
The import can trivially be removed as connect-sdk-python now requires Python 3.7 and up; the following line would be equivalent, more efficient and removes the need to import six:
        for attr in self.openapi_types:

I note that the specific OpenAPI code generator now only supports Python 3.7 and up, so you could just re-generate the code.
Another option is to use pyupgrade to rewrite the code for you to remove the Python 2.x support altogether, but you'll have to manually remove the import six line in that case, and pyupgrade would rewrite the above to use for attr, _ in self.openapi_types.items():, missing the iteration-over-dictionaries-yields-keys trick (the values are ignored in the loop, so .items() is overkill here).

Perhaps regenerating would be a step too far; the new generator adds pydantic as a dependency to enforce type safety and correctness, so could radically alter how the library responds to types that may or may not be acceptable to the SDK now.


cannot get cdnjs for css files

after docker run, the browser UI doesn't work normally.
as shown is web console
cannot get https://cndjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.min.css
.....
what should to do?

Is it possible that your local checkout has a typo? I notice cndjs in the URL but it should be cdnjs (the spelling is currently correct in the master branch).


proposal: Go 2:  extend "goto" - statement

Author background
intermediate -> experienced Go programmer?
n/a
Related proposals

Has this idea, or one like it, been proposed before?

Has some similarities to
https://go.dev/issue/32611
https://go.dev/issue/34140
https://go.dev/issue/37035

If so, how does this proposal differ?

by making use of an extended "goto" - statement funcionality

Does this affect error handling?

yes

If so, how does this differ from previous error handling proposals?

n/a

Is this about generics?

no

If so, how does this relate to the accepted design and other generics proposals?

n/a
Proposal

What is the proposed change?

https://groups.google.com/g/golang-nuts/c/5ARY8Pdu3zM

Who does this proposal help, and why?

writers and maintainers of code bases  with restructuring "if err != nil {}" by inlining func evaluations

Please describe as precisely as possible the change to the language.

compiler functionality

What would change in the language spec?

goto has extended functionality

Please also describe the change informally, as in a class teaching Go.

In Go the "goto" statement transfers control to the statement with the corresponding label within the same function
new:
when put before https://go.dev/ref/spec#Expressions it takes all evaluated values (in lexical right-to-left order; ignoring the zero value for its type),  jumps to a label with the same name as the "value holder" (if present) and holds a pointer to the corresponding value.

Is this change backward compatible?

yes

Breaking the Go 1 compatibility guarantee is a large cost and requires a large benefit.

n/a

Show example code before and after the change.

r,err := os.Open(src)
if err != nil {
//do something
}

goto r,err := os.Open(src)

r:
defer r.Close()
goto w, err := os.Create(dst)
goto v, err := io.Copy(w, r)
goto err := w.Close()

err:
//do something

Orthogonality: how does this change, interact or overlap with existing features?

scope?
https://go.dev/ref/spec#Goto_statements

Is the goal of this change a performance improvement?

n/a

If so, what quantifiable improvement should we expect?

n/a

How would we measure it?

n/a
Costs

Would this change make Go easier or harder to learn, and why?
What is the cost of this proposal? (Every language change has a cost).
How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?
What is the compile time cost?
What is the run time cost?
Can you describe a possible implementation?
Do you have a prototype? (This is not required.)

For the example block of code:
goto r,err := os.Open(src)

r:
defer r.Close()
goto w, err := os.Create(dst)
goto v, err := io.Copy(w, r)
goto err := w.Close()

err:
//do something

The first instance seems to jump to the label r, which is also the name of the first variable, while the remaining ones jump to the label err, which is everywhere. What are the rules for what does goto jump to?

walkthrough:
goto r,err := os.Open(src)

goto "evaluates" err: if err != nil -> jump to err-"label"
goto "evaluates" r:  if not "zero value" of type and r-"label" is present -> r-"label and
continue
... if any err != nil: -> jump to err-"label"
if other value-"labels" are present -> jump...

Note that in the example code we normally would not permit goto err.  See https://go.dev/ref/spec#Goto_statements which says: "Executing the "goto" statement must not cause any variables to come into scope that were not already in scope at the point of the goto."

It is already possible, if a bit verbose to do goto-based error handling. If go had an if qualifier like Ruby, we could shorten this to goto err if err != nil.
https://play.golang.com/p/59VJFBaYnt4

package main

import (
	"fmt"
	"errors"
)

func errorEven(i int) error {
	if i% 2 == 0 {
		return errors.New("even")
	}
	return nil
}

func errorGoto(i int) {
	var err error
	fmt.Printf("Start: %d\n", i)
	err = errorEven(i)
	if err != nil {
		goto err
	}
	goto ok

	err:
	fmt.Printf("There was an error: %s\n", err)
	return

	ok:
	fmt.Println("All is ok")
	return
}

func main() {
	errorGoto(1)
	errorGoto(2)
	errorGoto(3)
	errorGoto(4)
}

a proposal scheme
> _3: (scope _2)
goto_block {
    if label-name is present (eg err, A): ->  _9 || _5
    (else: -> _4)

    > _2: (scope _1)
    value(s)_block {
        (right-to-left evaluation of returned values: eg err, A)
        if value != zero value of type || value != _: -> _3
        (else -> _4)

        > _1:
        func_block(s) {
            evaluation(s):
            if value(s) returned -> _2
            (else -> _4)
        }

    }

}

>_ 4: (scope _1 || _2)
//do something: eg func_block(s)/goto_block(s)... define exit_block_1 or -> _9 || _10

and/or

label(s)_block {

    A:
    > _7: (scope _6)
    goto_block {
        if label-name is present (eg err, B): -> _9 || _8++
        (else: -> _8++)

            > _6: (scope _5)
            label_block_A {
            (right-to-left evaluation of returned values)
            if value != zero value of type: -> _7
            (else -> _8++)

                > _5: (scope _3)
                func_block(s) {
                    evaluation(s):
                    if value(s) returned -> _6
                    (else -> _8++ || _10)
                }

            }

    }

    (
    > _8++:
    eg B: (func_block(s) or goto_block)
    )

    > _9: (scope _4 || _6 || _7 || _8++)
    err:
    ("error evaluation" - block)

    > _10: (scope _4 || _5 || 8++ || 9)
    Exit:
    exit_block_2

}

(exit_block_3)

This proposal overloads variable names and label names, such that the name of a label corresponds to the name of a variable.  That is confusing, and would seem to work poorly if one wants to assign to a variable more than once.
The emoji voting on this issue is not in favor.
Therefore, this is a likely decline.  Leaving open for four weeks for final comments.

No further comments.


add an option for unsecure connections

I've checked the options for this library, and there's no option for
insecure: true,
rejectUnauthorized: false
??
Error: self signed certificate     at TLSSocket.<anonymous> (_tls_wrap.js:1098:38)     at emitNone (events.js:105:13)     at TLSSocket.emit (events.js:207:7)     at TLSSocket._finishInit (_tls_wrap.js:628:8)     at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:458:38)

You would first need to add such an option to https://github.com/ForbesLindesay/http-basic
This isn't really on my roadmap, but if you create a pull request, I will review it. You might as well just use http though, if you're not going to validate the certificate.


Where can I get supplementary material?

When I learn 'Robustness analysis' chapter, I cannot understand the Fig.4. I also dont find the code in the projects, so could you pls provide supplementary material or related code   ?Thank you~

I find I dont read all paper, thank u


react-admin v4 support

Does ra-data-feathers officially support the new react-admin v4 release?
I want to migrate the existing react-admin v3 app to v4, but I have to be sure that ra-data-feathers still works afterwards.

v4 It is very new, a few hours by now.
We need to read

https://marmelab.com/react-admin/Upgrade.html

No time to test it out, but if you upgrade react-admin to 4, then run tests maybe we are going to have a clue.
Anyways two more things:

Imports: dont know if it is exporting constants (https://github.com/josx/ra-data-feathers/blob/master/src/restClient.js#L1-L11)
maybe Some  Changed Signature Of Data Provider Hooks, but i am not sure

Migrated the admin app to v4 and tested with the current ra-data-feathers, works fine so far...
Tests + official support for v4 would be great though.

What do you think we need to do to support v4? How you experienced any problem? any specific test to write?

great!
if you want to do integration tests would be perfect!


[DE] Add binary sensor light

Hey @mib1185 thank you for the feedback. I know, not every combination sounds natural. I think if it doesn't do anything wrong it shouldn't be a problem. Many voice assistants understand sentences that are not grammatically correct.
I've implemented those expansion rules (may use them at more places in a separate PR) and added more test sentences with area to cover them.


Option for opening upon start up without a new window opening/ Option for background start up

Option for files to open on startup without a new window opening/ Option for just background startup
Could we get an option for files to open in the background upon startup please? Files still takes about 10-15 seconds to start when it's not already running in the background after you close a window. I have to restart my PC quite often for development reasons. You can have Files startup but the opens a window that I don't need at that moment.
Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.3296
Comments
No response

Thanks for the feedback, you already can by turning on Files settings > Advanced > Open Files on Windows startup and Leave app running in the background when the window is closed


On a Mac and not ignoring DS_Store files?

Doing my best to gitignore DS_Store files...

@nitinthewiz Thanks for the PR! I'd rather avoid maintaining OS-specific files in the .gitignore — what I'd suggest instead is adding .DS_Store to your global .gitignore like so.


i.e. changed to e.g.

Fixes #677

@arielshaqed I am new to open source and I think I made some mistake here. If you guide me on how I can pass all the checks.
If by any chance this PR is not up to the standard I am ready to close this.
Sorry if I caused any inconvenience.

@arielshaqed I am new to open source and I think I made some mistake here. If you guide me on how I can pass all the checks.
If by any chance this PR is not up to the standard I am ready to close this.
Sorry if I caused any inconvenience.

Don't worry about the failing test, its an integration test that cannot work for external contributors.  I've asked our @johnnyaug to review this code.  It's a holiday weekend over here, our response time is a bit slower.

@johnnyaug I have added a new commit with the required changes.

Thank you @Yashs911, merged!


WANTED: community package maintainers

I added an INSTALLING.md file that provides instructions for installing cheat:
https://github.com/cheat/cheat/blob/master/INSTALLING.md
That file mentions several community-maintained packages for various package managers.
If you are maintaining a community package (or know someone who is), please either tell me about it, or (better) open a PR that adds it to the table above.
Note that this file should only contain installation instructions for the "official" cheat application, though links to related and similar applications are welcome in the wiki.

There are two packages maintained for Arch Linux in the Arch User Repository (AUR). Both seem to be well maintained and probably be worth to be added to the list.

cheat: Builds executables from source
cheat-bin: Pulls executables directly from GitHub Packages

@dotcs, thanks for these.
I'm not an Arch user. Am I correct that these are the respective commands for installing these packages?
pacman -S cheat
pacman -S cheat-bin

This is, at least, what the cheat community cheatsheets are telling me. lol.
I ask because I've been including this information as well within INSTALLING.md. (Perhaps I should not.)

Installing packages from AUR is explained here. AUR packages are non-official community maintained packages, so the installation is unfortunately not as simple as pacman -S <name>. That said, there is a wrapper around the standard package manager pacman available that make installation as easy as yay -S <name>.
I think in your docs, it should be sufficient to mention that this is an AUR package and link users to the documentation for installation instructions.

@dotcs, thanks for the information. I've included the packages you listed here in the documentation for the 4.3.2 release:
https://github.com/cheat/cheat/releases/tag/4.3.2
I've also simplified the installation instructions, per your suggestion.
Thanks!

I shouldn't have closed this. I'm re-opening this because there are surely more packages out there that should be documented.


ci: sanitize vptr and function

Risk Level: Low
Testing: CI
Docs Changes:
Release Notes:

@jmarantz @mattklein123 ping?


uiua: 0.4.1 -> 0.5.1

Description of changes
Update uiua.
Changelog:

https://github.com/uiua-lang/uiua/releases/tag/0.5.0
https://github.com/uiua-lang/uiua/releases/tag/0.5.1

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

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

2 packages built:

uiua
uiua386


User Page needs a back button

After clicking on a user there's no way to go back on the page you were on. Only way to go back is to press the back button. This only goes back to page 1.

I don't see this. Could you elaborate? (Navigating from projects -> observatory -> a user page, if I click back, it does return to observatory)

If I'm on the third page of the user profiles and click back it goes back to the first page
Sent from my iPhone

On Sep 27, 2015, at 3:52 PM, kmcnellis<EMAIL_ADDRESS>wrote:
I don't see this. Could you elaborate? (Navigating from projects -> observatory -> a user page, if I click back, it does return to observatory)
—
Reply to this email directly or view it on GitHub.

I think we should make use of the Javascript history api on the users and projects pages

Closing this but opened #466 which will do what we need


[WIP] Windows: TestRestartContainerwithRestartPolicy

Signed-off-by: John Howard<EMAIL_ADDRESS>This already known flaky test (see commentary in it) is failing occasionally on windowsTP5 CI. Increasing the timeout to allow a much better chance of success. 500ms is certainly not long enough.
Example of failure:https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP5/418/console
03:27:05 PASS: docker_cli_restart_test.go:108: DockerSuite.TestRestartContainerwithGoodContainer	3.672s
03:27:42
03:27:42 ----------------------------------------------------------------------
03:27:42 FAIL: docker_cli_restart_test.go:222: DockerSuite.TestRestartContainerwithRestartPolicy
03:27:42
03:27:42 docker_cli_restart_test.go:229:
03:27:42     c.Assert(err, checker.IsNil)
03:27:42 ... value *errors.errorString = &errors.errorString{s:"condition \"\"false true\" == \"false false\"\" not true in time"} ("condition \"\"false true\" == \"false false\"\" not true in time")
03:27:42
03:27:52
03:27:52 ----------------------------------------------------------------------
03:27:52 PASS: docker_cli_restart_test.go:192: DockerSuite.TestRestartPolicyAfterRestart	8.905s
03:27:55 PASS: docker_cli_restart_test.go:84: DockerSuite.TestRestartPolicyAlways	2.977s

Win2lin CI arms down after multiple attempts. Failing other PRa too. Looks like problems on the Linux side. @tiborvass

@jhowardmsft can we find a better compromise between 500ms and 10 sec ? Shouldn't 3 sec be plenty enough?

@tiborvass Fair. Updated.

@tiborvass TP5 CI passed - just the Jenkins status isn't updating - still thinks it's running. https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP5/504/console

@jhowardmsft looks like it failed? https://jenkins.dockerproject.org/job/Docker-PRs-WoW-TP5/588/console
17:26:25 ----------------------------------------------------------------------
17:26:25 FAIL: docker_cli_restart_test.go:222: DockerSuite.TestRestartContainerwithRestartPolicy
17:26:25
17:26:25 docker_cli_restart_test.go:229:
17:26:25     c.Assert(err, checker.IsNil)
17:26:25 ... value *errors.errorString = &errors.errorString{s:"condition \"\"false true\" == \"false false\"\" not true in time"} ("condition \"\"false true\" == \"false false\"\" not true in time")
17:26:25
17:26:48
17:26:48 ----------------------------------------------------------------------

Huh. Adding [WIP] to title. Will dig in some more as to what the failure cause is.

ping @jhowardmsft were you still looking into this, or should it be closed?

It's still a flakey test

@thaJeztah Can you please file an issue for this and close the PR?

created tracking issue https://github.com/docker/docker/issues/22702


Version Bump

Changes since release 0.48.1:

Provide options to make FastlaneCore::Project print less output (#5491)
Add Xcode 8 support: rename "OS X" to "macOS" (#5385)
Fix run-on sentence. (#5357)
Fixed not duping env variables (#5304)
Add error catching when ipa file is not found (#5323)
Remove redundant use of xcrun (#5279)

🚀


Add support for default branch and build skipping

Thank you for your work on this provider plugin, @jradtilbrook! Really appreciate it.
Made my job a lot easier 🙂
I noticed that setting the default branch wasn't supported yet, so I implemented that. Empty default branch means all branches, so I tested default_branch = "" (which is also the default) and that works without problems.
Build skipping fields were recently added to the GraphQL API (https://forum.buildkite.community/t/feature-parity-for-pipeline-creation-between-graphql-and-rest-apis/600/3), so I implemented them too.

Travis fails because go fmt $(go list ./...) fails for go1.10. Formatting is different for versions > 1.10. Does it make sense to test version 1.10?

Awesome, thank you for contributing! :tada:
All those additions sound great, as you might be able to tell, I've just been adding to them as I personally need them.
I think you are right; I'll update the travis config to remove 1.10 and then you can rebase onto that. I'll let you know when it's ready

Alright that's ready to go now

@jradtilbrook I also sorted the GraphQL arguments in the tags alphabetically.

Awesome! Nice work and thanks again for contributing. I'd like to get this listed on the official Terraform 3rd party providers page at some point so a star would be appreciated if you're up for it.
I'll cut a new minor release as well

I'd like to get this listed on the official Terraform 3rd party providers page at some point so a star would be appreciated if you're up for it.

Oh, that would be awesome 👏 Starred the repo now 🌟
I'll definitely keep working on this provider. Pipeline schedules are the next thing I want to tackle, I think.

That would be excellent. I've already created 2 issues for the next things I'm going to focus on; adding tests and user related things like SSO/teams/etc.
Your additions will be gladly welcomed


(BOLT-907) Add ruby task helper to docs and Puppetfile

What this changes Adds the ruby_task_helper module to the Puppetfile, and include a link in the docs
Why So that the helper is installed with bolt

Hmm. Kind of concerning that r10k error does not stop Appveyor from continuing.

Waiting for CLA signature by @lucywyman
@lucywyman - We require a Contributor License Agreement (CLA) for people who contribute to Puppet, but we have an easy click-through license with instructions, which is available at https://cla.puppet.com/
Note: if your contribution is trivial and you think it may be exempt from the CLA, please post a short reply to this comment with details. http://docs.puppet.com/community/trivial_patch_exemption.html

Waiting for CLA signature by @lucywyman
@lucywyman - We require a Contributor License Agreement (CLA) for people who contribute to Puppet, but we have an easy click-through license with instructions, which is available at https://cla.puppet.com/
Note: if your contribution is trivial and you think it may be exempt from the CLA, please post a short reply to this comment with details. http://docs.puppet.com/community/trivial_patch_exemption.html

Ugh rubocop updated - this now depends on https://github.com/puppetlabs/bolt/pull/735


improved test + coverage reporting

improve default test file
Use JS Class by default for main.js
apply browserify for karma testing to allow shims etc
fix "karma-coverage": "0.2.6" to avoid bug/incompatiability in 0.2.7

@behaghel @robertmackenzie recommended update for sky-tags as this will allow full Jasmine testing plus code coverage and apply the sneaky browserify-shims automatically.

you'll notice it includes a link to my own istanbulify repo. I've submitted a pull request to get this working with karma, but we may have to bring this code in under the wrapper directory if it doesn't get accepted.
I'd probably hold off on v1.1.0 release until either i get response from the PR or we get bored of waiting and pull the wrapper in.
This PR is only a small code change but to work out how to instrument browserified code actually took days and cost the lives of many braincells.  pour out a little liquor. RIP.
downside
this technique tests the unminified code (so the deployed .min.js is not tested. yet)
upside
this technique tests the unminified code (better unit testing)
maybe i''ll have a look at testing the concatinated/min file too


[Feature] Improve release workflow

Update our release promotion process to unblock developers and testers by keeping the release free for merging
Solution:
Whenever we want to promote to master, we checkout the current release branch into an RC (release-candidate) branch and raise a PR from the RC branch to master

[ ] Create an RC label to be attached to the PR
Create a Github actions workflow when the RC label is present

[ ] Build client code and deploy on rc.app.appsmith.com
[ ] Build server code and deploy on rc.app.appsmith.com
[ ] get the current release drafter release notes and comment on the PR

Closed as redundant


Dependency providing CRD, not installed first

I've been writing a Helm exporter for the Habitat project for some weeks now and during my testing, I've come across a few issues. This is one of them and the most critical one for us. I'm using Helm version 2.8.2.
The template in the charts created by the said exporter, uses a particular CRD that is created/provided by habitat-operator. To avoid users having to install the habitat-operator manually before they could install the charts, we decided to make it completely transparent to user by making use of Helm's dependencies/requirements concept.
The problem is that Helm either tries to install both the main (exported) chart and the dependency habitat-operator chart simultaneously, in the wrong order or it just doesn't wait for the dependencies to be fully initialized in the cluster (i-e pod to be ready) before it tries to apply the chart's templates and hence it ends up in a failure:
# helm install nginx
Error: apiVersion "habitat.sh/v1beta1" in nginx/templates/habitat.yaml is not available

but this works out:
# helm install nginx/charts/habitat-operator-0.5.1.tgz
...
# helm install nginx

While the good thing is that it's not hard to work-around this by manually installing the habitat-operator first but that't not a very useful workaround since you end up with two deployments of habitat-operator in the cluster then, which is not desirable at all.
The latest habitat-operator chart is available at https://kinvolk.github.io/habitat-operator/helm/charts/stable/habitat-operator-0.5.1.tgz.

There are some workarounds for this where you can only install the CRD on install, and then all subsequent upgrades use the rest of the chart. The main issue is being tracked in #2994

@thomastaylor312 Thanks.

There are some workarounds for this where you can only install the CRD on install, and then all subsequent upgrades use the rest of the chart.

I am not sure I understood which comment you mean. One comment pointed to the workaround in the docs  and seems only the method 2 is the only solution. I tried that and turned the habitat-operator CRD deployment into a pre-install hook and it worked perfectly for installing the chart but deletion becomes a NOOP:
# helm install nginx
NAME:   fancy-tortoise
LAST DEPLOYED: Mon Mar 12 14:59:40 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/ServiceAccount
NAME                             SECRETS  AGE
fancy-tortoise-habitat-operator  1        0s

==> v1beta1/ClusterRole
NAME                             AGE
fancy-tortoise-habitat-operator  0s

==> v1beta1/ClusterRoleBinding
NAME                             AGE
fancy-tortoise-habitat-operator  0s

==> v1beta1/Habitat
NAME                          AGE
nginx-1.11.10-20180216165808  0s

# helm list
NAME          	REVISION	UPDATED                 	STATUS  	CHART        	NAMESPACE
fancy-tortoise	1       	Mon Mar 12 14:59:40 2018	DEPLOYED	nginx-1.11.10	default
# kubectl get pods
NAME                                               READY     STATUS    RESTARTS   AGE
fancy-tortoise-habitat-operator-84b67ff47b-9tqbv   1/1       Running   0          16s
nginx-1.11.10-20180216165808-665dd9dbd6-jvrlq      1/1       Running   0          15s
# helm delete --purge fancy-tortoise
release "fancy-tortoise" deleted
# kubectl get pods
NAME                                               READY     STATUS    RESTARTS   AGE
fancy-tortoise-habitat-operator-84b67ff47b-9tqbv   1/1       Running   0          55s
nginx-1.11.10-20180216165808-665dd9dbd6-jvrlq      1/1       Running   0          54s

Also #2994 seems to be about a much bigger issue: CRDs from a chart being
used by templates in other charts and as one of the comment explains, that's a very hard issue to solve. However, my issue is a very simple one and I was wondering if it could be solved without having to change anything in the helm design: The umbrella chart should not be installed before all the required charts have been installed and their underlying k8s resources are ready. Or am I missing something?

I forgot that was in the docs! The other way I was thinking of is how the Istio chart did it (see also the README for that chart).
As for order of install, Helm takes all of the generated manifests (umbrella and subcharts) and sorts them in the order defined here. But it doesn't wait for previous resources to be ready before continuing.

I forgot that was in the docs! The other way I was thinking of is how the Istio chart did it (see also the README for that chart).

Thanks. That's not a very bad workaround at all but if we're going to ask the users to run two commands, we might as well ask them to install the operator manually before installing the chart using it.

As for order of install, Helm takes all of the generated manifests (umbrella and subcharts) and sorts them in the order defined here. But it doesn't wait for previous resources to be ready before continuing.

That order seems good and in many cases (including ours), it will help if helm waited for the resources to be ready.

@zeenix So I think that adding waiting like that would probably warrant a proposal. If you'd like to write one up, feel free to ping me and I'll get it tagged properly

@zeenix How did you install another chart in pre-install hook? could u share some codes with us?

@dotw Sorry, I lost my test chart and I'm no longer working on this.

@zeenix Did we get a sufficient answer to your question? Wanted to double check before closing

@thomastaylor312 Thanks. I dont quite understand. In this issue we identified ( a very serious IMO) problem with how Helm works, as you seemed to agree in https://github.com/kubernetes/helm/issues/3632#issuecomment-372861843. So I would expect this to be closed after the said issue has been resolved.
The reason I think the issue is very serious is that in every kind of package manager I have ever encountered, dependencies are guaranteed to be handled in a very sequential way. While the installation of independent dependencies can and should be parallelised, a dependency is always expected to be installed and ready before installation of dependent package is attempted.
But as I said, I'm no longer working on this myself so up to you how you want to proceed.

I'm pretty sure this is a duplicate of #2994. #2994 is about ensuring that CRDs are registered before we install the CRD resources, which appears to be the same problem as described here.
Let's follow up in #2994 instead so we're all working off of a single ticket. Thanks!


Ignore some CentOS/RH files  in rootfs and Docker image pipelines

See for instance:
/root/anaconda-ks.cfg
/root/anaconda-post.log
/root/.bash_logout
/root/.bash_profile
/root/.bashrc
/root/.cshrc
/root/original-ks.cfg
/root/.tcshrc

Also:
/usr/lib64/hmaccalc/sha1hmac.hmac
and usr/lib64/hmaccalc/*.hmac


chests_search fails with an error

When you execute, e.g. chests_search MaceSilver on the latest version of the game, it fails with an exception:
[Info   : Unity Log] 06/10/2024 03:23:23: System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
  at System.IO.BinaryReader.ReadByte () [0x00018] in <17d9ce77f27a4bd2afb5ba32c9bea976>:0
  at System.IO.BinaryReader.Read7BitEncodedInt () [0x00019] in <17d9ce77f27a4bd2afb5ba32c9bea976>:0
  at System.IO.BinaryReader.ReadString () [0x0000f] in <17d9ce77f27a4bd2afb5ba32c9bea976>:0
  at ZPackage.ReadString () [0x00000] in <67f3c386e04446c49523ecfd5b8921c2>:0
  at UpgradeWorld.SearchChests.SearchChest (System.Byte[] array, ZPackage from, System.Collections.Generic.HashSet`1[T] ids) [0x000fa] in <a1e287a3e1944eb89ce1797d6ade88ed>:0

I've added try/catch here and some logging to understand what is going on. As far as I understand, the problem is that the code doesn't support a new version of items serialization (0x6A, or 106).  What I can see is that the exception is raised always if version == 106, so other types of serialization are parsed correctly.

This should be now fixed, thanks for the report.