when you change the hostport in helm configuration the probe port doesn't change

il have changed the hostport configuration in helm value, to another port,
but the readyness always check the default port, then the proxy doesn't start and cluster get imagepullbackoff
should be nice to fix that
and ensure proxy is running before mutating webhook activation, because it can stuck an entire cluster .
then i restore the config default for port but the pod stuck doesn't work (before my hostport was 8439, the problem appear since 1.6 and 1.7 don't fix it
│   Normal   Scheduled  2m34s                default-scheduler  Successfully assigned kube-infra/neuvector-controller-pod-698577675b-9z8c9 to master              │
│   Normal   Pulling    65s (x4 over 2m33s)  kubelet            Pulling image "localhost:7439/docker.io/neuvector/controller:5.3.0"                               │
│   Warning  Failed     65s (x4 over 2m33s)  kubelet            Failed to pull image "localhost:7439/docker.io/neuvector/controller:5.3.0": failed to pull and un │
│ pack image "localhost:7439/docker.io/neuvector/controller:5.3.0": failed to resolve reference "localhost:7439/docker.io/neuvector/controller:5.3.0": failed to  │
│ do request: Head "https://localhost:7439/v2/docker.io/neuvector/controller/manifests/5.3.0": dial tcp [::1]:7439: connect: connection refused                   │
│   Warning  Failed     65s (x4 over 2m33s)  kubelet            Error: ErrImagePull                                                                               │
│   Warning  Failed     51s (x6 over 2m33s)  kubelet            Error: ImagePullBackOff                                                                           │
│   Normal   BackOff    36s (x7 over 2m33s)  kubelet            Back-off pulling image "localhost:7439/docker.io/neuvector/controller:5.3.0"

my configuration
registryUI:
  nodeSelector:
    kubernetes.io/arch: amd64
  enabled: true
  auth:
    username: admin
    password: adminRegistry
proxy:
  resources:
    limits:
      cpu: 300m
      memory: 256Mi
cachedImagesExpiryDelay: 10
controllers:
  resources:
    limits:
      cpu: 200m
      memory: 256Mi
  pdb:
    create: true
    minAvailable: 1
  webhook:
    ignoredNamespaces:
    - kube-system
    - kube-node-lease
    - crossplane-system
    - keeper
    - kube-infra
    - kube-monitoring
    - longhorn-system
    - security

When you align the value of proxy.readinessProbe.httpGet.port to your custom 8439 value for hostPort, does it fix the problem?
Or else, is sticking to the default 7439 value a blocker for you?

i have rollbacked with the original port and its the same problem

i'm using cilium and longhorn on both config

hi @didlawowo ,

Can you please elaborate a bit more regarding your "rollback" operation ?
Did you try to deploy again setting the same value for proxy.readinessProbe.httpGet.port & proxy.hostPort ?
Can you please dump here the proxy daemonset configuration ?
Can you please specify your cilium config ? Did you enable the portMapping plugin ?

i do that tomorrow.

i have installed the latest version on a new rke2 cluster with cilium (no portmap)
seems OK
the cilium config:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: rke2-cilium
  namespace: kube-system
spec:
  valuesContent: |-
    eni:
      enabled: true
    kubeProxyReplacement: "strict"
    k8sServiceHost: <IP_ADDRESS>
    k8sServicePort: 6443
    global:
      bpf:
        masquerade: true
    cni:
      chainingMode: "none"
    operator:
      replicas: 2
    encryption:
      enabled: true
      type: wireguard
    l7Proxy: false
    hubble:
      enabled: true
      metrics:
        enableOpenMetrics: true
        enabled:
        - dns:query;ignoreAAAA
        - drop
        - tcp
        - flow
        - icmp
        - http

      relay:
        enabled: true
      ui:
        enabled: true
        replicas: 1
        ingress:
          enabled: true
          hosts:
            - hubble.develop.oursain.net
          annotations:
            cert-manager.io/cluster-issuer: letsencrypt
          tls:
          - secretName: ingress-hubble-ui-tls
            hosts:
            - hubble.develop.oursain.net
    prometheus:
      enabled: true


Exercise 5: Configure Chart of Accounts and Posting Groups. Task 2 tax posting setup can not be created

Module: 02
Lab/Demo: Exercise 5: Configure Chart of Accounts and Posting Groups
Task: 02
Step: 03
Description of issue
Repro steps:
These steps 03 below will produce an error, and the tax posting setup can not be created.

Complete the Tax Posting Setup.
Select the search for page icon in the top-right corner of the page, enter Tax Posting Setup, and then choose the related link.
In the Tax Posting Setup page, select + New.
In the new tax posting setup card, fill in the following fields:
In the VAT Bus. Posting Group field, enter EU.
In the VAT Prod. Posting Group field, enter G15.
In the VAT Calculation Type field, enter Normal Tax.
In the Description field, enter web shop sales.
In the Tax% field, enter 15.
In the Tax Identifier field, enter G15.
In the Sales Tax Account field, enter 61850.

Thank you for raising this issue. I can reproduce this issue as well . We will update on this issue soon

We are still in process of fixing this issue. We will keep you updated

Hi Ellywati,
We will update on this issue soon.
Thanks
Ashwini

Thank you for your patience! We are also currently working on updating these labs and will have them finalized soon.

Thank you for your patience. We will be updating course in new year to fix this issue


google: unstyled widgets

Is there an existing issue outlining your problem?

[X] I am using the latest version of the provided userstyle.
[X] I have searched the existing issues and they do not solve my problem.

What userstyles are you seeing the problem on?
lbl:google
Describe your problem.
Many of the widgets that come up when searching for specific things are unstyled or only partly styled
Attach screenshots.
stopwatch: the border is unstyled, along with the icons. also when going into fullscreen, the background isn't styled either

periodic table

roll a die/flip a coin: the icons and main section are unstyled. the main section uses canvas although other parts can still be styled

games: the play button is unstyled

answer highlighting: background should be set to none to remove the default linear gradient

"things to know" section

"More" button

shopping: most unique areas are unstyled

"People also search for..." section

videos: description section

What browser(s) are you seeing the problem on?
Firefox 126.0.1
Any additional comments?
No response

background should be set to none to remove the default linear gradient
or just theme it...??


Installation problem

Have run npx create-react-app
npm install @material-ui/core
Searched google found also this:
npm install @mui-treasury/mockup
npm install @mui-treasury/styling
npm install @mui-treasury/theme
npm install @mui-treasury/compontents
npm install @mui-treasury/layout
Add all the files from the sandbox to my src folder, but still getting this (Loong) error:
Error: You are calling withTheme(Component) with an undefined component.
You may have forgotten to import it.
withTheme
node_modules/@material-ui/styles/esm/withTheme/withTheme.js:15
./src/Layout/Header.js
src/Layout/Header.js:172
169 |   menuIcon: ""
170 | };
171 |

