Made git commands work despite values of GIT_DIR and GIT_WORK_TREE

The previous method for interacting with a bundle via git involved
cd'ing into the bundle directory then running the relevant git commands.
The problem with this approach is that if the environmental variables
GIT_DIR and GIT_WORK_TREE are set at this point then git will
preference their values over those implied by the current directory.
(This can cause trouble for vcsh users, for example.)
This patch uses the git arguments -C, --git-dir, and --work-tree
to specify the location of the bundle explicitly. This overcomes the
original problem since git gives these values precedence over GIT_DIR
and GIT_WORK_TREE.

This is exciting. By removing the && we gain some compatibility with the Fish shell, and we could at some point stop telling people to set their shells to bash in vim.
I am concerned about the -C option, I seem to recall reading about it in a git's changelog, which would mean it's relatively new. Must check this.

If you decide that we really can not use the -C option it can also be done with the --git-dir and --work-tree options alone.

The -C option was introduced in git 1.8.5 in November 2013. I'd say it's long enough, and especially worth it considering it would rid us of the &&'s. @gmarik do you object?

The -C option was introduced in git 1.8.5 in November 2013.

It's not that long ago.
This actually may cause a lot of problems for people.

@lucc Unfortunately I don't think this can be done with --git-dir and --work-tree alone, at least, not in a way that removes the &&. I tried the following code:
func! vundle#installer#expand_git_cmd(bundle, cmd) abort
  let git_dir = vundle#installer#shellesc(a:bundle.path().'/.git')
  let work_tree = vundle#installer#shellesc(a:bundle.path())
  let out = 'git --git-dir='.git_dir.' --work-tree='.work_tree.' '.a:cmd
  return out
endf

but receive an error fatal: /usr/lib/git-core/git-submodule cannot be used without a working tree. when the submodule update --init --recursive command is used. Apparently git submodule does not like --work-tree.
However, my original motivation for this patch was not to remove the && but rather to enable Vundle to work even when GIT_DIR and GIT_WORK_TREE are set. I still think there is reason to implement this, which may be done as follows:
func! vundle#installer#expand_git_cmd(bundle, cmd) abort
  let out = 'cd '.vundle#installer#shellesc(a:bundle.path()).' && git --git-dir=.git/ --work-tree=. '.a:cmd
  return out
endf

Right on. The ability to remove '&&' was an observed nice side effect, doesn't matter if we don't get it.

What if we, at the beginning of the installation, checked whether these vars are set, if so cache their values and unset them, and then at the end do the reverse? Seems to me like a simpler change.


Add support for string scheme in HTTP.connect?

I think allowing the string versions would at the very least get rid of a minor inconvenience.
uri = URI.parse("https://example.com")
scheme = String.to_existing_atom(uri.scheme)
{:ok, conn} = HTTP.connect(scheme, uri.host, uri.port)
{:ok, conn, ref} = HTTP.request(conn, "GET", uri.path, [])

Hey @ryanwinchester, thanks for the issue. We're using an atom because the scheme can only be :http or :https. I think allowing a string as well goes against the philosophy of Mint, which is to be a low-level client that behaves correctly and supports everything supported by HTTP/1 and HTTP/2, but without adding conveniences on top (which would be the responsibility of the user or of libraries built on top of Mint).
Hope that makes sense. Thanks a lot in any case! 💟


autopep8: error: no such option: --indent-size

when i open a python file(.py) and i click on "Beautify editor content"
it show error,atom 1.01.9, atom-beautify 0.28.17
   Usage: autopep8 [options] [filename [filename ...]] Use filename '-' for stdin.
   autopep8: error: no such option: --indent-size

and the stack trace is
Error: Usage: autopep8 [options] [filename [filename ...]]
Use filename '-'  for stdin.
autopep8: error: no such option: --indent-size
  at /home/unknown/.atom/packages/atom-beautify/src/beautifiers/beautifier.coffee:258:27
  at tryCatcher (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/util.js:26:23)
  at Promise._settlePromiseFromHandler (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:507:31)
  at Promise._settlePromiseAt (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:581:18)
  at Promise._settlePromises (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/promise.js:697:14)
  at Async._drainQueue (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:123:16)
  at Async._drainQueues (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:133:10)
  at MutationObserver.Async.drainQueues (/usr/share/atom/resources/app.asar/node_modules/babel-core/node_modules/bluebird/js/main/async.js:15:14)
  at process._tickCallback (node.js:365:9)

Looks like a duplicate of https://github.com/Glavin001/atom-beautify/issues/419
Please update autopep8


Document inputFiles option

Hey folks, right now I am trying now I am working on some CLI that wraps typedoc command line.
I am trying to figure out what I am doing wrong and after a couple of hours I am getting nowhere.
I have the following code
const { CliApplication } = require('typedoc');
const { resolveApp } = require('../paths');
const { setupEnv } = require('../env');

async function run(toolbox) {
  const { parameters } = toolbox;
  setupEnv('development');

  const config = {
    out: resolveApp('docs'),
    inputFiles: resolveApp('src'),
    includeDeclarations: true,
    readme: resolveApp('README.md'),
    ...parameters.options,
  };

  console.log(config);

  // eslint-disable-next-line no-new
  new CliApplication(config);
}

As you can see I am doing console.log which will output something like
{ out:
   '/Users/yordisprieto/Developer/straw-hat/javascript/fetcher/docs',
  inputFiles:
   '/Users/yordisprieto/Developer/straw-hat/javascript/fetcher/src',
  includeDeclarations: true,
  readme:
   '/Users/yordisprieto/Developer/straw-hat/javascript/fetcher/README.md' }

I added a console.log around here https://github.com/TypeStrong/typedoc/blob/955c388eee386372fd5fa88302423083b7813110/src/lib/cli.ts#L56
So I am getting this output
{ hasErrors: false, inputFiles: [ 'docs' ] }

But I dont think this is actually working.
When I use typedoc --out ./docs ./src command directly I get this output on the same line
{ hasErrors: false, inputFiles: [ './src' ] }

Which as you can see it docs is not there, which is what I am expecting.
One, I am assuming that passing inputFiles in the config of new CliApplication(config); but I am not actually sure about it.
I need your support on figuring this out 😢

That is certainly some odd behavior... I really can't say what's going on without more digging. However, I think I might have a good guess.
How are you calling your code? If you do something like node file.js ./docs, and use CliApplication then when the argument reader is called it will check if this is called from the CLI and will parse process.argv as if you were running typedoc ./docs... which will set ./docs to the input files.
If you are writing your own CLI, you should use the Application class instead. The CliApplication.bootstrap method should show how you can use it.
I'm not actually sure why CliApplication is exported. It seems like it shouldn't be as it really can't be used by external code due to this behavior.

@Gerrit0 this is what I was trying to do https://github.com/straw-hat-team/straw-hat-cli/blob/master/src/common/commands/docs.js
I commented everything out since I got nowhere with it.
The reason I was using CliApplication is that of this line https://github.com/TypeStrong/typedoc/blob/7424d9705dae528e4ec111a176e3c3d91364f8e5/src/lib/cli.ts#L68
Somehow you get the inputFiles which I thought it was a regex or something like that but it is actually an array of files (correct me if I am wrong)
Since the CliApplication automatically somehow figure out that list I just used the class.
Even if I use Application I think I will be in the same position since the there is no documentation for options and I keep getting this weird behavior.
Ideally I would love to call the function with some inputFiles regex or array (I would prefer regex) and figure out the list for me.

@Gerrit0 so do you know how I could get the inputFiles back without having to code that part using Application?

I think I might have misunderstood your goal, the result.inputFIles that the CLI class uses is a result of parsing the command line options to find entry files / directories. When using TypeDoc programatically, it's expected that you provide these.
In the case of typedoc --out ./docs ./src, result.inputFiles would just be ['./src'] and the expandInputFiles function will be used to get all the ts files within that directory.
Assuming I understood resolveApp correctly, your commented out code looks like it should work, though I haven't actually run it.

result.inputFiles would just be ['./src'] and the expandInputFiles

Oh so I could bypass bootstrap function call since I could just call expandInputFiles with my config.
Niiice I was misunderstanding who was doing what and how.
THANKS  A LOT, will try out tomorrow and let you know

@Gerrit0 that works! 👏 👏 👏 👏 👏 👏 👏 👏 👏


Expand the options available in containers.unit.create

Add the option to specify the SELinux type label and file type label for the process.
Add the option to specify a tmpfs mount to create into the container.

I also added the new options to our unit test.

Thank you, much appreciated :)


Fix regression with value check on token option select

Thanks @ibolton336

Looks like this Travis issue might be related to Travis running into GitHub's API rate limiting when using their legacy commit status API. Looks like that's what we're using ("continuous-integration/travis-ci" rather than the new GitHub App for Travis which calls the check "Travis CI - Pull Request") and I found some related issues:
https://travis-ci.community/t/fails-to-report-build-status-to-github-again/7880
https://travis-ci.community/t/github-status-not-posted-on-commits-on-repositories-using-legacy-service-integration/7798/14
Sounds like the recommended solution is to migrate to their newer API (move the project from travis-ci.org to travis-ci.com): https://travis-ci.com/account/migrate

It looks like the mig-controller repo has already been migrated to the new Travis integration, too.


An interface suggestion

This can be rewritten, as:
    let new_chat_member {Chat.id} {User.first_name} =
      SendMessage (id, "Hello, " ^ first_name, false, None, None)

Also, it would be nice to provide functional constructors instead of using explicit constructors. This is a good design choice (as you may later  make them smart) and is more convenient, as it allows to use labeled and optional arguments, with a corresponding send_message the example can be rewritten as:
   let new_chat_member {Chat.id} {User.first_name} =
      send_message ~id ("Hello, " ^ first_name)

Also, it looks like, that since there should be lots of string constructing, it would be nice to make the send_message function variadic, i.e., to accept a formatter and arbitrary amount of arguments (this can be implemented using ksprintf function from the standard OCaml library). So that finally we can end up with the:
  let new_chat_member {Chat.id} {User.first_name} =
    send_message ~id "Hello, %s"  first_name

This can be rewritten, as:...

Oh nice, didn't realize that works! Thanks for showing me

