Add forms to update bio and headshot

Overview
As per issue #909

Add a form to the person detail page that allows logged in users to upload a headshot and/or input a bio to the person detail page.

Checklist

[ ] PR has a descriptive enough title to be useful in changelogs

Demo
The user is logged in and has fields to edit the bio and headshot:

After separately submitting a new image url like this stock photo and some lorem ipsum text into the bio:

Notes

I added some form validation into forms.py and PersonHeadshotForm now raises a few different errors on the page for different exceptions.
I tried doing something similar to PersonBioForm but it seemed like no matter what adjustments I made, the form wasn't running the clean_bio method for validation. I put in print statements and that didn't show up, then I tried having it return the text if there was actually nothing there, but that didn't have any effect either. What I had was:

def clean_bio(self):
        bio_text = self.cleaned_data["biography"]

        if bio_text:
            return bio_text
        else:
            raise forms.ValidationError("The new bio cannot be empty. Please enter a biography.")

On the plus side it looks like if someone were to remove the required attribute from the bio form, something in the backend actually isn’t updating the bio if it’s empty or just whitespace, and doing that on its own. Not sure how though.

Testing Instructions

navigate to the board of directors page and select a person
the forms should not be visible until logging in
log in via the admin or otherwise, and navigate back to a person
enter a url into the headshot form and submit

if the url was valid, the headshot should change
else, an error is displayed

enter text into the bio form and submit

if text was entered, the bio should change
if only whitespace was entered, the bio stays the same

Closes #909

Aright I've got what I have pushed, just a few more comments:

now that I have the key and secret in the encrypted settings files, I imagine it's safe to remove those from the local settings file?
I'm realizing that since I moved the form validation into the view, that I no longer have the form showing errors. I'm at the end of my day now, but I can probably figure that out in the future!
also I'm just now noticing that the image works when it's uploaded, but after a few, it stops working, and when I open the link for it in a new tab, it says the request has expired. I'm not sure what's going on there
lastly, I tried re-encrypting those settings files, and I got the same error for both of them after running blackbox_end_edit configs/settings_deployment.staging[or production].py

========== PLAINFILE "configs/settings_deployment.staging.py"
========== ENCRYPTED "configs/settings_deployment.staging.py.gpg"
========== Encrypting: configs/settings_deployment.staging.py
gpg: error retrieving<EMAIL_ADDRESS>via WKD: No data
gpg<EMAIL_ADDRESS>skipped: No data
gpg: configs/settings_deployment.staging.py: encryption failed: No data

@xmedr

now that I have the key and secret in the encrypted settings files, I imagine it's safe to remove those from the local settings file?

You'll want to leave these in, so we can set them in local development. For optional settings, like this, I usually do something like this.

I'm realizing that since I moved the form validation into the view, that I no longer have the form showing errors. I'm at the end of my day now, but I can probably figure that out in the future!

👍

also I'm just now noticing that the image works when it's uploaded, but after a few, it stops working, and when I open the link for it in a new tab, it says the request has expired. I'm not sure what's going on there

By default, django-storages / boto3 will do querystring authentication, which creates expiring links. Since these are nonsensitive images, I think it makes sense to make our bucket public (you can copy the permissions from the councilmatic-document-cache bucket) and disable querystring authentication with the AWS_QUERYSTRING_AUTH setting.

lastly, I tried re-encrypting those settings files, and I got the same error for both of them after running blackbox_end_edit configs/settings_deployment.staging[or production].py

You need to import the keys of everyone listed in keyrings/live/blackbox-admins.txt. You can find them by email, like this: gpg --search ${EMAIL_ADDRESS}. The only one you won't find is the deploy key. I'll send that to you via Slack.

@hancush The bucket seems to allow access to new files without expiring which is great. And the settings files are reencrypted with their respective api keys.
Other than the form errors which I can create an issue for, the last thing I've got is that I might not have access to the Stormstore link you sent with your example of optional settings. It gives me a 404 error and going to Confluency's page says they have no public repo's.

Whoops, always forget that repo is private! Just sent you an invite.

@hancush At long last! I ran into another issue with the s3 bucket objects not being public, but I paired with Sam and now they work just fine. I also have errors showing up on the headshot form:

Woo! Ready for a full re-review, @xmedr?

@hancush I absolutely am! Should I do the pr template in another comment here, or should I open a new pr? Or something completely different?

@xmedr Nothing else required! Just wanted to make sure you were done making changes. 👍

@hancush Alright, I've got your suggestions incorporated and the README is updated! Let me know if what I wrote in there could be more clear or if I missed some steps.

Hmm it looks like the tests are failing because it can't find BUCKET_NAME, what do you think I missed here @hancush?
AttributeError: 'Settings' object has no attribute 'BUCKET_NAME'

@xmedr Is the variable in your settings.py file actually called BUCKET_NAME, or something else? To debug, why don't you write down how the bucket variable is being set, starting from how the user configures it, then tracing how it flows from settings deployment to the main settings file?

@hancush It's alive! Good call on that, ty. I was confused because I had the variable names right in the gpg files, and it was printing out the right value locally. But looking at the error again I saw the problem was I didn't put BUCKET_NAME into the test_settings.deployment.py file 🤦 So now we've got the tests passing.

Thanks, @xmedr! I've merged the upgrade and screwed up your groove over here. Want to pair on rebasing Monday AM? I'll throw a time on the calendar.

Superseded by #939.


On minifying images

I have difficulties in minifying images. I read the docs about extending the Webpack configuration. However, this code does not do anything to my assets.
const imageminloader = require('imagemin-webpack').imageminloader

module.exports = {
  ...
  build: {
    extend (config, ctx) {
      if (ctx.isDev && ctx.isClient) {
        config.module.rules.push({
          test: /\.(png|jpe?g|gif|svg)$/,
          use: [{
            loader: 'url-loader',
            query: {
              limit: 1000, // 1kB
              name: 'img/[name].[hash:7].[ext]'
            }
          }, {
            loader: 'imageminloader'
          }]
        })
      }
    }
  }
  ...
}

After running nuxt generate, the output does not produce any error and my assets remain untouched. Is there anything I misunderstand?
I also searched for a property in the generate.minify object without success.
As for static files, I suppose they are completely unplugged from Webpack and there is no way to minify images with Nuxt.
Thank you for your help.

The Nuxt Webpack config already has a rule to handle images, so you need to modify that instead of pushing a new rule.
 node_modules/nuxt/lib/builder/webpack/base.config.js:
...
{
  test: /\.(png|jpe?g|gif|svg)$/,
  loader: 'url-loader',
  options: {
    limit: 1000, // 1KO
    name: 'img/[name].[hash:7].[ext]'
  }
},
...

I'm using a different image optimization plugin (maybe you want to try it) but I've got it working in Nuxt like this:
nuxt.config.js:
module.exports = {
  ...
  build: {
    extend(config, { isDev, isClient, isServer }){
      config.module.rules.forEach((rule) => {
        if (rule.test.toString() === '/\\.(png|jpe?g|gif|svg)$/'){
          rule.use = [
            {
              loader: 'url-loader',
              options: {
                limit: 1000,
                name: 'img/[name].[hash:7].[ext]'
              }
            },
            {
              loader: 'image-webpack-loader',
              options: {
                mozjpeg: {
                  progressive: true,
                  quality: 65
                },
                optipng: {
                  enabled: false,
                },
                pngquant: {
                  quality: '65-90',
                  speed: 1,
                  verbose: true
                },
              }
            },
            ];
          delete rule.loader;
          delete rule.options;
        }
      })
    }
  },
  vendor: ['image-webpack-loader'],
  ...
}

See also: https://github.com/wemake-services/nuxt-imagemin


Feature request -> Edit segmentations with SAM interactor

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

I'm loading into CVAT prelabeled masks, and I want to remove some parts of the segmentation part that shouldn't be included. SAM interactor is perfect for this task as I can just "negative click" o the undesired parts to remove them. However, I found that it is not possible to edit the preloaded mask with the SAM interactor. ¿Is it possible to add this feature?

Hi @anlarro
Interesting use-case. Not it is not supported. Actually SAM expects at least one positive click when inferring, so, need to think if it is possible to implement.

Perhaps some functionality could be implemented to intuitively combine and subtract polygon shapes.

Hi @anlarro
Interesting use-case. Not it is not supported. Actually SAM expects at least one positive click when inferring, so, need to think if it is possible to implement.

I see. Even after segmenting with SAM, if you want to go back and refine your segmentation you have to do everything from scratch, in the current implementation it is not possible to "modify" an existing mask with SAM.

@anlarro , it is possible. You need to right-click on the object, choose "...", and click "Edit...". I hope my answer will help you.

@anlarro , it is possible. You need to right-click on the object, choose "...", and click "Edit...". I hope my answer will help you.

Hi, you're right. Right-click on the object, choose "...", and click "Edit..." allows you to edit a segmentation but not with the SAM interactor. My request is to be able to edit the segmentation by using SAM. Currenly it is possible to use SAM but only to label an object from scratch.


Different behavior of render depending on the order of the bindings

Description
This was first noticed while using render with a Polymer 3 component. I couldn't quickly reproduce the same behavior with a LitElement, but it may still occur.
When a TemplateInstance has bindings that are somehow connected, it may end up with different results depending on the order on which they are declared.
For instance, say you have a P3 element with a property which uses the notify feature. If you declare the property and the event associated with its change, the result will differ if the property declaration comes first or last. That seems to be that, because notify makes the call to event listeners synchronously to the property change, if the property binding comes first, then the listener will be called before it's updated.
Steps to Reproduce

Write this code

import { render, html } from "lit-html";

import "./my-element.js";

// Define a template function
const myTemplate = name =>
  html`
    <my-element
      .name=${name}
      @name-changed=${e => console.log("event after name", name)}
    ></simple-greeting>

    <my-element
      @name-changed=${e => console.log("event before name", name)}
      .name=${name}
    ></simple-greeting>
  `;

const container = document.getElementById("container");
const buttons = document.getElementById("buttons");

// Render the template with some data
render(myTemplate("initial state"), container);

render(
  html`
    <button @click=${() => render(myTemplate("foo"), container)}>
      Name: foo
    </button>
    <button @click=${() => render(myTemplate("bar"), container)}>
      Name: bar
    </button>
  `,
  buttons
);

// my-element.js
import { PolymerElement, html } from "@polymer/polymer";

// Define an element class
class MyElement extends PolymerElement {
  // Define public API properties
  static get properties() {
    return {
      name: {
        type: Boolean,
        notify: true
      }
    };
  }