172 | export default withTheme()(withStyles(styles, { name: "MuiHeader" })(Header));
173 | View compiled
webpack_require
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:784
781 | };
782 |
783 | // Execute the module function
784 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
| ^  785 |
786 | // Flag the module as loaded
787 | module.l = true;View compiled
fn
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:150
147 | 		);
148 | 		hotCurrentParents = [];
149 | 	}
150 | 	return webpack_require(request);
| ^  151 | };
152 | var ObjectFactory = function ObjectFactory(name) {
153 | 	return {View compiled
./src/Layout/index.js
src/Layout/index.js:1
1 | export { default as Header } from "./Header";
2 | export { default as Content } from "./Content";
3 | export { default as Root } from "./Root";
4 | export { default as Nav } from "./Nav";View compiled
webpack_require
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:784
781 | };
782 |
783 | // Execute the module function
784 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
| ^  785 |
786 | // Flag the module as loaded
787 | module.l = true;View compiled
fn
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:150
147 | 		);
148 | 		hotCurrentParents = [];
149 | 	}
150 | 	return webpack_require(request);
| ^  151 | };
152 | var ObjectFactory = function ObjectFactory(name) {
153 | 	return {View compiled
./src/index.js
http://localhost:3000/static/js/main.chunk.js:767:84
webpack_require
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:784
781 | };
782 |
783 | // Execute the module function
784 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
| ^  785 |
786 | // Flag the module as loaded
787 | module.l = true;View compiled
fn
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:150
147 | 		);
148 | 		hotCurrentParents = [];
149 | 	}
150 | 	return webpack_require(request);
| ^  151 | };
152 | var ObjectFactory = function ObjectFactory(name) {
153 | 	return {View compiled
(anonymous function)
http://localhost:3000/static/js/main.chunk.js:934:37
webpack_require
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:784
781 | };
782 |
783 | // Execute the module function
784 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
| ^  785 |
786 | // Flag the module as loaded
787 | module.l = true;View compiled
checkDeferredModules
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:45
42 | 	}
43 | 	if(fulfilled) {
44 | 		deferredModules.splice(i--, 1);
45 | 		result = webpack_require(webpack_require.s = deferredModule[0]);
| ^  46 | 	}
47 | }
48 | View compiled
webpackJsonpCallback
/Users/jonasandersson/Codes/REACT/todo/webpack/bootstrap:32
29 | 	deferredModules.push.apply(deferredModules, executeModules || []);
30 |
31 | 	// run deferred modules when all chunks ready
32 | 	return checkDeferredModules();
| ^  33 | };
34 | function checkDeferredModules() {
35 | 	var result;View compiled
global code
http://localhost:3000/static/js/main.chunk.js:1:65
This screen is visible only in development. It will not appear if the app crashes in production.
Open your browser’s developer console to further inspect this error.  Click the 'X' or hit ESC to dismiss this message.

Can you provide the github repo or codesandbox that I can take a look? I cannot investigate with this error. It could be the version or bug.

I started out from this page: https://deprecate.mui-treasury.com/components/layout
and followed that guide.
the sandbox is the one from the link in that page: https://codesandbox.io/s/6xnlp688v3
Haven't done anything else.
Am I missing something here?

I see. That link is deprecated, please checkout this link instead.
For dashboard layout
https://mui-treasury.com/layout/tutorials/dashboard-layout/
For blog layout
https://mui-treasury.com/layout/tutorials/blog-layout/

Ahh, ok my bad.

Let me know if you still stuck at some step.


Improve pagination and fields ordering implementation

Changed

Use Django reset framework recommended implementation of filters and pagination

Separate this improvement in a different pull request but this is needed for the search query of the campaigns.

I'm sorry, I should have added a test when adapting the pagination to what exists already, but we have two constraints that this PR is not handling, (at least I think):

we have dashboards connecting directly to the campaign endpoint, and they expect an unchanged format (you can't add "result" as an encompassing objects for these calls and we can't change the dashboards for that, this was the reason for adding remove_results_key_if_paginated (that should be renamed: remove_results_key_if_not_paginated)
the js table that we use is using a specific paging format, that is not the same as DRF (an error I made a long time ago, but now, it's cheaper to keep the existing pagination than change it). This is the reason we use: from iaso.api.common import ModelViewSet.


Fix the bug where time conversion is skipped when incoming and outgoing time column name are the same

Refactor TimeConverter to based on single time granularity spec
Refactor TimeTransformer so it can automatically detect whether the conversion is needed (based on the value in the record)
Added tests for the new TimeConverter and TimeTransformer

Codecov Report

Merging #3484 into master will decrease coverage by 0.01%.
The diff coverage is 90.24%.

@@             Coverage Diff              @@
##             master    #3484      +/-   ##
============================================
- Coverage     70.58%   70.57%   -0.02%
  Complexity        4        4
============================================
  Files           999      998       -1
  Lines         45669    45669
  Branches       6109     6106       -3
============================================
- Hits          32236    32231       -5
+ Misses        11329    11324       -5
- Partials       2104     2114      +10

Impacted Files
Coverage Δ
Complexity Δ

...inkedin/pinot/common/utils/time/TimeConverter.java
88.88% <88.88%> (ø)
0 <0> (?)

...t/core/data/recordtransformer/TimeTransformer.java
94.11% <91.3%> (-5.89%)
0 <0> (ø)

...a/manager/realtime/RealtimeSegmentDataManager.java
50% <0%> (-50%)
0% <0%> (ø)

...in/pinot/core/query/pruner/ValidSegmentPruner.java
57.14% <0%> (-28.58%)
0% <0%> (ø)

...egation/function/customobject/MinMaxRangePair.java
75.86% <0%> (-24.14%)
0% <0%> (ø)

...re/data/recordtransformer/DataTypeTransformer.java
75% <0%> (-10.72%)
0% <0%> (ø)

...pinot/core/operator/docidsets/OrBlockDocIdSet.java
84.9% <0%> (-9.44%)
0% <0%> (ø)

...e/impl/dictionary/LongOnHeapMutableDictionary.java
88.88% <0%> (-6.67%)
0% <0%> (ø)

.../impl/dictionary/FloatOnHeapMutableDictionary.java
80% <0%> (-6.67%)
0% <0%> (ø)

...e/operator/dociditerators/MVScanDocIdIterator.java
60.6% <0%> (-3.04%)
0% <0%> (ø)

... and 20 more

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 c9a4e60...a40b3b2. Read the comment docs.


Allow non standard external monitor value scales

Previously, calcNewValue assumed your display's maxValue was a 100.
This caused the OSD to block after certain values (see #201).
It also tried to find the "prettiest" monitor value to display during
normal increments.
This PR refactors the calcNewValue function to focus on finding the next value based on the monitor's value scale.
Behaviour:

Get the corresponding chiclet value based on the monitor value.
Calculate the distance between the nearest whole chiclet and the chiclet
from the monitor value
Depending on the direction (up or down) and if the distance is between
a set threshold, we jump to the next chiclet skipping the nearest.
Otherwise, we go to the nearest chiclet.

calcNewValue no longer tries to find the "prettiest" value as we round the chiclets during normal increments and use the chiclet scale (x/16).
QA

I'll try looking at this one soon since it's a pretty important fix for a lot of people 🙂

Great work! Works great on my system.
I do wonder though, is there any reason why you're passing the roundChicklet bool around everywhere? Can't you just pass it maxValue = 16 and the value?
Could be wrong, it's been a few months since I touched the OSDManager code.

Great work! Works great on my system.

Thanks @JoniVR ! It's my first time working with Swift in all honesty 😄

I do wonder though, is there any reason why you're passing the roundChicklet bool around everywhere? Can't you just pass it maxValue = 16 and the value?

I agree with you, I should pass 16 as the maxValue.
However, the roundChicklet argument is a whole different behavior than just passing maxValue = 16.
Previously, we would always get a floating value from the monitor; resulting in smallish chicklets being displayed (eg. 4.23/16 != 4/16). Rounding the value allows for a smoother visual experience but roundChicklet should not block the maxValue argument in that case.
Going forward, I see two options:

creating an other function called showOsdWithRoundedValues(command: DDC.Command, value: Int) (or a similar name) explicitly stating the visual behavior and maxing out the maxValue to 16.
leaving the arguments as-is and passing 16 to the maxValue and allowing arbitrary maxValue in the roundChicklet path

Which one do you think is more appropriate ?

Hi @victorchabbert!
Sorry for the delay, let's leave it as is then. Thanks for contributing!
@the0neyouseek Could you give it a test on your config if you have the time?

@JoniVR @victorchabbert I'll take a look asap 😉

Hi @the0neyouseek, have you had the time to test this PR ?

Hey @victorchabbert ,
Sorry not yet, I'm on holiday right now but will test the PR next weekend 🙂

Hey @victorchabbert ,
Sorry not yet, I'm on holiday right now but will test the PR next weekend 🙂

No worries, have a nice holiday 🙂

@the0neyouseek Could you take a look at it this weekend? If not then no problem but I'll probably push it through if that's okay since I'd like to release this together with #237.

@JoniVR I finally have some time so I'll take a look this afternoon 😉

I'm having some internet troubles and I can't seem to be able to do a simple ˋgit fetchˋ... I'll try again tomorrow morning.
I still took a look at the code and everything sounds okay to me.


feat: command to convert peers.txt into addrbook.json

Closes https://github.com/celestiaorg/celestia-app/issues/2619
Description
Adds a new command to celestia-appd called addrbook.
$ celestia-appd addrbook --help
Convert a list of peers into an address book

Usage:
  celestia-appd addrbook peers.txt addrbook.json [flags]

Flags:
  -h, --help   help for addrbook

Testing
I was able to run a node on arabica-10 with an addrbook.json that was created from arabica-10/peers.txt. Note, testing failed on mocha-4 due to https://github.com/celestiaorg/networks/issues/349

Running using a modified mocha-4.sh script and encountered
panic: Error reading file /Users/rootulp/.celestia-app/config/addrbook.json: invalid IP address: rpc-1.celestia.nodes.guru

Codecov Report

Merging #2623 (7d2afc2) into main (2b4ddf4) will not change coverage.
Report is 1 commits behind head on main.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2623   +/-   ##
=======================================
  Coverage   20.63%   20.63%
=======================================
  Files         133      133
  Lines       15346    15346
=======================================
  Hits         3166     3166
  Misses      11877    11877
  Partials      303      303

6:19PM INF Add our address to book addr={"id":"3e3b5452509b2ee02802c4bbd7a1b7636d2d7ef0","ip":"<IP_ADDRESS>","port":26656} book=/Users/rootulp/.celestia-app/config/addrbook.json module=p2p
...
6:19PM INF service start book=/Users/rootulp/.celestia-app/config/addrbook.json impl=AddrBook module=p2p msg={}
6:19PM INF Saving AddrBook to file book=/Users/rootulp/.celestia-app/config/addrbook.json module=p2p size=4
6:19PM INF Ensure peers module=pex numDialing=0 numInPeers=0 numOutPeers=0 numToDial=10
6:19PM INF starting API server... module=api-server
6:19PM INF serve module=api-server msg={}

just hanging here... so I don't think it's actually connecting to any of these peers

Moved this from Mainnet milestone to Post-Mainnet milestone b/c it doesn't need to be merged to celestia-app prior to cutting the v1.x release.
We may not even need to merge it if it's a one-off tool and only used for mainnet.

Enabled debug logs
10:40AM INF service start book=/Users/rootulp/.celestia-app/config/addrbook.json impl=AddrBook module=p2p msg={}
10:40AM INF Ensure peers module=pex numDialing=0 numInPeers=0 numOutPeers=0 numToDial=10
10:40AM DBG Consensus ticker inbound=0 module=blockchain numPending=0 outbound=0 total=0
10:40AM DBG Blockpool has no peers module=blockchain
10:40AM DBG Consensus ticker inbound=0 module=blockchain numPending=0 outbound=0 total=0
10:40AM DBG Blockpool has no peers module=blockchain
10:40AM DBG Consensus ticker inbound=0 module=blockchain numPending=0 outbound=0 total=0
10:40AM DBG Blockpool has no peers module=blockchain

Was able to get the node to start by specifying:

A monotonically increasing bucket value for each peer in addrbook.json (e.g. "buckets": [1], "buckets": [2], etc.)
Bucket type of new for each peer in addrbook.json (e.g. "bucket_type": 1)

Testing again and encountering a lot of this
11:17AM INF Ensure peers module=pex numDialing=0 numInPeers=0 numOutPeers=0 numToDial=10
11:18AM INF Error reconnecting to peer. Trying again addr={"id":"f9e950870eccdb40e2386896d7b6a7687a103c99","ip":"<IP_ADDRESS>","port":43656} err="auth failure: secret conn failed: read tcp <IP_ADDRESS>:64466-><IP_ADDRESS>:43656: i/o timeout" module=p2p tries=7
11:18AM INF Error reconnecting to peer. Trying again addr={"id":"daf2cecee2bd7f1b3bf94839f993f807c6b15fbf","ip":"<IP_ADDRESS>","port":11656} err="auth failure: secret conn failed: read tcp <IP_ADDRESS>:64468-><IP_ADDRESS>:11656: i/o timeout" module=p2p tries=3
11:18AM INF Error reconnecting to peer. Trying again addr={"id":"43e9da043318a4ea0141259c17fcb06ecff816af","ip":"<IP_ADDRESS>","port":43656} err="auth failure: secret conn failed: read tcp <IP_ADDRESS>:64469-><IP_ADDRESS>:43656: i/o timeout" module=p2p tries=3
11:18AM INF Error reconnecting to peer. Trying again addr={"id":"f9e950870eccdb40e2386896d7b6a7687a103c99","ip":"<IP_ADDRESS>","port":43656} err="auth failure: secret conn failed: read tcp <IP_ADDRESS>:64472-><IP_ADDRESS>:43656: i/o timeout" module=p2p tries=8

Relevant: https://github.com/celestiaorg/networks/issues/349

Ayy this works for arabica-10:
1:59PM INF indexed block exents height=1766 module=txindex
1:59PM INF minted coins from module account amount=28537864698497544652899591utia from=mint module=x/bank
1:59PM INF executed block height=1767 module=state num_invalid_txs=0 num_valid_txs=0
1:59PM INF commit synced commit=436F6D6D697449447B5B323420323430203537203832203131332036312031322039362039382032333020393820323336203232382032323320392031383520323131203720313535203536203930203139362031333120313836203232342031323420313233203137372032303720323435203134362037335D3A3645377D
1:59PM INF committed state app_hash=18F03952713D0C6062E662ECE4DF09B9D3079B385AC483BAE07C7BB1CFF59249 height=1767 module=state num_txs=0
...

Converted to draft so that I can refactor and re-use code from celestia-core.

Yea https://github.com/celestiaorg/celestia-app/issues/2672 is killing me slowly

Yea can add more docs pre merge, good point! I had a README.md before but deleted it in the migration to be a subcommand under celestia-appd.


[WIP] Update the document for client generation

Note: This PR is still work in progress.  Need contributors from different SDK to update the contents.

Fix the grammar issue and leverage tooling to update the wording for the content.
We need to include both snapshot of generated code and how to use generated code in the sample to provide a clear guidance.

Update one sample to remove the deprecated code for TypeSpec and update the .NET sample code.

TODO:

need to refresh all TypeSpec samples and sample code in client.mdx

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Supports analyze for TimestampArithmeticExpr

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #3784
Problem Summary(Required) ：

run starrocks_be_unittest

run starrocks_fe_unittest


[Bug]: There is no navigation bar for the About page.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
There is no navigation bar for the about page. Like other pages it may be very helpful to navigate other pages in the about page. Otherwise we cannot move to another pages without clicking browser back row.
Expected behavior
Need to add navigation bar for the about page with linking another pages.
Add ScreenShots

On which device are you experiencing this bug?
Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

I Would like to work on this kindly assign me the task..

I would like to kindly request to be assigned the task of adding a fully functional navigation bar that links to other pages like Home, Services, Contact Us, and Cart.

Hey! Please assign me this tast , i would like to work on this issue.

@ChathuraHasanga44 u are assigned


make file adjustments?

create and teardown all on fly.
works from here...
so its easy for users.
want to add to the make file ?
we can built it up ...

FLY_NAME=flyctl

FLY_APP_NAME=gedw99-$(MAIN_NAME)
FLY_DB_NAME=gedw99-$(MAIN_NAME)-db
FLY_CERT_NAME=$(MAIN_NAME).example.net

fly-create:
	$(FLY_NAME) apps create $(FLY_APP_NAME)
	$(FLY_NAME) postgres create -n $(FLY_DB_NAME)
	$(FLY_NAME) postgres attach -a $(FLY_APP_NAME) $(FLY_DB_NAME)

	$(FLY_NAME) secrets set TEST=tets-value
	#$(FLY_NAME) secrets set SESSION_SALT=<random string>
	#$(FLY_NAME) secrets set SITE_ROOT=https://pcom.com
	#$(FLY_NAME) secrets set MJ_APIKEY_PUBLIC=<public key from mailjet>
	#$(FLY_NAME) secrets set MJ_APIKEY_PRIVATE=<private key from mailjet>

	# https://fly.io/dashboard#
	# https://fly.io/apps/gedw99-galene
	# https://fly.io/apps/gedw99-galene-db
fly-create-del:
	# check dbs to App Mapping
	$(FLY_NAME) postgres db list --app $(FLY_DB_NAME)
	# delete Mapping of App to db
	$(FLY_NAME) postgres detach $(FLY_DB_NAME)

	# del the db
	$(FLY_NAME) apps destroy $(FLY_DB_NAME)

	# check the apps
	$(FLY_NAME) apps list
	# del app
	$(FLY_NAME) apps delete $(FLY_APP_NAME)

👌

Question
can we regen without stomping on all the code in icon ? I assume not ?
I wrote generators for db level and api level on a few projects , go go-cli is really a scaffolder .
Sql boiler is the generator .
If you could add to the readme to explain there aspects it would be good


Issue regarding the embedding of subtitles

I have a video file in MKV Format with the following information:
General
Unique ID                                :<PHONE_NUMBER>95963505082473410969543873118 (0x6A9D1B43087C65CA09F87D670317925E)
Complete name                            : Z:\Test - Test\Tag\Tag 2\2A - 1V - 5T\Source.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 33.8 MiB
Duration                                 : 2 min 1 s
Overall bit rate                         : 2 340 kb/s
Encoded date                             : UTC 2020-11-04 17:02:47
Writing application                      : mkvmerge v50.0.0 ('Awakenings') 64-bit
Writing library                          : libebml v1.4.0 + libmatroska v1.6.2
Cover                                    : Yes
Attachments                              : cover.jpg

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L4@Main
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 2 min 0 s
Bit rate                                 : 1 821 kb/s
Width                                    : 1 920 pixels
Height                                   : 800 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (23976/1000) FPS
Original frame rate                      : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.049
Stream size                              : 26.1 MiB (77%)
Writing library                          : x265 3.3+4-rarbg-30eb4de83092:[Linux][GCC 8.3.1][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=4 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x800 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=2000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0
Language                                 : English
Default                                  : Yes
Forced                                   : No

Audio #1
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 2 min 0 s
Bit rate mode                            : Constant
Bit rate                                 : 256 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Delay relative to video                  : -6 ms
Stream size                              : 3.66 MiB (11%)
Language                                 : English
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No

Audio #2
ID                                       : 3
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : A_AAC-2
Duration                                 : 2 min 0 s
Bit rate                                 : 224 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Delay relative to video                  : -43 ms
Stream size                              : 3.21 MiB (9%)
Language                                 : English
Default                                  : No
Forced                                   : No

Text #1
ID                                       : 4
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 54 s 622 ms
Bit rate                                 : 118 b/s
Count of elements                        : 26
Stream size                              : 807 Bytes (0%)
Language                                 : English
Default                                  : Yes
Forced                                   : No

Text #2
ID                                       : 5
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 1 min 8 s
Bit rate                                 : 81 b/s
Count of elements                        : 19
Stream size                              : 694 Bytes (0%)
Language                                 : French
Default                                  : No
Forced                                   : No

Text #3
ID                                       : 6
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 54 s 137 ms
Bit rate                                 : 124 b/s
Count of elements                        : 26
Stream size                              : 843 Bytes (0%)
Language                                 : Spanish
Default                                  : No
Forced                                   : No

Text #4
ID                                       : 7
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 54 s 622 ms
Bit rate                                 : 195 b/s
Count of elements                        : 26
Stream size                              : 1.31 KiB (0%)
Language                                 : Persian
Default                                  : No
Forced                                   : No

Text #5
ID                                       : 8
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 54 s 622 ms
Bit rate                                 : 120 b/s
Count of elements                        : 25
Stream size                              : 822 Bytes (0%)
Language                                 : Turkish
Default                                  : No
Forced                                   : No

Here is the AutoProcess.ini regarding subtitles:
[Subtitle]
codec = mov_text
codec-image-based =
languages = eng, fre, per
default-language = eng
first-stream-of-language = False
encoding =
burn-subtitles = False
burn-dispositions =
download-subs = False
download-hearing-impaired-subs = False
download-providers =
embed-subs = True
embed-image-subs = False
embed-only-internal-subs = False
filename-dispositions = forced
ignore-embedded-subs = False
ignored-dispositions =
unique-dispositions = False
attachment-codec =

Expected behavior:
Subtitles in English, French, and Persian languages are embedded. Subtitles in Turkish and Spanish languages are discarded.
Result:
Subtitle in English language is embedded. Subtitles in French, Persian, Turkish, and Spanish languages are discarded.
Any idea?

Please post logs of the conversion for this one

Please post logs of the conversion for this one

Here is the log:
2020-11-04 21:47:56 - MANUAL - INFO - Manual processor started.
2020-11-04 21:47:56 - MANUAL - INFO - /usr/local/bin/python3
2020-11-04 21:47:56 - MANUAL - INFO - Loading config file /volume1/Amir Synology/Local SMA/config/autoProcess.ini.
2020-11-04 21:47:59 - MANUAL - INFO - Matched movie title as: The Craft: Legacy 2020-10-28 (TMDB ID: 590995)
2020-11-04 21:47:59 - MANUAL - INFO - Processing The Craft: Legacy
2020-11-04 21:47:59 - MANUAL - INFO - Input Data
2020-11-04 21:47:59 - MANUAL - INFO - {
    "video": {
        "field_order": "unknown",
        "fps": 23.976023976023978,
        "dimensions": "1920x800",
        "index": 0,
        "codec": "hevc",
        "pix_fmt": "yuv420p10le",
        "level": 12.0,
        "profile": "main 10"
    },
    "subtitle": [
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "eng",
            "index": 3,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fra",
            "index": 4,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "spa",
            "index": 5,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fas",
            "index": 6,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "tur",
            "index": 7,
            "codec": "subrip"
        }
    ],
    "format-fullname": "Matroska / WebM",
    "format": "matroska,webm",
    "attachment": [],
    "audio": [
        {
            "bitrate": 256000,
            "language": "eng",
            "index": 1,
            "codec": "ac3",
            "channels": 2,
            "samplerate": 48000,
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired"
        },
        {
            "language": "eng",
            "index": 2,
            "codec": "aac",
            "channels": 6,
            "samplerate": 48000,
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired"
        }
    ]
}
2020-11-04 21:47:59 - MANUAL - INFO - Reading video stream.
2020-11-04 21:47:59 - MANUAL - INFO - Video codec detected: hevc.
2020-11-04 21:47:59 - MANUAL - INFO - Pix Fmt: yuv420p10le.
2020-11-04 21:47:59 - MANUAL - INFO - Profile: main 10.
2020-11-04 21:47:59 - MANUAL - INFO - Video codec parameters None.
2020-11-04 21:47:59 - MANUAL - INFO - Creating copy video stream from source stream 0.
2020-11-04 21:47:59 - MANUAL - INFO - Reading audio streams.
2020-11-04 21:47:59 - MANUAL - INFO - Audio detected for stream 2 - aac eng 6 channel.
2020-11-04 21:47:59 - MANUAL - INFO - Creating ac3 audio stream source audio stream 2 [universal-audio].
2020-11-04 21:47:59 - MANUAL - INFO - Creating copy audio stream from source stream 2.
2020-11-04 21:47:59 - MANUAL - INFO - Audio detected for stream 1 - ac3 eng 2 channel.
2020-11-04 21:47:59 - MANUAL - INFO - Creating copy audio stream from source stream 1.
2020-11-04 21:47:59 - MANUAL - INFO - Default audio stream set to eng copy 6 channel stream [default-more-channels: True].
2020-11-04 21:47:59 - MANUAL - INFO - Reading subtitle streams.
2020-11-04 21:47:59 - MANUAL - INFO - Text-based subtitle detected for stream 3 - subrip eng.
2020-11-04 21:47:59 - MANUAL - INFO - Creating mov_text subtitle stream from source stream 3.
2020-11-04 21:47:59 - MANUAL - INFO - Text-based subtitle detected for stream 4 - subrip fra.
2020-11-04 21:48:00 - MANUAL - INFO - Text-based subtitle detected for stream 5 - subrip spa.
2020-11-04 21:48:00 - MANUAL - INFO - Text-based subtitle detected for stream 6 - subrip fas.
2020-11-04 21:48:00 - MANUAL - INFO - Text-based subtitle detected for stream 7 - subrip tur.
2020-11-04 21:48:00 - MANUAL - INFO - Scanned for external subtitles and found 0 results in your approved languages.
2020-11-04 21:48:00 - MANUAL - INFO - Tagging copied video stream as hvc1
2020-11-04 21:48:00 - MANUAL - INFO - Output Data
2020-11-04 21:48:00 - MANUAL - INFO - {
    "video": {
        "bitrate": 2340.241,
        "crf": -1,
        "title": "FHD",
        "debug": "video",
        "width": null,
        "maxrate": null,
        "pix_fmt": null,
        "preset": null,
        "field_order": "unknown",
        "map": 0,
        "params": null,
        "filter": null,
        "codec": "copy",
        "level": 0.0,
        "profile": null,
        "bufsize": null
    },
    "subtitle": [
        {
            "language": "eng",
            "title": "",
            "debug": "subtitle.embed-subs",
            "codec": "mov_text",
            "disposition": "-lyrics+default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "map": 3
        }
    ],
    "format": "mp4",
    "source": [
        "Source - Copy.mkv"
    ],
    "attachment": [],
    "audio": [
        {
            "bitrate": 256,
            "language": "eng",
            "title": "Stereo",
            "filter": null,
            "codec": "ac3",
            "debug": "universal-audio",
            "samplerate": null,
            "channels": 2,
            "map": 2,
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired"
        },
        {
            "bitrate": 1536,
            "language": "eng",
            "title": "5.1 Channel",
            "filter": null,
            "bsf": null,
            "codec": "copy",
            "debug": "audio",
            "samplerate": null,
            "channels": 6,
            "map": 2,
            "disposition": "-lyrics+default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired"
        },
        {
            "bitrate": 256,
            "language": "eng",
            "title": "Stereo",
            "filter": null,
            "bsf": null,
            "codec": "copy",
            "debug": "universal-audio",
            "samplerate": null,
            "channels": 2,
            "map": 1,
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired"
        }
    ]
}
2020-11-04 21:48:00 - MANUAL - INFO - Preopts
2020-11-04 21:48:00 - MANUAL - INFO - [
    "-fix_sub_duration"
]
2020-11-04 21:48:00 - MANUAL - INFO - Postopts
2020-11-04 21:48:00 - MANUAL - INFO - [
    "-threads",
    "0",
    "-metadata:g",
    "encoding_tool=SMA",
    "-tag:v",
    "hvc1"
]
2020-11-04 21:48:00 - MANUAL - INFO - Starting conversion.
2020-11-04 21:48:00 - MANUAL - INFO - FFmpeg command:
2020-11-04 21:48:00 - MANUAL - INFO - ======================
2020-11-04 21:48:00 - MANUAL - INFO - /usr/local/bin/ffmpeg -fix_sub_duration -i Source - Copy.mkv -vcodec copy -map 0:0 -metadata:s:v title=FHD -metadata:s:v handler_name=FHD -c:a:0 ac3 -map 0:2 -ac:a:0 2 -b:a:0 256k -metadata:s:a:0 BPS=256000 -metadata:s:a:0 BPS-eng=256000 -metadata:s:a:0 title=Stereo -metadata:s:a:0 handler_name=Stereo -metadata:s:a:0 language=eng -disposition:a:0 -lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired-captions -c:a:1 copy -map 0:2 -metadata:s:a:1 title=5.1 Channel -metadata:s:a:1 handler_name=5.1 Channel -metadata:s:a:1 language=eng -disposition:a:1 -lyrics+default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired-captions -c:a:2 copy -map 0:1 -metadata:s:a:2 title=Stereo -metadata:s:a:2 handler_name=Stereo -metadata:s:a:2 language=eng -disposition:a:2 -lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired-captions -c:s:0 mov_text -map 0:3 -metadata:s:s:0 title= -metadata:s:s:0 handler_name= -metadata:s:s:0 language=eng -disposition:s:0 -lyrics+default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired-captions -f mp4 -threads 0 -metadata:g encoding_tool=SMA -tag:v hvc1 -y /volume1/video/Test - Test/Tag/Tag 2/2A - 1V - 5T/Source - Copy.mp4
2020-11-04 21:48:00 - MANUAL - INFO - ======================
2020-11-04 21:48:01 - MANUAL - INFO - /volume1/video/Test - Test/Tag/Tag 2/2A - 1V - 5T/Source - Copy.mp4 created.
2020-11-04 21:48:01 - MANUAL - INFO - Tagging file: /volume1/video/Test - Test/Tag/Tag 2/2A - 1V - 5T/Source - Copy.mp4.
2020-11-04 21:48:04 - MANUAL - INFO - Trying to write tags.
2020-11-04 21:48:04 - MANUAL - INFO - Tags written successfully using mutagen.
2020-11-04 21:48:04 - MANUAL - INFO - Relocating MOOV atom to start of file.

There's your issue
    "subtitle": [
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "eng",
            "index": 3,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fra",
            "index": 4,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "spa",
            "index": 5,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fas",
            "index": 6,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "tur",
            "index": 7,
            "codec": "subrip"
        }

You have used the wrong 3 letter language codes for the 2 languages that aren't working
You should use fra not fre and fas not pre or just add all of them to your language list
MediaInfo isnt' super helpful since the script uses FFProbe to pull all the data. You would be better served to check info using that for the future

There's your issue
    "subtitle": [
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "eng",
            "index": 3,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fra",
            "index": 4,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "spa",
            "index": 5,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "fas",
            "index": 6,
            "codec": "subrip"
        },
        {
            "disposition": "-lyrics-default-original-comment-visual_impaired-forced-karaoke-dub-hearing_impaired",
            "language": "tur",
            "index": 7,
            "codec": "subrip"
        }

You have used the wrong 3 letter language codes for the 2 languages that aren't working
You should use fra not fre and fas not pre or just add all of them to your language list
MediaInfo isnt' super helpful since the script uses FFProbe to pull all the data. You would be better served to check info using that for the future

I have written the 3-chacater codes according to "ISO 639-2/B". What you suggested is 3-chacater codes according to "ISO 639-2/T". So all language codes should be based on "ISO 639-2/T"?

Its based on whatever the person who encoded the video you're using as your input decided to use

Its based on whatever the person who encoded the video you're using as your input decided to use

So it's looks more logical to keep all variations as below?
languages = eng, fre, fra, per, fas

Yeah that should catch all possible scenarios

Thanks!


Provide interpreters with several monad instances

This PR:

Provides implicit interpreters for cats.Id, cats.Eval, Future and scalaz.Task.
Isolates scalaz dependency in other module.
Adds examples of use in documentation (tut).
Removes com.typesafe.config dependency.

@dialelo @raulraja Could you review please? Thank you.

Awesome work!

[Current coverage][cc-pull] is 0.68%

Merging [#18][cc-pull] into [master][cc-base-branch] will increase coverage by 0.68%

@@            master       #18   diff @@
========================================
  Files           15        14     -1
  Lines          148       147     -1
  Methods          0         0
  Messages         0         0
  Branches         1         1
========================================
+ Hits             0         1     +1
+ Misses         148       146     -2
  Partials         0         0

Powered by Codecov. Last updated by [63674ae...e24321f][cc-compare]
[cc-base-branch]: https://codecov.io/gh/47deg/github4s/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/47deg/github4s/compare/63674ae1a01764880f8541e059877f5b9480fbf4...e24321f45de03e4035f9613af4e0ee33e8f817a3
[cc-pull]: https://codecov.io/gh/47deg/github4s/pull/18?src=pr

Comments have been addressed.
@raulraja @dialelo does the code look good to you? Than you.

:shipit: LGTM


Live Stream for 2017 -  facebook live?

Thursday nights event.
Reaching out to Stephen Henshaw

We could periscope it ??

I was thinking periscope or even Facebook live. Thoughts? I can take the lead on this if desired.

Lenae please take this :)

Stephen can't make the event this year.

We can do this via Periscope or Facebook live. Have we done either in the past?

Not to my knowledge, first time is a charm ;)

Will either of those allow us to save the video for later viewing. the a/v guys
at the conference I was at last week said no.
Chris Mathews
On Wed, Sep 21, 2016 8:59 PM, Jason Hibbets<EMAIL_ADDRESS>wrote:
Not to my knowledge, first time is a charm ;)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I and another CfG member are going to try to capture some footage on our mobile devices for local promotional stuff. I'm not sure of the quality we will get, but I am bringing a small tri-pod. Happy to share anything we capture.

At a minimum, we'll have audio which we can mix with slides.
On Wed, Sep 21, 2016 at 9:32 PM, Jason Marshall<EMAIL_ADDRESS>wrote:

I and another CfG member are going to try to capture some footage on our
mobile devices for local promotional stuff. I'm not sure of the quality we
will get, but I am bringing a small tri-pod. Happy to share anything we
capture.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/64#issuecomment-248789903,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADgoVwz2mWOGqV__3E1PyZ75mvC4EzjSks5qsdrIgaJpZM4IVw-B
.

I am going to run periscope for tonight. For tomorrow I can also do that for the keynote and panel. Do anyone have a tripod for mobile devices?

Or a selfie stick will work too

We have a selfie stick.
On Thursday, September 22, 2016, lenaecb<EMAIL_ADDRESS>wrote:

Or a selfie stick will work too
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/64#issuecomment-248963699,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOGtbOmQhfhHfh0TnPGXblgab3hY4P8ks5qsrPigaJpZM4IVw-B
.

--
Chris Mathews

With us
On Thursday, September 22, 2016, Chris Mathews<EMAIL_ADDRESS>wrote:

We have a selfie stick.
On Thursday, September 22, 2016, lenaecb<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

Or a selfie stick will work too
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/64#issuecomment-248963699,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOGtbOmQhfhHfh0TnPGXblgab3hY4P8ks5qsrPigaJpZM4IVw-B
.

--
Chris Mathews

--
Chris Mathews

I also have one and brought it.
On Sep 22, 2016 1:01 PM, "Chris Mathews"<EMAIL_ADDRESS>wrote:

With us
On Thursday, September 22, 2016, Chris Mathews<EMAIL_ADDRESS>wrote:

We have a selfie stick.
On Thursday, September 22, 2016, lenaecb<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

Or a selfie stick will work too
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/codeforraleigh/CityCampNC/issues/64#issuecomment-
248963699>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAOGtbOmQhfhHfh0TnPGXblgab3hY4P8ks5qsrPigaJpZM4IVw-B>
.

--
Chris Mathews

--
Chris Mathews
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/CityCampNC/issues/64#issuecomment-248964194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB3Ie-n-NARcJqedShscd9dtGPGdRFROks5qsrRRgaJpZM4IVw-B
.

I am so impressed with the abundance of selfie sticks! Finishing up some work now then heading over

evidently we are very vain
Chris Mathews
On Thu, Sep 22, 2016 2:13 PM, lenaecb<EMAIL_ADDRESS>wrote:
I am so impressed with the abundance of selfie sticks! Finishing up some work
now then heading over
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Any chance we can document the process for capturing live feed with Periscope and downloading the files to use for marketing in the future?

I'd like to bump this one . Can the marketing folks decide which platform(s) we would want to have a live stream presence on, prioritize them, and then logistics can work the steps to make it happen. (gear we need, set up, accounts, whatever)
Open to discussing, maybe this can be figured out at the May 31 marketing meeting? (prior to the general meeting on June 12)

@dtraleigh @jhibbets @suzanneccnc Circling back to this when going through Waffle cards....
If there hasn't been a decision on this, here are my thoughts:
Using  facebook live will allow us to have the content available on fb after we're done recording so people could watch the replay (not a feature with periscope I don't think?) and I believe we can make the livestream 'public' so you don't have to be logged in to facebook. There is also a feature for embedding the live video on websites using html if we wanted to embed the video on one of our web properties like ncopenpass.com/live or something like that. I also checked to make sure we can stream directly from the citycampnc page (rather than a personal account), and we can. Looks like you can also use streaming software to set up the feed, but I'll let you look into that one further, Leo. :)
My 2 cents would be to try FB live because it has 2 important advantages over periscope: 1) we can leverage our existing FB community, and potentially grow it, but not require log in and 2) we can have the content available for watching afterwards  (beyond 24 hour replay)
Thoughts?

