Increment build number for target fails

New Issue Checklist

[+ ] Updated fastlane to the latest version
[+ ] I have read the Contribution Guidelines

Issue Description
Error when trying to increment build number
Captured Output
Command Used: app_dev
Output/Log

Successfully loaded Appfile at path '/Users/wellnesslayersukraine/Documents/Platform_iOS/fastlane/Appfile'
- app_identifier: '###.#####.###'
- apple_id<EMAIL_ADDRESS>- team_id: '##########'
-------
DEBUG [2017-07-12 14:25:53.26]: Checking if there are any plugins that should be loaded...
DEBUG [2017-07-12 14:25:53.35]: Loading 'fastlane-plugin-versioning' plugin
INFO [2017-07-12 14:25:53.46]: gem 'fastlane-plugin-versioning' is already installed
+------------------------+---------+------------------------+
|                       Used plugins                        |
+------------------------+---------+------------------------+
| Plugin                 | Version | Action                 |
+------------------------+---------+------------------------+
| fastlane-plugin-versi  | 0.2.7   | get_app_store_version  |
| oning                  |         | _number                |
|                        |         | get_build_number_from  |
|                        |         | _plist                 |
|                        |         | get_info_plist_path    |
|                        |         | get_version_number_fr  |
|                        |         | om_git_branch          |
|                        |         | get_version_number_fr  |
|                        |         | om_plist               |
|                        |         | increment_build_numbe  |
|                        |         | r_in_plist             |
|                        |         | increment_version_num  |
|                        |         | ber_in_plist           |
+------------------------+---------+------------------------+

INFO [2017-07-12 14:25:53.61]: Driving the lane 'app_dev' 🚀
INFO [2017-07-12 14:25:53.62]: ---------------------------------------------
INFO [2017-07-12 14:25:53.62]: --- Step: increment_build_number_in_plist ---
INFO [2017-07-12 14:25:53.62]: ---------------------------------------------
ERROR [2017-07-12 14:25:56.29]: undefined method `[]' for nil:NilClass
ERROR [2017-07-12 14:25:56.29]: Unable to find plist file at '/Users/#############/Documents/Platform_iOS/Targets/$(TARGET_NAME)/Info.plist'
WARN [2017-07-12 14:25:56.84]: Lane Context:
INFO [2017-07-12 14:25:56.84]: {:PLATFORM_NAME=>nil, :LANE_NAME=>"app_dev", :BUILD_NUMBER=>true}
ERROR [2017-07-12 14:25:56.84]: undefined method `to_i' for true:TrueClass
INFO [2017-07-12 14:25:56.84]: Successfully generated documentation at path '/Users/#############/Documents/Platform_iOS/fastlane/README.md'

+------+------------------------+-------------+
|              fastlane summary               |
+------+------------------------+-------------+
| Step | Action                 | Time (in s) |
+------+------------------------+-------------+
| 💥   | increment_build_numbe  | 2           |
|      | r_in_plist             |             |
+------+------------------------+-------------+