  // Define the element's template
  static get template() {
    return html`

Name is {{name}}

    `;
  }
}

// Register the element with the browser
customElements.define("my-element", MyElement);

Open the console to see the results

Live Reproduction Link
https://stackblitz.com/edit/lit-html-frxdw2?file=src%2Findex.js
Expected Results
Output should be the same regardless of the order on which the bindings are declared
event after foo
event before foo

Actual Results
The old listener is called before it's updated, leading to unexpected results.
event after initial state
event before foo

Browsers Affected

[x] Chrome (only tested on Chrome but it should apply to all browers)
[ ] Firefox
[ ] Edge
[ ] Safari 11
[ ] Safari 10
[ ] IE 11

The ordering of lit-html binding execution matching the source ordering by design and fundamental to the way that execution is ordered in JavaScript. Template expressions are evaluated in JS in source order, and we can't change that. So we process template parts in their source order too. It's simpler and less code than some kind of re-ordering based on part type, plus we try to match the semantics of what the equivalent code would be when possible.
Note that Polymer's two-way data-binding protocol is the thing that's order sensitive here, because it fires events synchronously, and it would be sensitive in imperative code as well. ie:
const myEl = document.createElement('my-element');
myEl.name = 'foo';
myEl.addEventListener('name-changed', (e) => console.log(myEl.name));

So in the Polymer-interop case it's important that property-change event handlers come first in the element, if you need to synchronize with data outside the element and you're replacing the event handler every render - as you have in your example with a closure that closes over the name parameter to the template function.
If you read the name off the element instead, then the difference in order is not observable:
// Define a template function
const myTemplate = name =>
  html`
    <my-element
      .name=${name}
      @name-changed=${e => console.log("event after name", e.target.name)}
    ></simple-greeting>

    <my-element
      @name-changed=${e => console.log("event before name", e.target.name)}
      .name=${name}
    ></simple-greeting>
  `;

The subtle difference is that in your example the "event after name" listener that fires is actually the listener from the previous render, which closed over the previous name parameter.
You can see that if you add a counter:
// Define a template function
let i = 0;
const myTemplate = name => {
  const j = i++;
  return html`
    <my-element
      .name=${name}
      @name-changed=${e => console.log("event after name", j, name)}
    ></simple-greeting>

    <my-element
      @name-changed=${e => console.log("event before name", j, name)}
      .name=${name}
    ></simple-greeting>
  `;
};

But to sum up, we're very sparing with adding more code to core, especially when it would change behavior from what seems apparent in the source. It's pretty explainable that bindings execute in source order, and harder to explain otherwise.

Thanks for the answer.
I was aware that the previous listener was being called instead of the new one which holds the previous value of name. I wanted to check whether that was expected or not, but it's clear to me now.
Later, I tried to use the original component where I found this "issue" by creating and assigning the properties/listeners imperatively and I came across the same issue if I changed the property before assigning the new listener (the same case you provided as an example). On my case, the event detail doesn't hold the value I needed, so that's why I needed to access the object directly from the listener.

Closing based on discussion. Please feel free to re-open the issue with additional context if more explanation is necessary.


Add log statements to project and configure log level

As a project developer, I want an application wide log level configured, and I want each existing log statement to have an appropriate level applied, so that application-wide log output becomes configurable

[ ] Explanatory log statements added to project code, where missing
[ ] Appropriate log level applied to all log statements[ ] Application wide log level configured (e.g. https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view=aspnetcore-7.0#configure-logging)

Mentioned in #335


App-Shortcut to certificate screen

In the current situation you have to show your vacation certificate quite often. It would be handy to have an app-shortcut to quickly navigate to the list of certificate or even directly to the latest.

Hi @jeffbs 👋
Thanks for the suggestion! I would suggest you take a look at https://github.com/corona-warn-app/cwa-wishlist/issues/504, which is basically the same request as yours, or?
Thanks and have a nice Sunday!

yeah, thats what i want. :)

@jeffbs Okay, then I suggest to monitor https://github.com/corona-warn-app/cwa-wishlist/issues/504 and close this issue (:

@jeffbs Okay, then I suggest to monitor https://github.com/corona-warn-app/cwa-wishlist/issues/504 and close this issue (:

just edited my latest comment.

@jeffbs
Yes, this issue is quite old, as I'm also only a community member I can't comment on why this is not realized. I guess other features were prioritized.
Even though the issue is old, I suggest you ask for an update in https://github.com/corona-warn-app/cwa-wishlist/issues/504 and close this issue. (-:

@jeffbs
Would you like to close this issue in favor of https://github.com/corona-warn-app/cwa-wishlist/issues/504?

Duplicate of https://github.com/corona-warn-app/cwa-wishlist/issues/504

Hello everyone, I know the ticket https://github.com/corona-warn-app/cwa-wishlist/issues/504 is quite old however I did just reboot the discussion and hoping to get feedback in Jira in the near future.
This ticket is marked as duplicate and will be closed in favor of https://github.com/corona-warn-app/cwa-wishlist/issues/504


Example in documentation wrong?

AFAICT, the first example in the README is wrong, because at https://github.com/mcanevet/rspec-puppet-facts/blame/master/README.md#L68 it's missing a
let (:facts) { facts }

Thus, the test shouldn't work if the manifest under test is actually using facts. I think this should be fixed, because that's quiet confusing for people using rspec-puppet-facts for the first time.

Added a MR for that.


ICE: Module validation failed: Invalid bitcast

Code below:
class Object
  def to_foo(io); end

  def to_foo
    String.build &->to_foo(IO)
  end
end

Time.new.to_foo # for structs works fine apparently
:foobar.to_foo  # ... but it crashes having simple `Value`s as implicit `self`

generates following ICE:
Module validation failed: Invalid bitcast
  %6 = bitcast i32 %self to i8*
 (Exception)
  from Crystal::CodeGenVisitor#finish:Nil
  from Crystal::Compiler#codegen<Crystal::Program, Crystal::ASTNode+, Array(Crystal::Compiler::Source), String>:(Tuple(Array(Crystal::Compiler::CompilationUnit), Array(String)) | Nil)
  from Crystal::Compiler#compile<Array(Crystal::Compiler::Source), String>:Crystal::Compiler::Result
  from Crystal::Command#run_command<Bool>:Nil
  from Crystal::Command#run:(Bool | Crystal::Compiler::Result | Nil)
  from main

See https://carc.in/#/r/7le1

Related to #7577: you currently can't get a proc of a primitive (number, symbol, etc.) method

Cannot reproduce since 0.36. This is most likely fixed by #9824


volumeId xxx not found error

seaweedfs often throws exception :volumeId 100 not found error,and this is the command and logs below, hoping your help, thanks.
-----command
--41master
nohup /usr/local/seaweedfs/weed master -port=9333 -mdir=/usr/local/seaweedfs/1 -ip=<IP_ADDRESS> > /usr/local/seaweedfs/master.log &
--41volume
nohup /usr/local/seaweedfs/weed volume -max=1024 -dir=/usr/local/seaweedfs/v1 -ip=<IP_ADDRESS> -port=8081 -mserver=<IP_ADDRESS>:9333 > /usr/local/seaweedfs/seaweedfs.log &
--42volume
nohup /usr/local/seaweedfs/weed volume -max=1024 -dir=/usr/local/seaweedfs/v2 -ip=<IP_ADDRESS> -port=8081 -mserver=<IP_ADDRESS>:9333 > /usr/local/seaweedfs/seaweedfs.log &
--43volume
nohup /usr/local/seaweedfs/weed volume -max=1024 -dir=/usr/local/seaweedfs/v3 -ip=<IP_ADDRESS> -port=8081 -mserver=<IP_ADDRESS>:9333 > /usr/local/seaweedfs/seaweedfs.log &
-----master log
I0317 16:27:37 22068 topology_event_handling.go:57] Removing Volume 383 from the dead volume server <IP_ADDRESS>:8081
I0317 16:27:37 22068 volume_layout.go:261] Volume 383 has 0 replica, less than required 1
I0317 16:27:37 22068 volume_layout.go:237] Volume 383 becomes unwritable
I0317 16:27:27 22068 topology_event_handling.go:57] Removing Volume 380 from the dead volume server <IP_ADDRESS>:8081
I0317 16:27:27 22068 volume_layout.go:261] Volume 380 has 0 replica, less than required 1
I0317 16:27:27 22068 volume_layout.go:237] Volume 380 becomes unwritable
I0317 16:27:37 22068 node.go:256] topo:DefaultDataCenter:DefaultRack removes <IP_ADDRESS>:8081
2020/03/18 14:38:01 http: proxy error: dial tcp <IP_ADDRESS>:9333: connect: connection refused
2020/03/18 14:38:01 http: proxy error: dial tcp <IP_ADDRESS>:9333: connect: connection refused
2020/03/18 14:38:01 http: proxy error: dial tcp <IP_ADDRESS>:9333: connect: connection refused
-----volume log
I0528 16:02:08  5592 volume_loading.go:83] loading index /data/seaweed/node1/944.idx to memory readonly false
I0528 16:02:08  5592 store.go:113] add volume 944
I0528 16:13:08  5592 store.go:181] volume 938 is expired.
I0528 16:13:13  5592 store.go:179] volume 938 is deleted.
I0528 16:13:28  5592 store.go:179] volume 942 is deleted.
I0528 16:18:53  5592 volume_grpc_client_to_master.go:45] heartbeat error: rpc error: code = Unavailable desc = transport is closing
I0528 16:18:58  5592 volume_grpc_client_to_master.go:68] Heartbeat to: <IP_ADDRESS>:9333
I0528 16:18:58  5592 volume_grpc_client_to_master.go:45] heartbeat error: rpc error: code = Unknown desc = Raft Server not initialized!
I0528 16:19:03  5592 volume_grpc_client_to_master.go:68] Heartbeat to: <IP_ADDRESS>:9333
I0528 17:52:33  5592 store.go:181] volume 917 is expired.
I0528 17:52:38  5592 store.go:181] volume 917 is expired.
I0528 17:52:43  5592 store.go:181] volume 917 is expired.

There are nothing related to volume 100 in the log.

yes,I know it is just an example, volume xxx not found, xxx means a number.

I do not know which one you think has problem.

first, does the logs verify that there are some problem,such as volume 938 is expired,Volume 383 becomes unwritable,volume 938 is expired,heartbeat error: rpc error: code = Unavailable desc = transport is closing and so on which cause the problem volume id not found exception.
second,the volume is created by the command I have keyed, which I think it is created by default things.
third,the weed version is 1.4.1.
thanks for your reply, hoping more answers.