Sounds good to me. I'll pursue this assuming we will stream via Facebook
Live.
On Mon, Jul 24, 2017 at 3:48 PM, Ashley<EMAIL_ADDRESS>wrote:

Assigned #64 https://github.com/codeforraleigh/NCOpenPass/issues/64 to
@dtraleigh https://github.com/dtraleigh.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/NCOpenPass/issues/64#event-1176782436,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB3Ie-nBXc6hmq3_YFbK0Z5Ct4mE-OnAks5sRPTwgaJpZM4IVw-B
.

Best solution I've found so far is a Mevo.
https://www.getmevo.com/collections/cameras
We can mount it on a tripod, connect it to power, wifi, and let it stream to Facebook. No need for anyone to monitor it but in case someone does want to, we can do live video editing via the app. A smartphone is not required if the camera has wifi but it can stream to the smartphone over data. (if we ever needed that kind of thing) We also get a local copy as it saves to an SD card. Cost is about $400.
A GoPro would work but requires a smartphone to act as the hotspot. More on that in the doc below.
Below this price point, we would need a dedicated phone or camera connected to a laptop. The DIY route brings the price down but we need folks to volunteer their gear for the weekend, therefore I would like others to consider the Mevo. Does anyone have any other ideas? I'm open to looking into this further, my notes documented here: https://docs.google.com/document/d/1znSJdWJQ0zXqoMACiJ4dfZiBRs3zQBEWToJV3m_Z4Jg/edit?usp=sharing
What does everyone think?