DEBUG [2017-07-12 14:25:56.86]: All plugins are up to date
ERROR [2017-07-12 14:25:56.86]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...
Search query: undefined method `to_i' for true:TrueClass

URL: https://api.github.com/search/issues?q=undefined%20method%20%60to_i'%20for%20true:TrueClass+repo:fastlane/fastlane
➡  Using wait_processing_interval option in pilot leads to an exception
    https://github.com/fastlane/fastlane/issues/3259 [closed] 1 💬
    22 Sep 2016

🔗  You can ⌘ + double-click on links to open them directly in your browser.
DEBUG [2017-07-12 14:25:57.69]: All plugins are up to date

✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.5

Ruby
2.2.4

Bundler?
false

Git
git version 2.11.0 (Apple Git-81)

Installation Source
/usr/local/lib/fastlane_lib/bundle/bin/fastlane

Host
Mac OS X 10.12.5 (16F73)

Ruby Lib Dir
/usr/local/lib/fastlane_lib/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
true

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.3.3

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
`./fastlane/Fastfile`
lane :app_dev do
increment_build_number_in_plist(
target: "APP"
)
version = get_version_number_from_plist(
target: "APP"
)

build_number = get_build_number_from_plist(
target: "APP"
)
gym(scheme: "APP",
workspace: "/Users/Apple/Desktop/agentGenerateNewBuild/CoachingMember.xcworkspace",
configuration: "Debug",
export_method: "development",
clean:true
)

git_commit(path: "./", message:"#version "+ version+" ("+ build_number+") APP Dev")
add_git_tag(
  tag: "APP/v"+ version+ "/Dev/"+ build_number
)
push_to_git_remote(
  remote: "origin",
  local_branch: "development",
  remote_branch: "development",
  force: false,
  tags: true
)
changelog = download(url: "################")
crashlytics(api_token: "##############################",
              build_secret: "########################",
emails<EMAIL_ADDRESS><EMAIL_ADDRESS>notes: changelog,
notifications: true
#emails<EMAIL_ADDRESS>)
end

`./fastlane/Appfile`
app_identifier "###.####.#####" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "########"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.46.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-versioning
0.2.7
✅ Up-To-Date

Loaded gems

Gem
Version

slack-notifier
1.5.1

CFPropertyList
2.3.5

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.3

xcodeproj
1.5.0

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

unicode-display_width
1.3.0

terminal-table
1.8.0

plist
3.3.0

public_suffix
2.0.5

addressable
2.5.1

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander-fastlane
4.4.5

excon
0.57.1

faraday
0.12.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170404

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.1.0

declarative
0.0.9

declarative-option
0.1.0

representable
3.0.4

retriable
3.0.2

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.2

jwt
1.5.6

memoist
0.16.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.12.0

json
1.8.1

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.1

bundler
1.15.1

faraday_middleware
<IP_ADDRESS>

fastlane-plugin-versioning
0.2.7

generated on: 2017-07-12

Fixed by changing theme:"" to scheme:""

Nice, is it cool to close the issue?


Create Data Fix to migrate CUS records to new spar

The original data migration that moved the original spar data from the dbp01 database to the new spar postgres database only moved the A class seedlots from tested parent trees.
This ticket will create a data patch that will copy the A class records that are from Custom Seedlots (CUS) and Untested Parent trees (UPT)
Acceptance Criteria

[x] Migration script is created
[x] Migration script added to the nr-fsa-scripts repository
[x] Scripts have been tested and verified against the local dev env
[x] Test queries are defined to verify that the script completed successfully

Package has been created and loaded to the fsa scripts repo and the branch spar-add-cus-records
Next steps:

[ ] @SLDonnelly will remove the CUS and TPT records from the spar2 TEST database
[ ] @franTarkenton will run the migration on the spar2 TEST database
[ ] @SLDonnelly and team will verify that new records do not impact the TEST database
[ ] @franTarkenton run data load scripts on PROD database.


enable HTTP service over unix domain socket

[x] Rebased/mergable
[x] Tests pass
[x] CHANGELOG.md updated
[x] Sign [CLA]

Feature Request in #7075 and #4877. Now you can use the http service over TCP and unix domain socket.
config
[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = false
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = false
  https-certificate = "/etc/ssl/influxdb.pem"
  ### Use a separate private key location.
  # https-private-key = ""
  max-row-limit = 10000
  realm = "InfluxDB"

  unix-socket-enabled = true # enable http service over unix domain socket
  bind-socket = "/var/run/influxdb.sock"

start
.....

[snapshot] 2016/08/10 14:30:42 Starting snapshot service
[admin] 2016/08/10 14:30:42 Starting admin service
[admin] 2016/08/10 14:30:42 Listening on HTTP: [::]:8083
[continuous_querier] 2016/08/10 14:30:42 Starting continuous query service
[httpd] 2016/08/10 14:30:42 Starting HTTP service
[httpd] 2016/08/10 14:30:42 Authentication enabled: false
[httpd] 2016/08/10 14:30:42 Listening on HTTP: [::]:8086
[httpd] 2016/08/10 14:30:42 Listening on unix socket: /tmp/test.sock
[retention] 2016/08/10 14:30:42 Starting retention policy enforcement service with check interval of 30m0s
[monitor] 2016/08/10 14:30:42 Storing statistics in database '_internal' retention policy 'monitor', at interval 10s
[run] 2016/08/10 14:30:42 Listening for signals

simple client

package main

import (
        "fmt"
        "io/ioutil"
        "net"
        "net/http"
        "net/url"
)

var sock = "/tmp/test.sock"

// all your client.Get or client.Post calls has to be a valid url (http://xxxx.xxx/path not unix://...),
// the domain name doesn't matter since it won't be used in connecting.
const URL = "http://test/"

func unixsocketDial(proto, addr string) (conn net.Conn, err error) {
        return net.Dial("unix", sock)
}

func main() {
        tr := &http.Transport{
                Dial: unixsocketDial,
        }

        client := &http.Client{Transport: tr}

        q := url.Values{}
        q.Set("db", "unixsocket")
        q.Set("q", "SELECT value FROM cpu WHERE region='us_west' LIMIT 10")

        req, err := http.NewRequest("GET", URL+"query?"+q.Encode(), nil)
        req.Header.Add("Content-Type", "application/json;charset=UTF-8")
        resp, err := client.Do(req)
        if err != nil {
                panic(err)
        }

        defer resp.Body.Close()

        body, err := ioutil.ReadAll(resp.Body)
        fmt.Println(string(body))
}

result
[root@LT test-unix-socket-client]# go run http-over-unixsocket.go
{"results":[{"series":[{"name":"cpu","columns":["time","value"],"values":[["2016-08-09T06:44:25.606349352Z",0.64],["2016-08-09T06:44:26.606549012Z",0.64],["2016-08-09T06:44:27.606678699Z",0.64],["2016-08-09T06:44:28.60680961Z",0.64],["2016-08-09T06:44:29.606963202Z",0.64],["2016-08-09T06:44:30.60705227Z",0.64],["2016-08-09T06:44:31.60721017Z",0.64],["2016-08-09T06:44:32.60731221Z",0.64],["2016-08-09T06:44:33.607432441Z",0.64],["2016-08-09T06:44:34.607556441Z",0.64]]}]}]}

@jsternberg updated

👍 can you update the changelog and give yourself credit? I'll merge on green after that changelog is updated.

Also remember to rebase your PR onto master.

@jsternberg  CHANGELOG done.

Can you rebase on master and put this in the 1.1 section for features? Unfortunately, this isn't going to make it into 1.0 as we closed that off on Monday and we weren't accepting feature requests into it before that. Sorry.


Fix failing tests in RealWorldFilesIT

The RealWorldFilesIT.testVariants() test has been failing in nightly cron jobs for a while now.  It looks like there might have been a change in the files that we borrow from GATK to run those tests against which is causing a difference somewhere.
We need to fix them in order to unblock merges to master.

Oh wow, I totally forgot there was an open issue for this... #132


Pseudo Label in Distill Whisper

Hello, thanks for your simplified version of distill-whisper. It's very easy to follow. However, I believe one of the key techniques in distill-whisper is using the pseudo labels generated by the original Whisper model as the labels for training the Pseudo Label loss. But it seems like you're using the true labels for training the Pseudo Label loss instead.
I understand that using true labels as hard labels is also a valid approach. However, since you've named it pl_loss, I think it would be more consistent if pseudo labels were used as the hard labels.

Hello, thanks for your simplified version of distill-whisper. It's very easy to follow. However, I believe one of the key techniques in distill-whisper is using the pseudo labels generated by the original Whisper model as the labels for training the Pseudo Label loss. But it seems like you're using the true labels for training the Pseudo Label loss instead.
I understand that using true labels as hard labels is also a valid approach. However, since you've named it pl_loss, I think it would be more consistent if pseudo labels were used as the hard labels.

Hi~ haha it's long time ago as I'm even forgot this work : D
I think here's the place loading pseudo label code, you can see column name of pseudo label can be defined in configs file, the default value is "text_col": "text", and when you run run_pseudo_labelling.py with default configs, you can find the pseudo label will be save in "text" field (see "target_text_col": "text" in run_pseudo_labelling.json). So I guess should be correct haha?

I think that we should use the pseudo label for PL loss and true label for KD loss. But you use the same label for both 2 PL loss and KD loss.

I think that we should use the pseudo label for PL loss and true label for KD loss. But you use the same label for both 2 PL loss and KD loss.

ah got your point, make sence. Thanks for point out and will let you know after fixed soon

I think we should use the pseudo label for PL loss and true label for KD loss. But you use the same label for both PL loss and KD loss.

I've checked distil-whisper paper's setting, actually they didn't clarify if they use label groundtruth or pseudo label to calculate L_{KD}, but I found in official implementation they also using pseudo label to calculate both logits and loss, can refer here

I see. Actually we don't need any label to compute KD Loss. I miss that part. Thank you.

I see. Actually we don't need any label to compute KD Loss. This mean we don't need to pass label into this or any label is valid.
student_model_outputs: Duct[str, Tensor] = student_model(
    input_features=inputs, labels=labels
)

Thank you.

exactly, the only thing we need is logits, here we pass labels cuz we can get everything we need in one pass~


View

This is more like a concern than a problem. I'm wondering why view isnt included in the framework

well, it's more like an independent API, primarily I build it for my projects which is a micro-services based architecture, so it has nothing to do with any view engine or server side rendering.
however I'm planing to add more support out of the box, e.g web sockets, view engines, docker and docker-swarm, testing framework, and many other stuff.

Thank you! Hope you continue working in this 👍


Pypi packaging

PyPi packaging tested and working as far as I can say so merge to main!

Ok approved. Well done, me. (pat oneself on the shoulder)


Navbar

Fix navbar css (colors, graphics, fonts and the placement of all the elements (make them cool))

also make the far right options fall down when you go mobile mode


Build client on their native platforms and remove unused file

That file was unused since it was part of the old format check that was removed in #170
Fixes #116 (again)
Fixes #111

--self-contained true added due to these warnings for the build, also seems to have been the reason why the image wasn't getting added into the Windows exe:

Self contained is nice for end users too, since it means they shouldn't be required to install the .NET 6 runtime and the parts we are using will get bundled into the application itself.

I will need to ask Bonk to test the MacOSX version again


Bringing back some easy-to-use ZF1 database methods into ZF2

As someone who used several of the individual classes from ZF1, I was now hoping to update my code and use the ZF2 classes.  I appreciate that much of the code had to be rewritten and that several of the methods in individual classes are now different.  However, as someone who used the database methods fetchAll(), fetchOne(), update(), delete(), and insert() all over my ZF1 project, I was a bit concerned when I didn't see them in the ZF2 documentation.
If I weren't such a newbie in terms of writing my own classes, I would add have added them myself to my ZF2 project, however, it wasn't until I found the classes rewritten in ZF2 lingo by Fabrizio Balliano (https://github.com/fballiano/zfbridge) that I saw how easy it would be to implement these incredibly useful methods under the ZF2 hood.  I apologize if this isn't the correct way to do so, but might I request integrating Fabrizio's code which integrates some of the older methods (select(),delete(), update(), fetchAll(), fetchOne(), insert()) into ZF2?
Thank you for considering this.
-Eric

This issue has been closed as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


Add support for mavlink 2

This repo was built before mavlink 2 was widely adopted.  Unfortunately it is now incompatible with things like the px4_sitl version of mavlink.

Fixed in #13


I don't see all my subsciptions in plugin

Hi,
in VS code azure plugin there is always problem with seeing subscriptions and tenants of organizations where I'm invited.

Before there was problem I had to login to those tenants before I launched visual studio, but now, nothing helps....
I see all subscriptions of my home tenants, but not the invited ones...
I tried Azure: Tenants like in this post below and nothing helped.
https://github.com/microsoft/vscode-azure-account/issues/193

@erikpa1 thank you for the feedback. That is really valuable to us. We are actually working on improving the experience in #869. And we will work to incorporate your feedback on top of those changes.

@alexweininger thanks, this is finally normal comment from Microsoft employee people want to hear. It could be nice to have some person on every microsoft github repository,... Have a nice day :)

@alexweininger
Adding here log, from today there are pyc files event the  deployment has them disabled along with pycache folder...


MM-12354 Remove Profile Image

Summary
Add ability to remove profile image
Ticket Link
https://mattermost.atlassian.net/browse/MM-12354
Checklist

[ ] Added or updated unit tests (required for all new features)
[x] Has UI changes
[x] Includes text changes and localization file updates

Device Information
This PR was tested on: iPhone X Simulator, iOS 12.1
Screenshots

@hmhealey it appears that file size is calculated in bytes rather than kilobytes. I adjusted max file size for the purpose of testing my branch. Also, attachment_button.js is expecting a onShowMaxFileSizeWarning prop.

@bradjcoughlin PR needs rebase

@hmhealey @saturninoabril Looks like my rebase got messed up. Will fix later tonight.

@bradjcoughlin I've tested this locally and I found out that on removed of profile picture, the profile image turned into white space. I believed the expected is to show the default picture.  Could you please take a look again?  Thanks.
Observed:

Expected:

@saturninoabril This behavior is due to the fact that the default image is generated on the server side, and we're not making the call to reset to the default image until the profile settings are saved. There could probably be a different placeholder image when the custom image is removed. But for the time being, I wanted the UI to reflect an empty state of some kind. Otherwise, it wouldn't appear that anything had happened after clicking "Remove Image".

@saturninoabril @enahum the image will now reset to the placeholder until the server call returns and replaces it.


Minor bugfixes

Adding some bugfixes in preprocessing ( e.g. inconsistency in file naming) and model code.

Thanks, @zphang!


Add support for externally tagged unions

Initial Checks

[X] I have searched Google & GitHub for similar requests and couldn't find anything
[X] I have read and followed the docs and still think this feature is missing

Description
Pydantic does support tagged unions but only supports one kind of JSON serialization. As a Rust and Serde user I would like to use externally tagged unions in my APIs which Pydantic currently does not support:
https://docs.pydantic.dev/usage/types/#discriminated-unions-aka-tagged-unions
e.g.
Pet = Union[Cat, Dog]
data = Cat(meows=42)

would JSON serialize as
{
    "Cat": {
        "meows": 42
    }
}

Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[X] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

i have some ideas in this area, but what specifically do you want here?


Feature Request: unzip a specific byte range

I want to be able to extract a portion of a file in the zip archive. My specific use case is reading a video file from the zip, I only want to fetch specific chunks of data from the video file while playing the video

Yeh, I currently expand in memory and pass the data back as needed. But at the moment I have to start at 0 for any given file in the zip. It would be nice to be able to read a chunk from a file in the zip and return that. I'll take a look at whats required and see if i can implement it. I might do a PR


Add d3d11sdklayers.h

Couple of oddities with this one:

Huge enumeration caused increase of macro recursion.
Some of these constant names are absurdly long and might break the 99 char line length limit.

I agree, that is an absurdly huge enum with absurdly long names.


UI Plugin icon was broken

ISSUE TYPE

Bug Report

COMPONENT NAME

UI

CLOUDSTACK VERSION

4.18.0

CONFIGURATION

OS / ENVIRONMENT

CentOS 7
SUMMARY

plugins icon defined in config.json are not shown as expected, same plugin config are working well in 4.16
  "plugins": [
    {
      "name": "Change Password",
      "icon": "lock",
      "path": "https://changepassword.example.com/index.php"
    }
  ],

STEPS TO REPRODUCE

define a new a plugin in config.json, restart cloudstack-management

EXPECTED RESULTS

Icon should shown on the left of the plugin name

ACTUAL RESULTS

no icon shown

@levindecaro can you try with,
lock-outlined
or
lock-filled

@levindecaro can you try with,
lock-outlined or lock-filled

I was about to ask @levindecaro to try lock-outlined which should work

Thanks, lock-outlined works, so previous lock are removed from @ant-design/icon-vue.


[Bug report] Doc: The link of Spark Iceberg start guide in iceberg-rest-service.md is not found

Version
main branch
Describe what's wrong

Error message and/or stacktrace
N/A
How to reproduce
refer to doc
Additional context
No response

@FANNG1  Would you like to help update the link in doc?

playground link is not workable


fixed issue with .has() when new value is added and then deleted or c…

…leared
Related Bug Reports or Discussions
#979
Fixes #
#979
Summary
Accessing this.index in the has method doesn't seem to work when a new item is added and then deleted (or cleared) at a later time. Accessing the this.data.length property fixes this issue.
Check List

[ x ] pnpm run prettier for formatting code and docs

Is there anything else that needs doing before this gets merged?

Yeah - .has() essentially needs to check if the value exists every time the data changes :\

Are we waiting on anything to get this merged and get a patch version published?

https://github.com/pmndrs/valtio/releases/tag/v2.1.1


feat(csv): add a column children number in csv export

Download Artifacts :

win-ia32
win-x64
linux-x64

Download Artifacts :

win-ia32
win-x64
linux-x64


Eddy doesn't understand Eddy.Output.autoApply

From @girving on February 4, 2015 18:3
Remove the semicolon after the single statement in autoApply.  Eddy should add the semicolon back.  It does not.
Copied from original issue: eddysystems/secret#75

From @martinwicke on February 4, 2015 19:33
abbrevFlags is a scala function and is not properly extracted.


Add snapshot options

This adds snapshot options for passing platform/snapshotter specific
configuration.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

I haven't seen the idea of snapshot options come up before. Is there a discussion I missed? I am not opposed to the idea just want to make sure I am not missing some context

Windows and LCOW layers have a maximum size (default 20Gb) that is configurable per layer (and needed to support a number of scenarios). I found this while implementing the Windows snapshotter.
IIRC I think btrfs also has a layer size

This would also have to get plumbed through metadata/snapshots.go to get stored. If these options are not namespace specific, they can just get passed through, adding the option when the extended data is provided.

Codecov Report

Merging #1588 into master will decrease coverage by 0.06%.
The diff coverage is 31.57%.

@@            Coverage Diff             @@
##           master    #1588      +/-   ##
==========================================
- Coverage   42.44%   42.38%   -0.07%
==========================================
  Files          24       24
  Lines        3362     3386      +24
==========================================
+ Hits         1427     1435       +8
- Misses       1608     1617       +9
- Partials      327      334       +7

Impacted Files
Coverage Δ

metadata/snapshot.go
43.75% <23.07%> (-1.01%)
:arrow_down:

metadata/containers.go
47.58% <50%> (+0.27%)
:arrow_up:

snapshot/storage/bolt.go
61.48% <50%> (-0.08%)
:arrow_down:

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 1c7a042...306394f. Read the comment docs.

Should we also have the other direction, as well, similar to the [][2]string on graphdriver? That way info can be reported from the driver, in addition to options consumed by the internal driver.

@stevvooe we could.  That may fall into the "introspection" endpoint and how we implement that.  There is no rush on this PR, so we can think about this a little more if needed.  It gets the job done but being on the Info struct makes it a little meh in snapshotters

Also, what happens if options differ between a parent and child?

@crosbymichael Overall, I think this model matches the other object extensions we've added. I want to head off a rush for having snapshotters report internal statistics and configuration data. Right now, we have a Usage method, but that is very limited and not rich enough for all snashotters.
Perhaps, that is a different problem.
LGTM on the design.

I am OK with adding this extension field, however I am not convinced that it should be used for the quota namespace. I do see how it can be useful to have a structure which could be sent from the client all the way to the backend without containerd needing to understand it. However because of that restriction, I don't think we should place this type in the metadata field because the metadata database should not be able to interpret the value and therefore cannot correctly overlay the info from the backend with what is stored in the metadata. By that same logic, without interpreting the data the data should be namespaced, as it cannot divide up the data as to what is useful across namespaces and what is unique to the namespace. I think the correct way for the metadata database to handle the options is just to pass it to backend on create/update/commit and fill in the value when overlaying the info.

@dmcgowan so what type of changes should I make in this?  Just remove the Opts from the database and gen them on the fly?

@crosbymichael I think we should keep the opts out of the metadata database since they intended to be used directly by the backend and therefore not namespace-able. The change would be just to pass the opts through and update overlayInfo to set the options field from the backend info.

Going to close for now and get more requirements from the windows work to make sure we do the right thing.


Black square when upscaling with ESRGAN pytorch

https://youtu.be/_5etxopUX-0
i have no idea how to do stuff
I'm using the 4x_minepack model but it does that with every model while using pytorch mode. i'm using a 1660 super with the latest drivers and cuda thingy.

t

Disabling Half Precision defaulted option helped me with this.

Disabling Half Precision defaulted option helped me with this.

thanks! it worked for me!


java.lang.ClassCastException: spoon.support.reflect.code.CtInvocationImpl cannot be cast to spoon.reflect.declaration.CtAnnotation

This sometimes happens when trying to resolve the annotation map. Probably, there are some odd matchings between the trees causing this behavior.

Problem seems to be that GumTree can sometimes map elements as values in the annotation map, even though they are completely unrelated.


Implement LORA\QLORA for Nvidia GPUs

Can be done with peft and bitsandbytes

This might also be helpful: https://github.com/huggingface/peft


Add CNAME to the list of allowed values for ServiceDiscoveryDnsType

Description of changes:
The ServiceDiscovery::Service resource has a set of allowed values for ServiceDiscoveryDnsType. This list seems to be missing CNAME
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicediscovery-service.html
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-servicediscovery-service-dnsrecord.html#cfn-servicediscovery-service-dnsrecord-type
I have added CNAME to this list because my template fails lint checks even though it can be successfully executed:
"cloudMapService": {
  "Type": "AWS::ServiceDiscovery::Service",
  "Properties": {
    "Name": "service",
    "Description": "Service",
    "DnsConfig": {
      "DnsRecords": [
        {
          "TTL": 30.0,
          "Type": "CNAME"
        }
      ],
      "RoutingPolicy": "WEIGHTED"
    },
    "NamespaceId": {
      "Fn::ImportValue": {
        "Fn::Sub": "NamespaceId"
      }
    }
  }
},

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks @danieljamesscott


Add Central Campus of Technology

Add Central Campus of Technology to the list.
Link for the college website: http://cctdharan.edu.np/
Listed on Institute of Science And Technology
https://tuiost.edu.np/college/constituent

@prashant-shah01 cct.txt I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!

There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Set creation timestamp of generated account memberships

Reuse creation timestamp of user.

You can use Github's squash merge option to keep the history inside your branch linear.


503 Service Unavailable

Package Name: azure.mgmt.network.NetworkManagementClient.network_interfaces
Package Version:
Operating System: linux
Python Version:

Describe the bug
One of our client is using the given package and have faced issues while creating and deleting ENIC's using the package. They have received 503 Service Unavailable from the APIs.
Wanted to confirm if there any outage during this time period 2023-08-15
To Reproduce
Steps to reproduce the behavior:

Transient, did not see this issue later.

Error Message:
File '/home/site/wwwroot/qaas/azure/deployment/management.py', line 198, in delete_injection_enics
delete_nics_fn(customer_liftr_client, nics, mpp_resource_id).wait()
File '/home/site/wwwroot/.python_packages/lib/site-packages/qaas_utils/cloud/azure/deploy/network.py', line 261, in wait
p.wait()
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/tracing/decorator.py', line 76, in wrapper_use_tracer
return func(*args, **kwargs)
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/polling/_poller.py', line 261, in wait
raise self._exception  # type: ignore
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/polling/_poller.py', line 176, in _start
self._polling_method.run()
File '/home/site/wwwroot/.python_packages/lib/site-packages/azure/core/polling/base_polling.py', line 734, in run
raise HttpResponseError(response=self._pipeline_response.http_response, error=err) from err
azure.core.exceptions.HttpResponseError: Operation returned an invalid status Service Temporarily Unavailable
Content:
503 Service Temporarily Unavailable

@Padmapriya-09 thanks for your issue, we'll investigate as soon as possible.

Hi, @Padmapriya-09. Since it's a service problem, please open an issue in https://github.com/Azure/azure-rest-api-specs/tree/main. Thanks.


Componentize UI components

Move UI components to self-contained SASS code blocks. Right now the UI components (buttons, pagination, form inputs, etc.) are among the main CSS. These should be moved to their own SASS files and constructed as self-contained elements that aren't dependent on the surrounding page structure for display.

Components should be migrated to BEM classnaming or http://suitcss.github.io/


pytest.approx() fix in test_evolutionary_optimizer

Fixed pytest.approx() in test_evolutionary_optimizer.py. Before the fix, the tests were passing on previous versions of pytest, but they fail on pytest version 7.1.2 (since pytest.approx() should be used in an equality).

Fixes issue brought up in PR #48 so I reverted the requirements.txt change.


Is passport supported?

If I change the routes of BroadcastServiceProvider to
public function boot()
{
 Broadcast::routes(['middleware' => ['auth:api']]);
  require base_path('routes/channels.php');
}
can I use passport for private channels?

Yes, you can use Laravel WebSockets with Laravel. I just did recently and write about it. Maybe my article might help.


updating to latest marathon 1.5

High Level Description
Changes

Introduces file based secrets.
MARATHON-7090 Support passing a Docker config.json for app / pod being launched.

Fixed Issues

MARATHON-7457
MARATHON-7468
MARATHON-7204
MARATHON-7430

Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Test Results: (results)[https://jenkins.mesosphere.com/service/jenkins/view/Marathon/job/marathon-pipelines/job/master/34]
[x] Code Coverage (if available): [link to code coverage report]

replaces https://github.com/dcos/dcos/pull/1643

@mesosphere-mergebot bump-ee

@kensipe  - if you add any commits beyond the bump-ee state. Just run the bump-ee again. It will pick up the changes to the EE pr.

@mesosphere-mergebot bump-ee

File based secrets introduces changes to the Marathon plugin interface. bump-ee is not sufficient by itself, will likely need to manually bump the plugin interface artifact version

@jdef  Yes, the corresponding changes to EE should be included in the EE PR (https://github.com/mesosphere/dcos-enterprise/pull/1067)
Also the cli-test failures and vagrant-bash failures here investigation.

@jdef and @orsenthil the latest marathon plugin was already on ee master.  the marathon bump is the only thing necessary.

@mesosphere-mergebot bump-ee

Is there a JIRA ticket to be closed now that this landed?


How to evaluate how many cores and ram volume in a cluster？

HI，gus.
I am going to install a clickhouse  cluster in my company.
and I am puzzled how many machines I need to buy.
We have 2TB logs data one day.
how many cores and ram volume do I need in total ?
Can you guys do me a favor ?
Thanks..

2TB logs data one day

Raw or compressed? In average CH able to compress 5-10 times.
How many days are you going to store?

how many cores and ram volume do I need in total ?

It's impossible to evaluate because the answer depends of your requirements to retention / latency / accuracy (CH has sampling and able to provide approximate results).
You can extrapolate. Take a couple servers with 64GB with 2 CPU, load one week and run all queries. Or load 5-10% of logs for 2 months.

Thanks for your reply.
I want to store 90 days of logs  raw data( 2TB per day ) .
I am planing to buy 20 machines ( each with 32cores and 192GB RAM and 4TB ssd ) .
The cluster will be 10 shards and each 2 replicas.
We expect to run  query or function such as left join (at most join 2 times in one query on 2 keys ),  sequenceMatch,  retention with latency less than 5 minutes.
Can you give me some advice ?
Is my machine quantity enough ?

2TB logs data one day

Raw or compressed? In average CH able to compress 5-10 times.
How many days are you going to store?

how many cores and ram volume do I need in total ?

It's impossible to evaluate because the answer depends of your requirements to retention / latency / accuracy (CH has sampling and able to provide approximate results).
You can extrapolate. Take a couple servers with 64GB with 2 CPU, load one week and run all queries. Or load 5-10% of logs for 2 months.
CH highly depends on IO performance. SSD is better than HDD. But HDD is fine too. In my experience CH performs much better with software raid10 (linux kernel -- mdraid) ( 12 - 24 HDD per server) than HW raid.

Thanks you again.
Looking forward to your advice. I am new in installing CH cluster.

I want to store 90 days of logs raw data( 2TB per day ) .
I am planing to buy 20 machines ( each with 32cores and 192GB RAM and 4TB ssd ) .

90*2/10 = 18TB data per node (4TB ssd), you need to evaluate compression rate.

We expect to run query or function such as left join (at most join 2 times in one query on 2 keys ),
sequenceMatch, retention with latency less than 5 minutes.

You should test left join. CH uses HashJoin only and puts a right table into memory.
If the right table is about 100mil rows (wide: 100 bytes) it will eat 500GB RAM and will be much longer than 5min even for 1row table on the left.

Can you give me some advice ?

Test on 5% -- 90days data, check compression rate, memory requirements.

Is my machine quantity enough ?

Hard to say. It could be 5 server is enough by CPU / RAM , but not enough on SSD space.

HashJoin

Thanks for your reply.
If I use 20 shards and 1 replica.
Is this plan realistic?
We do not have much money to buy machines.

Start with POC - 8 serves (4 shards *2 replica) with RAID10 on 12 HDD disks.


design: Refactor style of upload_widget's preview_image.

As suggested by @timabbott here, the same style was used for both the bot and emoji forms for image preview.
Fix this by adding CSS specific to the preview image in the image upload widget.
Follow up to #23965

Fixes:

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

@SahilSingh177 Can you please include screenshots to help confirm that everything looks good?

Thanks! @sahil839 are you up for reviewing this one?

I think we would still prefer defining styling rules in CSS files only and not in javascript. You can add a common class as Tim suggested and then use that class for defining the common CSS.

@sahil839, I have made the changes as per your request by defining the styling rules in a separate CSS file using a common class, as suggested by Tim.

Looks good overall. I think a better prefix can be used for commit message like image_upload_widget. Please see https://zulip.readthedocs.io/en/latest/contributing/commit-discipline.html#commit-messages for more details.
I am not sure whether we want to add upload_widget_image_preview in JS or we should add it in the template code. I think can be better to add in template code if in future we may do not want to add this CSS for some preview of some another upload widget. We can wait for feedback from Tim on this.

@timabbott please take a look; note @sahil839 's comment above.

Hey @timabbott, I am following up on this PR and would appreciate if you could review it as it has been pending for some time now.

Merged, thanks @SahilSingh177! It's possible the organization of the CSS here could be improved rather than adding this at the bottom of the file, but there's probably more important refactoring to be done for the upload widget CSS anyway.


[BEAM-6769] write bytes to bigquery in python 2

This PR updates the way of writing bytes to bigquery by using base-64 encoded strings instead of bytes. This is the expected way of writing bytes to bigquery using the bigquery_client
Discussion: https://issues.apache.org/jira/browse/BEAM-6769
Post-Commit Tests Status (on master branch)

Lang
SDK
Apex
Dataflow
Flink
Gearpump
Samza
Spark

Go

---
---
---
---
---
---

Java

Python

---

---
---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

 This PR only updates the test right? Let's modify the PR description accordingly.

@tvalentyn PTAL

LGTM, thank you!

@pabloem could you please help merge?  thank you!

Thanks y'all for adding this test case to make sure we handle bytes well : )


Update "nvm use" to also alter npm's "prefix" configuration value

My project makes use of libraries that have what I like to call "special C bits" -- specifically "zmq" and "mongodb" -- which require compilation per version of node. In order to test one module that depends on zmq with multiple node / iojs versions, you'd have to either recompile the zmq library each time you ran the "nvm use" command, OR write a script to install certain libraries (like zmq) in separate, version specific global npm prefix directories.
The changes in this pull request would simply run the "npm config set prefix" command to change npm's "prefix" variable to be something other than the default of /usr or /usr/local
If it's the case that this is too special casey, please let me know, and consider adding a flag to the "nvm use" command. I'd much rather work from the mainline than my fork.
Also, I did read the CONTRIBUTING page, but I'm not 100% sure on the most appropriate way to test it. What's required at a minimum is that

At least two node / iojs versions are installed, including "system"
Switching between them updates the value returned by the npm config get prefix command.

Is it OK i.e best practice to install two arbitrary versions and switch between them? Should I go the extra mile to  install versions that aren't installed and remove them afterwards?
Thanks in advance.

Thanks so much for contributing!
nvm is definitely used to switch between many versions at once (I have 5-6 installed at any one time). The primary use case of nvm is to have two shells side-by-side running different versions simultaneously.
For this reason, however, setting npm's prefix won't work - because it would conflict (or be a race condition) across multiple shells. (fwiw, npm root -g may be a helpful command here as well)
I would argue that a binary module should be recompiled against every single version you test against. Shared global modules across multiple versions of node/iojs are not a great idea.

Also, due to #606, I'm considering making nvm force unset npm's global prefix specifically to avoid that issue, so this would conflict with that too.

@ljharb Thanks for responding so quickly!
I also agree that binary modules need to be recompiled for each separate version. In my particular case, I'm just looking to save time when switching between 0.10, 0.12, and iojs instead of needing to recompile each time I run nvm use.
Lastly, I learned quite a bit of bash by just looking at nvm.sh, so thanks for that as well.

@elrasguno all three of those have different compiler requirements (which is why so many binary modules have broken with the release of 0.12 and io.js) so I think you'd still want to recompile.


Failed to connect to Google Translate. trying again...

Hi,
I am getting the following message below when running the example. Other devices have access Google Translate, and ESP has no problems getting data from web in other sketches.
........
Connected to back.gate.sases_XXXXX
IP address: 192.168.XXX.XXX
Failed to connect to Google Translate. trying again...  (current: 0, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 1, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 2, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 3, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 4, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 5, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 6, maxRetry: 10)
Failed to connect to Google Translate. trying again...  (current: 7, maxRetry: 10)

This module is based on TKK parameter on Google Translate.
Google might close old algorithm, which uses TKK parameter on the page.

/translate_tts which this library accesses returns 404.

https://github.com/Boudewijn26/gTTS-token/blob/master/docs/november-2020-translate-changes.md

Please try 1.0.10
https://www.arduinolibraries.info/libraries/esp8266-google-tts
This version doesn't try to connect to Google Translate.

Hi horihiro, I just checked new version of your library - now it works! Thanks for your effort!

close this


Rename clustering samples

Description
Rename clustering samples:
"Display points using clustering feature reduction" becomes "Display clusters"
"Add clustering feature reduction to a point feature layer" becomes "Configure clusters"
Type of change

Other enhancement

Platforms tested on

[x] WPF .NET 8
[ ] WPF Framework
[x] WinUI
[x] MAUI WinUI
[ ] MAUI Android
[ ] MAUI iOS
[ ] MAUI MacCatalyst

Checklist

[x] Self-review of changes
[x] All changes work as expected on all affected platforms
[x] There are no warnings related to changes
[x] Code is commented and follows .NET conventions and standards
[ ] Codemaid and XAML styler extensions have been run on every changed file
[x] No unrelated changes have been made to any other code or project files
[x] Screenshots are correct size and display in description tab (800 x 600 on Windows, MAUI mobile platforms use the MAUI Windows screenshot)

@duffh I believe sample sync check is failing because of both old sample name and new sample name in "redirect from" metadata. When running sample sync python script locally this is the only diff.

@duffh my redirects were wrong in metadata, now fixed


Commander Pro customization

Hello.
Thanks a lot for your work. I was very interested in this project.
I would like to ask a few questions, if possible.

Is it possible to create a custom fan type with more LEDs than official fans from Corsair? For example, my fans have 24 LEDs, and I do not see an opportunity to distribute them in the correct way so that the overall light scene is not disturbed. Because there is nothing similar in the possible options in the program. The program includes only tape segments 10 LEDs, 20 and fans 1, 4, 8, 12, 16, 36.

The rest of the questions will depend on the answer to this question.

Yes, see https://github.com/Legion2/CorsairLightingProtocol/wiki/Scale-separate-segments-of-a-channel, you can define the fans as segments and the scale them to the size you want.

Yes, see https://github.com/Legion2/CorsairLightingProtocol/wiki/Scale-separate-segments-of-a-channel, you can define the fans as segments and the scale them to the size you want.


[Minor Feature Request] Selection style is ambiguous, not sure which one is selected.

Difficult to know without squinting if tabs On the top or At the bottom is selected. Same is the case with other selectable options. Would be nice if the selected is highlighted and contrasted with those that not selected.

Active buttons now have distinct hover styles.


example/recon/test.py bug

Hi, I am trying to run the examples/recon/test.py file with the following command:
`python examples/recon/test.py -eid recon \