the latest version is 1.79. I guess you did not mean 1.4.1, but actually mean 1.41
The logs is for reporting status. "volume 938 is expired" means it is expired by TTL. "Volume 383 becomes unwritable" means the volume is somehow disconnected.
The volumes are clearly created as TTL volumes.

How can I fix the problem " volume is somehow disconnected" ?

You should find out why volume server <IP_ADDRESS>:8081 is not the command you used to start the volume server.

my mistake, the command is from dev env and the logs is from test env. Except the ip and port, the command is the same between dev and test.
there is the command in test env:
nohup /usr/local/seaweedfs/weed volume -max=1024 -dir=/usr/local/seaweedfs/v3 -ip=<IP_ADDRESS> -port=8081 -mserver=<IP_ADDRESS>:9333 > /usr/local/seaweedfs/seaweedfs.log &
so the problem " volume is somehow disconnected" is stil there. Hoping your clues.

How can I debug if the info is not real?
The disconnected volume server usually is temporary.

I update the first post, so you can see the real things.
"The disconnected volume server usually is temporary" do you mean it is normal during the business?


Request: temperature sensors

Really cool project, would be great if you could add temperature sensor support (heim already some support)!
EDIT: created a simple, quick-and-dirty script with MQTT Discovery to address my needs here

I like this idea and intend to implement it.
I'm just busy at the moment.

No worries, my alternative is working great for now.


Remove Min Compatiblity

Removing residue of min compat code after discussion with test council. More details are available in internal Fluid docs.

IMO we can keep this feature in the codebase disabled (which it currently is). We will probably be looking into long term plans/refactoring a lot off this code, so it may be helpful to add some comments explaining the issues with min compat. That way while refactoring we have both the context and the code to consider. If we decide that we no longer want this feature in the future, then we can remove it from the code

The Test Council is going to discuss tomorrow how to proceed with min compat testing. We'll keep you updated.


Documentation is not updated to 4.10 version

When going to the documentation through link on main page when end up to https://robotidy.readthedocs.io/en/stable/ that still displays Robotidy 4.8.1 as stable.
Same issue in the release note for transform ReplaceWithVAR, the given link give a 404 error

Thanks for issue, I see that read the docs now does not get webhooks without security tokens. And because of that our doc builds are not  triggered

Triggered it manually for now, I will fix integration later.

Good enough for me, thanks for the quick response. Needed the ReplaceWithVAR following your presentation this motning a Robcon, thanks for that also by the way ;)

I left thread open till the next (4.11.0) release to test if it works now - and it works now so I'm closing the issue.


Modules from collections are not recognized when COLLECTIONS_PATH is set via env var

Summary
TLDR: Modules from collections are not recognized (no definition found) when COLLECTIONS_PATH is set via environment variable.

ansible.cfg does not have collections_path (https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths) setting in file. However env var ANSIBLE_COLLECTIONS_PATH is set

❯ ansible-config dump | grep COLLECTIONS_PATHS COLLECTIONS_PATHS(env: ANSIBLE_COLLECTIONS_PATH) = ['/Users/victor/Code/Sandbox/automation/.collections']

ansible.cfg have collections_path setting in file. Works fine, modules are recognized.

Extension version
v24.4.0
VS Code version
1.88.1
Ansible Version
❯ ansible --version
ansible [core 2.16.5]
  config file = /Users/victor/Code/Sandbox/automation/ansible.cfg
  configured module search path = ['/Users/victor/Code/Sandbox/automation/plugins/modules']
  ansible python module location = /Users/victor/Code/Sandbox/automation/.venv/lib/python3.11/site-packages/ansible
  ansible collection location = /Users/victor/Code/Sandbox/automation/.collections
  executable location = /Users/victor/Code/Sandbox/automation/.venv/bin/ansible
  python version = 3.11.6 (main, Mar 24 2024, 10:42:30) [Clang 15.0.0 (clang-15<IP_ADDRESS>)] (/Users/victor/Code/Sandbox/automation/.venv/bin/python)
  jinja version = 3.1.3
  libyaml = True

OS / Environment
MACOS 14.4
Relevant log output
No response

Similar behaviour is observed with ansible-lint validation. When using ANSIBLE_VAULT_IDENTITY and ANSIBLE_VAULT_IDENTITY_LIST with environment variables I get syntax errors:
Unexpected error code 1 from execution of: ansible-playbook -i localhost, --syntax-check site.sample.production.yml internal-error: Unexpected error code 1 from execution of: ansible-playbook -i localhost, --syntax-check site.sample.production.yml site.sample.production.yml:1 [WARNING]: Error getting vault password file (credentials): The vault password
However using settings vault_identity and vault_identity_list into ansible.cfg clear all above errors and all runs fine.


Test Issue

This is a test.

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

ID: 09db0481-75ce-3410-f2c4-f777d88bbabc
Version Independent ID: c7ebb945-1dd2-afff-1041-7a152cc1d717
Content: What is Azure Private 5G Core Preview?
Content Source: articles/private-5g-core/private-5g-core-overview.md
Service: private-5g-core
GitHub Login: @djrmetaswitch
Microsoft Alias: drichards

@lnyswonger thanks! Closing this out since this is a test.


Fix property names & default values in README

Fixes the following errors in prop. documentation:

displayStatusBar should be alwaysDisplayStatusBar
alwaysDisplayStatusBar has default value of false
displayTopBar has default value of true

You're right! Thanks for the fix @kshvmdn.


Add New Work Form, Accessibility, and Screen Readers

The text "Agree to the deposit agreement and then select files.  Press the Start Upload Button once all files have been selected" was removed from the Upload form in Sufia 7. This text was previously marked with CSS class sr-only in Sufia 6. We need to add an equivalent helper for Screen Readers in Sufia 7.

The entire new work page needs a usability review.  This ticket is about checking the page using screen reader  and adding tickets.

@mtribone has some browser plugins we could use for this

Using the WAVE accessibility tool, we need to solve the 25 errors and 6 alerts as a first step. It's evaluating all of the tabs on the page.

Addressing some missing button values and exposing the help text for everyone and not just screen readers.


fix(remix-react): fix Form submit when having a button with formMethod attribute

I found an issue when submitting a Form which has a child submit button with the formMethod attribute set.
It seems the formMethod attribute is simply ignored, and the request method fallbacks to the default "get" method.
This is inconvenient as the form submission triggers the loader instead of the action.
I started investigating this issue and I have a feeling it is occurring in the implementation of the Form component (i.e. FormImpl). The submit function receives the form method as an option, which is then used to submit the form in spite of the formMethod attribute :
packages/remix-react/components.tsx:948
submit(clickedButtonRef.current || event.currentTarget, {
    method,
    replace,
});

packages/remix-react/components.tsx:1108
method =
          options.method ||
          target.getAttribute("formmethod") ||
          form.getAttribute("method") ||
          defaultMethod;

@mdoury Could you please rebase your branch onto latest dev & resolve conflicts?

@mdoury – any way I could help? I'd be happy to resolve the conflicts and help push this forward if I'm granted the necessary accesses. I can also start over with a new PR if that's preferable.  Please let me know.

I hope this will not offend anyone but I went ahead and opened a new PR #3613 which supersede this one and I've credited @mdoury as a "co-author" on the fix commit.

Closing this one in favor of #3613


RealWorld Angular App w/ ng update fails to update @angular-devkit/core 8.0

🐞 Bug report
Command (mark with an x)

- [x] build
- [x] serve

Is this a regression?
Yes
Description
It looks like an ng-update fails to update @angular-devkit/core in this project, resulting in build/serve errors after the upate.
Build fails with the error this._architect.scheduleTarget is not a function.
🔬 Minimal Reproduction
git clone git@github.com:gothinkster/angular-realworld-example-app.git
cd angular-realworld-example-app
ng  update @angular/core @angular/cli --next
ng build

🔥 Exception or Error

```
$ ng build
this._architect.scheduleTarget is not a function
TypeError: this._architect.scheduleTarget is not a function
    at BuildCommand.runSingleTarget (/usr/local/google/home/stephenfluin/workspace/test/angular-realworld-example-app/node_modules/@angular/cli/models/architect-command.js:193:47)
    at async BuildCommand.runArchitectTarget (/usr/local/google/home/stephenfluin/workspace/test/angular-realworld-example-app/node_modules/@angular/cli/models/architect-command.js:216:24)
    at async BuildCommand.validateAndRun (/usr/local/google/home/stephenfluin/workspace/test/angular-realworld-example-app/node_modules/@angular/cli/models/command.js:137:28)
    at async Object.runCommand (/usr/local/google/home/stephenfluin/workspace/test/angular-realworld-example-app/node_modules/@angular/cli/models/command-runner.js:178:24)
    at async default_1 (/usr/local/google/home/stephenfluin/workspace/test/angular-realworld-example-app/node_modules/@angular/cli/lib/cli/index.js:32:31)
```

🌍 Your Environment

Angular CLI: 8.0.0-rc.4
Node: 12.2.0
OS: linux x64
Angular: 8.0.0-rc.4
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.0-rc.4
@angular-devkit/build-angular     0.800.0-rc.4
@angular-devkit/build-optimizer   0.800.0-rc.4
@angular-devkit/build-webpack     0.800.0-rc.4
@angular-devkit/core              0.6.8
@angular-devkit/schematics        8.0.0-rc.4
@ngtools/webpack                  8.0.0-rc.4
@schematics/angular               8.0.0-rc.4
@schematics/update                0.800.0-rc.4
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.30.0

Workaround
Manually updating @angular-devkit/core fixes this problem.

I am unable to reproduce the issue both with and without a yarn install prior to the ng update.  Without a yarn install after the clone, the global version of the CLI will perform the update.  Could you provide the global version installed at that time?
However, it does appear that @angular-devkit/core is erroneously present as a direct dependency of the application: https://github.com/gothinkster/angular-realworld-example-app/blob/master/package.json#L18
Before the update, the following is the list of @angular-devkit/core instances within node modules:
├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>   └─<EMAIL_ADDRESS>
By removing the extra @angular-devkit/core dependency, yarn outputs the following list:
yarn list v1.16.0
└─<EMAIL_ADDRESS>
All the CLI related packages contain their own direct dependency on @angular-devkit/core.  It should not be installed directly unless the project itself is directly using it.  However, in that scenario the project is depending on the public API of the core package and updating it without explicit instructions can cause a broken project.
After an update via the command show above, yarn lists the following:
yarn list v1.16.0
├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>   └─<EMAIL_ADDRESS>
There is also only one @angular-devkit/architect installed:
yarn list v1.16.0
└─<EMAIL_ADDRESS>