That looks good. The Amazon reviews and comments seem to indicate it would
do what we need. Good find.
Chris Mathews
On Sun, Jul 30, 2017 at 2:43 PM, Leo Suarez<EMAIL_ADDRESS>wrote:

Best solution I've found so far is a Mevo.
https://www.getmevo.com/collections/cameras
We can mount it on a tripod, connect it to power, wifi, and let it stream
to Facebook. No need for anyone to monitor it but in case someone does want
to, we can do live video editing via the app. A smartphone is not required
if the camera has wifi but it can stream to the smartphone over data. (if
we ever needed that kind of thing) We also get a local copy as it saves to
an SD card. Cost is about $400.
A GoPro would work but requires a smartphone to act as the hotspot. More
on that in the doc below.
Below this price point, we would need a dedicated phone or camera
connected to a laptop. The DIY route brings the price down but we need
folks to volunteer their gear for the weekend, therefore I would like
others to consider the Mevo. Does anyone have any other ideas? I'm open to
looking into this further, my notes documented here:
https://docs.google.com/document/d/1znSJdWJQ0zXqoMACiJ4dfZiBRs3zQ
BEWToJV3m_Z4Jg/edit?usp=sharing
What does everyone think?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/codeforraleigh/NCOpenPass/issues/64#issuecomment-318920923,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOGtZ7AeIB5iu99goYya6jWwK_LtzlHks5sTM7LgaJpZM4IVw-B
.