-d 'data/results/models/recon/checkpoint_0200000.pth.tar`

And it fails:
Traceback (most recent call last):
File "examples/recon/test.py", line 122, in
test()
File "examples/recon/test.py", line 89, in test
batch_iou, vertices, faces = model(images, voxels=voxels, task='test')
File "/home/user/anaconda3/envs/softras/lib/python3.7/site-packages/torch/nn/modules/module.py", line 727, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/user/Projects/SoftRas/examples/recon/models.py", line 153, in forward
return self.evaluate_iou(images, voxels)
File "/home/user/Projects/SoftRas/examples/recon/models.py", line 144, in evaluate_iou
voxels_predict = srf.voxelization(faces_norm, 32, False).cpu().numpy()
File "/home/user/anaconda3/envs/softras/lib/python3.7/site-packages/soft_renderer-1.0.0-py3.7-linux-x86_64.egg/soft_renderer/functional/voxelization.py", line 58, in voxelization
voxels = voxelize_sub3(faces, voxels)
File "/home/user/anaconda3/envs/softras/lib/python3.7/site-packages/soft_renderer-1.0.0-py3.7-linux-x86_64.egg/soft_renderer/functional/voxelization.py", line 31, in voxelize_sub3
voxels, visible = voxelization_cuda.voxelize_sub3(faces, voxels, visible)
RuntimeError: voxels must be contiguous
Solved this issue by adding voxels = voxels.contiguous() in the voxelization function in soft_renderer/functional/voxelization.py