@StephenFluin can you provide a commit after the update? That should give us a file lock using the problematic dependencies. Yarn version would also help.

https://github.com/StephenFluin/angular-realworld-example-app/commit/fbbfb2b1365dbaabff6d8f14a8754f9b48a6922a commit after update.
Yarn version v1.16.0
Global CLI 8.0.0-rc.4
We can call this mystery solved if the developer added a dependency on core mistakenly, it definitely becomes a nice to have.

Hi, I have also tried this myself, and I was unable to replicate it. I even tried doing a yarn install prior to updating but I always ended up having a successful build.

Closing until we have a better reproduction.

I experienced the same issue on my CI. I was using NPM on local and yarn for the CI. Switching to NPM instead of yarn on the CI solved the issue.
The issue might come from package-lock.json and using two different package managers.

I encountered the same error. The problem is exactly from the @angular-devkit/core package in package.json. Running yarn remove @angular-devkit/core fixed it for me.

same issue this._architect.scheduleTarget is not a function


OBJ-181 htmlencode user input before rendering to screen

Turns out I was overcomplicating everything, was more of a bug where we were passing variables to the summary list as html, so the browser was parsing them as html.
I've set the fields to text and the Nunjuks autoescaping will handle the rest for us

Turns out I was overcomplicating everything, was more of a bug where we were passing variables to the summary list as html, so the browser was parsing them as html.
I've set the fields to text and the Nunjuks autoescaping will handle the rest for us

Much simpler! 😊


win32: Fix some tests on Windows

Windows doesn't have the 'echo' and 'true' commands without Cygwin/MSYS2.
Use 'cmd /c echo:' for a command just do nothing.
On AppVeyor, sometimes fail to start test_channel.py.
E.g. https://ci.appveyor.com/project/chrisbra/vim-win32-installer/builds/19446847/job/77vobc2osadmlhho#L3844
Wait a bit longer.

Codecov Report

Merging #3534 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3534      +/-   ##
==========================================
- Coverage   77.22%   77.19%   -0.03%
==========================================
  Files          99       99
  Lines      139041   139041
==========================================
- Hits       107370   107338      -32
- Misses      31671    31703      +32

Impacted Files
Coverage Δ

src/gui_beval.c
55.02% <0%> (-6.56%)
:arrow_down:

src/window.c
83% <0%> (-0.49%)
:arrow_down:

src/gui_gtk_x11.c
48.35% <0%> (-0.15%)
:arrow_down:

src/os_unix.c
58.14% <0%> (-0.14%)
:arrow_down:

src/screen.c
79.21% <0%> (-0.03%)
:arrow_down:

src/diff.c
77.94% <0%> (ø)
:arrow_up:

src/channel.c
83.21% <0%> (+0.07%)
:arrow_up:

src/gui.c
57.54% <0%> (+0.15%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3d6014f...9b2833d. Read the comment docs.


User have a consistent experience with chat responses

[ ] Add fallback queries for malformed answers
[ ] Add automated testing for pipelines/chains optimization

@alebjanes all wrapper LLM queries have a fallback. I seen most of API builder call have a retry. Should I mark the first item as done?


Updating BGFX to take fix for reset on bgfx

Bringing in the newest version of bgfx to fix an issue where reset was not correctly regenerating textures when the underlying windowptr changed.

Chris already has a PR out to update bgfx

Chris already has a PR out to update bgfx


doc update: backups

production setup > Back Up Your Cluster Regularly
^ mention that you need to backup the aegis-age-key secret at the very least because it contains the encrpytion keys.

Done.


Bump deCONZ to 2.05.39

"The Lost Child"
https://github.com/dresden-elektronik/deconz-rest-plugin/releases/tag/V2_05_39

@oscar-b Thanks for opening this PR - I've opened one myself with the version bump and a few other features (mostly downstream Hass.io Add-on features), so I'm closing this. Update should happen soon once the Travis-CI build succeeds, and Hass.io Add-on will follow after.


PayloadRequest type not match the real request object

Bug Report
The PayloadRequest type has an optional file type but in reality the object contains something like this when inspecting the req object:
files: {
  file: {
    name: "foo-image.jpeg",
    data: <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 01 00 00 01 00 01 00 00 ff db 00 84 00 09 06 07 08 07 06 09 08 08 08 0a 0a 09 0b 0e 17 0f 0e 0d 0d 0e 1c 14 15 11 ... 814259 more bytes>,
    size: 814309,
    encoding: "7bit",
    tempFilePath: "",
    truncated: false,
    mimetype: "image/jpeg",
    md5: "de01819bcb2b465f80dd6dc34321f749",
    mv: [Function: mv],
  },
}

Expected Behavior
The PayloadRequest type should reflect the real req object.
Steps to Reproduce

Create an upload collection.
Create a beforeChange hook for the collection.
Inspect the req object in the hook and see the difference

Thanks for the report @zaunermax!
Closed in https://github.com/payloadcms/payload/commit/a09570c78dc923f3553f36d726e5cfac925290a0.
Released as beta in<EMAIL_ADDRESS>Will be publishing a minor version at some point over the next few weeks!


PlantUML as svg_object  not rendered in techdocs

Expected Behavior
When using the PlantUML plugin in techdocs with the svg_object option it should render the drawings.
Available formats are documented in the plantuml-markdown plugin.
Current Behavior
Nothing is rendered as sanitzeHtml strips the object tag.
This change was introduced in https://github.com/backstage/backstage/commit/348c46896fed3a0b92bd376ad5825323637e402a unfortunately there are no context in the commit message as to why this was removed nor is there a PR reference (that I found).
Possible Solution
Allow object tags again or we should make sure to document this limitation of the PlantUML plugin.
Steps to Reproduce
Add a PlantUML tag to a tech docs document with the format set to svg_object.
```plantuml format="svg_object"
Alpha->Beta: Hello
```

When testing with techdocs-cli it shows correctly, but when browsed in backstage an empty <p> tag remains after the generated <object> tag is sanitized.
Context
After upgrading backstage we noticed that no PlantUML diagrams were rendered in our techdocs.
We use the svg_object format extensively.
Your Environment

NodeJS Version (v12): v14.16.0
Operating System and Version (e.g. Ubuntu 14.04): Alpine 3.13

Hey @Crevil!  Unfortunate that the details are not really well-linked in that commit.  For a little bit more detail, check this out.
You should be able to swap out svg_object for svg_inline to get the same set of features as you had previously.

That makes sense, thanks for linking that up.
Should we add a notice to the tech-docs plugin documentation that the svg_object is not allowed? Maybe with a link to the advisory?

That's a great idea. Was looking for a good spot... Maybe under troubleshooting?

I have added a PR to both techdocs troubleshooting and the mkdocs plugin. Hopefully that can help others in the future.

Closing this out now that the docs changes above are in!  Thanks again.


Feature Request: Downcast Trait Objects

downcast-rs provides methods to downcast references, but not Trait objects.  Would it be possible to add a method like this to the downcast trait?
fn downcast(self: Box<Self>) -> Box<T> where T: Downcast

Sure, I can take a look into adding some such functionality.

@asomers: Could you clarify what precisely you need. I initially thought you probably meant (assuming Trait: Downcast) for impl_downcast! to produce the following method as well
impl Trait {
  fn downcast<T>(self: Box<Self>) -> Result<Box<T>, Box<Self>> {
    ...
  }
}

mirroring the one for Box<Any>.
Could you confirm that that's what you meant?
I do run into an awkward challenge here in dealing with the conversion for the failure case to reproduce the original Box<Self>, and that might sadly require unsafe code -- I have to think more.
Another alternative that I can provide is to add an into_any to the Downcast trait so that you can easily go from Box<Self> to Box<Any> so that you can call Box<Any>'s downcast() method. Of course, then you can't come back to Box<Self> safely (i.e. the problem I mentioned above).
Please confirm that I've understood your request correctly and which of these options you would like.

That "awkward challenge" was actually quite easy (I looked at the standard library for how they did it). Just published 1.0.2 with the feature. Cheers!

I still seem to be getting error with the following code
let note: Ref<dyn EditableNote> = { ... };
match note.downcast_ref::<dyn Note>() {
  ...
}

error: the `downcast_ref` method cannot be invoked on a trait object
   --> webui/src/agents/notes_manager.rs:299:28
    |
299 |                 match note.downcast_ref::<dyn Note>() {
    |                            ^^^^^^^^^^^^
    |
   ::: webui/src/editable.rs:20:1
    |
20  | impl_downcast!(EditableNote);
    | ----------------------------- this has a `Sized` requirement

Whereas it works fine when downcasting to a concrete struct
match note.downcast_ref::<MarkdownNote>() {
  ...
}
// works fine

I just split this out in into a separate issue https://github.com/marcianx/downcast-rs/issues/10 since it seems unrelated to the original here, which is support for Box<dyn Trait>.


npm ArgumentNullException : Value cannot be null. (Parameter 'version')

Describe the bug
npm package.json with dependency with empty version leads to ArgumentNullException : Value cannot be null. (Parameter 'version')
{
  "dependencies": {
    "bootstrap": "^4.4.1"
  },
  "devDependencies": {
    "jasmine": ""
  }
}

Expected behavior
According to specification empty string is the same as *

fix released in version 3.1.2


ovmanager: Error out on vxlan id alloc failure

Currently ovmanager simply logs an error when there is a vni allocation
failure. Instead it should error out and free all the previously
allocated vnis
Signed-off-by: Jana Radhakrishnan<EMAIL_ADDRESS>

LGTM


network

NETWORK' is not recognized as an internal or external command,
operable program or batch file

how to i resolve the issue

Something went wrong while attempting to connect to the network. Check your network configuration.
Error: connect ECONNREFUSED <IP_ADDRESS>:46658
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)


Update Fineract-Initial-Requests.postman_collection.json

did a small correction on API where tenantIdentifier was prefixed with "s"

Thanks @storedata !


^!^6000 FREE ROBUX^!^Free Roblox Gift Card Codes 2024 Free Roblox Gift Card Codes 2024 Unused List

Looking to boost your Roblox game without spending a dime? Say goodbye to empty pockets and hello to free Roblox credits! Whether you're a seasoned player or new to the game, these complimentary credits can take your gameplay to new heights.
►🔴👉👉CLICK HERE TO FREE GENERATOR
►🔴👉👉CLICK HERE TO FREE GENERATOR
With our top tips and tricks, you'll learn how to score those coveted free credits effortlessly. No more waiting around or missing out on exciting game features – it's time to level up your Roblox experience with ease. Stay ahead of the competition and enjoy all the perks without breaking the bank. Get ready to dominate the game like never before!
Types Available
Roblox offers various types of credits to enhance the gaming experience. Coins are the primary currency used for purchasing power-ups, extra bingo balls, and keys to unlock treasure chests. Credits are another form of currency that allow players to enter rooms and participate in games.
Essential Gameplay Element
Roblox credits play a crucial role in gameplay, serving as the ticket to access different bingo rooms. Without sufficient credits, players may be restricted from joining specific games or utilizing power-ups, hindering their progress within the game.
Advancing Levels
The significance of Roblox credits becomes evident when advancing levels. As players progress through higher levels, they encounter more challenging bingo patterns and require additional credits to continue playing. Accumulating credits becomes vital for maintaining momentum and achieving success in the game.
Claim your Roblox free credits👇
Daily Strategies for Free Credits
Check Daily
Make it a habit to check the guide daily for updated links to free Roblox credits. By doing so, you can ensure that you are always aware of the latest opportunities to earn freebies and free goodies in the game. These links are often time-sensitive, so staying on top of them is crucial.
Implement Smart Strategies
To make the most of the daily free credits, implement smart strategies that maximize your earnings. One effective approach is to participate actively in all available in-game activities that offer free credits as rewards. This could include completing daily challenges, participating in special events, or even engaging with social features like gifting and sharing bonuses with friends.
Utilize Credits Wisely
Once you've accumulated your daily free credits, it's essential to utilize them wisely to enhance your Roblox experience. Consider using these credits strategically, such as saving them for times when you need an extra boost to progress through challenging levels or unlock premium features. By being thoughtful about how you use your free credits, you can significantly improve your overall gameplay satisfaction.
Maximizing Special Events for Credits
Active Participation
Engage actively in special events to boost your credit earnings. Take advantage of every opportunity to play and win.
Special events offer unique challenges and rewards, providing exciting ways to earn extra credits.
Exclusive Opportunities
Discover exclusive methods to maximize your credit accumulation during special Roblox events.
· Complete event-specific tasks promptly to earn bonus credits.
· Utilize power-ups strategically to enhance your chances of winning.
Participating in special events not only adds thrill to the game but also helps you accumulate credits faster.
Redeeming Roblox Credits and Gifts
Efficient Redemption
To redeem your hard-earned free Roblox credits, navigate to the in-game store section. Look for the option to redeem or purchase credits using your accumulated coins.
Once you locate the redemption area, select the number of credits you wish to redeem. Confirm the transaction to instantly add the redeemed credits to your account balance.
Exciting Rewards
By redeeming your Roblox credits, you unlock a treasure trove of free gifts and exciting rewards. These rewards can range from bonus rounds in games to exclusive power-ups that enhance your gameplay experience.
Upon successful redemption, you may also receive additional coins that can be used to participate in more games or even win real money prizes.
Diverse Gift Options
When redeeming your earned credits, explore a variety of gift options available within Roblox. These gifts can include rare game items, boosters to increase your chances of winning, or even special access to premium game features.
Unlocking these diverse gift options not only adds value to your gaming experience but also enhances your overall enjoyment and success within the Roblox community.
Strategies to Get More Credits
Utilize Bonuses
Utilize Daily Bonuses: Make sure to log in every day to claim your daily bonus in Roblox. These bonuses can range from credits to power-ups that can enhance your gameplay.
Participate in Events: Engage in various in-game events and challenges to earn extra bonuses and rewards. These events often provide opportunities to gain additional credits.
Join Bingo Teams: Being part of a Bingo team can offer you access to team bonuses, which can significantly boost your credit collection. Coordinate with your team members to maximize these benefits.
Optimize Gameplay
Engage in multiple bingo rooms: By playing in different rooms, you increase your chances of winning credits.


event.user = None with WS Cloud Events

I'm using the wscloud events for a project, and every time I set a var on scratch, the new value shows up but the user is None. How can I fix this?

I think that scratch just stopped sending the user with the set packet, sad


chore: codecov flags for lerna packages

Codecov Report

Merging #82 (d4ff54b) into master (0c200f9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #82   +/-   ##
=======================================
  Coverage   73.97%   73.97%
=======================================
  Files          34       34
  Lines        1318     1318
  Branches      309      309
=======================================
  Hits          975      975
  Misses        230      230
  Partials      113      113

Flag
Coverage Δ

core
78.42% <ø> (?)

graphql
72.18% <ø> (?)

mongoose
64.89% <ø> (?)

reflector
76.00% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Some Unicode characters from Private Use Area rendered incorrectly

Windows Terminal version
1.16.2642.0
Windows build number
10.0.22000.0
Other Software
Affected font:

Meslo LG S NF (Nerd Font patched )
Also checked with few other power line fonts -> same behaviour

Unrelated:

WSL2
Ubuntu 20.04
zsh

Steps to reproduce

open terminal.
select MesloLGS NF (or other power line font) for current profile.
ensure that "useAtlasEngine": true
echo -e "\uE0B0\u2012\uE0B1\u2012\uE0B2\u2012\uE0B3\u2012\u2012"

Expected Behavior
All Unicode characters should be rendered correctly.
Actual Behavior
If "AtlasEngine" is on, some glyphs from Private Use Area (U+0E000 - U+0F8FF) are rendered misplaced and of wrong size. The engine seems to calculate either the height or bearingY (or both) for that glyphs wrong or maybe the issue comes from antialiasing. Some characters appers to be rendered bigger but then not scaled but just truncated to the character's boundary without respecting of glyph's origin. Some other (like the patched icons on the screenshot), by contrast, appears to be scaled smaller.
With  "useAtlasEngine": false the issue is not there.
AtlasEngine vs. "old" behaviour:

Unfortunately I was not able to check if the font provides all metrics correctly due to a lack of time but the issue seems not to be related to any particular font so it definetively comes from AtlasEngine.

I don't use Meslo font and WSL. I think that glyphs from Private Area are identical in all of fonts. Patched Cascadia (CaskaydiaCove NF):

Yes, I can confirm that. The issue seems no to be related to the particular font but to the Atlas engine itself. Switching "useAtlasEngine": false fixes it.

This appears to be a /duplicate of #14022. Let me know if I got that wrong!
Here you can see how I'm planning to address the issue, by allowing freely overlapping glyphs: https://github.com/microsoft/terminal/issues/14022#issuecomment-1257222349.
Over there I've also already discussed why your font in particular breaks our text renderer: https://github.com/microsoft/terminal/issues/14022#issuecomment-1258893517. In short: MesloLGM NF is broken and if we're interpreting the OpenType standard very strictly, we're actually drawing that glyph sort of correctly.


Problems about making intermediates in eom-ccsd

I am an undergraduate from China. Recently I'm read your code in repo psi4/psi4numpy to learn how to implement eom-ccsd method in python.
In the process of reading the code, I noticed that there are some small differences in making intermediates between code for ground state CCSD method and code for eom-ccsd method.
For example, in Stanton's paper, equation(9) is:

While in the code for ground state CCSD method(in repo psi4/psi4numpy/coupled cluster/spin_orbital/CCSD / CCSD.py), the part is implemented as:

However, in the code for eom-ccsd(in repo psi4/psi4numpy/coupled_cluster/RHF/helper_ccenergy.py), this part is implemented as:

Obviously in the latter case the minus term in the bracket has been neglected.  This kind of  problem happened in making other intermediates as well. However, the weird thing is that one will get very close output using two functions.

Hello, thank you for noticing this. It does indeed look like a mistake. The T1 cross terms are often very small for well converged wave functions. Would you mind opening a PR for a fix?

Hi Daniel @dgasmith , the EOM-CCSD code is spin-free while the CCSD code mentioned by @DavidMing-2001 is in spin-orbitals. You can see that in the spin-free case i.e for tau^{alpha, beta}_{alpha, beta}, only the first term would survive!

Ah, thanks @ashutoshvt! Makes perfect sense, is there a piece of documentation that alludes to this fact?

Actually, we put all the spin-adapted CC helper functions in the RHF folder: psi4/psi4numpy/coupled_cluster/RHF/.  Also, in the eom class's docs, we mention it as spin-adapted:
class HelperCCEom(object):
    """
    EOMCCSD helper class for spin adapted EOMCCSD
    """

Sorry, I haven't looked at github for a while, because recently I am preparing for final exam week, Now all of my exams have finished. I am very glad to help to fix this issue, but could you please tell me what is PR?

I also have a small question about the code, and I don't know whether this is a issue, in stanon's paper,  equation(3) is constructed as:

However, in your code, this part is implemented as(in repo psi4/psi4numpy/coupled_cluster/RHF/helper_ccenergy.py):

I notice there are coefficients difference and some extra term about exchange two body integral in your code. I am wondering about the reason of making this difference.

The difference between the published equation of Stanton and the code above is spin-adaptation.  Stanton's equations are in the spin-orbital basis and thus applicable to a spin-restricted or -unrestricted representation.  The specific code you quote assume a closed-shell reference determinant and a singlet target CC state.

Oh, thanks for you reply, I notice that there is some difference between the CCSD energy calculated from Spin_orbital_CCSD and RHF. Is this difference also due to spin adaptation?

There should be essentially no difference between the spin-orbital and spin-adapted CCSD energies.  Can you be more specific as to the magnitude of the difference you're seeing – perhaps provide an input?

Those aren't the same calculation because they use different basis sets.  The EOM-CCSD test case uses the cc-pVDZ basis, and the spin-orbital CCSD test uses the 3-21G basis.
Also the units on the energies are Hartrees, not eV.

Oh, I understand, many thanks.


Add Data to Mapping errors to simplify debugging / add line numbers on separate method / Various fixes/changes

Firstly; this doesn't (or shouldn't) break existing functionality.
I'm trying to get a feel for if there's any interest in developing this further; if there isn't I'll keep it in my own fork.
I required line numbers so I've overloaded the appropriate sections (tokenizers/mappers/error class) and added an option which is used to hit a branch within the CsvParser class.
      CsvParserOptions csvParserOptions = new CsvParserOptions(true, null, new QuotedStringTokenizer(','), 8, true);
      csvParserOptions.StoreRowNumbers = true;

The enhancement to the mapping error results in the following:

Which makes it easier to work out the actual data (without including the row data in the error) and which parser was loaded.
I've completed the migration, removing properties (all this is csproj settable now, no more assembly.cs for assembly versions), and the ref'd libs which are part of core.
Same for the tests, migrated over fully and target set to net45, which is fine to run the tests, fixes the VS integrations and removes issues around nunit fighting a huge backlog of issues.
Tests all pass.