Unless we hear about another option from @aikimark, the plan is to go with a Mevo.
Plan is to purchase one on Fri 8/11.

Does anyone think this is reputable?  I'm going to close this item and add a new one for a test run.

My A/V guy said that sound quality was most important


Python 3 support

In starting to look at elliott I noticed a number of possible issues with python3 support in the code base.  Below are a few that I saw so far.

tox missing py3 target (available in the python-3 branch)
setup.py is missing test deps
print() issue
urlparse error
unicode
absolute vs relative imports
iteritems
dict values() is view not a list in python3
contextlib.next was replace by ExitStack  (in a unittest)
unittests and elliottlib.assertions.FileNotFoundError and ChildProcessError are not working in py3

I did see pull request #82 started looking at this

Looks like there is topic branch of python-3 with some work

Fixed by #85 and #104.


Remove libsndfile from Android script

Looking at tools/android/compile_libs.sh and also download_sources.sh libsndfile is still being downloaded and built. Im not to terribly familiar with the android build chain, but since we got rid of libsndfile long ago I can't imagine it still being needed. If nobody has to say anything against it I will submit a PR.

I am not so sure as those script are only concerned with downloading and building the 3rd party libraries. And to my understanding the CMake script only builds SFML and links those libraries. I might be wrong though. Ping @MarioLiebisch 😃