Also, it would be nice to provide functional constructors instead of using explicit constructors.
I've had plans to do something kinda like this, but haven't fully decided how to do it. (Check out this issue. The problem that the first comment is talking about is that when you sequence different commands with "callbacks" (i.e. GetMe of (User.user Result.result -> action) there needs to be a way of doing that without having to fall back to explicit data constructors. I was considering making an optional argument, like ?and_then:(User.User Result.result -> action) and then having an operator to make that more concise (which I was going to use >>= for). But looking back, it would probably make more sense to define a new operator for that to avoid confusion. Any ideas for this?

it would be nice to make the send_message function variadic

This actually sounds like a great idea, as long as it doesn't interfere with normal usage/make the function awkward to use I'll go ahead and implement this -- how well do variadic functions play with optional parameters?
Anyways, thanks for the suggestions. I'll try to experiment with the best ways of implementing most of this and see how well I can get it to fit along with the current interface.

Okay, I've finished most of the work involved in this... I'm still not 100% happy with the code I've written for this issue, but for the most part it seems to work well. I'll close this issue for now but I'm not going to release these changes until I've decided that I'm happy with them.
@ivg Any specific suggestions for how I should make the interface better?

Great work!

This actually sounds like a great idea, as long as it doesn't interfere with normal usage/make the function awkward to use I'll go ahead and implement this -- how well do variadic functions play with optional parameters?

It should work, but variadic functions will always cost something, as in case of error the compiler messages are sometimes either cryptic, or useless (remember this unsound type messages). But, the expressibility is great, so it can be considered a fair price.


more decisive warnings

more decisive warnings

warning for depricate terraform version
warning that the infrastructure does not change
only warn about added, updated or deleted resources if happening

Thanks for the contribution @DenWin. I can help get the tests updated to cover this. Will merge once thats been done.

Changes look good @DenWin and tests have been added to cover the new warning logic. Once pipeline checks pass will merge this one. Thanks again for the contribution.

I would suggest, to remove this particular warning, but to add an additional command "version" which only purpose would be to check the version and to output this warning - but on purpose.

This is already possible via
- task: TerraformCLI@0
  displayName: 'terraform version'
  inputs:
    command: version
    workingDirectory: $(terraform_templates_dir)

So just needed to add a check if the task is being run in the context of terraform version or another command. If running just for terraform version then will check for the warning and emit to pipeline warnings.

didn't knew it passes through straight into here. I'm looking into the issue with the error

I found it. There was a period missing at the end of the updated message which was causing the tests to fail. It should be fixed now.

yeah! ... for my defense, the error message coming from npm is hard to read. ;-)

build was successful on re-run. github not picking it up. merging...


the style of nested class name is not applied to a component

I am using a react package called react-simpletabs and I am trying to style <Tabs> with css.root as the below code blocks.
HomeCurator.jsx
import React, { Component } from 'react';
import { Col } from 'react-bootstrap';
import Tabs, { Panel } from 'react-simpletabs';
import css from './home_curator.scss';

export default class HomeCurator extends Component {
  render() {
    return (
      <Col md={9}>
        <Tabs className={css.root}>
          <Panel title="Tutorials">

Content #1 here

          </Panel>
          <Panel title="Courses">

Content #2 here

          </Panel>
          <Panel title="Posts">

Content #3 here

          </Panel>
        </Tabs>
      </Col>
    );
  }
}

./home_curator.scss

.root {
  nav, nav > ul, nav > ul > li {
    padding: 0;
    margin: 0;
  }

  nav {
    background-color: rgba(255, 255, 255, 1);
    @include rounded(5px);
    @include box-shadow(0, 3px, 3px, 0, $box-shadow-color);

    ul {
      li {
        display: inline-block;
        list-style: none;

        a {
          display: inline-block;
          padding: 25px 15px;
          text-transform: capitalize;
          font-size: 20px;
          font-family: $helvetica-md;
          color: $subtle-text;
          cursor: pointer;
        }

        &.is-active a {
          color: $normal-text;
        }
      }
    }
  }
}

Most of the styles successfully applied to <Tabs>.
However, the only style of .is-active class is failed to be applied. :confounded:
<li class="tabs-menu-item is-active" data-reactid=".plu7p7szy8.0.0.$main.<IP_ADDRESS>.0.0.$0">
  <a data-reactid=".plu7p7szy8.0.0.$main.<IP_ADDRESS>.0.0.$0.0">
    Tutorials

the inspection of css is
Object {root: "home_curator__root__3Qbwg", is-active: "home_curator__is-active__1REBW"}

I have no idea if this is my lack of knowledge about using this package or a bug.
Any solution for this issue would be appreciated!

There is no hint that this is related to the sass-loader at all. Try to isolate it and create a small example project. This makes debugging a lot easier. I don't know react-simpletabs so I can't help you here.


Fix crash on iPad

Without presentation controller actionSheet fails on iPad with uncaught exception:
[ Uncaught Exception ]
Name: NSGenericException, Reason: Your application has presented a UIAlertController (UIAlertController:) of style UIAlertControllerStyleActionSheet. The modalPresentationStyle of a UIAlertController with this style is UIModalPresentationPopover. You must provide location information for this popover through the alert controller's popoverPresentationController. You must provide either a sourceView and sourceRect or a barButtonItem.  If this information is not known when you present the alert controller, you may provide it in the UIPopoverPresentationControllerDelegate method -prepareForPopoverPresentation.

Reproducible in simulator


sms error 411

Hi again,
When I send sms using the api, using {} as option and a callback, I systematically get
{ success: false, errors: [ { message: '', code: 411 } ] }
When using the debug mod, I am able to get the query path.. It works perfectly with postman!
Any idea?

@lulucious can you share the exact code you are running so we can try and replicate?

	nexmo.message.sendSms sender, recipient, message, {}, (err,nexmoRes)->
		console.log err
		console.log "-"
	 	console.log nexmoRes

@lulucious mind fleshing this out a bit more? I need some code I can run as is, so I need to know what sender and message are.

i tried with string values and got the same error msg : sender:"hello" , recipient:"33622222222", message:"hello"... I know it sounds basic but it's not working!
Works perfectly with request...

@lulucious what happens if you just do:
nexmo.message.sendSms "lulucious", "33622222222", "Hello World"

??

@lulucious just tried this and it works fine:
Nexmo = require('nexmo')

nexmo = new Nexmo({apiKey: 'your_api_key', apiSecret: 'your_secret'})

nexmo.message.sendSms "lulucious", "your_number", "Hello World"

If the TO number is a non UK number e.g. a US number then the FROM value
must be a Nexmo virtual number for your account.
On Tue, 4 Oct 2016, 19:34 Cristiano Betta<EMAIL_ADDRESS>wrote:

@lulucious https://github.com/lulucious just tried this and it works
fine:
Nexmo = require('nexmo')
nexmo = new Nexmo({apiKey: 'your_api_key', apiSecret: 'your_secret'})
nexmo.message.sendSms "lulucious", "your_number", "Hello World"
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Nexmo/nexmo-node/issues/75#issuecomment-251474168,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUCr7xpk3lq7m_25umwGwmX_j7jyHB_ks5qwpw9gaJpZM4KN-Ts
.

@leggetter thanks for reminding me. Still works fine for me though:
Nexmo = require('nexmo')

nexmo = new Nexmo({apiKey: 'key', apiSecret: 'secret'}, {debug: true})

nexmo.message.sendSms "my_number", "33622222222", "Hello World", (err, res) ->
  console.log(res)

returns
{ 'message-count': '1',
  messages:
   [ { to: '33622222222',
       'message-id': '070000000F6411EA',
       status: '0',
       'remaining-balance': '12.33580000',
       'message-price': '0.05940000',
       network: '20810' } ] }

Closing due to inactivity


ModifyImageAttribute: Added support for user permissions.

This fixes issue #288.

Coverage increased (+0.02%) to 96.94% when pulling d631f869c13b8f118ef1666715eba0d7ab98336e on DreadPirateShawn:ModifyImageAttributeUserPermissions into dd5cab8c6382ffe3800e41dbf909f6006a8d6c54 on spulec:master.

Awesome work. Thanks Shawn!


404 on FAQ link in main branch docs.

What happened:
404 when trying to reach FAQ from the sidebar:
https://googleforgames.github.io/quilkin/main/book/

What you expected to happen:
It to take me to the page.
How to reproduce it (as minimally and precisely as possible):
Click the above link, and then click "FAQ".
Anything else we need to know?:
This works fine for the 0.2.0 guide.
Also, I can't seem to reproduce this locally.
In https://github.com/googleforgames/quilkin/tree/gh-pages/main/book it's got a FAQ.html (which is incorrect), but in https://github.com/googleforgames/quilkin/tree/gh-pages/v0.2.0/book we can see it's faq.html. Locally I'm also getting faq.html - so I'm very confused.
Environment: Github Actions

Quilkin version: dev
Execution environment (binary, container, etc): Github Actions
Operating system: N/A
Custom filters? (Yes/No - if so, what do they do?): N/A
Log(s): N/A
Others: N/A

@XAMPPRocky I know you've done a lot of stuff with GH Actions and mdbook -- you seen this before? Is it possible that for some reason the gh pages action isn't seeing a change in FAQ vs faq, and not updating the page?

AHA!

https://github.com/JamesIves/github-pages-deploy-action/issues/895

I am wondering if we should manually delete FAQ.html from the github branch for main, so it can be replaced. Any objections?

I did a dumb, and accidentally pushed to gh-pages on googleforgames/quilkin (I didn't realise I didn't have it set as upstream instead of origin).
Happy to revert and submit as a PR instead if someone has strong feelings.
https://github.com/googleforgames/quilkin/commit/59c65c6ab3fa9ae12d1c18cfb9ee754e1b777cbc
https://googleforgames.github.io/quilkin/main/book/faq.html now works though.

Looks like nobody minds that I did a silly 😄 in which case, I'll close this issue 👍🏻


Update title of "Disparities" charts

The charts doesn't necessarily display disparities depending on the underlying data, although it often does.
Chart title for affected vs. total population should be:
"Share of total {CONDITION} by {DEMOGRAPHIC} vs. {DEMOGRAPHIC'S} share of population in {LOCALE}"
Chart title for rate/100K:
"{CONDITION} per 100,000 people by {DEMOGRAPHIC} in {MINNESOTA}"

@kkatzen Would you be able to do this on Thu?


Update draft status of existing Whitehall assets in Asset Manager

This should be done after https://github.com/alphagov/asset-manager/issues/447 so that we only have to do it once. It should also almost certainly use the same logic as used to address that issue.

I've opened https://github.com/alphagov/whitehall/pull/3769 to address this.

I've merged https://github.com/alphagov/whitehall/pull/3769.

Having tweaked the Rake task a bit in https://github.com/alphagov/whitehall/pull/3782 and https://github.com/alphagov/whitehall/pull/3783 based on my experience of trying it out in integration, I carried out the following test of it in integration:
Whitehall
irb> Attachment.find_each(start: 1, finish: 5050).select { |a| File.exist?(a.attachment_data.file.path) }.map { |a| [AttachmentVisibility.new(a.attachment_data, nil).visible?, a.url] }
=> [[true, "/government/uploads/system/uploads/attachment_data/file/49997/1790388.pdf"], [true, "/government/uploads/system/uploads/attachment_data/file/2367/responses.pdf"], [true, "/government/uploads/system/uploads/attachment_data/file/2368/guidance-note.pdf"], [false, "/government/uploads/system/uploads/attachment_data/file/2369/responses.pdf"], [true, "/government/uploads/system/uploads/attachment_data/file/2370/annexa.pdf"], [true, "/government/uploads/system/uploads/attachment_data/file/2371/annexb.pdf"], [true, "/government/uploads/system/uploads/attachment_data/file/2372/annexd.pdf"]]

Note that although the Attachment ID range is quite large, the query only returns 7 attachments.
E |
14:46:17 |     o+..  . o   |
14:46:17 | .   +o. .  o    |
14:46:17 |  = o  oS...     |
14:46:17 | . B   .oo.      |
14:46:17 |  o .   .        |
14:46:17 |                 |
14:46:17 |                 |
14:46:17 +-----------------+
14:46:17
14:46:19 I, [2018-02-16T14:46:19.482121 #18263]  INFO -- sentry: ** [Raven] Raven 2.7.1 ready to catch errors
14:46:19 /data/apps/whitehall/shared/bundle/ruby/2.4.0/gems/sidekiq-scheduler-2.2.1/lib/sidekiq-scheduler/redis_manager.rb:4: warning: already initialized constant SidekiqScheduler::RedisManager::REGISTERED_JOBS_THRESHOLD_IN_SECONDS
14:46:19 /data/vhost/whitehall-admin/shared/bundle/ruby/2.4.0/gems/sidekiq-scheduler-2.2.1/lib/sidekiq-scheduler/redis_manager.rb:4: warning: previous definition of REGISTERED_JOBS_THRESHOLD_IN_SECONDS was here
14:46:20 Using middleware GdsApi::GovukHeaderSniffer to sniff for GOVUK-Request-Id header
14:46:20 Using middleware GdsApi::GovukHeaderSniffer to sniff for GOVUK-Original-Url header
14:46:20 Using middleware GdsApi::GovukHeaderSniffer to sniff for X-GOVUK-Authenticated-User header
14:46:20 Using middleware GdsApi::GovukHeaderSniffer to sniff for GOVUK-Auth-Bypass-Id header
14:46:21 Finished: SUCCESS

After
irb> a1 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/49997/1790388.pdf")
=> #<WhitehallAsset _id: 5a748d20ed915d0e8bf19346, deleted_at(deleted_at): nil, created_at: "2018-02-02T16:09:04.412Z", updated_at: "2018-02-16T14:46:21.823Z", state: "uploaded", filename_history: [], uuid: "3027e4a0-7b46-4261-84f7-54556a769133", draft: false, etag: "5a748d20-34520", last_modified: "2018-02-02T16:09:04.415Z", md5_hexdigest: "c6bd2ab75a15402e8fd521869e2a699a", file: "1790388.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/49997/1790388.pdf", legacy_etag: "50f6a205-34520", legacy_last_modified: "2013-01-16T12:50:13.000Z">

irb> a2 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2367/responses.pdf")
=> #<WhitehallAsset _id: 5a798806e5274a3864fd7c19, deleted_at(deleted_at): nil, created_at: "2018-02-06T10:48:38.645Z", updated_at: "2018-02-16T14:46:21.815Z", state: "uploaded", filename_history: [], uuid: "00478449-1ef5-4a7e-916d-56471185d330", draft: false, etag: "5a798806-a90f", last_modified: "2018-02-06T10:48:38.617Z", md5_hexdigest: "1ce8419dfa6066a93a138b7b463e607d", file: "responses.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2367/responses.pdf", legacy_etag: "5087f0a8-a90f", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> a3 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2368/guidance-note.pdf")
=> #<WhitehallAsset _id: 5a74f98eed915d3c7d52968d, deleted_at(deleted_at): nil, created_at: "2018-02-02T23:51:42.409Z", updated_at: "2018-02-16T14:46:22.031Z", state: "uploaded", filename_history: [], uuid: "07a97589-25f0-49f5-b9cf-7c969aa22214", draft: false, etag: "5a74f98e-1138a", last_modified: "2018-02-02T23:51:42.412Z", md5_hexdigest: "b89e261f0aecdb7954366e1b2273214c", file: "guidance-note.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2368/guidance-note.pdf", legacy_etag: "5087f0a8-1138a", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> a4 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2369/responses.pdf")
=> #<WhitehallAsset _id: 5a790796ed915d04220673cb, deleted_at(deleted_at): nil, created_at: "2018-02-06T01:40:38.697Z", updated_at: "2018-02-06T01:40:38.984Z", state: "uploaded", filename_history: [], uuid: "51080725-888b-4ba9-b355-304911f92eb0", draft: true, etag: "5a790796-a90f", last_modified: "2018-02-06T01:40:38.695Z", md5_hexdigest: "1ce8419dfa6066a93a138b7b463e607d", file: "responses.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2369/responses.pdf", legacy_etag: "5087f0a8-a90f", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> a5 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2370/annexa.pdf")
=> #<WhitehallAsset _id: 5a79e3e6e5274a684690cd4e, deleted_at(deleted_at): nil, created_at: "2018-02-06T17:20:38.386Z", updated_at: "2018-02-16T14:46:22.103Z", state: "uploaded", filename_history: [], uuid: "4110e8f8-0221-404f-8e27-53d8208e4dd1", draft: false, etag: "5a79e3e6-21c6c", last_modified: "2018-02-06T17:20:38.399Z", md5_hexdigest: "fc2ea46203c06a0cadd02af40d066984", file: "annexa.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2370/annexa.pdf", legacy_etag: "5087f0a8-21c6c", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> a6 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2371/annexb.pdf")
=> #<WhitehallAsset _id: 5a78e8b5e5274a2acd18aba0, deleted_at(deleted_at): nil, created_at: "2018-02-05T23:28:53.351Z", updated_at: "2018-02-16T14:46:22.185Z", state: "uploaded", filename_history: [], uuid: "d665984b-598a-4d36-9aa9-49311a2c2756", draft: false, etag: "5a78e8b5-102bc", last_modified: "2018-02-05T23:28:53.360Z", md5_hexdigest: "f21ef4c86ae278738f081646923333b3", file: "annexb.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2371/annexb.pdf", legacy_etag: "5087f0a8-102bc", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> a7 = WhitehallAsset.find_by(legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2372/annexd.pdf")
=> #<WhitehallAsset _id: 5a7980b240f0b63d72fc65d4, deleted_at(deleted_at): nil, created_at: "2018-02-06T10:17:22.857Z", updated_at: "2018-02-16T14:46:22.278Z", state: "uploaded", filename_history: [], uuid: "12122574-f4ad-4458-a2a0-6d6f6ad447f3", draft: false, etag: "5a7980b2-15787", last_modified: "2018-02-06T10:17:22.858Z", md5_hexdigest: "c3f7ea3b66adef49deef2adc5c415351", file: "annexd.pdf", _type: "WhitehallAsset", legacy_url_path: "/government/uploads/system/uploads/attachment_data/file/2372/annexd.pdf", legacy_etag: "5087f0a8-15787", legacy_last_modified: "2012-10-24T13:44:08.000Z">

irb> [a1, a2, a3, a4, a5, a6, a7].map(&:draft?)
=> [false, false, false, true, false, false, false]

irb> a4.public_url_path
=> "/government/uploads/system/uploads/attachment_data/file/2369/responses.pdf"

Conclusion

Before running the Rake task 6 of the 7 attachments in Whitehall are visible according to the AttachmentVisibility#visible? method; only the 4th attachment is not visible.
Before running the Rake task, all 7 attachments were marked as draft in Asset Manager.
After running the Rake task, 6 of the assets were marked as not draft in Asset Manager; only the 4th asset (a4) was left marked as draft.
Thus I'm happy that the Rake task did what it was supposed to do.

@chrisroos & I have realised that we almost certainly need to change the code so the draft status is determined at job execution time rather than at the point the job is enqueued. If we're queueing up loads of jobs and they are taking a significant amount of time to execute, other events might happen in the meantime which render the jobs invalid. And since the jobs are not guaranteed to execute in the order they were queued, I think we need to make the change described above.
It probably also makes sense to batch up all the Asset Manager updates into a single job per asset.
Thus I think this issue is somewhat blocked.

I'm going to un-assign myself from this issue for now, because I'm not actively working on it any more.

Superseded by #525. Closing.


Use "yield from" in descendant generators

This required some adjustment to remove the dependence on specific keys, in particular checks for $idx=0 and use of iterator_to_array() with $use_keys=true.
See also discussion in #23.

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


Update dependencies

What this PR does / why we need it:
Updates dependencies like the containerd, podman, etc to latest versions
Test plan for issue:
Unit tests, E2E
Is there any documentation that needs to be updated for this PR?
N/A

/azp run ci

/azp run ci


Running danger without write access to the repo

Currently when running danger on an open source project with a key set up to not have write access I run into
Found 2 error(s) and I don't have write access to the PR set a PR status. bundle exec danger returned exit code 1

As far as I remember we had a way to not set the return status for this situation. What's the best way to solve this? I'll submit a PR to both the setup and the docs to make this easier, just wanted to check what's your thoughts @orta :+1:

Danger should always fail if you get errors, that's the point of Danger, if you don't think it's worth failing for, then use warn.

The wording relates to https://github.com/danger/danger/issues/105 and https://github.com/danger/danger/issues/106

As far as I remember we had a way to not set the return status for this situation

This can be solved by adding a --no-fail flag to bundle exec danger - so instead of returning a fail if you have errors, it can pass.

I keep getting this error either my account is owner / admin and all the flags for the token are switched on.
Do you guys have any idea what could be the cause?
PS: I am using travis-ci.

I'm running into this too. I'm using bundle exec danger --fail-on-errors=false and I still get:
Danger has failed this build.
Found 2 errors and I don't have write access to the PR to set a PR status.

Which I don't understand because the token has all repo permissions:

And it's actually able to send comments.

Hi @NachoSoto 👋
This problem happens because a user that owns Github Token (DANGER_GITHUB_API_TOKEN) has no write access to the repo itself.
You token setup is absolutely correct ✅ , but I guess you're using a CI Github user, so just invite this user to a repo:

I figured this out reading Danger's source code, there's a nice comment when this error message is thrown: https://github.com/danger/danger/blob/560733f739db3b740dba4f80b29a61a38eb9eeaf/lib/danger/request_sources/github/github.rb#L228

New phone who dis


[GSSOC'23] Community Building

actually I want to implement By fostering mentor-mentee relationships, the web application can promote a sense of community among college students, creating a supportive environment for knowledge sharing. Can u please assgin me this issue under GSSOC'23

Not needed yet


Improve default assignment of functions to different node types

Improve default assignment of functions to different node types.
The default assignment could be improved by automatically selecting different functions for intermediate nodes, leaf nodes, consequence nodes, AND nodes, OR nodes, etc.
We should start by gathering some ideas and concepts here before implementing.

Idea: Extend Aggregation Function dialog by columns for each node template type. Allow assignment of one function to each node type via radio buttons.


Support reload rules without stop/start http server

Support to reload ModSecurity rules without need to stop the HTTP server.

Hi, there are news on this feature implementation?
Thanks.

Hi, is there any news on this feature? Do anyone working on it. Thanks in advance :)

Hey @umarfarook882, I think I laid the groundwork for this a while back, however the actual work to reload was done in the http server used by the Edgecast CDN.
We've since moved to a different WAF engine that supports this natively.

This is a feature of 3.1. Already implemented.

Hi. How can I reload the rules without restarting http server?
3.1 seems to suppor that but how can I do it?


It would be interesting to group dataset by subject

For the moment we have all dataset listed one after the other. It would be good to group them by subject based on  EURAC classification.

Done in the current version of the web app


PEX 2.0 Enhancement request: Automatic rank promotions

It looks like something to allow for lifetime durations was in the works at some point in the past, but I don't see anything that would allow for groups to have a lifetime value before promoting a user up to the next rank on the ladder automatically. When/if you ever decide to get back to that, I think this type of feature would be very handy.

Lifetimes are for users to have permissions or groups for a specific amount of time, and when the lifetime expires, the permissions/groups are removed.

There are plugins that monitor user play time and then allow promotions, AutoRank for example.

I get it. Most likely one of our server devs will implement something like this on top of our PEX implementation. I just thought I would ask here first as it seemed very tightly related to the idea of ranks and ladders and it was possible something may already be planned. Thanks for the input.

Unfortunately PermissionsEx is currently unmaintained and no further updates are planned. Because of this, all pull requests are being closed. If you are looking for an actively maintained permissions plugin, take a look at LuckPerms. It is compatible with major server platforms and can import data from PEX.


Rewrote SpikesPlot to use segment glyph

Since bokeh no longer supports plotting multi_line glyphs on categorical axes this PR switches the Spikes element over to use the segment glyph which does work.

Push build passed, merging.


[v0.5.1] toJSON serialises the instance

Changes

stringifiing the instance no longer turns it into a decimal as a string (prefer .toString() method for that purpose). Avoids loosing the currency.
Removes some trailing spaces in the edited files (consequence of the .editorconfig file from previous #7).

+1
On Nov 17, 2015, 5:47 PM -0500, Arnaud<EMAIL_ADDRESS>wrote:

Changes
stringifiing the instance no longer turns it into a decimal as a string (prefer.toString()method for that purpose). Avoids loosing the currency.
Removes some trailing spaces in the edited files (consequence of the.editorconfigfile from previous#7(https://github.com/davidkalosi/js-money/pull/7)).
You can view, comment on, or merge this pull request online at:
https://github.com/davidkalosi/js-money/pull/9
Commit Summary
toJSON serialises the instance
File Changes
Mbower.json(https://github.com/davidkalosi/js-money/pull/9/files#diff-0)(2)
Mlib/money.js(https://github.com/davidkalosi/js-money/pull/9/files#diff-1)(36)
Mpackage.json(https://github.com/davidkalosi/js-money/pull/9/files#diff-2)(2)
Mtest/money.test.js(https://github.com/davidkalosi/js-money/pull/9/files#diff-3)(40)
Patch Links:
https://github.com/davidkalosi/js-money/pull/9.patch
https://github.com/davidkalosi/js-money/pull/9.diff
—
Reply to this email directly orview it on GitHub(https://github.com/davidkalosi/js-money/pull/9).

@davidkalosi Any comment on this change?

sorry for the delay I am quite overloaded these days. Will look into this ASAP.

merged. thanks !!!


fix(datepicker): force Intl.DateTimeFormat to use UTC time zone ...

so it doesn't display incorrect dates.
fixes #5185
@julianobrasil Thanks for tracking down the root issue!

@mmalerba seems like there's a linting error and the output format is different on iOS Safari.

lint + tests fixed

fixed


SRN: Path of the storage location

What is the default path of the storage location when using Docker?
Where can I change the default path?

version: "3.6"
services:
  replicator:
    image: proximax/dfms-replicator:v0.8.1
    ports:
      - 6466:6466
      - 64666:64666
    volumes:
      - ./:/root/.dfms-replicator:rw
    restart: on-failure:3
    entrypoint: /usr/bin/dfms-replicator

the docker-compose mounts the current path as per line  - ./:/root/.dfms-replicator:rw.
e.g. if you want to mount /mnt/replicator/, then you can change as following - /mnt/replicator/:/root/.dfms-replicator:rw


Make formik helpers types stricter

This PR updates the types of the helpers such as setFieldValues to make sure that only field names that exist in the FormValues type are allowed. Provides better completion as well as error detection.

@johnrom Ok so should I just close this in favor of that PR or make a change to support the nested fields?

I would probably recommend checking out that PR as it has tons and tons of type fixes. You can branch from there and continue trying to get the TS even tighter (I haven't kept up with some of the more recent releases which could have even more powerful methods of typing), or you can test it in development by using this fork


IBooleanExpression<> could not be found

IBooleanExpression<> could not be found, and the code could not be compiled
https://github.com/Aptacode/FormGen/search?q=IBooleanExpression<>

Thanks for pointing that out!
This should be fixed in the latest commit.

Thanks for pointing that out!
This should be fixed in the latest commit.


Issue migrating to .Net 7

Describe the bug
An unhandled exception is thrown when migrating to .Net 7

To Reproduce
Steps to reproduce the behavior:

Clone current project
Change target framework to net7.0
update Nuget packages
See error

Additional context
I have minimal knowledge of JS. I did my best to figure out why virtual file system is unavailable with no success. I appreciate any help.

I have created a  PR (See https://github.com/JeremyLikness/SqliteWasmHelper/pull/7) which resolves the issue in dotnet 7

Very much appreciated @nickbeau .
This issue is closed now.
PS. I should have checked out PRs before submitting this issue

The window.Module.FS fix in this PR would sure be handy, I can't use this with .NET 7 until this is released.  Now that v7 has officially RTW'd could this PR be updated to use release version numbers and merged?


Introduce threshold match score for semantic search

@chloepugh could you tag this as v0.0.3 when merged please?


Dashboard missing is_partner and rendering object values

Bug Report
What is the current behavior?
In the admin dashboard one of the attributes for code_school is not appearing as an attribute along with not allowing this to be filterable.
In the admin dashboard some filters show object values.
What is the expected behavior?
is_partner should be in dashboard
object references should instead show values.
What steps did you take to get this behavior?
Login to dashboard

see missing is_partner
Try to dropdown Locations and Taggings and Tag Taggins

Additional Info
Operating System
windows 10
Browser
chrome
Screenshots

Hi, I'd like to work on this if it is still available. Thanks!

@iorme1 - it's yours!  Let me know if you have any questions.

I have a few questions about this issue.  My first conclusion after looking at the codebase was that this bug is based on how ActiveAdmin was setup for this website.  After coming to that conclusion, I researched a bit on ActiveAdmin because I had never used it before.  It seems like "is_partner" was missing from the permit_params and in the 'index do end block' of app/admin/code_school.rb.  However, for the "Tag Taggings" "Taggings" and "Locations" attributes that show up as object memory locations instead of property values, I don't really know how those are being shown in the attribute filters in the first place.  I don't see them as attributes of the "code_school" model in the codebase, nor do I see those attributes in the permit_params of app/admin/code_school.rb.  So I guess I'm not understanding how these attributes are related to the code_school model or how they are even being shown at all on those attribute filters for code schools.  I'm assuming I need to have quite a bit of knowledge on ActiveAdmin to solve this issue that I may just not have.

@iorme1 - You would just need to add is_partner to the below file in the same way the other attributes are added there.  For example, full_time.
https://github.com/OperationCode/operationcode_backend/blob/master/app/admin/code_school.rb
If you want to learn more about ActiveAdmin, in general, Railscasts has an oldy but goody you can watch.

@iorme1 - As there has not been any response in PR, or any recent activity on this issue, we are assuming it has become abandoned.  We are marking it available for other members to contribute.
Here are our contributing guidelines which discuss the process and timelines for working an issue.  You are more than welcome to re-reserve the issue, if it remains marked as "Status: Available"!

Completed in https://github.com/OperationCode/operationcode_backend/pull/362


Output raw std error after executing cmd failed

What type of PR is this?
/kind feature
What this PR does / why we need it:
Show raw std error in log after executing cmd failed. It's helpful.

NONE

/assign @lixd


Cant accept keeper request

iOS FI staging 194
Cant accept keeper request
tried the link once and it gave white screen after associating the contact
After that when tried the same link again there are loading icons on the buttons and the flow is stuck
https://bithyve-workspace.slack.com/files/UEB7M06KF/F01J2BEP0GN/rpreplay_final1610094134.mp4

-Verified this issue on Staging app version 1.4.1(194)

-Verified this issue on Staging app version 1.4.1(194)


Fix variable nanosecond timestamp update_time from response

@tswast Thanks for the hint.
Closes #4807

I'm emailing the team to check.

@tswast ping?

I never got a response from the folks I've contacted before on the RuntimeConfig team.
@mgannholm Can you comment on this?

Okay, I got confirmation from Victor on the RuntimeConfig team that "it might change from platform to platform". We need to be able to handle both.
Yes, try-except would be a good way to do it. Alternatively, I believe we have places (in BigQuery, maybe?) where we try to parse the string a little bit to see how many digits we have before trying to parse.

I'll wait until the datetime PRs #4979, #4980, #4981 are merged before finishing this up.


Can't implement single log out scenario with End Session Endpoint

I have followed sctructure:

IdentityServer
WebAPI
MVC manager app, call it MVC_1 to simplify
MVC admin app - MVC_2

I want to ensure all client apps should be logged out if at least one of them initiate log out action. According to documentation: http://docs.identityserver.io/en/release/endpoints/endsession.html#refendsession
I've implemented a log out action in a client controller with followed code:
    `[AllowAnonymous]
    public async Task Logout()
    {
        var idToken = await HttpContext.GetTokenAsync("id_token");

        var discoveryClient = await (new DiscoveryClient(_identitySettings.Authority)).GetAsync();
        var endSessionUrl = $"{discoveryClient.EndSessionEndpoint}?{Constants.IdentityTokenName}_hint={idToken}&post_logout_redirect_uri={HttpContext.Request.Scheme}://{HttpContext.Request.Host}/signout-callback-oidc";

        Redirect(endSessionUrl);
    }`

After this I expected that all clients, and the especially the initiator one should be re-authenticated. But if fact it just cleaned IS cookies:

My client apps cookies still active and can be used.  Maybe I have a wrong configuration, but it looks right. I could clear all cookies on the IS log out action but it would be workaround. The IS provides really useful features to do it.
And one more think, for the client apps I used custom Cookies Scheme, like "MVC_1_Cookies" and "MVC_2_Cookies" to ensure the simultanious working with the tokens and renew mechanism. When I used default "cookie", the last active app overrided cookies .AspNetCore.Cookies and the second one couldn't get tokens.
Added configuration to help you be a little bit familiar with my implementation
IS:
    `internal static IEnumerable<Client> GetClients(IEnumerable<RegisteredClient> clients)
    {
        return clients.Select(x =>
        {
            var scopes = x.AllowedScopes.ToList();
            scopes.Add(IdentityServerConstants.StandardScopes.OpenId);
            scopes.Add(IdentityServerConstants.StandardScopes.Profile);
            scopes.Add("offline_access");
            scopes.Add("roles");

            var client = new Client
            {
                ClientId = x.Id,
                ClientName = x.Name,
                AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
                RequireConsent = false,
                ClientSecrets = { new Secret(x.Secret.Sha256())},

                RedirectUris = {$"{x.Url}/signin-oidc"},
                PostLogoutRedirectUris = {$"{x.Url}/signout-callback-oidc"},
                BackChannelLogoutUri = $"{x.Url}/Account/forcelogout",

                AllowedScopes = scopes,
                AllowOfflineAccess = true,
                AllowedCorsOrigins = {x.Url },
                AlwaysIncludeUserClaimsInIdToken = true,
                RefreshTokenUsage = TokenUsage.ReUse
            };

            return client;
        });
    }`

MVC_1:
    `public void ConfigureServices(IServiceCollection services)
    {
        JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

        services.Configure<IdentitySettings>(Configuration.GetSection(nameof(IdentitySettings)));
        var identitySettings = services.BuildServiceProvider().GetService<IOptions<IdentitySettings>>().Value;

        services.AddAuthentication(options =>
            {
                options.DefaultScheme = "MVC_1_Cookies";
                options.DefaultChallengeScheme = Constants.OidcScheme;
            })
            .AddCookie("MVC_1_Cookies")
            .AddOpenIdConnect(Constants.OidcScheme, options =>
            {
                options.SignInScheme = "MVC_1_Cookies";
                options.Authority = identitySettings.Authority;

                options.RequireHttpsMetadata = false;

                options.ClientId = identitySettings.Id;
                options.ClientSecret = identitySettings.Secret;
                options.ResponseType = "code id_token";

                options.SaveTokens = true;
                options.GetClaimsFromUserInfoEndpoint = true;

                options.TokenValidationParameters.NameClaimType = "name";
                options.TokenValidationParameters.RoleClaimType = "role";

                options.Scope.Add("roles");
                options.Scope.Add("offline_access");
                foreach (var scopeName in identitySettings.Scopes.Select(x => x.Name))
                {
                    options.Scope.Add(scopeName);
                }
            });
    }`

MVC_2:
`public void ConfigureServices(IServiceCollection services)
{
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
        services.Configure<IdentitySettings>(Configuration.GetSection(nameof(IdentitySettings)));
        var identitySettings = services.BuildServiceProvider().GetService<IOptions<IdentitySettings>>().Value;

        services.AddAuthentication(options =>
            {
                options.DefaultScheme = "MVC_2_Cookies";
                options.DefaultChallengeScheme = Constants.OidcScheme;
            })
            .AddCookie("MVC_2_Cookies")
            .AddOpenIdConnect(Constants.OidcScheme, options =>
            {
                options.SignInScheme = "MVC_2_Cookies";
                options.Authority = identitySettings.Authority;

                options.RequireHttpsMetadata = false;

                options.ClientId = identitySettings.Id;
                options.ClientSecret = identitySettings.Secret;

                options.ResponseType = "code id_token";

                options.SaveTokens = true;
                options.GetClaimsFromUserInfoEndpoint = true;

                options.TokenValidationParameters.NameClaimType = "name";
                options.TokenValidationParameters.RoleClaimType = "role";

                options.Scope.Add("roles");
                options.Scope.Add("offline_access");
                foreach (var scopeName in identitySettings.Scopes.Select(x => x.Name))
                {
                    options.Scope.Add(scopeName);
                }
            });
    }`

Will be grateful for your help!

Are you actually implementing this endpoint in your MVC apps?
BackChannelLogoutUri = $"{x.Url}/Account/forcelogout",
The Microsoft AddOpenIdConnect handler does not do it for you.

@brockallen yes, I've add the ForceLogout action to each client and add the option to the configuration:
   `[HttpGet("[action]")]
    public async Task ForceLogout()
    {
        await HttpContext.SignOutAsync(_identitySettings.CookiesScheme);
        await HttpContext.SignOutAsync(Constants.OidcScheme);
    }`

   `BackChannelLogoutUri = $"{x.Url}/Account/ForceLogout"`

I've solve the problem with the ForceLogout action after reading more documentation. especially about  on the logput page. But I've got another one. Maybe it us because of misunderstanding of the right logout flow.
Now I've implemented the followed:

Added  with SignOutIframeUrl:
`

    `

Added the ForceLogout action for the each client which must be notified about logout:

        [HttpPost("[action]")]         public async Task ForceLogout()         {             await HttpContext.SignOutAsync(_identitySettings.CookiesScheme);         }

Added an option BackChannelLogoutUri as a ForceLogout endpoint:
BackChannelLogoutUri = $"{x.Url}/Account/ForceLogout"

Implemented the Identoty Server Logout action:
`
[AllowAnonymous]
[HttpGet]
public async Task Logout(string logoutId)
{
var logout = await _interaction.GetLogoutContextAsync(logoutId);
var vm = new LoggedOutViewModel
{
AutomaticRedirectAfterSignOut = false,
PostLogoutRedirectUri = logout?.PostLogoutRedirectUri,
ClientName = logout?.ClientId,
SignOutIframeUrl = logout?.SignOutIFrameUrl,
LogoutId = logoutId
};
     await _signInManager.SignOutAsync();
     _logger.LogInformation("User logged out.");

     return View("LoggedOut", vm);
 }

`

But .AspNetCore_clientId_Cookies still was not cleared; I use custom cookies scheme for each client, e.g.
"Client1_Cookies", "Client2_Cookies" and use them in ForceLogout action. But it does not works, I still have app cookies:

Maybe I shouldn't use SignOutAsync extension method and clear them in other way?

@brockallen Do you have an example of the Single Log Out implementation with BackChannelLogoutUri?
I think it would be very useful, cause, unfortunately, I didn't find something in QuickStartExamples, SO or somewhere else.

@brockallen Do you have an example of the Single Log Out implementation with BackChannelLogoutUri?

https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Clients/src/MvcHybridBackChannel

@brockallen Thank you! I am going to investigate it in the nearest time!

@brockallen Thank you. I've implemented BackChannelLogoutUri, it works as expected. Close the issue.

Would be nice if possible to see how you solved it. Unfortunately the link from @brockallen doesn't work anymore and it seems it contained the solution to this problem. Is it possible to see this example of Single Sign Out with BackChannelLogoutUri ? Thanks in advance!

For helping to understand what's going on behind the scene: https://blog.tretainfotech.com/posts/2018/august/single-sign-out-in-identityserver4-with-back-channel-logout/


.Net: PromptTemplateEngine with empty parameters is hardcoded in StepwisePlanner

There is no way to initialize StepwisePlanner and pass PromptTemplateEngine (and its logger) into it.
https://github.com/microsoft/semantic-kernel/blob/cfebcaec6c1656f2c129ca3e40442c0ace9495e5/dotnet/src/Extensions/Planning.StepwisePlanner/StepwisePlanner.cs#L65C59-L65C59
E.g., it is not possible to do something like this:
var kernel = new KernelBuilder()
            .WithPromptTemplateEngine(new PromptTemplateEngine(ConsoleLogger.LoggerFactory))
            .Build();

        StepwisePlanner planner = new(kernel);

Great catch, already on it! Thank you.

Will definitely re-connect the logging. The implementation and prompts though are built with PromptTemplateEngine in mind, so not sure whether it makes sense to allow overriding that right now.


Provide support for Postgres array types

As title suggests. This should fix issue #33 as well.
Comments very welcome!

Coverage decreased (-3.6%) to 75.124% when pulling 0f1e2be702b005e05e61dddd1cc0fd6762154a88 on igozali:pull-request/0f1e2be7 into 6074ab432679815a7a2cb0ac7be5257a7eda3e6e on JuliaDB:master.


Display color a font variables in styleguide

Hi, would it be possible to add colors and font variable names from sass files to styleguide as well. I think it would help with development as well, if you can't remember proper name of variable you could check style guide and not look for it in source files.
Thanks

Yes, we already have similar feature request. Will be added in the near future.
#103

Great and thanks for super fast reply.


rot_conv_lib: 1.0.1-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository rot_conv_lib to 1.0.1-1:

upstream repository: https://github.com/AIS-Bonn/rot_conv_lib.git
release repository: https://github.com/ros2-gbp/rot_conv_lib-release.git
distro file: rolling/distribution.yaml
bloom version: 0.10.7
previous version for package: null

This is my first time releasing a third party package, so please tell me if something is wrong. I'll update the bloom docs accordingly

Superceded by #32633


KS endpoint type lookup for Neutron

What is the purpose of this pull request?: To implement Keystone endpoint lookups by type for the Neutron Chart
What issue does this pull request address?: Supersedes https://github.com/att-comdev/openstack-helm/pull/208
Specific reviewers for pull request: @alanmeadows @v1k0d3n @larryrensing @wilkers-steve

@wilkers-steve, @larryrensing @alanmeadows: comments? i want to get another set of eyes to just say "looks good" before merging please.

This LGTM. Thanks for tackling this, @intlabs


chore: reduce infra costs during e2e tests

I have reviewed e2e tests to execute them just in 2 nodes instead of 4 nodes.
I have removed all the pod requests, where they aren't 100% required to not enforce more nodes
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

/run-e2e

/run-e2e

/run-e2e

/run-e2e

/run-e2e

I have executed the e2e tests here with 2 nodes thanks to a modification in the Makefile.

This commit the change: https://github.com/kedacore/keda/pull/5058/commits/b3eae4462be9ff238749fde4c9f854d7652bc750

This commit the change: b3eae44

I dont' see this change in the final diff?

I dont' see this change in the final diff?

No, we don't need it because I changed the github workflow (because it's the correct place). I just did it for testing how e2e test works with 2 instances.

Okay, It was a little bit confusing to me 😄

I meant that I testes the e2e tests 2 just 2 nodes, even though the values in main branch (where the workflow is executed from) say 4. I "hacked" it modifying the Makefile to override given values (4 and 1) to scale to 1 and 1. After validating that 2 nodes were enough, I reverted the "hack"


Add missing module

git clone git@github.com:yearn/yearn-exporter.git
2.brownie run treasury throws an error:

milkyklim@laptop ~/p/y/yearn-exporter (master)> brownie run treasury
Brownie v1.15.2 - Python development framework for Ethereum
Generating interface ABIs...
YearnExporterProject is the active project.
  File "brownie/_cli/run.py", line 49, in main
    return_value, frame = run(
  File "brownie/project/scripts.py", line 53, in run
    module = _import_from_path(script)
  File "brownie/project/scripts.py", line 149, in _import_from_path
    _import_cache[import_str] = importlib.import_module(import_str)
  File "/Users/milkyklim/.pyenv/versions/3.8.6/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "<frozen, line line, in in
  File "./scripts/treasury.py", line 8, in <module>
    from ypricemagic import magic
ModuleNotFoundError: No module named 'ypricemagic'

Introduced in #111. @BobTheBuidler can you check if all files are in place?

@milkyklim I addressed this one back when you posted originally but I forgot to post here.
Fixed in pr 114


SPUserProfileProperty and SPUserProfileSection return from Set-TargetResource

Please provide the following information regarding your issue (place N/A if certain fields don't apply in your case:
We should not be using return $variable in Set-TargetResource, PSSA fails due to this:
PSDSCReturnCorrectTypesForDSCFuncti Information  MSFT_SPUse 351   Set-TargetResource function in DSC Resource should not
ons                                              rProfilePr       output anything to the pipeline.
PSDSCReturnCorrectTypesForDSCFuncti Information  MSFT_SPUse 114   Set-TargetResource function in DSC Resource should not
ons                                              rProfileSe       output anything to the pipeline.
Details of the scenario you try and problem that is occurring:
Running PSSA
The DSC configuration that is using the resource:
NA
Version of the Operating System and PowerShell the DSC Target Node is running:
Version of the DSC module you're using:
0.12
Your feedback and support is greatly appreciated.
If you are able to resolve this issue or add new features, you may submit a Pull Request against this project.
Please see the Contribution Guideliness for information on how to contribute.

Hey @KarolKaczmarek - I pushed these in to the release-1.0 branch for #304 so they are included in the release. We can close this off when the merge happens.

This issue has been resolved, closing


proposal: metrics overhaul including opentelemetry

Proposal for improving workflows metrics
This proposal is an overhaul of workflow metrics to bring them up to date, correct them, and make sure they are useful. It is intended to be a breaking change requiring users to update their use of metrics.
Opentelemetery
I'd like to move to using opentelemetry (otel) as the libraries for collecting metrics. They are mature and the design of the interfaces encourages good practices.
We'd still be able to expose the resulting metrics as a prometheus compatible /metrics scrapable endpoint using any prometheus compatible scraper.
It would allow us to also emit the same metrics using the opentelemetry protocol with the benefits this provides. This would also allow us to emit tracing using the same protocol and libraries. I do not intend to implement tracing as part of this proposal.
Each transmission protocol would be separately configured. Data collection would be identical in the code no matter which protocols are in use.
Changes to the metrics
Some words have specific meanings in the world of observability. Opentelemetry metrics explains these words - make particular note of counter and gauge which are currently used incorrectly within workflows.
A counter is something that ever-increases (unless the controller is restarted, in which case it will reset to 0, which the querying tool will understand and do the correct thing). You can use this to monitor changes using "increase" functions which allow you to monitor changes over your choice of time period. Gauges can be constructed from counters given both a count of incoming and outgoing events.
This is being done with the mindset of in future running multiple active controllers (horizontal controller scaling Horizontally Scalable Controller ). The existing metrics are hard to use in this context.
Existing metrics

Existing name
Proposed name
User reported problems

argo_pod_missing
argo_workflows_pod_missing_count
Match the prefix and change this to a counter of incidents. As a gauge you cannot easily tell what happened on workflow controller restart

argo_workflows_count
argo_workflows_guage
This is emitting the number workflow resources that are in the cluster. If the user makes use of garbage collection and/or archiving, the workflows will no longer be counted (and the 'count' will go down).

new
argo_workflows_total_count
count workflows as they enter each phase (pending, running, errored, succeeded, failed, removed ) as a true counter

argo_workflows_error_count
no change

argo_workflows_k8s_request_total
no change

argo_workflows_operation_duration_seconds
no change

argo_workflows_pods_count
argo_workflows_pods_gauge
it's a gauge

new
argo_workflows_pods_total_count
same arguments as for argo_workflows_total_count

argo_workflows_queue_adds_count
no change

argo_workflows_queue_depth_count
argo_workflows_queue_depth_gauge
it is a gauge

argo_workflows_queue_latency
no change

argo_workflows_workers_busy
no change

argo_workflows_workflow_condition
no change

argo_workflows_workflows_processed_count
remove
This has never functioned as is always 0.

log_messages
argo_workflows_log_messages
Document its existence

argo_workflows_total_count details
This would allow users to answer questions such as:
For a given time period, how many workflows were executed? How many passed? How many failed? How many errored?
New metrics
I know some of the items above are new, but they are related to existing metrics so documented along side them.

Name
Other changes and notes

argo_workflows_controller_build_info
would have a label of the version of the workflow-controller, os, architecture, go version, and git sha.

argo_workflows_cronworkflows_triggered_total
would have labels of name, namespace and status, and be incremented for each of the phases the workflow goes through

argo_workflows_workflowtemplate_triggered_total
would have labels of name, namespace and status, and be incremented for each of the phases the workflow goes through. Would only count top level workflowTemplateRef style running

argo_workflows_clusterworkflowtemplate_triggered_total
As previous, but for ClusterWorkflowTemplates (and obviously no namespace label)

argo_workflows_workflowtemplate_runtime
would have labels of name and namespace and count the same as the previous. histogram of time between trigger and completed

argo_workflows_workflowtemplate_used_total as a new metric
I'd like to count usage (which would not include status) of each template, wherever it is used. I'm not sure that there aren't hurdles to doing this correctly, so I'll put this as a maybe.
originName enhancements
If we have the originName argument sorted out (separate proposal) we could also have similar metrics as the workflowtemplate ones for originName (total by status and runtime histogram).

How many of my given originName is running right now?
What was the last start time of originName?
Did the last originName run fail?
Alert if it's been more than x days since the last originName workflow ran successfully

Dashboard
The grafana dashboard will be updated to use these new metrics
Couldn't we migrate to otel separately from changing metrics?
We could, but I think whilst we're in there it's better to fix both sides of this at the same time as there will be a fair amount of churn when doing either thing.
This is a breaking change
This change will allow you to continue to collect metrics using prometheus scraping and mostly things are similar.
The metric which are currently wrongly named are being deliberately broken and will no longer be emitted under their old name. They will still be available under a new name, so for minimal effort of updating you can just change any graphs to use the new name. This isn't the recommended course of action, and using the new metrics should give a better picture of the state of your cluster and the workflows it contains.
Leaving them with their old names means extra configuration flags and code complication for quite minimal benefit.
There will also not be a separate prometheus scrape point for metrics and telemetry. This doesn't make any sense anyway. The config for telemetry will be removed.

I do not intend to implement tracing as part of this proposal.

For reference, we do have a separate feature request for that: #12077

The metric which are currently wrongly named are being deliberately broken

I am all for following standards and existing conventions. So long as we're explicit in the release notes, let's break those to fix them. As their current names are confusing / incorrect, I agree that there isn't much purpose in leaving them as-is for backward-compat. The faster we break broken things (to fix them), the better, as users have had less time to rely on or get used to them.

There will also not be a separate prometheus scrape point for metrics and telemetry. This doesn't make any sense anyway. The config for telemetry will be removed.

I was wondering why there were two different endpoints; were these just the same data but differently formatted?
This would simplify a number of things for operators and also for the Helm chart, b/c it is pretty confusing rn IMO

Potentially related (I haven't root caused it yet): #12206 had remaining issues with metrics as well. We've fixed the root cause of the issue, but the metrics are still confusing. If we can roll those fixes into this, that'd be great, but they might require separate fixes.

I was wondering why there were two different endpoints; were these just the same data but differently formatted?
This would simplify a number of things for operators and also for the Helm chart, b/c it is pretty confusing rn IMO

Chatted about this during today's Contributor Meeting.
They are actually both Prometheus-style right now, but the /telemetry endpoint is for Golang metrics (e.g. number of goroutines etc) and the /metrics endpoint is Argo's own metrics.
I did find that part of the codebase in metrics/server.go. I think I was reading through metrics/metrics.go in the past, which does not distinguish between them.

These changes look good. They will simplify my approach to metrics and reduce the reliance on custom template metrics.
Although there might be some holes in the possibilities. To clarify, the main information I want to know to build a dashboard on is:

How many failures of a particular workflow (by template name) have occurred (and implicitly when)
How long was the workflow and each step in each of the various states (by virtue of the time they entered and exited those states)
How much resources did the workflow and steps use? This one is likely best answered with some kind of join with container metrics so having a label to join on would be important. Then by extension I can also answer the question, what proportion of container resource requests was used so that I can optimise it.

I think some of this is possible with the proposal and please correct me where I am wrong and that it is just a matter of query writing. For example, regarding workflow durations on template/step level as well as workflow level. I wonder is this something that is possible to craft a query for using the right labels on argo_workflows_total_count? Perhaps by taking the time delta between certain phase changes. Or does this make sense to be given its own metric?
In any case, these changes as described in the proposal will certainly be an improvement.

Responding to @tvandinther:
Metric time resolution will depend upon collection frequency:

How many failures of a particular workflow (by template name) have occurred (and implicitly when)

This is collectable (for templates run via workflowTemplateRef) from argo_workflows_workflowtemplate_triggered_total via the phase=Failed label.

How long was the workflow and each step in each of the various states (by virtue of the time they entered and exited those states)

Attempting to collect step/task level data isn't possible here. See below on tracing.

How much resources did the workflow and steps use? This one is likely best answered with some kind of join with container metrics so having a label to join on would be important. Then by extension I can also answer the question, what proportion of container resource requests was used so that I can optimise it.

This won't change. You can already label up the workflow, or do it via cronworkflow, event triggering and then you'll have something to join to your pod. We're not collecting step level information to avoid cardinality explosions.
argo_workflows_total_count won't answer the questions you're after at a workflow or step granular level because it's really only a counter replacement for argo_workflows_count which is actually a gauge.
Tracing
My intention is that once this is in I'll add opentelemetry tracing for workflows. Workflow runs will be a trace, and the individual parts of the workflow will be spans within it.
Using span to metrics you can then generate your own metrics from this information. This should be able to collect the detail you're after. I'll do some example span to metrics conversions for some of these things, because they're questions I'd like to be able to answer also.

I have a few use cases i like to see supported:

Seeing the status of the individual DAG flows
Say i have a workflow defined as:

apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: dummy
spec:
  serviceAccountName: pod-sa
  templates:
    - name: extract
      inputs: {}
      outputs: {}
      dag:
        tasks:
          - name: etl-source1
            arguments:
              parameters: []
            templateRef:
              name: work
              template: work
          - name: etl-source2
            arguments:
              parameters: []
            templateRef:
              name: work
              template: work
  entrypoint: extract
  outputs: {}
  metrics:
      prometheus:
            - name: job_last_success_timestamp
              labels:
                - key: job
                  value: dummy
                - key: job_namespace
                  value: '{{workflow.namespace}}'
                - key: job_UID
                  value: '{{workflow.uid}}'
              help: Unix timestamp of last successful job completion
              when: '{{status}} == Succeeded'
              gauge:
                value: '{{=workflow.creationTimestamp.s}}'
           - name: job_last_failure_timestamp
              labels:
                - key: job
                  value: dummy
                - key: job_namespace
                  value: '{{workflow.namespace}}'
                - key: job_UID
                  value: '{{workflow.uid}}'
              help: Unix timestamp of last failed job
              when: '{{status}} == Error'
              gauge:
                value: '{{=workflow.creationTimestamp.s}}'

Here I can see the timestamp of the last failed or succeeded run, but would like to also see which steps in the DAG failed.
My goal is: in the event some steps of the dag failed, i would like to still know when the last successful run of each etl-source was ran

Custom metrics
It would be cool to get information from the individual steps somehow.
My suggestion is to allow parsing of json objects.
Let us say i have a container, that outputs to std out:

{
    entitiesProcessed: 2000,
    entitiesFailed: 0,
    entitiesSkipped: 0,
}

Now i like to use theese like this:
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
 name: dummy
spec:
 serviceAccountName: pod-sa
 templates:
   - name: extract
     inputs: {}
     outputs: {}
     dag:
       tasks:
         - name: etl-source1
           arguments:
             parameters: []
           templateRef:
             name: work
             template: work
metrics:
    prometheus:
          - name: entities_processed
             labels:
               - key: job
                 value: dummy
               - key: job_namespace
                 value: '{{workflow.namespace}}'
               - key: job_UID
                 value: '{{workflow.uid}}'
             help: Unix timestamp of last failed job
             when: '{{status}} == Error'
             gauge:
               value: '{{=workflow.DAG.etl-source1.output.entitiesProcessed}}'

Adding another vote of support for this proposal - we mostly run Argo Workflows via CronWorkflow resources that invoke WorkflowTemplate resources. The proposed new metrics argo_workflows_cronworkflows_triggered_total, argo_workflows_workflowtemplate_triggered_total, and argo_workflows_workflowtemplate_runtime will be extremely valuable for us.

If we have the originName argument sorted out (separate proposal)

I couldn't find this originName proposal, but this is something we'd be very interested in. (I did find https://github.com/argoproj/argo-workflows/pull/10745 ).

We would also be very interested in this feature.
When reading the proposal, I still wonder which aggregation temporality will be used for opentelemetry metrics (sums or histograms): cumulative or delta ?
Some backends (e.g. prometheus) only support cumulative temporality while others (e.g. dynatrace) only support delta metrics.
It is possible to configure an opentelemetry collector between argo workflow controller and the backend to convert cumulative metrics into delta metrics but it has some limits (e.g. when controller is restarted or when it is scaled up).
Which temporality had you in mind for this proposal ?
Could you consider supporting both temporalities and allow users to select the one they need by configuration of the controller ?

@fstaudt - I hadn't considered anyone would want anything other than the default in the otel SDK, which is cumulative.
The intended usage is with a collector between the controller and the data sink.
I may implement it as part of the initial commit, but I am wary of feature creep, so may wait to do it in a later PR. It should be relatively easy to implement either way.

@fstaudt - I hadn't considered anyone would want anything other than the default in the otel SDK, which is cumulative.
The intended usage is with a collector between the controller and the data sink, but I think it's a reasonable ask, so I'll attempt to get it in.


Pop-up Broken when including Auto-Entities card since last update (v2.0.4)

Since updating to Bubble Card v2.0.4 a few days ago, any pop-up card which included as part of it's vertical stack an Custom:Auto-Entities Card, when triggered will blur the background but fails to actually show the pop-up itself.
I use pop-ups heavily throughout my dashboard and they all work fine, except now for those that contain an auto entities card. It also was working fine before the update.

Hi, this is probably a cache issue, sometimes after an update it's better to clear it because the HA cache is not always correct.

yes am running the latest updates. Core: 2024.6.4 Supervisor: 2024.06.2 Operating System: 12.4 Front lend: 20240610.1

Thank you for the details, one more question but do you have tried to revert to a previous version and is this working? If yes what is the last working version?

Must have been related to update 2024.6.4 as I’ve just updated to 2024.7 and it’s working fine again now.

Great! Glad that it's working again!


Remove pact branch verify rake task

In https://github.com/alphagov/govuk_test/pull/34, we added this rake task to the govuk_test gem. We can now remove it from the application as it is now in the gem.
Trello card: https://trello.com/c/rnfUFP5o

Superseded by #823.


CometBFT E2E Latency

Goal
Calculate the E2E latency for the CometBFT consensus mechanism under a load test scenario.
How is E2E Latency calculated?
It is calculated by taking the mean of the time difference between went the tx is sent from the client side and when it is committed inside a block.
E2E Latency = mean( time[tx_sent_from_client] - time[tx_committed_inside_a_block] )
Problem 1
The cometbft client (load-test) sends txs in a batch. The logs for the node don't show the time at which a particular tx was received.
Problem 2
The random (key = value) data generated at all the nodes by the client sometimes leads to 2 different nodes generating the same value, which results in that tx not getting included in the mempool (log - "tx already exists in the mempool").
This will lead to incorrect results as the expected tx rate is not actually achieved. The tx is supposed to get committed, but because of some duplicate txs it isn't.
Possible Solution
Output an additional debug log on the client side for a tx after every set of specific.
Debug log - f"Tx {tx_num} in batch {batch_num} successfully sent"
This will give us the time stamp of that particular tx number.
The tx data is generated randomly. We can add the identifier specified below at the start. This will allow us to catch it in the node logs. (Wont work in case of small data size as depends upon the identifier length)
Identifier = node_id + batch_num + tx_num  // make it hex
data_string = identifier + "f" * (length - len(identifier) )
Result
We will know the specific tx to look for using the identifier in the node logs from the newly added client debug log. We will match the identifier and get the time stamp.

Hey @namn-grg, what we usually do to obtain tx latencies on CometBFT experiments is to create each tx with an id and a timestamp in its content, instead of just putting random data. Then we can query the timestamp of each committed block, take each tx in the block, and compare the block timestamp to the timestamp encoded in the tx.
This is the original implementation: https://github.com/tendermint/tendermint/pull/9351
And this is the latest QA report with some latency plots as example: https://github.com/cometbft/cometbft/blob/main/docs/references/qa/CometBFT-QA-v1.md#latencies
If I understand correctly, you want to analyse the logs to calculate latencies. We haven't tried that approach though I imagine the log will be huge, considering that our experiments have millions of txs.

Thanks for the help, I think I figured out what to do.
QQ - is the latency output from test/loadtime/cmd/report  is E2E latency? i.e.  mean( time[tx_sent_from_client] - time[tx_committed_inside_a_block] )

@hvanz This is a test we ran on a cometbft network, do you think the results is justified? i.e. we calculated appropriately. Or any other views you have would be helpful
SUMMARY:

CONFIG:
Faults: 0 nodes
Committee size: 4 nodes
Input rate: 1,000 tx/s
Transaction size: 256 B
Execution time: 96 s

RESULTS:
Consensus TPS: 933 tx/s
Consensus BPS: 238,917 B/s
Consensus latency: 289 ms
End-to-end TPS: 958 tx/s
End-to-end BPS: 245,280 B/s
End-to-end latency: 951 ms

Yes, those numbers seem ok for a simple local network.


4.1.0 Create Test Database Tables and Seeds Process for users

User Table has id property type integer and In Game Name (IGN) property type string

Database is not seeded. When new messages or new users are created, column names are created based on input fields on login and admin pages. This task changed to creating and seeding test database

TestBeds created in Firebase Project


AbortError

_e: Error at gr(https://.........)
name: AbortError : message: QuotaExceededError An attempt was made to add something to storage that exceeded the quota
inner: DOMException:An attempt was made to add something to storage that exceeded the quota

#1793


Don't run ls if using non-default directory

Previously, an error message would appear if using a non-default directory because it would run ls on the non-existent default directory:
ls: cannot access '/home/nicolas/Library/Application Support/Firefox/Profiles/*.default/places.sqlite': No such file or directory

Summary
This PR fixes an error message that appears when exporting browser history from a non-default directory (such as on Ubuntu, where Firefox data is at ~/.mozilla/firefox/).
Changes these areas

[ ] Config
[x] Bugfixes
[ ] Command line interface
[ ] Feature behavior
[ ] Internal design
[ ] Archived data layout on disk

Thanks so much! <3


Load.additional_loads = 4 not working

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When I set Loads / additional_loads = 4 it doesn't do anything, despite the documentation indicating that it should
Steps To Reproduce
load:
show_daily: true
show_aux: false
additional_loads: 4
load1_name: Geyser1
load2_name: Geyser2
load3_name: Pool_Pump
load4_name: Borehole
Expected behaviour

Card Version
v3.10
Home Assistant Version
11.1
Configuration
type: custom:sunsynk-power-flow-card
cardstyle: full
show_solar: true
large_font: true
battery:
  energy: 5320
  shutdown_soc: 20
  show_daily: true
solar:
  show_daily: true
  mppts: 2
  pv1_name: Office
  pv2_name: House
  auto_scale: false
  display_mode: 1
load:
  show_daily: true
  show_aux: false
  additional_loads: 2
  load1_name: Geyser1
  load2_name: Geyser2
  load3_name: Pool_Pump
  load4_name: Borehole
  load1_icon: boiler
  load2_icon: boiler
  load3_icon: mdi:pool
  load4_icon: pump
grid:
  show_daily_buy: true
  show_daily_sell: false
  show_nonessential: false
entities:
  remaining_solar: sensor.solcast_forecast_remaining_today
  inverter_voltage_154: sensor.sunsynk_output_voltage_154
  load_frequency_192: sensor.sunsynk_output_frequency_192
  inverter_current_164: sensor.sunsynk_output_current_164
  inverter_power_175: sensor.sunsynk_output_total_power_175
  grid_power_169: sensor.sunsynk_grid_power_169
  essential_load1: sensor.geyser_1_200l_power
  essential_load2: sensor.geyser_2_150l_power
  essential_load3: sensor.pool_pump_power
  essential_load4: sensor.borehole_pump_power
  essential_load1_extra: sensor.geyser_1_200l_voltage
  essential_load2_extra: sensor.geyser_2_150l_voltage
  day_grid_import_76: sensor.sunsynk_day_grid_import
  day_grid_export_77: sensor.sunsynk_day_grid_export
  use_timer_248: sensor.current_use_timer_248
  day_pv_energy_108: sensor.sunsynk_daily_pv_108
  priority_load_243: sensor.energy_mode_243
  grid_ct_power_172: sensor.sunsynk_grid_ct_power
  day_load_energy_84: sensor.sunsynk_daily_load_84
  inverter_grid_voltage_154: sensor.sunsynk_output_voltage_154
  inverter_load_freq_192: sensor.sunsynk_output_frequency_192
  inverter_out_164: sensor.sunsynk_output_current_164
  inverter_out_175: sensor.sunsynk_output_current_164
  grid_status_194: sensor.sunsynk_grid_online_194
  inverter_status_59: sensor.sunsynk_inverter_status_59
  day_battery_charge_70: sensor.sunsynk_battery_daily_charge_70
  day_battery_discharge_71: sensor.sunsynk_battery_daily_discharge_71
  battery_voltage_183: sensor.sunsynk_battery_voltage_183
  battery_power_190: sensor.sunsynk_battery_power_190
  battery_soc_184: sensor.sunsynk_battery_soc_184
  battery_out_190: sensor.sunsynk_battery_power_190
  battery_current_191: sensor.sunsynk_battery_current_191
  inverter_load_grid_169: sensor.sunsynk_grid_power_169
  grid_buy_day_76: sensor.sunsynk_daily_grid_buy_76
  grid_sell_day_77: sensor.sunsynk_daily_grid_sell_77
  grid_external_power_172: sensor.sunsynk_grid_power_172
  loadday_84: sensor.sunsynk_daily_load_84
  essential_power: sensor.sunsynk_load_power_ess
  nonessential_power: sensor.sunsynk_grid_power_169
  aux_power_166: sensor.sunsynk_output_aux_power_166
  solarday_108: sensor.sunsynk_daily_pv_108
  pv1_power_186: sensor.sunsynk_pv1_186
  pv2_power_187: sensor.sunsynk_pv2_187
  pv3_power_188: none
  pv4_power_189: none
  pv1_voltage_109: sensor.sunsynk_pv1_voltage_109
  pv1_current_110: sensor.sunsynk_pv1_current_110
  pv2_voltage_111: sensor.sunsynk_pv2_voltage_111
  pv2_current_112: sensor.sunsynk_pv2_current_112

Relevant log output
No response

Additional loads 3 and 4 are only displayed in the lite version of the card due to limited space. I mentioned it in the release notes but did not make it clear in the documentation.  Will update it.

Ah, ok
Thanks so much for the prompt reply. Works as you say wth the 'lite'
version which is perfect for me
As an aside, have you considered allowing for logic to change the colours?
Eg depending on the level of the battery, or usage of the inverter?
I appreciate the work on the integration - I am new to home assistant, and
I'm finding this very useful
On Thu, 9 Nov 2023 at 19:43, slipx06 @.***> wrote:

Additional loads 3 and 4 are only displayed in the lite version of the
card due to limited space. I mentioned it in the release notes but did not
make it clear in the documentation. Will update it.
—
Reply to this email directly, view it on GitHub
https://github.com/slipx06/sunsynk-power-flow-card/issues/128#issuecomment-1804279069,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOAYK3ZENTZHIPEGTHT3XTTYDUI2RAVCNFSM6AAAAAA7EWRU6KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMBUGI3TSMBWHE
.
You are receiving this because you authored the thread.Message ID:
@.***>


Update Jiralert chart for initial release

This PR:

Adds better configuration handling
Adds credentials handling
Adds resources, psp, rbac and network policy

Checklist

[ ] Update changelog in CHANGELOG.md.
[ ] Make sure values.yaml and values.schema.json are valid.

@stone-z , can we merge this so I create a new PR to update changelog and readme?


Created a Status Bar Item for Creating a Pet Playground

Status Bar Item for Creating a Pet Playground
Bumped package-lock.json version

Great addition! I made a small change:

The icon is now a squirrel (the only pet in the built-in icon set)
The action is a tooltip instead of part of the label, so that it takes up less space

Thanks for pushing the change. The squirrel looks great! I did not realise there was an animal icon so it is great that it got incorporated.


pac solution list - Not listing solutions published by 'Dynamics 365' publisher

Microsoft PowerPlatform CLI
Version: 1.21.4+g4869036
The pac solution list command is not listing solutions published by the publisher 'Dynamics 365'.
Is this command supposed to exclude solutions from certain publishers? If yes, please share the list of publishers excluded.

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

ID: 2467fc85-fead-2535-8903-833720f296c4
Version Independent ID: 2467fc85-fead-2535-8903-833720f296c4
Content: Microsoft Power Platform CLI solution command group - Power Platform
Content Source: power-platform/developer/cli/reference/solution.md
Service: power-platform
Sub-service: developer
GitHub Login: @kkanakas
Microsoft Alias: kartikka

@davins-msft - Can you let me know what is it that you are doing ? So that I can better understand the context of your ask.


Added support for landscape view

Added support for landscape view in the following simulations:

Epicycloid (Pencil of Lines)
Epicycloid Curve
Lissajous Curve
Maurer Rose
Rose Pattern

These are the major problems I have noticed (Flutter for Web):

Rose Pattern returns the following error when in landscape and denominator = 0
Another exception was thrown: RangeError (index): Index out of range: no indices are valid: 0

The spacing between the sliders also needs to be adjusted for all simulations, as evident above.

Toothpick Pattern has an overflow error in landscape mode, might get fixed by some minor adjustments.

Lissajous Throws the same error as Rose Pattern once animate is true. It might have issues with sleep function but the UI also disfigures.

Animate is not working with many simulations, maybe we can get rid of the sleep issue in this PR only.

Fix for the range error/distorted UI:
https://github.com/cod-ed/simulate/blob/9524b04a5617bda2a1423b642424ed325fc08484/lib/src/simulations/rose_pattern.dart#L367
to
if (points.length > 0) {
      canvas.drawPoints(PointMode.polygon, points, paint);
}


DBZ-2798 GH Action to add JIRA issue links to pull requests

https://issues.redhat.com/browse/DBZ-2798
This action fetches DBZ-xxx issue numbers and references with its respective JIRA link. Works for multiple issue references as well. On successful review of this PR, I would be adding similar ones in other repos as well.
cc: @gunnarmorling @jpechane

Does this failing check imply anything relating to write access for the repo? :thinking:

@ani-sha It is probably not going to be that easy. here is the explanation https://github.com/marketplace/actions/add-pr-comment#proxy-for-fork-based-prs

Hum, ok, so it seems it's not feasibly doable atm. then? Setting up some external service is not worth the hassle for this, IMO.

@gunnarmorling I think we can drop this for now, until we find any better alt. :confused:


Replace HTTPoison with hackney

Please let me know am I on the right way? Are you ok with hackney instead of HTTPoison? Unfortunately I cannot test this on android (FCM) and amazon (ADM).

I'm not opposed to the idea, but what is your reasoning for this?


Create a PDF for the Translation Notes for a Book

Here is the original instruction:

Write up a gatewayAdmin Epic for creating and integrating a GL quote OCP Open Component Package. @mandolyte @kintsoogi

At a high level, here are the steps with dependencies (predecessors) marked with square brackets.

Identify and extract the fundamental logic for calculating the GL Quote from data in a row in a TN in TSV7 format
Create a package for this with documentation, Styleguidist examples, and publish to NPM [1]
In gA, design a UI that allows the user to create and show the Translation Notes for a file in a separate window, which then can be printed or saved as a PDF [2]
In gA, implement the aforementioned design [3]

@birchamp @kintsoogi Above are the four issues that I can think of that should be in this epic. Thoughts?

@mandolyte this looks right to me.  Probably @richmahn should be in on this conversation as well as he's done a lot of thinking along this line.  You could write up an issue on #1 @mandolyte based on what you've discovered looking at TWLs in gE and your notes on Discord.

See SPIKE: https://github.com/unfoldingWord/gateway-edit/issues/357

@birchamp @mandolyte Yeah, was wondering in #1 if we have what we need, both data and logic, for figuring out the GL quote for a TN. TN GL quote finding can be quite complex, especially when it comes to those with two or more separate parts (divided by ellipse), which I've found don't get accurately covered by a single occurrence number.
Yet I assume if translateion-helps-rcl has it figured out, then that should be good.


leverage exec for transport and implements connect_to_machine and stop_machine

This PR simplifies reconverging and changing the state of running containers by levereging exec in the transport. It also implements connect_to_machine and thus allows one to use the machine_execute and machine_file resources on docker containers.
This ended up being bringing in some fairly deep changes so here are some implementation notes:

Removes the Gemfile.lock and adds basic entries to the empty .gitignore file to provide a better dev experience.
Replaces the apache based readme example with the ssh_server cookbook. Currently the apache example fails to start the container. The apache::default recipe is empty and the command /usr/sbin/httpd is not applicable to the ubuntu base image used. Even using /usr/sbin/apache2 and the apache2::default cookbook had some config errors. The ssh_server cookbook just worked and results in a running container.
There was a fair amount of "dead code" in the transport that I deleted. It was called by the execute_old code deleted over a year ago and I found it added confusion to the class.
Much of the initial container port, volume, etc. setup is moved to the driver and is now a one-time operation done in machine_allocate and simple runs a vanilla bash loop as suggested by @marc- . machine_allocate now creates the container but it is "unconverged" and not running the final command. However it does have the ports, volumes, etc properly configured.
So the transport now just delegates to Docker::Container.exec
Writes to the container writes to the container mount usually located in /var/lib/docker
This now streams stdout/err similar to most of the other drivers using stream_chunk
The docker_container_machine commits images after convergence and if the command has changed, starts a new container
Container and image lookups now prefer IDs and the implementation ensures these are kept in alignment with the machine/image spec.

One thing that is a definite hack and I think is due to a bug in chef-provisioning is this line in allocate_machine:
machine_spec.from_image = action_handler.provider.new_resource.from_image

from_image is not set in the provider until after the call to allocate_machine
I'll submit a separate PR to chef-provisioning to address tis unless someone thinks this is necessary.

@marc- I found a different approach to writing to the container that works on both ubuntu and centos hosts. Just commited it but it writes to the /proc filesystem under the Pid of the container.

Yes, this will work (I actually didn't know, that one can access container's file system this way, good finding).
But what if we have a remote docker daemon? Please checkout following commands:
cat random_file | docker -H <IP_ADDRESS>:2376 exec -i my_container /bin/sh -c 'cat > random_file'

This is for writing file. And following for reading:
docker -H <IP_ADDRESS>:2376 exec -i my_container /bin/sh -c 'cat random_file' > random_file

This will work both for local docker daemon and remote.
I'm currently looking into how to make chef-provisioning-docker work with Docker Swarm (#55), which uses remote docker daemon to communicate with nodes, and I would appreciate if you consider approach above.

squashed and rebased

Hey @mwrock - do you need any help getting this across the finish line?

It has been a couple weeks, but last I checked this all worked well. The only outstanding issue would be refactoring the from_image to use the new code in master in chef-provisioning. We'd want to wait for a new chef-provisioning release and then tie this gem to that version otherwise the refactoring would break. I think that could be done in a separate PR.
Is there anything else here we think needs changing?

ah sweet thanks!


Swift-5.0 Compatible

Hi @AnkurLahiry, thank you very much for the PR.
The project has been updated to the latest Swift version, there were many tweaks involved.
Thanks again :)


Activity 1: Your First Caption

Using the API, I have just created a file with a random octocat for you to caption. In this activity, we will learn how to make changes to files in our GitHub repository.

[ ] @DeniseRIS
[ ] @Hannanhassen1011
[ ] @Herb1010
[ ] @JoyDubofOPM
[ ] @LaurenBensonDev
[ ] @Severswoed
[ ] @cyberyared
[ ] @diamond-horse
[ ] @nwilliams
[ ] @vvaths
[ ] @vyas000
[ ] @wesleycyeary
[ ] @GregOPM
[ ] @sirjoseph07

Trying to keep up, was successful printing out the training manual

👍

hi

hello