Hi Chris,
Thanks for your efforts. They are really appreciated.
This is a large commit and it will take time to review it, please do not expect any quick feedback.

@bytefish the majority is style changes and migration fixes; the enhancements relatively contained. So if you decide it's not functionality you'd like to cover, it's worth considering the rest without the new functionality.
Ta

@ChrisMcKee I have added a test, that shows how to keep track of the original row number in the file, without changing the base classes.
The idea is to have define three classes Row, TokenizedRow and ParsedRow. All hold the CSV row data and the original position in the file. Then we can implement a Parser, which works the same like the CsvParser coming with the framework.
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TinyCsvParser.Mapping;

namespace TinyCsvParser.Test.Integration
{
    // Holds the Row Data and Line Number:
    public class Row
    {
        public readonly int Position;
        public readonly string Data;

        public Row(int position, string data)
        {
            Position = position;
            Data = data;
        }
    }

    // Holds the Tokenized Row Data and Line Number:
    public class TokenizedRow
    {
        public readonly int Position;
        public readonly string[] Data;

        public TokenizedRow(int position, string[] data)
        {
            Position = position;
            Data = data;
        }
    }

    // Holds the Parse Result and Line Number:
    public class ParsedRow<TEntity>
        where TEntity : class, new()
    {
        public readonly int Position;
        public readonly CsvMappingResult<TEntity> Result;

        public ParsedRow(int position, CsvMappingResult<TEntity> result)
        {
            Position = position;
            Result = result;
        }
    }

    // Implements a CsvParser, which counts rows:
    public class LineCountingCsvParser<TEntity>
        where TEntity : class, new()
    {
        private readonly CsvParserOptions options;
        private readonly CsvMapping<TEntity> mapping;

        public LineCountingCsvParser(CsvParserOptions options, CsvMapping<TEntity> mapping)
        {
            this.options = options;
            this.mapping = mapping;
        }

        public ParallelQuery<ParsedRow<TEntity>> Parse(IEnumerable<string> csvData)
        {
            if (csvData == null)
            {
                throw new ArgumentNullException("csvData");
            }

            var query = csvData
                .Select((x, pos) => new Row(pos, x))
                .Skip(options.SkipHeader ? 1 : 0)
                .AsParallel();

            // If you want to get the same order as in the CSV file, this option needs to be set:
            if (options.KeepOrder)
            {
                query = query.AsOrdered();
            }

            query = query
                .WithDegreeOfParallelism(options.DegreeOfParallelism)
                .Where(row => !string.IsNullOrWhiteSpace(row.Data));

            // Ignore Lines, that start with a comment character:
            if (!string.IsNullOrWhiteSpace(options.CommentCharacter))
            {
                query = query.Where(row => !row.Data.StartsWith(options.CommentCharacter));
            }

            return query
                .Select(row => new TokenizedRow(row.Position, options.Tokenizer.Tokenize(row.Data)))
                .Select(tokenizedRow => new ParsedRow<TEntity>(tokenizedRow.Position, mapping.Map(tokenizedRow.Data)));
        }

        public ParallelQuery<ParsedRow<TEntity>> ReadFromString(CsvReaderOptions csvReaderOptions, string csvData)
        {
            var lines = csvData.Split(csvReaderOptions.NewLine, StringSplitOptions.None);

            return Parse(lines);
        }

        public override string ToString()
        {
            return string.Format("CsvParser (Options = {0}, Mapping = {1})", options, mapping);
        }
    }

    [TestFixture]
    public class LineNumberCsvParserTest
    {
        private class Person
        {
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public DateTime BirthDate { get; set; }
        }

        private class CsvPersonMapping : CsvMapping<Person>
        {
            public CsvPersonMapping()
            {
                MapProperty(0, x => x.FirstName);
                MapProperty(1, x => x.LastName);
                MapProperty(2, x => x.BirthDate);
            }
        }

        [Test]
        public void CsvParserWithLineCountingTest()
        {
            var csvParserOptions = new CsvParserOptions(true, new[] { ';' });
            var csvReaderOptions = new CsvReaderOptions(new[] { Environment.NewLine });
            var csvMapper = new CsvPersonMapping();
            var csvParser = new LineCountingCsvParser<Person>(csvParserOptions, csvMapper);

            var stringBuilder = new StringBuilder()
                .AppendLine("FirstName;LastName;BirthDate")
                .AppendLine("Philipp;Wagner;1986/05/12")
                .AppendLine("")
                .AppendLine("Max;Mustermann;2014/01/01");

            var result = csvParser
                .ReadFromString(csvReaderOptions, stringBuilder.ToString())
                .ToList();

            Assert.AreEqual(2, result.Count);

            Assert.AreEqual(1, result[0].Position);
            Assert.AreEqual(3, result[1].Position);

            // Asserts ...
        }
    }
}

Neat; I only proposed it as an edit to the existing parser to reduce the footprint of the change; the use of keyvalue was to keep the heap size down, functionally its very similar which is nice.
If you want the other changes that complete the conversion and fix the test project for vs2017 etal I can pull out the line number change from the PR?

I'll update in a bit; thought I looks functionally similar, I'm not 100% it meets the same aim 👍

Fhi. I reverted out my change to the parser. The remaining changes are around test compatibility, the example custom parser, csproj and Vs test compatibility

I'm guessing there's no interest in pulling the remaining changes so i'll close this issue.

It's not like there is no interest, but there was simply no time left for open source development in the last year. Anyway I have now added line numbers to the library and made some other breaking changes. The solution is more or less like the one we discussed here.
Thanks for your valuable feedback!
I have also migrated the projects to the recent Visual Studio 2017 Format, as you suggested.
I have also enhanced the error reporting. Although I am not particular happy with the error handling part, because I think it may still lack some important details on why a conversion fails. Still thinking about this one.


Make the AI's link system type safe

Arrays of arrays in Godot lead to unsafe lines of code.
(This is very low priority. It's really not a big deal.)

Oh yeah, while you're at it, the AI's target system has the same issue

This was done during the development of 4.1.


Standardize error handling

The error notification boxes did not display anything and there were some API call errors being ignored. Now everything goes through the same function which creates a notification box with a title and description.

Not worth rebasing after moving to turbo repo.I will do this again though :)


Any chance for a quick setup guide to help a new user?

Any chance someone can put together a quick setup guide?  I've never used TS, not sure where to start.  I am trying to extract /velodyne_msgs/VelodyneScan from a bag file and export as a pointcloud2.  I know your desktop app seems to do it pretty well, hoping to get something working here.  Thanks.

Hi @robHammett-scale! Thanks for taking a look at this repo. What you're trying to do would require a few libraries I think:
@foxglove/rosbag - To open a bag and read your topic with datatype velodyne_msgs/VelodyneScan
@foxglove/velodyne-cloud - To convert the VelodyneScan packets into a PointCloud object, which is close to the sensor_msgs/PointCloud2 message definition (you have enough information to create a PointCloud2 once you have a PointCloud)
When you say export, if you want to write the PointCloud2 messages into a new bag file it would require some functionality that is currently missing. The @foxglove/rosbag library currently does not support .bag writing, but if this is something you're looking for feel free to open a ticket on that project requesting it. If you are going to export as JSON or some other format you already have everything you need (you would need to convert the binary point cloud data to base64 or some other JSON-compatible encoding, though).
Since a project like this would make use of multiple libraries, it's a bit more complex than the basic example provided in the README of this project. However, it could be useful to add in an examples/ folder since parsing Velodyne packets from a bag file is a common use case. I don't have the bandwidth right now to take this on myself, but I'll leave this ticket open in case someone wants to submit an implementation.


Wow?

Hello my friend, with this library I can use the same Firebase code across WebGL, Android and iOS?
If so that's actually insane, I'm surprised you don't have more stars...

Hi, oldpilgrid,
Yes, the library provides seamless integration with firebase's official unity sdk for the other platforms, the whole goal is to be able to use firebase code with webgl with even some extra methods as gifts from the javascript sdk that aren't in the unity / android/ ios sdk.
Currently I'm implementing support for non multi threaded builds, initially the library worked without unity firebase's sdk, but now, I am working on writing an override to the 'Task' library that uses web promises instead of C# threads because this causes errors for unity WebGL builds, once that's done, the library will be plug and play again.
Thanks you :)

Thank you @DDR12, I will be watching this repo with great interest :)


dataset resize inequality

Thank your for great project. In coco data coco.py file

Assume input image shape (640, 460, 3)
mask shape result : (80, 58)
code in project
keypoint_maps shape result: (80, 57)
code in project
modify
keypoint_maps = np.zeros(shape=(n_keypoints + 1,                                      int((n_rows / self._stride+0.5)), int((n_cols / self._stride+0.5))), dtype=np.float32)

I know, points process in data augment.

Hi! You are right, for the inference image size must be divisible by 8. That is why we have use padding.

Hope, it is clear now.


Benchmark performance between different http routers

Echo looks pretty promising and so do gin, so let's see what they can offer.

This doesn't need to include a change in router, but if the performance differential is so staggering, it might need to be added to 0.3.0.


Vulnerability roundup 84: zip-3.0: 1 advisory

search, files

[ ] CVE-2018-13410 CVSSv3=9.8 (nixos-20.03)

Scanned versions: nixos-20.03: 82b5f87fcc7. May contain false positives.

See also: #57192

And see also: #70134

@ckauhaus @puzzlewolf We've been at this point with other CVEs. Should we introduce a meta.securityWhitelist = [ "CVE-2018-13410" ]? This would also help with proper documentation of the reasons for whitelisting.

@wamserma @ckauhaus I think something like that would be a good idea. It would also make this process more transparent.
I guess this should be discussed in a more visible place, maybe https://discourse.nixos.org/t/vulnerability-roundups-are-back/7291?
It's weird, the whole vulnerability roundup doesn't seem to get talked about a lot, and most issues have not had any action since a week :thinking:. Well, a week isn't really a long time.

@wamserma @puzzlewolf Yes, will discuss the thing about permanent whitelists in Discourse. I think we should try to filter as much noise as possible so that the remaining roundup issues are actionable.

@ckauhaus Fine with we, just ensure the Discourse-Thread is linked here/and or in a new GitHub-issue.
I think this is not only about reducing noise but also about documentation and traceability of issues added to the whitelists. Keeping this as close to the actual package definitions is important imho and is also the way Yocto does this, see their presentation, slide 69 onward. This presentation also mentions their use of SRTool for keeping track of CVEs, while Debian and Ubuntu use a Git based approach and Arch has a homegrown solution. Nixos definitely needs something like https://security.nixos.org - but that discussion needs to be done on Discourse followed by an RFC.