This seems like an easy fix. And an important one too, I think not cluttering the users hard drive by not downloading and build an unneed lib is worth it. Maybe the author knows @Sonkun? Or maybe @texus @MarioLiebisch


caption-side: block-XXX does not exist in the CSS specification

Describe the bug
The logical value of caption-side is only inline-start and inline-end. 👉CSS Spec

The existing top and bottom values are idiosyncratically redefined as assigning to the block-start and block-end sides of the table, respectively.

Expected behavior
The following CSS will not cause an error.
.caption-block-start {
	caption-side: top;
}

.caption-block-end {
	caption-side: bottom;
}

Additional context

Proposal to add block-XXX to the CSS specification 👉w3c/csswg-drafts/issues/9623
PR to correct MDN documentation 👉mdn/content/pull/30291

I just published V1.2.1 which removes this block-axis check for caption-side.
Thanks again for reporting, and let me know if you have any issues with this update.


Create dropdown response type for web sdk (FOR-20)

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Failed to resolve versions

Component
Forge
Describe the feature you would like
When I run forge build on rio-network protocol, I got this output and there no information how to fix it:
Mac rio-sherlock-audit % forge build
[⠃] Compiling...2024-02-21T17:50:17.053978Z ERROR foundry_compilers::resolver: failed to resolve versions
[⠊] Compiling...
Error:
Encountered invalid solc version in contracts/interfaces/IRioLRT.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTAVSRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTAssetRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTDepositPool.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTIssuer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTOperatorDelegator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTOperatorRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTRewardDistributor.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/IRioLRTWithdrawalQueue.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBLSPublicKeyCompendium.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeacon.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeaconChainOracle.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IBeaconChainProofs.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IDelayedWithdrawalRouter.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IDelegationManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IETHPOSDeposit.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IEigenPod.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IEigenPodManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IPaymentCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IRegistryCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/ISignatureUtils.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/ISlasher.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStakeRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStrategy.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/eigenlayer/IStrategyManager.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/oracle/IChainlinkAggregatorV3.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/interfaces/oracle/IPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/oracle/ChainlinkPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRT.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTAVSRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTAssetRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTCoordinator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTDepositPool.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTIssuer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTOperatorDelegator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTOperatorRegistry.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTRewardDistributor.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/RioLRTWithdrawalQueue.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/base/RioLRTCore.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/restaking/storage/RioLRTOperatorRegistryStorageV1.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/token/RioToken.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Array.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Asset.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Constants.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/LRTAddressCalculator.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/Memory.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorOperations.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorRegistryV1Admin.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/OperatorUtilizationHeap.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in contracts/utils/ValidatorDetails.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/DeployRioIssuer.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/DeployRioToken.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/IssueRestakedEther.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/base/ScriptBase.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in script/goerli/AddOperatorsGoerli.s.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/Asset.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/ChainlinkPriceFeed.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/OperatorUtilizationHeap.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRT.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTAVSRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTAssetRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTCoordinator.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTDepositPool.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTIssuer.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTOperatorDelegator.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTOperatorRegistry.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTRewardDistributor.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/RioLRTWithdrawalQueue.t.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/EigenLayerDeployer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/EmptyContract.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockChainlinkPriceSource.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockERC20.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockPriceFeed.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/MockStrategy.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/RioDeployer.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/TestUtils.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/BeaconChainProofs.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/Endian.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/Merkle.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/MockBeaconChain.sol: No solc version exists that matches the version requirement: =0.8.23
Encountered invalid solc version in test/utils/beacon-chain/MockBeaconChainOracle.sol: No solc version exists that matches the version requirement: =0.8.23

Additional context
I already tried to use solc-select 0.8.23 but there no change

Making the solc version in all folders same might help.

Hi @radin200 did you manage to resolve this in the end?
I'm unable to reproduce your error on Linux.
Please refer to https://book.getfoundry.sh/faq#im-getting-solc-errors for details on Solc errors, specifically for MacOS on Apple silicon.
Feel free to re-open if you are able to reproduce the issue after following the recommended steps.
For context: OP refers to this repo: https://github.com/sherlock-audit/2024-02-rio-network-core-protocol


Modify YOLOv3 backbone from DarkNet to AdderNet

How to correctly modify https://github.com/eriklindernoren/PyTorch-YOLOv3 to use https://github.com/huawei-noah/AdderNet ?
The following colab ipynb notebook is what I have so far with the helps of others:
https://colab.research.google.com/drive/1VCafwykgNKAO6144LssBFFy0TmruDNSE#scrollTo=W3e-WcVxnKfs
How to solve the error on this models.py file ?