Fixed, thanks!


Returning a customized CompletableFuture to replace standard CompletableFuture.

Instead of returning a standard CompletableFuture for an async call, consider returning a customized Future instance, for example, DubboFuture extends CompletableFuture, so that we can override the default behaviors of the Future, for example, cancel, get and so on.
What do you think?

Hi,
I totally agree. I think the futureAdapter in version 2.7.x is a very good design. I also borrowed this design from the rpc asynchronous of music163. Because in a distributed scenario, the cancel method is obviously not effective.

+1, so we can bring some features of Java 9' CompletableFuture to it.

I also borrowed this design from the rpc asynchronous of music163. Because in a distributed scenario, the cancel method is obviously not effective.

@carryxyh do you mean you already have some similar practices in work? It would be great if you could tell more about the details, for example, what do you do when a user calls FutureAdapter.cancel().

yes.
In rpc inside music163, I made an asynchronous attempt (client). The idea draws on the asynchronous version of the 2.7.x version. It works fine now.
In internal practice, we also directly returned an instance like FutureAdapter. I disabled his cancel operation directly, and we still have no scenes using cancel.

+1, so we can bring some features of Java 9' CompletableFuture to it.

Yes, this can also be a good point to do that.

Added comments in FutureAdapter, enhance later.


Add slack workspaces