still on it ;)

20.03 is Frozen and EOL.
As such, issue is closed.


Release branch.go1.10

Fix text failure

I'm not sure what this is intended to do, but this isn't how we handle release branches.


In the top Navigation bar, clicking on "Components" does not take you to the Components page

When hovering over the "Components" link, the cursor changes to the pointy hand but clicking on the link does nothing.

This has been rectified by a CMS change. The "Components" page wasn't correctly configured in the Navigation Element.


'//Disk init fail!\r\n'

Going pretty mad with this one as I've tried everything I can within the couple of guides and relevant issues I've found. Three fresh installs and a scouring of the issue reports on here, but nothing. I've checked issues other issues:
#152
#235
#340
I am essentially having the same issue as #152. When I run a print file, I get an error like this:
Traceback (most recent call last):
  File "/opt/venvs/mariner3d/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/venvs/mariner3d/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/opt/venvs/mariner3d/lib/python3.7/site-packages/mariner/server/api.py", line 208, in printer_command
    elegoo_mars.start_printing(filename)
  File "/opt/venvs/mariner3d/lib/python3.7/site-packages/mariner/mars.py", line 132, in start_printing
    self.select_file(filename)
  File "/opt/venvs/mariner3d/lib/python3.7/site-packages/mariner/mars.py", line 111, in select_file
    raise UnexpectedPrinterResponse(response)
mariner.exceptions.UnexpectedPrinterResponse: //Disk init fail!

I believe this to be down to mounting the virtual USB but I'm not sure where I'm going wrong.
This is on a Phrozen 4K Mini. My wiring is fine, hardware in general is fine (tried two boards, alternative power sources and get a different error in Mariner when I remove the jumpers entirely, which indicates to me that this is an issue with how I've set up my Pis.
Here're my important files:
(Mostly checked against #152 so you might see a few small bits not in the official guide)
/boot/cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=b9509d4a-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2 quiet splash

/boot/config.txt
[...]
[all]
#dtoverlay=vc4-fkms-v3d

# Enable UART
dtoverlay=dwc2
start_x=1
enable_uart=1

gpu_mem=128

/etc/fstab
proc            /proc           proc    defaults          0       0
PARTUUID=b9509d4a-01  /boot           vfat    defaults          0       2
PARTUUID=b9509d4a-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
/piusb.bin /mnt/usb_share vfat users,gid=mariner,umask=002 0 2

/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

/bin/sleep 5

modprobe g_mass_storage file=/piusb.bin removable=1 ro=1 stall=0 removable=1

    /sbin/iwconfig wlan0 power off

    exit 0

dmesg
[    9.754791] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   10.467858] systemd-journald[88]: Received request to flush runtime journal from PID 1
[   10.892785] FAT-fs (loop0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   12.852908] mc: Linux media interface: v0.10
[   13.013706] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[   13.016375] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[   13.039833] [vc_sm_connected_init]: start
[   13.067315] [vc_sm_connected_init]: installed successfully
[   13.097154] videodev: Linux video capture interface: v2.00
[   13.190277] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   13.193296] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   13.194878] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[   13.213886] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[   13.225234] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[   13.235887] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[   13.248408] bcm2835_audio bcm2835_audio: there is not valid maps for state default
[   13.290120] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[   13.910036] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[   13.910234] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[   13.910809] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[   13.912206] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[   13.912974] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[   13.914032] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[   13.914095] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[   13.914133] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[   13.914165] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[   13.914194] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[   13.916014] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[   13.916089] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[   13.940950] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[   14.037392] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[   14.037470] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[   15.098602] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   15.500805] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   16.152702] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[   16.176978] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   16.177406] usbcore: registered new interface driver brcmfmac
[   16.265944] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt failed with error -2
[   16.542642] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   16.542857] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[   16.544056] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Oct 22 2019 01:59:28 version <IP_ADDRESS> (r723000 CY) FWID 01-3b33decd
[   23.446874] random: crng init done
[   23.446910] random: 7 urandom warning(s) missed due to ratelimiting
[   23.970650] uart-pl011 20201000.serial: no DMA platform data
[   24.414629] 8021q: 802.1Q VLAN Support v1.8
[   25.268841] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SSFS
[   25.710336] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   28.572533] Bluetooth: Core ver 2.22
[   28.572739] NET: Registered protocol family 31
[   28.572755] Bluetooth: HCI device and connection manager initialized
[   28.586561] Bluetooth: HCI socket layer initialized
[   28.586599] Bluetooth: L2CAP socket layer initialized
[   28.586668] Bluetooth: SCO socket layer initialized
[   28.602806] Bluetooth: HCI UART driver ver 2.3
[   28.602836] Bluetooth: HCI UART protocol H4 registered
[   28.602982] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   28.603271] Bluetooth: HCI UART protocol Broadcom registered
[   29.268963] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   29.757124] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   29.757151] Bluetooth: BNEP filters: protocol multicast
[   29.757185] Bluetooth: BNEP socket layer initialized
[   41.866698] Mass Storage Function, version: 2009/09/11
[   41.866732] LUN: removable file: (no medium)
[   41.866920] LUN: removable read only file: /piusb.bin
[   41.866939] Number of LUNs=1
[   41.886668] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
[   41.886700] g_mass_storage gadget: userspace failed to provide iSerialNumber
[   41.886712] g_mass_storage gadget: g_mass_storage ready
[   41.886733] dwc2 20980000.usb: bound driver g_mass_storage
[   41.912809] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save disabled