Namespace(batch_size=8, class_path='data/coco.names', conf_thres=0.001, data_config='config/coco.data', img_size=416, iou_thres=0.5, model_def='config/yolov3.cfg', n_cpu=8, nms_thres=0.5, weights_path='weights/yolov3.weights')
Traceback (most recent call last):
  File "test.py", line 84, in <module>
    model.load_darknet_weights(opt.weights_path)
  File "/content/PyTorch-YOLOv3/models.py", line 321, in load_darknet_weights
    num_w = conv_layer.weight.numel()
  File "/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py", line 576, in __getattr__
    type(self).__name__, name))
AttributeError: 'adder2d' object has no attribute 'weight'

'adder2d' object has no attribute 'weight', you may change the definition of self.adder with self.weight in class adder2d.

@summeryumyee
You should use modification in the following class :
class adder2d(nn.Module):

    def __init__(self,input_channel,output_channel,kernel_size, stride=1, padding=0, bias = False):
        super(adder2d, self).__init__()
        self.stride = stride
        self.padding = padding
        self.input_channel = input_channel
        self.output_channel = output_channel
        self.kernel_size = kernel_size
        self.adder = torch.nn.Parameter(nn.init.normal_(torch.randn(output_channel,input_channel,kernel_size,kernel_size)))
        self.bias = bias
        if bias:
            self.b = torch.nn.Parameter(nn.init.uniform_(torch.zeros(output_channel)))

    def forward(self, x):
        output = adder2d_function(x,self.adder, self.stride, self.padding)
        if self.bias:
            output += self.b.unsqueeze(0).unsqueeze(2).unsqueeze(3)

        return output

@HantingChen
The difference between the original models.py and modified models.py is the root cause of GPU out-of-memory runtime error.
def conv2d(in_channels, out_channels, kernel_size, stride, padding, bias):
    """3x3 or 1x1 convolution with padding"""
    return adder.adder2d(in_channels, out_channels, kernel_size=kernel_size, stride=stride,
                     padding=padding, bias=bias)

@HantingChen What is the purpose of the following code snippet ?
        if stride != 1 or self.inplanes != planes * block.expansion:
            downsample = nn.Sequential(
                adder.adder2d(self.inplanes, planes * block.expansion, kernel_size=1, stride=stride, bias=False),
                nn.BatchNorm2d(planes * block.expansion)
            )

@promach
Thank you for your answer. I'll try it now.

@GZQ0723
According to AdderNet paper theoretical explanation about smaller gradient with respect to filters and the use of adaptive learning rate as the countermeasure solution to this problem and the explanation on new_cdist() function ,
the back-propagation equation for AdderNet had already included the concept of adaptive learning rate.
So, I still do not understand why training AdderNet requires significantly more GPU memory ?

@ranery @HantingChen @GZQ0723 See https://discuss.pytorch.org/t/understanding-cdist-function/76296/8 and the also the rest of the replies.

@HantingChen What is the purpose of the following code snippet ?
    def _make_layer(self, block, planes, blocks, stride=1):
        downsample = None
        if stride != 1 or self.inplanes != planes * block.expansion:
            downsample = nn.Sequential(
                adder.adder2d(self.inplanes, planes * block.expansion, kernel_size=1, stride=stride, bias=False),
                nn.BatchNorm2d(planes * block.expansion)
            )

        layers = []
        layers.append(block(inplanes = self.inplanes, planes = planes, stride = stride, downsample = downsample))
        self.inplanes = planes * block.expansion
        for _ in range(1, blocks):
            layers.append(block(inplanes = self.inplanes, planes = planes))

        return nn.Sequential(*layers)

It is the definition of ResNet.

@ranery @HantingChen @GZQ0723 See https://discuss.pytorch.org/t/understanding-cdist-function/76296/8 and the also the rest of the replies.

If you want to train AdderNet, I sincerely suggest that you should imply cuda version for AdderNet instead of trying to write new cdist function. Cuda version of AdderNet will largely speed up the training and reduce the memory usage.

@HantingChen What do you exactly mean by cuda version of AdderNet ?
Since AdderNet currently does not provide backward propagation code for training purpose, @ranery coded the backward propagation new_cdist() which includes the torch.cdist() function.

@HantingChen What do you exactly mean by cuda version of AdderNet ?
Since AdderNet currently does not provide backward propagation code for training purpose, @ranery coded the backward propagation new_cdist() which includes the torch.cdist() function.

You can refer to https://pytorch.org/tutorials/advanced/cpp_extension.html.

@HantingChen
You mean using the C++ extension of PyTorch as shown below ?
std::vector<torch::Tensor> lltm_backward(
    torch::Tensor grad_h,
    torch::Tensor grad_cell,
    torch::Tensor new_cell,
    torch::Tensor input_gate,
    torch::Tensor output_gate,
    torch::Tensor candidate_cell,
    torch::Tensor X,
    torch::Tensor gate_weights,
    torch::Tensor weights) {
  auto d_output_gate = torch::tanh(new_cell) * grad_h;
  auto d_tanh_new_cell = output_gate * grad_h;
  auto d_new_cell = d_tanh(new_cell) * d_tanh_new_cell + grad_cell;

  auto d_old_cell = d_new_cell;
  auto d_candidate_cell = input_gate * d_new_cell;
  auto d_input_gate = candidate_cell * d_new_cell;

  auto gates = gate_weights.chunk(3, /*dim=*/1);
  d_input_gate *= d_sigmoid(gates[0]);
  d_output_gate *= d_sigmoid(gates[1]);
  d_candidate_cell *= d_elu(gates[2]);

  auto d_gates =
      torch::cat({d_input_gate, d_output_gate, d_candidate_cell}, /*dim=*/1);

  auto d_weights = d_gates.t().mm(X);
  auto d_bias = d_gates.sum(/*dim=*/0, /*keepdim=*/true);

  auto d_X = d_gates.mm(weights);
  const auto state_size = grad_h.size(1);
  auto d_old_h = d_X.slice(/*dim=*/1, 0, state_size);
  auto d_input = d_X.slice(/*dim=*/1, state_size);

  return {d_old_h, d_input, d_weights, d_bias, d_old_cell};
}

@HantingChen
You mean using the C++ extension of PyTorch as shown below ?
std::vector<torch::Tensor> lltm_backward(
    torch::Tensor grad_h,
    torch::Tensor grad_cell,
    torch::Tensor new_cell,
    torch::Tensor input_gate,
    torch::Tensor output_gate,
    torch::Tensor candidate_cell,
    torch::Tensor X,
    torch::Tensor gate_weights,
    torch::Tensor weights) {
  auto d_output_gate = torch::tanh(new_cell) * grad_h;
  auto d_tanh_new_cell = output_gate * grad_h;
  auto d_new_cell = d_tanh(new_cell) * d_tanh_new_cell + grad_cell;

  auto d_old_cell = d_new_cell;
  auto d_candidate_cell = input_gate * d_new_cell;
  auto d_input_gate = candidate_cell * d_new_cell;

  auto gates = gate_weights.chunk(3, /*dim=*/1);
  d_input_gate *= d_sigmoid(gates[0]);
  d_output_gate *= d_sigmoid(gates[1]);
  d_candidate_cell *= d_elu(gates[2]);

  auto d_gates =
      torch::cat({d_input_gate, d_output_gate, d_candidate_cell}, /*dim=*/1);

  auto d_weights = d_gates.t().mm(X);
  auto d_bias = d_gates.sum(/*dim=*/0, /*keepdim=*/true);

  auto d_X = d_gates.mm(weights);
  const auto state_size = grad_h.size(1);
  auto d_old_h = d_X.slice(/*dim=*/1, 0, state_size);
  auto d_input = d_X.slice(/*dim=*/1, state_size);

  return {d_old_h, d_input, d_weights, d_bias, d_old_cell};
}

cuda extension

This line of code : auto d_gates = torch::cat({d_input_gate, d_output_gate, d_candidate_cell}, /*dim=*/1); contains contiguous call which will consume excessive GPU memory.

This line of code : auto d_gates = torch::cat({d_input_gate, d_output_gate, d_candidate_cell}, /*dim=*/1); contains contiguous call which will consume excessive GPU memory.

This is a example to tell you how to use cuda extension in pytorch, not the implementation of cdist.