Due to  some reasons, I can not create invite link permanently.
A temporary link is:
https://join.slack.com/t/tensile-kube/shared_invite/zt-ib5aehf5-foDNaNB07wtPv5r123CBZA

https://join.slack.com/t/tensile-kube/shared_invite/zt-k6gkto9g-3Mq544Tub1cAhQlG5kujcQ
new one


Instructions on setting up the cross compiler for building multiboot.elf

Describe your bug or error
I am trying to modify the multiboot header in multiboot_header.S. In order to compile my changes, I have a set up gcc and binutils as described over at osdev. But it seems that I need a gcc that supports both 64-bit and 32-bit mode (the magefile uses both -m32 and -m64). How did you configure your cross compiler?
Go Version
g1.16
Relevant log output
No response

The toolchain is installed according to the Dependencies chapter in the README.


When find/replace could take long, show progress bar

Testing #42357
When I do a find/replace for a word that occurs around 20k times, it takes 2-3 seconds, which is amazing. But still during that time the editor looks like it's stuck.
Think would be better if we could show a progress bar when the operation takes more than 1 second.

We closed this issue because we don't plan to address it in the foreseeable future. You can find more detailed information about our decision-making process here. If you disagree and feel that this issue is crucial: We are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding and happy coding!


Templates for each content types

Add templates for each content types for the Qiskit Docs Guide: tutorials, how-to guides, reference, explanations

We're not currently prioritizing improvements to the docs guide due to competing priorities. Although, it still exists and we welcome contributions to it. I'm moving tracking of docs guide ideas to https://github.com/Qiskit/qiskit_sphinx_theme/issues/560 so that we can simplify our open issues.
If anyone is interested in working on this, please let us know! We'll gladly reopen this ticket.


Added config validator for future group platforms

Description:
As response to https://github.com/home-assistant/architecture/issues/13#issuecomment-367073814 I added a first version of entities domain validation to helpers/config_validation so that other PR's for different group platforms can start using it.
Different group platforms currently as PR:

home-assistant/home-assistant/pull/12229
home-assistant/home-assistant/pull/11323
home-assistant/home-assistant/pull/12303

Related issue (if applicable): https://github.com/home-assistant/architecture/issues/13
Checklist:

[x] The code change is tested and works locally.

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

@balloob There are already several PR's open, some even Ready for review. It would make merging them easier if all can use the same validator function.

@pvizeli Added entity_domain to the image_processing platform. As mentioned in the chat: The notification.group component doesn't check the domain, since the service only takes the name as input and assumes it belongs to notify.


Use npm shrinkwrap

shrinkwrap is a tool built in to npm that creates a json file with the versions of all dependencies, and their dependencies, currently installed.
You add this file to git, and all subsequent npm installs will use those exact versions of dependencies, instead of the latest version in each range.
This can help ensure that everyone is working with the exact same set of pacakges, and that no issues can arise simply because a new version of a package we depend on was released.
The downside is that after you install add a new dependency to package.json, you have to run npm shrinkwrap again. If you're not adding new dependencies nothing changes

I found out that since npm version 3 you do not need to run npm shrinkwrap again after installing a new lib. It happens automatically.

Does shrinkwrap automatically update after changing dependency version? Is there any benefit over specifying specific versions in package.json? Even if not, it seems safer for community development. Can we get readme updates on this?

It only updates automatically if you use commands to update package.json, not if you change dependencies in the file manually. So, you're right that's something that should be included in the readme.
The advantage over using specific versions in package.json is that it locks down the versions of dependecies of dependencies as well. Adding all those to package.json would make it hard to interpret.

That makes sense. Thanks.


No info about location of Startup File on Azure portal for .NET core app on Linux in Doc

In Built-in images part of the documentation there should be some info where do I locate and change startup file for built-in images. I spent almost whole day searching this info in documentation and searching the web with no success. In the end I asked question on the forum and answer was given (Go to Application settings and under Runtime you will find what you need). I used .NET core on Windows app service and used zip deploy so I was expecting for Linux to behave the same. When I learned it wasn't the case, after I uploaded the code I struggled to find what do I need to do to get the code running inside built-in image. Documentation is missing clear explanation for someone he haven't used Linux app service before what is needed to get app working using FTP deploy.

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

ID: b421fa01-1f39-28a5-78c2-63dd5700c8c5
Version Independent ID: 10ed9c91-16e0-d371-fcfc-d6d5a7f984b2
Content: App Service on Linux FAQ - Azure
Content Source: articles/app-service/containers/app-service-linux-faq.md
Service: app-service
GitHub Login: @YiLi
Microsoft Alias: yili

@dreic Thanks for your feedback! We will investigate and update as appropriate.

In addition, it's missing from the new Configuration (Preview) page

There is one more issue, FTP deploy is not even working with .NET core app. Why? dotnet .DLL file is locked so can't be updated with newer version. Only way to deploy newer version of the code that is procured somewhere else is zip deploy. There should be bold note somewhere for .NET core and FTP deploy.

@dreic, The startup file would be incorporated into our docs by next week. Please let us know if you have further queries.

@dreic I'll proceed with the closure of the issue. If you have further queries, feel free to re-open the issue.

Hi, you didn't comment on broken FTP deployment on Linux app service for .NET core.


For password input text glance is not showing before hiding the input

In case of inputType password the input should be first shown as text for a glance and then hide it just like native widget acts with password field.

Hi! DId you solve this problem?

Didn't resolved yet. Moved to things in more priority.

@ILYA4   DId you solve this problem?

No

in my android studio i am unable to use the dependencies becoz of new version of android studio  what to do????

Any Update on this?


TypeError: undefined is not an object – gallery.length on undefined in show() function