df -h
(weird thing is the install script I used on this last-ditch effort - https://github.com/KTheMan/Mariner-Autoinstaller - should apparently have allocated 'all available space' to the virtual USB, but it looks like it's been allocated much less).
 Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  5.5G   23G  20% /
devtmpfs        152M     0  152M   0% /dev
tmpfs           184M     0  184M   0% /dev/shm
tmpfs           184M  3.6M  180M   2% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           184M     0  184M   0% /sys/fs/cgroup
/dev/loop0      4.0G  118M  3.9G   3% /mnt/usb_share
/dev/mmcblk0p1  253M   48M  205M  19% /boot
tmpfs            37M     0   37M   0% /run/user/1000

(weird thing is the install script I used on this last-ditch effort - https://github.com/KTheMan/Mariner-Autoinstaller - should apparently have allocated 'all available space' to the virtual USB, but it looks like it's been allocated much less).

Little bit of misinterpretation there. It's expanding the filesystem of Raspbian Lite to the whole microSD card, and not the virtual USB unfortunately.
If you're looking to add a larger amount of space to that virtual USB you can change the size line 116 (in the script) from its default of 4096 (which shows as 4.0G when you ran df -h)
sudo dd bs=1M if=/dev/zero of=/piusb.bin count={Your_Virt_USB_Size_Here}

(weird thing is the install script I used on this last-ditch effort - https://github.com/KTheMan/Mariner-Autoinstaller - should apparently have allocated 'all available space' to the virtual USB, but it looks like it's been allocated much less).

Little bit of misinterpretation there. It's expanding the filesystem of Raspbian Lite to the whole microSD card, and not the virtual USB unfortunately.
If you're looking to add a larger amount of space to that virtual USB you can change the size line 116 (in the script) from its default of 4096 (which shows as 4.0G when you ran df -h)
sudo dd bs=1M if=/dev/zero of=/piusb.bin count={Your_Virt_USB_Size_Here}
Have you tried plugging your micro USB end into the other port on your Pi Zero?

Good point, thank you. No, I've not tried that but I'll give it a go. Was just assuming headless mode so used power only on both boards that I tried. Will report back!

(weird thing is the install script I used on this last-ditch effort - https://github.com/KTheMan/Mariner-Autoinstaller - should apparently have allocated 'all available space' to the virtual USB, but it looks like it's been allocated much less).

Little bit of misinterpretation there. It's expanding the filesystem of Raspbian Lite to the whole microSD card, and not the virtual USB unfortunately.
If you're looking to add a larger amount of space to that virtual USB you can change the size line 116 (in the script) from its default of 4096 (which shows as 4.0G when you ran df -h)
sudo dd bs=1M if=/dev/zero of=/piusb.bin count={Your_Virt_USB_Size_Here}
Have you tried plugging your micro USB end into the other port on your Pi Zero?

Good point, thank you. No, I've not tried that but I'll give it a go. Was just assuming headless mode so used power only on both boards that I tried. Will report back!

No dice I'm afraid.
I'm actually going to try an entirely different machine today too just to try and rule that out.

Ok so it was a bad USB cable in the end (well, two of them). Much thanks to @KTheMan for his install script as I can see this making things much easier for people in the future.

I'm running into the same issue.  Rebooting the pi fixed the issue for me, though.

To anyone who finds this in the future: it's probably your USB cable. I run a print farm. Have tons of these working. Just had one that gave me disk init failed. Used 4 different USB cables that I know work fine and have data lines. Same issue.
Tried one other cable and it works fine instantly. Can easily repeat to confirm that was the fix. No idea why or what makes some cables special but all my cables have data and voltage lines and work fine in the farm.


Change all (complex) relative imports to use package anchor

In #18, a package anchor #erdstall in the form of an internal imports specification in package.json was created. The corresponding paths translation was also added to tsconfig.json and all files in src/test were updated to already use this new form of import.
I propose that we change all (complex) imports, that is, not short ones like import * from './ledger' in immediately surrounding files/dirs to use the package anchor.
We could also add a second #test import spec to package.json:imports that points to src/test and also then finally remove the test->src/test symlink. Of course, we could also just use #erdstall/test but since it's just an internal reference, we can spare a second one :)
To complete this issue, also remove the dev dependency tsconfig-paths and its mocha registration in the test script and from the tsconfig.*.json files.

In particular, we continue using the index.ts files to collect exports like
// file: src/api/index.ts

export * from "./call";
export * from "./object";
export * from "./result";
export * from "./signature";

because the index should only be concerned with files in the same directory anyways.

We've done this in #18 (3d083357afb5afdc3acf01045983afd7a21c070f)


Incorrect channel_data data type in TelemetryLoggerMiddleware

Version
4.14
Describe the bug
Channel data from Teams are incorrectly used in Telemetry Middleware. Bot is not able to respond to any message sent via Teams when the Telemetry is enabled. The same bot works fine when tested in Bot Framework Emulator.
To Reproduce
Steps to reproduce the behavior:

Add Telemetry to your Python Bot:

TELEMETRY_CLIENT = ApplicationInsightsTelemetryClient(
    CONFIG.APPINSIGHTS_INSTRUMENTATION_KEY, telemetry_processor=AiohttpTelemetryProcessor(), client_queue_size=1
)
TELEMETRY_LOGGER_MIDDLEWARE = TelemetryLoggerMiddleware(TELEMETRY_CLIENT, True)
ADAPTER.use(TELEMETRY_LOGGER_MIDDLEWARE)
...
APP = web.Application(middlewares=[bot_telemetry_middleware, aiohttp_error_middleware])

Deploy to Azure and connect to Teams
Send a message from Teams to the bot.
See error:

2022-04-21T10:55:29.178590260Z     TelemetryLoggerMiddleware.__populate_additional_channel_properties(
2022-04-21T10:55:29.178594560Z   File "/usr/local/lib/python3.8/site-packages/botbuilder/core/telemetry_logger_middleware.py", line 307, in __populate_additional_channel_properties
2022-04-21T10:55:29.178599160Z     if teams_channel_data and teams_channel_data.tenant
2022-04-21T10:55:29.178603361Z AttributeError: 'dict' object has no attribute 'tenant'

Additional context
I have found out that activity.channel_data is a dict, not an object. Therefore, I changed the following method in telemetry_logger_middleware.py to use the dict instead of the object and now it works fine.
    @staticmethod
    def __populate_additional_channel_properties(
        activity: Activity, properties: dict,
    ):
        if activity.channel_id == Channels.ms_teams:
            teams_channel_data: TeamsChannelData = activity.channel_data

            properties["TeamsTenantId"] = (
                teams_channel_data['tenant']['id']
                if teams_channel_data and teams_channel_data.get("tenant", {}).get("id", None)
                else ""
            )

            properties["TeamsUserAadObjectId"] = (
                activity.from_property.aad_object_id if activity.from_property else ""
            )

            if teams_channel_data and teams_channel_data.get("team", None):
                properties["TeamsTeamInfo"] = TeamInfo.serialize(
                    teams_channel_data['team']
                )

Hi @ivopisarovic,
Thanks for your report. I am investigating.

Hi @ivopisarovic,
I took the Python core bot sample with telemetry and connected to it through Teams, and I am unable to reproduce this error.
A few clarification questions:

You are unable to get a response back to any message sent to the bot?
Do you get welcome messages?
Does the bot work without telemetry?
What type of bot is this? (Single Tenant, Multi, Managed Identity)
Did you upload a Teams manifest, or did you connect via the "Open in Teams" link in the channel menu?

Thanks for looking into the problem. See my answers below. I will try to do further testing and I will try to prepare a demo, so you can test my code.

You are unable to get a response back to any message sent to the bot?
Exactly, no response.

Do you get welcome messages?
No, even the welcome message sends some logs to Insights. Therefore, even this message fails.

Does the bot work without telemetry?
Good question, I have not tested it. But after the change I mentioned earlier it works.

What type of bot is this? (Single Tenant, Multi, Managed Identity)
It is a multi tenant bot.

Did you upload a Teams manifest, or did you connect via the "Open in Teams" link in the channel menu?
I used the Open in Teams link.

I used the Open in Teams link.

One thing I'd always recommend is using an app manifest. Sometimes bots don't work properly if you use Open in Teams, so app manifests are always your best bet. An app manifest is like installing an app, which is what you would be doing if you deployed your bot as a production Teams app.
If you haven't used a manifest before, you should be able to make use of one from another sample, such as this one. Simply fill in the marked fields, zip all three files into one archive named manifest, and upload this as a custom app to Teams.

Closing this issue due to inactivity. If you still require assistance, please comment and we can reopen the issue.

@tracyboehrer Thanks for fixing it!! :)

Hey @tracyboehrer thanks for the fix! Appreciate it! When do you think we can expect a release with this update?


Unable to source global variables

Minimal .gitlab-ci.yml illustrating the issue
---
x:
  stage: build
  script:
    - echo $FOO
    - env | grep FOO
y:
  stage: build
  script:
    - mkdir ~/.aws/ # necessary for `ls: cannot access '/root/.aws/': No such file or directory` error
    - ls -lah ~/.aws/

Expected behavior

I'd expect to see BAR in the output for x
I'd expect to see ~/.aws/config and ~/.aws/credentials for y

$ gitlab-ci-local
parsing and downloads finished in 58 ms
x starting shell (build)
x $ echo $FOO
x >
x $ env | grep FOO
x finished in 28 ms  FAIL 1

$ gitlab-ci-local --manual 'y'
parsing and downloads finished in 38 ms
y starting registry.company.com/image:main (build)
y copied to docker volumes in 541 ms
y $ mkdir ~/.aws/
y $ ls -lah ~/.aws/
y > total 12K
y > drwxr-xr-x 2 root root 4.0K May  8 21:46 .
y > drwxrwx--- 1 root root 4.0K May  8 21:46 ..

$ cat ~/.gitlab-ci-local/.env
FOO="BAR"

$ cat ~/.gitlab-ci-local/variables.yml
global:
  FOO: "BAR" # <- this does work btw
  VOLUME: "$HOME/.aws/:$HOME/.aws/" # this only works via cli

Host information
macOS 14.4.1
gitlab-ci-local 4.48.2
Docker version 26.0.0
Containerd binary
Docker Desktop
Additional context
Tried using --umask and --privileged as well. Maybe volumes always have to be specified via cli?

Figured it out. You can close this!
Updated .env to include VOLUME=$HOME/.aws/:/root/.aws/. $HOME wasn't being expanded on the right side.


Permission to allow management of all files

In F-droid version of Acode app have the permission to allow to read and write all files rather than media files! All files permission was helpful for folder setup and also helpful for selecting folders from SD card, but this newer version of Acode from GitHub doesn't have that which makes some bad user experience.

Here is the screenshot of the previous version. where newer versions don't have the first option to allow management of all files.

Google rejects any update if I add this. Nothing there I can do. Sorry.

Is that will be available on F-droid version?


fixed scroll layout in 10.12

Right now, JNWCollectionView does not relayout when scrolled on 10.12 due to some OSX layout 'optimizations' ...
See - https://developer.apple.com/library/prerelease/content/releasenotes/AppKit/RN-AppKit/#10_12Layout

AppKit is now more efficient about only calling -layout on views when actually necessary, which can reveal holes where code previously did not properly invalidate layout when necessary (the above CoreAnimation case being one of those instances). If you find -layout method not being called when expected on your view, make sure that the view is actually marked as needsLayout=YES.

Good fix, thanks!

@jwilling can you update the version that is on cocoa pods?

@whydna Done.

@jwilling Thank you!!!!


Implement OLAP scheme operations within query service

Query with query service:
ydb -e grpc://localhost:2136 -d /local sql -s "CREATE TABLE t (
      timestamp Timestamp NOT NULL,
      PRIMARY KEY ( timestamp),
      PARTITION BY (timestamp)
  ) WITH(STORE=COLUMN,AUTO_PARTITIONING_MIN_PARTITIONS_COUNT=32);"
Status: PRECONDITION_FAILED
Issues:
<main>: Error: OLAP schema operations are not supported, code: 2029

Error:
PRECONDITION_FAILED (code = 400120, address = localhost:2136, nodeID = 1, issues = [{#2029 'OLAP schema operations are not supported'}]

Expected result: table created without errors

Column tables were disabled by default, and enabled since: https://github.com/ydb-platform/ydb/pull/10906


Fixed #33690 -- Added switch button for dark mode in the admin.

Preview of the switch with OS and toggle
https://user-images.githubusercontent.com/17890338/178732887-b5038316-3246-4736-bc82-670e77c4459a.mov

ticket-33690

Thank you @carltongibson and @felixxm for the review ! ✨


Update suspicious_attachment_duplicate_decoy_pdf_attachments.yml

Description
Update logic to account for decoy PDFs in messages with multiple attachment types
Associated samples

Sample 1
Sample 2

Associated Hunts

Hunt 1

current method too different from the previous method


Remove sigchld reaper from containerd process

Because we are launching alot of different runc commands to do
operations there is a race between doing a cmd.Wait() and getting the
sigchld and reaping it.  We can remove the sigchild reaper from
containerd as long as we make sure we reap the shim process if we are
the parent, i.e. not restored.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

LGTM.


Update asv.conf.json to support recent changes

Summary
This commit updates the asv configuration to support two recent changes
in the terra repo. The first is updating the supported python version
list to reflect the current versions supported by terra. Python 3.6 is
no longer supported and python 3.10 is now supported. Additionally,
after Qiskit/qiskit-terra#7658 merged setuptools-rust and Rust are now
being used to build compiled extensions. While cython is still being
used, it's use will be removed soon with Qiskit/qiskit-terra#7702. This
commit updates the build configuration to build the rust extension and
then build a wheel from it instead of building the cython extension.
Details and comments

Semi-unrelated, but is there a path through the build that does what we need, but respects the pyproject.toml build-requires section?  Feels like we oughtn't to need to manually specify Cython and setuptools_rust.

If we drop the explicit python setup.py build* call we can respect the pyproject.toml and leverage pep 518 to install setuptools rust. For this I mostly was just adapting what we already had which predates our use of a pyproject.toml in terra I can update it if you'd prefer to just modernize the whole thing now

No, I'm happy to do that later - I only commented on it now because I was looking at it.


[cpm_plugin.js bug] Plugin error for exporting models from Blockbench.

Plugin error for exporting models from Blockbench.
When I click on the export button, nothing happens, but in the program console I get this:

i checked the plugin at https://web.blockbench.net/ and everything works.
it looks like some plugin gives me an error.

now i got another error.
Apparently I did something with my model.
But she looks completely normal.

I already tried to save it as bedrock json and open this json in Blockbench but even that didn't help.
Where can I send you my problem model?
I would not like to publish it in the public domain, but pass it on to you personally to identify errors.

I figured out what the error was. In the hierarchy of the model, there was a place where there was a folder with another folder.
As a result: You cannot do something like: folder> folder> cube
You have to do: folder> cube AND folder> cube
Each folder must have at least 1 cube, otherwise the plugin will lead to error.


[Update]Swift 2.3

I want to adapt to Swift 2.3 this project.
Please create branch swift-2.3 .

@fromkk  I created branch swift2.3!

@fromkk Your PR is accepted :smile:


feat(lb): Add cross-region internal application load balancer

Intending to use this snippet on the following page:
https://cloud.google.com//load-balancing/docs/l7-internal/setting-up-l7-cross-reg-internal

The 80 character limit cannot be met for some values. Kindly ignore the errors

Working on fixing the lint issues

/gcbrun