@ranery
Please have a look at the dimension of some of the tensor variables in your back-propagation function implementation.
@staticmethod
def backward(ctx, grad_output):
    W, X = ctx.saved_tensors
    print("W size= ", W.size())
    print("X size= ", X.size())
    grad_W = grad_X = None
    if ctx.needs_input_grad[0]:
        _temp1 = torch.unsqueeze(X, 2).expand(X.shape[0], X.shape[1], W.shape[0]).permute(1, 0, 2)
        _temp2 = torch.unsqueeze(W.transpose(0, 1), 1)
        print("_temp1 size= ", _temp1.size())
        print("_temp2 size= ", _temp2.size())
        _temp = fast_cdist(_temp1, _temp2, p).squeeze().transpose(0, 1)
        print("_temp size= ", _temp.size())
        grad_W = torch.matmul(grad_output, _temp)
        print("grad_W size= ", grad_W.size())
        print('before norm: ', torch.norm(grad_W))
        grad_W = eta * np.sqrt(grad_W.numel()) / torch.norm(grad_W) * grad_W
        print('after norm: ', torch.norm(grad_W))
        print("grad_W size= ", grad_W.size())
    if ctx.needs_input_grad[1]:
        _temp1 = torch.unsqueeze(W, 2).expand(W.shape[0], W.shape[1], X.shape[0]).permute(1, 0, 2)
        _temp2 = torch.unsqueeze(X.transpose(0, 1), 1)
        _temp = fast_cdist(_temp1, _temp2, p).squeeze().transpose(0, 1)
        _temp = torch.nn.functional.hardtanh(_temp, min_val=-1., max_val=1.)
        grad_X = torch.matmul(grad_output.transpose(0, 1), _temp)
    return grad_W, grad_X

W size=  torch.Size([75, 256])
X size=  torch.Size([3872, 256])
_temp1 size=  torch.Size([256, 3872, 75])
_temp2 size=  torch.Size([256, 1, 75])
_temp size=  torch.Size([3872, 256])
grad_W size=  torch.Size([75, 256])
before norm:  tensor(nan, device='cuda:0')
after norm:  tensor(nan, device='cuda:0')
grad_W size=  torch.Size([75, 256])
W size=  torch.Size([256, 1152])
X size=  torch.Size([3872, 1152])
_temp1 size=  torch.Size([1152, 3872, 256])
_temp2 size=  torch.Size([1152, 1, 256])
Traceback (most recent call last):
  File "train.py", line 112, in <module>
    scaled_loss.backward()
  File "/usr/local/lib/python3.6/dist-packages/torch/tensor.py", line 198, in backward
    torch.autograd.backward(self, gradient, retain_graph, create_graph)
  File "/usr/local/lib/python3.6/dist-packages/torch/autograd/__init__.py", line 100, in backward
    allow_unreachable=True)  # allow_unreachable flag
RuntimeError: CUDA out of memory. Tried to allocate 4.25 GiB (GPU 0; 5.93 GiB total capacity; 2.94 GiB already allocated; 1.83 GiB free; 3.15 GiB reserved in total by PyTorch)

_temp1 = torch.unsqueeze(X, 2).expand(X.shape[0], X.shape[1], W.shape[0]).permute(1, 0, 2)
how can we re-write this line of code using lesser memory ?

@HantingChen Using CUDA version of AdderNet from https://github.com/jdnie/AdderNetCuda also resulted in out-of-memory error with batch_size = 8 for a 16GB GPU. Something is still not right.

It seems that the OOM error is gone for now by using Apex opt_level="02".
But training time is still too slow, the loss is too large to converge.
As a result, only TWO (2) out of 100 training epochs could finish in 10 hours.
Any advices ?
Note: I am already using a small VOC2017 dataset and batch_size = 8 for training.

@jdnie
I was using https://github.com/jdnie/AdderNetCuda in YOLOv3 training.
However, every epochs take too much time to finish. Do you have any idea why ?


Add option to preserve image tags in S3

Hello,
This is a feature request to add an option to preserve image tags in S3.
In my case there is some business logic related to S3 file tags and we need them kept.
Thanks,
Andrei

Refers to https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#putObject-property, Tagging or Metadata should be fine and it can declare at config.json


grass: 7.8.6 -> 8.0.1

Description of changes

Version bump of grass from 7.8 to 8.0. The number of modules to be adjusted with chmod +x has grown substantially between 7.x and 8.x, and I suspect this will become more of a maintenance burden ongoing, so I modified the derivation to just do it to all python files via a for loop.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

$ nix-env -f $NIXPKGS -iA grass
$ ~/.nix-profile/bin/grass
Starting GRASS GIS...
Cleaning up temporary files...

          __________  ___   __________    _______________
         / ____/ __ \/   | / ___/ ___/   / ____/  _/ ___/
        / / __/ /_/ / /| | \__ \\_  \   / / __ / / \__ \
       / /_/ / _, _/ ___ |___/ /__/ /  / /_/ // / ___/ /
       \____/_/ |_/_/  |_/____/____/   \____/___//____/

Welcome to GRASS GIS 8.0.1
GRASS GIS homepage:                      https://grass.osgeo.org
This version running through:            Z Shell (/bin/zsh)
Help is available with the command:      g.manual -i
See the licence terms with:              g.version -c
See citation options with:               g.version -x
If required, restart the GUI with:       g.gui wxpython
When ready to quit enter:                exit

Launching <wxpython> GUI in the background, please wait...
GRASS : nixpkgs > This program needs access to the screen. Please run with a                                                                                Mapset <PERMANENT> in <world_latlong_wgs84>
Framework build of python, and only when you are logged in
on the main display of your Mac.

As of now, the GUI still doesn't work on darwin, but that was true for grass 7 as well. I was able to run a few g.proj commands as an example test, so it seems like it's working okay in text mode.

Result of nixpkgs-review pr 165324 run on x86_64-darwin 1

1 package built:

grass

fails with:
/nix/store/x2zbyl2l4xayv4d5is0b31plfq8xjjym-binutils-2.35.2/bin/ld: cannot find -lgrass_vector.8.0
collect2: error: ld returned 1 exit status

My linux machine needs to finish chewing through the nixpkgs-review of #164879, but after that I'll diagnose here. Thanks!

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

3 packages built:

grass
qgis
qgis-ltr

@SuperSandro2000 I had to further adjust the patchShebangs checks to expand to all the new directories, which I think fixed the build. I fired up QGIS and tried running a few GRASS algorithms through its built-in integration and correct results are passing through, so I think this looks ready.

@mpickering let me know how this looks to you!

Other thoughts? I think this is ready for merge -- I can't think of an obvious clean way to get all the scripts to have checkShebangs run, short of specifically enumerating all of them, though I know the current process is a little overzealous.

Thanks!


UI - hosts step 2, second cut

Issue:

bcgov/entity/issues/24727

Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

Temporary Url for review: https://strr-platform-dev--pr-359-2mjzyn2k.web.app


Unhandled promise rejection ReferenceError: 'crypto' is undefined

In IE11, I am getting this error.

Is there any recommended polyfill to fix this issue?

Hey @yu-allen , you should use a polyfill to provide this. Here it fails probably because IE11 doesn't support the SubtleCrypto interface. https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto

Awesome, thanks for the info. We ended resolving using the Crypto Shim: https://github.com/vibornoff/webcrypto-shim


Making arcade-imgui into a proper package

Hello
This project can definitely be very useful for some people. There are a few things that should probably be done to make this package more accessible:

Make a proper package with setup.py so it can be pushed to PyPI and installable with pip
Make a custom renderer using the arcade.gl module instead of pyopengl
Clean up requirements
Make examples

I can make a PR on this repo if you are interested in maintaining this package. Otherwise we can always fork it.

That sounds great!  I merged eruvanos's PR.  Going to give Poetry a shot.  So far so good.
I published it to PyPi and used it inside a separate project with no problems
I'll clean up the docs.  There sort of confusing right now.
Thanks!

Great. I'll see if I can PR a renderer this weekend. Then we can get rid of pyopengl.


Configure daily deployment of main

We're not ready for automatic deployment on merge, but each day we should deploy the latest green version of main to the appropriate cloud.gov instance.

Daily at 7AM Eastern

Donesies! Confirmed auto deploy as expected was triggered this morning.


Live Share: loss of focus after clicking custom pin button in top editor bar

Repro Steps:-

Install Live Share extension for VSCode
Press customized keyboard shortcut for "Sign In using browser(Sign In)" to open the Sign In window in browser.
Open the link shared by host to join collaboration session in browser.
Then navigate till pin button present in the upper right corner
Verify whether there is loss of focus

Actual Result:-
There is loss of focus after we select or deselect the pin button
When we click on follow/unfollow button focus is missing
Expected Result:-
There should not be any loss of focus in the application
User Impact:-
Users will face difficulties while using the application if there is loss of focus
Note: Similar issue is observed in Mac as well.
MAS Reference:-
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={0de7fbe1-ad7e-48e5-bcbb-8d986691e2b9}
OS: Windows 10 Enterprise 17134.228

Please file this against the live share extension


Alerting monitor clients when log STH hasn't been updated for a while

This feature can be accomplished either in the infrastructure (a cron job or something similar runs the poll job; if n periods of the poll job never alerted the cron job that the poll found an updated STH the user is alerted via a piece of go code), or in the go code itself (for loop polls the log periodically and counts by itself).
I think taking care of this in the infrastructure makes more sense because the jobs themselves should be quick after they are run by the monitor, so periodic checks inside Go might not be what we're looking for.
What is your opinion on this? Also, I can work with someone from the infrastructure team on polling, the Go code required is almost done.

Now with stable checkpoints returned from Rekor, we will want this. We'll call this "checkpoint freshness", and a Verifier should alert if it remains stale for some time.