Currently the show() function looks like this:
    /**
     * Move the gallery to a specific index
     * @param `index` {number} - the position of the image
     * @param `gallery` {array} - gallery which should be opened, if omitted assumes the currently opened one
     * @return {boolean} - true on success or false if the index is invalid
     */
    function show(index, gallery) {
        if (!isOverlayVisible && index >= 0 && index < gallery.length) {
            prepareOverlay(gallery, options);
            showOverlay(index);
            return true;

The comment says that the gallery argument can be omitted. Still, the condition takes gallery.length, which is a TypeError if gallery==undefined. The other show...() functions (from line 603 to 627) all use show() with one argument only.

I guess this can be fixed like this:
    function show(index, gallery) {
        gallery = gallery || currentGallery;
        if (!isOverlayVisible && index >= 0 && index < gallery.length) {


Does Bulkrax have to copy files into Import Directory from Server Directory?

We are trying to import very large files from a mounted shared drive using Browse Everywhere. But, those really large files are -- I guess -- being copied over to the import_path temp directory.
And then the server ends up timing out because the files take a while to copy over to the tmp directory.
Does this absolutely have to happen? Why couldn't it just use the files directly from the filesystem where they are?

just going to build a custom parser.


Fix #318: Freezes on PlugInstall

Fixes the issue, need to be careful with threads during try blocks.

:+1:


security improvement: open files with O_EXCL for writing

When opening files for writing, this package probably never wants to overwrite an existing file. This can be prevented (including any race conditions) by setting the ~O_CREAT~ O_EXCL flag when opening files for writing. This would potentially avoid any security vulnerabilities being discovered by package users resulting from malicious tar files overwriting important files.

ah, wait, sorry, the flag is O_CREAT | O_EXCL

Do we have an open flag for that?

Doesn't seem like we do. I guess I can use an internal open method, but maybe better to add an exclusive flag to the open function instead and then use it.


documentation page for starter app is outdated

the page is https://pythonhosted.org/Flask-User/flask_user_starter_app.html
it cites:
Files of interest:
app/startup/init_app.py
app/users/models.py
app/templates/flask_user/*.html
app/templates/user/user_profile_page.html
however I do not see app/users/* hierarchy at all after fetch from git

@silpol : Thank you for taking the time to report this. I've corrected the docs to reflect the recent directory reorganization and it now reads:
Files of interest:
app/startup/init_app.py
app/models/user.py
app/templates/flask_user/*.html
app/templates/users/user_profile_page.html


[release-0.23] Make sure ConsumeClaim exit before rebalance.timeout (#659)

Proposed Changes

🐛 Cancel dispatching messages when consumer group session is closed

Release Note

- 🐛 Fix a bug in consolidate channel where deleting a KafkaChannel-backed Broker with events in flight blocks new subscriptions in SubscriptionNotMarkedReadyByChannel .

@googlebot I consent

@lionelvillard can you please give google-bot your consents :)

@googlebot I consent

/approve
/lgtm


widgets: add TZ env var support for $TIME

Closes #616

Closes https://github.com/hyprwm/hyprlock/issues/616

Awesome, thanks! 💪 ✨


Update README.md

Adding provenance to readme, linking to original GitLab repo, and CMIP6-era authoritative Zenodo DOI.

Oops. Didn't see @rbeucher had already merged. Oh well! :)


Failed to run the sample

I'm interested in zuul2, and i want to get to know what the sample do. I followed the Getting-Started-2.0 document to make the sample running, but then the error occurred: ConnectTimeoutException: Connect to ec2-50-19-255-39.compute-1.amazonaws.com:7001 timed out.
Could you tell me What should I prepare for running the sample on my localhost and how to try out the features that the sample provides.

you can see log:
2018-05-30 15:23:55,463 INFO  com.netflix.appinfo.RefreshableAmazonInfoProvider [main] Datacenter is: Amazon
2018-05-30 15:23:55,479 WARN  com.netflix.discovery.internal.util.Archaius1Utils [main] Cannot find the properties specified : eureka-client. This may be okay if there are other environment specific properties or the configuration is installed with a different mechanism.
2018-05-30 15:23:55,486 WARN  com.netflix.discovery.internal.util.Archaius1Utils [main] Cannot find the properties specified : eureka-client. This may be okay if there are other environment specific properties or the configuration is installed with a different mechanism.
2018-05-30 15:23:55,807 WARN  com.netflix.appinfo.AmazonInfo$Builder [main] Skipping the rest of AmazonInfo init as we were not able to load instanceId after the configured number of retries: 3, per fail fast configuration: true

because the default is to use eureka 2 to connect to the aws data center. you can change application.properties

@Jovons hi
I registered on eurek1. modify two files:application.properties,ZuulSampleModule.java.
application.properties
eureka.serviceUrl.default=http://localhost:8000/eureka

ZuulSampleModule.java
bind(EurekaInstanceConfig.class).to(MyDataCenterInstanceConfig.class);

But ribbon forwarding uses static configuration：
ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
edu-microsevice-1.ribbon.DeploymentContextBasedVipAddresses=edu-microsevice-1
edu-microsevice-2.ribbon.DeploymentContextBasedVipAddresses=edu-microsevice-2

com.netflix.zuul.sample.filters.inbound.Routes.groovy
// Route healthchecks to the healthcheck endpoint.;
        if (path.equalsIgnoreCase("/healthcheck")) {
            context.setEndpoint(Healthcheck.class.getCanonicalName())
        }
        else if (serviceId == "edu-microsevice-1") {
            context.setEndpoint(ZuulEndPointRunner.PROXY_ENDPOINT_FILTER_NAME)
            context.setRouteVIP("edu-microsevice-1")
        }
        else if(serviceId == "edu-microsevice-2"){

            context.setEndpoint(ZuulEndPointRunner.PROXY_ENDPOINT_FILTER_NAME)
            context.setRouteVIP("edu-microsevice-2")
        }
        else {
            context.setEndpoint(ZuulEndPointRunner.PROXY_ENDPOINT_FILTER_NAME)
            context.setRouteVIP("api")
        }

Do you know how to configure dynamically？
the same issues https://github.com/Netflix/zuul/issues/442

@tluolovembtan

@tluolovembtan hi

@tluolovembtan
I referred to your comments, and I set up a eureka server v2 on my localhost, then I changed application.properties as below:
region=default

eureka.name=zuul
eureka.port=7001
eureka.vipAddress=${eureka.name}:${eureka.port}
eureka.preferSameZone=true
eureka.registration.enabled=true

# Loading Filters
zuul.filters.root=src/main/groovy/com/netflix/zuul/sample/filters
zuul.filters.locations=${zuul.filters.root}/inbound,${zuul.filters.root}/outbound,${zuul.filters.root}/endpoint
zuul.filters.packages=com.netflix.zuul.filters.common

eureka.shouldUseDns=false
eureka.serviceUrl.default=http://localhost:8080/eureka/v2/

api.ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
api.ribbon.DeploymentContextBasedVipAddresses=${eureka.name}:${eureka.port}

And I revised ZuulSampleModule.java as below:
public class ZuulSampleModule extends AbstractModule {
    @Override
    protected void configure() {
        // Add the following line
        bind(EurekaInstanceConfig.class).to(MyDataCenterInstanceConfig.class);
    }
}

Then the sample app started successfully! But I don't know how to play with it. I think I misunderstood the sample app before. Now I think it's a proxy, and also a consumer that consumes the backend services. So the prop 'api.ribbon.DeploymentContextBasedVipAddresses' must point to the targeted backend service which contains some available endpoints I can play with. Is it right?
I set [api.ribbon.DeploymentContextBasedVipAddresses] to the local running sample app, but it doesn't expose any service endpoint. So I can't play with it. Is it right?
And so  the prop 'api.ribbon.DeploymentContextBasedVipAddresses' must point to 'api-test.netflix.net:7001' . Is it right?

@tluolovembtan the configuration that you think is "static" to me is dynamic, with service id (or unique service name) predefined. The service identified by "edu-microsevice-1" could have dynamic ip. These servers register themselves to eureka, and eureka lets zuul to query service address. I have never used eureka and zuul in a more dynamic way. endpoint type filter is more like a co-sited server, like the actuator in spring, I used endpoint filter for customized error handlers (like a friendly 404 html page.)

I built a microservices environment using spring cloud components. eg :
spring cloud zuul, spring cloud eureka , spring cloud config , and other spring boot microservices.So I have to solve two problems。
Q1. Zuul 2 Register to eureka1.
The solution is as above。
Q2.Dynamic route eureka service.
I customize NettyOriginManager.java
CustomNettyOrigin.java
package com.example.eduzuul2.extension;

import com.netflix.client.config.CommonClientConfigKey;
import com.netflix.client.config.DefaultClientConfigImpl;
import com.netflix.client.config.IClientConfig;
import com.netflix.spectator.api.Registry;
import com.netflix.zuul.origins.BasicNettyOrigin;

public class CustomNettyOrigin extends BasicNettyOrigin {

    public CustomNettyOrigin(String name, String vip, Registry registry) {
        super(name, vip, registry);
    }

    @Override
    protected IClientConfig setupClientConfig(String name) {

        DefaultClientConfigImpl niwsClientConfig = DefaultClientConfigImpl.getClientConfigWithDefaultValues(name);
        niwsClientConfig.set(CommonClientConfigKey.ClientClassName, name);
        niwsClientConfig.loadProperties(name);
        //如果不在配置文件中，默认serviceId = vip
        // routerVip 和 serviceId的映射关系可以自己定制
        if (niwsClientConfig.resolveDeploymentContextbasedVipAddresses() == null) {
            niwsClientConfig.setProperty(CommonClientConfigKey.DeploymentContextBasedVipAddresses, name);
        }

        return niwsClientConfig;
    }
}

CustomNettyOriginManager.java
package com.example.eduzuul2.extension;

import com.netflix.spectator.api.Registry;
import com.netflix.zuul.context.SessionContext;
import com.netflix.zuul.origins.OriginManager;

import javax.inject.Inject;
import javax.inject.Singleton;
import java.util.concurrent.ConcurrentHashMap;

@Singleton
public class CustomNettyOriginManager implements OriginManager<CustomNettyOrigin> {
    private final Registry registry;
    private final ConcurrentHashMap<String, CustomNettyOrigin> originMappings;

    @Inject
    public CustomNettyOriginManager(Registry registry) {
        this.registry = registry;
        this.originMappings = new ConcurrentHashMap();
    }

    public CustomNettyOrigin getOrigin(String name, String vip, String uri, SessionContext ctx) {
        return (CustomNettyOrigin)this.originMappings.computeIfAbsent(name, (n) -> {
            return this.createOrigin(name, vip, uri, false, ctx);
        });
    }

    public CustomNettyOrigin createOrigin(String name, String vip, String uri, boolean useFullVipName, SessionContext ctx) {
        return new CustomNettyOrigin(name, vip, this.registry);
    }
}

ZuulSampleModule.java
/*
 * Copyright 2018 Netflix, Inc.
 *
 *      Licensed under the Apache License, Version 2.0 (the "License");
 *      you may not use this file except in compliance with the License.
 *      You may obtain a copy of the License at
 *
 *          http://www.apache.org/licenses/LICENSE-2.0
 *
 *      Unless required by applicable law or agreed to in writing, software
 *      distributed under the License is distributed on an "AS IS" BASIS,
 *      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *      See the License for the specific language governing permissions and
 *      limitations under the License.
 */

package com.netflix.zuul.sample;

import com.example.eduzuul2.extension.CustomNettyOriginManager;
import com.google.inject.AbstractModule;
import com.netflix.appinfo.EurekaInstanceConfig;
import com.netflix.appinfo.MyDataCenterInstanceConfig;
import com.netflix.discovery.AbstractDiscoveryClientOptionalArgs;
import com.netflix.discovery.DiscoveryClient;
import com.netflix.netty.common.accesslog.AccessLogPublisher;
import com.netflix.netty.common.status.ServerStatusManager;
import com.netflix.spectator.api.DefaultRegistry;
import com.netflix.spectator.api.Registry;
import com.netflix.zuul.BasicRequestCompleteHandler;
import com.netflix.zuul.FilterFileManager;
import com.netflix.zuul.RequestCompleteHandler;
import com.netflix.zuul.context.SessionContextDecorator;
import com.netflix.zuul.context.ZuulSessionContextDecorator;
import com.netflix.zuul.init.ZuulFiltersModule;
import com.netflix.zuul.netty.server.BaseServerStartup;
import com.netflix.zuul.netty.server.ClientRequestReceiver;
import com.netflix.zuul.origins.BasicNettyOriginManager;
import com.netflix.zuul.origins.OriginManager;
import com.netflix.zuul.stats.BasicRequestMetricsPublisher;
import com.netflix.zuul.stats.RequestMetricsPublisher;

/**
 * Zuul Sample Module
 *
 * Author: Arthur Gonigberg
 * Date: November 20, 2017
 */
public class ZuulSampleModule extends AbstractModule {
    @Override
    protected void configure() {
        // sample specific bindings
        bind(BaseServerStartup.class).to(SampleServerStartup.class);

        // use provided basic netty origin manager
        // bind(OriginManager.class).to(BasicNettyOriginManager.class);
        bind(OriginManager.class).to(CustomNettyOriginManager.class);

        // zuul filter loading
        install(new ZuulFiltersModule());
        bind(FilterFileManager.class).asEagerSingleton();

        // general server bindings
        bind(ServerStatusManager.class); // health/discovery status
        bind(SessionContextDecorator.class).to(ZuulSessionContextDecorator.class); // decorate new sessions when requests come in
        bind(Registry.class).to(DefaultRegistry.class); // atlas metrics registry
        bind(RequestCompleteHandler.class).to(BasicRequestCompleteHandler.class); // metrics post-request completion
        bind(AbstractDiscoveryClientOptionalArgs.class).to(DiscoveryClient.DiscoveryClientOptionalArgs.class); // discovery client
        bind(RequestMetricsPublisher.class).to(BasicRequestMetricsPublisher.class); // timings publisher

        bind(EurekaInstanceConfig.class).to(MyDataCenterInstanceConfig.class);

        // access logger, including request ID generator
        bind(AccessLogPublisher.class).toInstance(new AccessLogPublisher("ACCESS",
                (channel, httpRequest) -> ClientRequestReceiver.getRequestFromChannel(channel).getContext().getUUID()));
    }
}

There seems to be some confusion here about Eureka 1/2. To be clear, Zuul 2 uses Eureka 1.
The path discovery/v2 is not referring to Eureka version but rather data model for the RESTful API.
Also, I'm going to add a guide for routing because to clarify the Ribbon configuration.

I am unable to run zuul 2 sample with eureka 1 as well.
Filter sets route vip for /gadget as:
context.setEndpoint(ZuulEndPointRunner.PROXY_ENDPOINT_FILTER_NAME)
context.setRouteVIP("api")
Configs:
eureka.serviceUrl.default=http://localhost:8761/eureka
api.ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
api.ribbon.DeploymentContextBasedVipAddresses=localhost:${eureka.port}
When accessing http://localhost:9000/api/status  returns 502
2018-06-19 17:32:11,559 WARN  com.netflix.loadbalancer.BaseLoadBalancer [Salamander-ClientToZuulWorker-0] LoadBalancer [gadget]:  Error choosing server for key null
Error is thrown due to key being null : https://github.com/Netflix/zuul/blob/2.1/zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/DefaultClientChannelManager.java#L328
This method is being called from two other locations which set the key to null.
a) https://github.com/Netflix/zuul/blob/2.1/zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/DefaultClientChannelManager.java#L309
b)https://github.com/Netflix/zuul/blob/2.1/zuul-core/src/main/java/com/netflix/zuul/origins/BasicNettyOrigin.java#L121

It's not failing because the key is null. The key will generally be null unless you use a balancing strategy other than round robin. It's either throwing an exception somewhere or can't find any servers in discovery.


Trying to get in touch regarding a security issue

Hey there!
I'd like to report a security issue but cannot find contact instructions on your repository.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper)

@zidingz hi, thanks for the report! Please send it to<EMAIL_ADDRESS>For the SECURITY.md, can you make a PR to create one?

With pleasure, again! https://github.com/casbin/casdoor/pull/282


Decide what to do about B008

B008 discourages function calls in default arguments e.g.
def foo(bar = bar_factory()): ...

This is a pattern commonly used in our codebase, such as inject in the link below. I think we're expecting to continue it even after lazy devices are supported (see #483), so plans would look something like:
def my_plan(x: Motor = i03.x()): ...

This issue is to discuss whether we should configure our projects to ignore the error and allow this behaviour because we know best, or follow ruff best practices and find another way to inject devices.
I'm going to throw in an early vote for the latter.
Originally posted by @callumforrester in https://github.com/DiamondLightSource/dodal/pull/737#discussion_r1711404786

our specific use case is the device-singleton one, and the linked ruff page says this:
If the use of a singleton is intentional, assign the result call to a module-level variable, and use that variable in the default argument:
which is consistent with how the i22 stopflow plan uses PANDA = inject("panda1")

depends on https://github.com/DiamondLightSource/dodal/issues/874


Security Contact

Hello,
I would like to report a security vulnerability, would it be possible to get a contact - where I can report the vulnerability to?

@R3x You can report security vulnerabilities here https://github.com/tj-actions/branch-names/security/advisories/new

@jackton1 I am not able to access that link, you probably have to enable it!

@jackton1 pinging to make sure you have seen this!

HI @R3x, you can forward all information to<EMAIL_ADDRESS>

@jackton1 I am not able to send emails to that email ID, it keeps bouncing


Remove arraybuffer

the arraybuffer gem is not being used by production code, seems abandoned and has issues in newer Macs.  We have suggested a fix (https://github.com/andrepiske/rb-arraybuffer/pull/9) but it does not seem to have been picked up by the owner.
Since the only reference to this gem is during unit tests and that seems to be unused, we can simply remove this gem and all references to it.

Hi @fcbr, thanks for the PR.
I think we could potentially get rid of the whole lib/absmartly directory it all seems unused. What do you think?

@marcio-absmartly I think you need lib/absmartly/version.rb for the gem release.
Then, the only other file is lib/absmartly/variant_assigner and I do see that we have a separate lib/variant_assigner as well, but if we were to remove that file I would suggest doing it in a separate PR to minimise the risk.

follow-up https://github.com/absmartly/ruby-sdk/pull/23


Registry middleware should have access to driver?

For configuring distribution as a proxy, the proxy registry is instantiated with the underlying registry instance as well as the storage driver instance. Registry middleware's initialization function doesn't pass the storage driver so it's not possible to create a middleware like proxy registry.
Could we change the InitFunc of registry middleware to include the storage driver?

Can you explain a little more what you are trying to accomplish with this storage access from the middleware. My concern is that passing the storage driver directly to the middleware is breaking the abstraction provided by the registry storage interface. What needs to bypass this layer?

For example: https://github.com/docker/distribution/blob/master/registry/proxy/proxyregistry.go#L37
If registry middleware also has access, proxyregistry can be a middleware instead of a special case.

That sounds reasonable. Is your goal then to have the proxy configuration be a proxy middleware wrapping a client to the upstream? My concern was this could lead to patterns of storing metadata used by the middleware in the storage backend used by the registry. However if in this case the configured storage backend was only used for the middleware it is not as much of a concern.
Based on that, I think it would be better to have just using the existing options map to pass in the storage backend instead of changing the interface. That could at least discourage bad behavior of the backend and possibly allowing conditionally passing it through. (probably should leave that feedback on the PR but since we are discussing here already)

Yes, I think it is cleaner this way too.
That sounds good to me, could you expand on what would determine it being passed through? If it was some other enabling flag like storage.delete.enabled, would that be finicky to configure?

I was thinking when the proxy was moved to middleware, only set the storage option if configured as proxy. It is also possible to have a configuration in the middleware struct for using the storage driver or even its own storage configuration. I would like to avoid the case where middleware is accessing the registry storage, I think its an anti-pattern we should try to protect against.

I guess proxy is a special case in which we can do option 1 (set storage option). I also agree with option 2 (config in middleware struct).
For option 3 (middleware having its own storage config), do you mean we inject it into the middleware or have it configured by the user? I think in this use case, the registry middleware isn't configuring its own storage, but rather some two-way interaction between registry and the storage, so the configuration should be identical to the user configured storage.

For option 3

I was thinking that it would be configured by the user. Not sure it is a good idea but it would allow each middleware to potentially have its own storage backend, which could already be done through instantiating a storage driver with the middleware options. My thought was if proxy cache is just middleware, the proxy and storage top level keys should be mutually exclusive. You can only get the source content from either a remote endpoint or through the backend. This would make it possible to use the same proxy/cache middleware with a different storage backend, say to make lookups faster. I am not advocating for that latter configuration but just highlighting the separate nature of the middleware backend and the registry's storage backend.

Does the current proxy implementation access the storage directly? If os, that needs to be fixed.
I'd be interested in understand what you are actually trying to solve that can't be done with the proxy as it is today. We may want to make that pluggable, rather than making middleware more advanced.
Looking at the proxy code, it is only using the storage object to create a vacuum. That should probably be abstracted to operate on a higher-level of abstraction, rather than the storage directly.

I think if the proxy's use of the vacuum is abstracted away and no longer accesses the storage driver directly, then this issue can be closed.
We want to delegate authentication to one registry, and not to use basic auth in the proxy. Or that auth is forwarded through the proxy, so that multiple users can use the proxy.


T::Struct props silently dropped if they contain tuples

Input
Sorbet.run
# typed: true

class Thing; end
class Thing2; end

class A < T::Struct
  extend T::Sig

  const :arr_things, T::Array[Thing]
  const :arr_arr_things, T::Array[T::Array[Thing]]
  const :tuples, [Thing, Thing2]
  const :arr_tuples, T::Array[[Thing, Thing2]]
end

def main
  A.new(
    arr_things: [], # OK
    arr_arr_things: [], # OK
    tuples: [Thing.new, Thing2.new], # Fails
    arr_tuples: [], # Fails
  )
end

Observed output
editor.rb:16: Unrecognized keyword argument tuples passed for method A#initialize https://srb.help/7004
    16 |  A.new(
    17 |    arr_things: [], # OK
    18 |    arr_arr_things: [], # OK
    19 |    tuples: [Thing.new, Thing2.new], # Fails
    20 |    arr_tuples: [], # Fails
    21 |  )

editor.rb:16: Unrecognized keyword argument arr_tuples passed for method A#initialize https://srb.help/7004
    16 |  A.new(
    17 |    arr_things: [], # OK
    18 |    arr_arr_things: [], # OK
    19 |    tuples: [Thing.new, Thing2.new], # Fails
    20 |    arr_tuples: [], # Fails
    21 |  )
Errors: 2

Expected behavior
Sorbet DSL pass should error when it comes across tuples in prop definition, as opposed to silently dropping them and then erroring at the site where they're referenced.ee

Another example I encountered:
#typed: true
class Event < T::Struct
  prop :foo, String
  prop :bees, T::Array[[Integer]]
end

Event.new(
  foo: "a",
  bees: []
)

I am new to Sorbet, so I'm not sure if the problem I'm facing is the same one as this issue is talking about. Here's a link to sorbet.run that shows my issue.
Basically, all I try to do is:
# typed: true

class Foo < T::Struct
  prop :color, [Integer, Integer, Integer]
end

Foo.new(color: [0, 0, 0])

But I get errors like:
editor.rb:7: Too many arguments provided for method Foo#initialize. Expected: 0, got: 1 https://srb.help/7004
     7 |Foo.new(color: [0, 0, 0])
        ^^^^^^^^^^^^^^^^^^^^^^^^^
    editor.rb:3: initialize defined here
     3 |class Foo < T::Struct
     4 |  prop :color, [Integer, Integer, Integer]
     5 |end
Errors: 1

Is this a known bug? Or am I doing something wrong?

This is related to #3485


[opentitantool] Add support for configuration files

This issues tracks the implementation of feature of "Symbolic names for pins and ports" as discussed in this brainstorming document.

CC @arunthomas

This has been done a long time ago.


add LF normalization for command entrance.

This is a trivial patch.
In some cases, accessing flutter from WSL terminal throws the following error:
/usr/bin/env: ‘bash\r’: No such file or directory

This may happen according to autocrlf setting for git per se, which can be fixed by manually setting bin/flutter eol to LF, or prevented by .gitattributes.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

In other words, I think I would need to understand more clearly if this is a general problem before approving this PR.

 I would not recommend doing that, and I suspect other things would break too.

Yes, after further attempts I noticed even .sh files end up with 'crlf' eol. So, I think maybe what this comment indicated just didn't work as expected especially on those .sh files.
So foobar.sh eol=lf would fix these things up.
Another topic might be whether one should use flutter sdk on both Windows and WSL, the answers may vary but I usually use (p)npm & node on WSL, which works fine.
Thanks for your reply! ❤🔥

Another topic might be whether one should use flutter sdk on both Windows and WSL, the answers may vary but I usually use (p)npm & node on WSL, which works fine.

The answer here is definitely do not do this, it is not supported and will not work.


Split eBook title on : to get subtitle

Many book titles contain a : which separates a books title from it's subtitle. We should split in this to return both a book title and subtitle

Completed in release https://github.com/ahobsonsayers/abs-tract/releases/tag/v0.2.0


DI Web Analytics Filter Should Enforce UTC

Affected module
OpenMetadata Data Insight
Describe the bug
When filtering data for web analytics we should force timezone to UTC.
To Reproduce
Screenshots or steps to reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 0.8]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

@TeddyCr this looks like an important issue, whats the work required here? only on the UI side?

@harshach IMO this is mostly not relevant. As we save the UNIX timestamp value (i.e. Long) and send the UNIX timestamp value when requesting the data everything should be in accordance. Aggregation is performed on the ES data which saves the UNIX timesatamp.


Nested fields in the entry editor aren't validated

Field validation only works on the top level of widgets in the entry editor, fields within objects or lists aren't validated at all.
The primary blocker here is that fields are referenced by name internally, which would then require nested fields to know the names of each ancestor field, or that their state match the nested hierarchy of the fields. Both approaches are anti-patterns.
To move forward, field state handling should be refactored to use unique id's. This will likely require a mechanism for translating the nested data in the config file to new id's at load time.

I'm removing Priority tags everywhere, but this one's a very big deal.


Request: Telemetry baked into rendering SDK

We would like to know what elements are being rendered in cards, performance stats, usage stats, etc. Today, when a host installs our SDK, we don't get any telemetry about the cards the host is rendering, etc.
We need to know...

How long did parsing take?
How long did rendering take?
How many/what elements were used in the card? (3 text blocks, 1 column set, 1 Action.OpenUrl, etc)
What were the parse warnings?
What were the render warnings?
What was the parse error?
What was the render error?
What host rendered the card?
Ability for host to provide a correlation id so can associate their own events (like toast events) with the card

We also need ability for hosts to opt out of telemetry if they wish.
Asks

Adaptive Cards team

Closing as dupe of #3058


Add spy constructor to ObservableMap

Sometimes it's useful to observe changes on top of a Map implementation
which has different behavior from one of the built in map types.

Added a simple test which ensures the spy constructor can't get ripped out, and that at least assignment goes through to the delegate.


Send the invoice payment confirmation email from Portal.

Add functionality to send a payment confirmation email from Portal.
It should be sent to the client directly on click on the save button after adding the payment details of an invoice.
Email sender should be<EMAIL_ADDRESS>Please CC<EMAIL_ADDRESS>to all these emails.

When the payment is received for a particular invoice, the amount is updated and invoice is saved by clicking on Save button

Once Save button is clicked a message box should be opened, containing field for sender
email address<EMAIL_ADDRESS>and CC containing email address<EMAIL_ADDRESS>The CC field can add more than one email address by adding comma(,) separated field.

On clicking on send button email containing following content should be displayed

The email subject can be project name and month like ABC invoice - January 2022.
The content of the email could be.
Hi ClinetName,
I hope you’re doing great.
I just wanted to drop you a quick note to let you know that we have received your recent payment in respect of invoice [invoice reference number]. Thank you very much. We really appreciate it.
Do let us know in case there’s anything we could help with or if you’d like to share.
Thanks and Regards,
Mohit

@dsajwan2020 Please correct the email content. It should be below thank you a message.
_```
HI, Client name ( Can be multiple names)
I confirm we received the payment of this invoice. Thank you very much.
Thanks & Regards,
Mohit

2. One more thing. Please check what will be the subject of the email.
while sending manual emails. I keep the subject as _**Project name - invoice (Month year)**_
Where month is the term of the project delivery. Not the month in which the invoice is sent.
For example :
billable hours of Project term is = **April 2022**
And Invoice is sent on **1st May 2022**

@deepankar-sajwan @GauravGusain98 Thanks for making the changes in the payment received email templates.
Below are the further changes required.

Amount should be the amount received. Not the invoice amount.
Please change content of the email as below.

Hi Client name,
I confirm we received the payment of ₹XXX  for the invoice [invocie number].
Thank you very much.
Thanks & Regards,
Mohit
Let me know if you have any questions.


Feature request: REST API to manage packages

Would love to have a REST API to add / remove repos programmatically! As well as list currently connected repos

Ha, waited for this thread to appear, so we have it in the backlog, but at the moment I am not able to give the date, but stay tuned :wink:

Also could we have the possibility of adding/removing tokens via the REST API?

yes, such basic functionalities will definitely be covered by REST API :wink:

REST API implemented and released in v 1.0.0. You can find api docs here:
https://repman.io/docs/api/#reference
Thanks for idea and feedback :wink:


Add ORT Rewrite Blueprint

Adds a ORT Rewrite proposal Blueprint
No tests, it's a blueprint.
No docs, it's a blueprint.
No changelog, it's a blueprint.

[x] This PR is not related to any other Issue

Which Traffic Control components are affected by this PR?
None, it's a blueprint.
What is the best way to verify this PR?
Read the blueprint, verify you like it.
If this is a bug fix, what versions of Traffic Control are affected?
Not a bug fix, it's a blueprint.
The following criteria are ALL met by this PR

[x] This PR includes tests OR I have explained why tests are unnecessary
[x] This PR includes documentation OR I have explained why documentation is unnecessary
[x] This PR includes an update to CHANGELOG.md OR such an update is not necessary
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct OR this PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Additional Information

Your blueprint doesn't mention a decided language - though offers Go as a suitable candidate.
For what it's worth, I'd be happy to help move ORT.py in this direction. It has the advantage of having transliterated most of ORT into separate modules - which could make dividing it into separate utilities simpler than starting from scratch.
On the other hand, if the plan is also to include the necessary parts of ATSTCCFG as part and parcel of the utilities (as opposed to the separate utility it is today) then Go is probably a better choice. Because the configuration file generation is the hardest part to get right.

On the other hand, if the plan is also to include the necessary parts of ATSTCCFG as part and parcel of the utilities (as opposed to the separate utility it is today)

The plan is for each app to be small and independent. They could be totally different languages if we want. The config generator is one app, and will probably be a modified version of atstccfg. But there's nothing preventing the other apps from being in other languages.

I'd be happy to help move ORT.py

I'm not opposed to that. Personally, I'd prefer we were more open to more diverse languages. Especially for small apps like these, where it's not a big deal if a new primary developer doesn't like the language, they can just rewrite it, because it's very small.
I also don't object to Python specifically, especially for small things, especially if it includes type annotations and compiling in the build.
If you're the one writing these apps, I wouldn't have any objections. But I'd prefer to leave it up to whoever writes it. Personally, Go would be faster for me and I already have a good grasp of traffic_ops_ort.pl at this point. But I may not be the one writing it, either.

parts of ATSTCCFG

I'd strongly encourage referring to the command in its proper case, atstccfg. In technical writing it's imperative to not confuse the reader. The application is atstccfg, executing ./atstccfg will not work.
I'm not aware of a universally-accepted technical writing style guide, but the Microsoft Style Guide is one of the most popular. It says
https://docs.microsoft.com/en-us/style-guide/capitalization

Capitalize the first word of labels and terms that appear in UI and APIs unless they're always lowercase (for example, fdisk).
In programming languages, follow the traditional capitalization of keywords and other special terms.

And

Always capitalize the first word of a new sentence. Rewrite sentences that start with a word that's always lowercase.

@rob05c
Hello Rob,
Removing the ability to run a "report" mode is problematic for us. We use the current report mode to verify the config on select servers before applying. I understand that each component will have its own "report" mode but, having an overall "report" mode makes it simpler for our operations team. Is there a way to get an overall "report?"
Thanks,
Hank

@hbeatty Sure. You're not the first person who's expressed an interest in keeping Report Mode.
It should be easy enough to include in the "Aggregator" as a dedicated command for the existing functionality.

Ok, I added Report Mode to the list of things the Aggregator will do, and removed it from the "features removed" section.

So a lot of those comments were meant to be added to existing conversations and don't make sense without that context. Thanks GitHub.