feat: add collection feature requests

This PR adds multiple requested features to the app, most notably:

improve confirmation of items in fourth pass
change from DropdownButtonFormFields to DropdownSearch widgets – this currently lack the support for dynamic height based on the number of items, so this is something to be added, as currently the hights are hardcoded and platform-specific for Android (this is tracked in Issue #41)
remove Formz completely from Collection and the whole app
add all missing fields of GibsonsForm compared to the physical form and thus achieve 100% feature-match
add collection status (paused or finished) and outcome (completed or incomplete and others) and corresponding
add collection duplication functionality for improved workflow of household data collection
add read-only mode for finished collections
fixes #44

* Is clicking on a collection meant to bring you back to the pass that you were on when you hit back? I remember this being the case at some point but is no longer so

AFAIK the functionality to bring you back to last pass has not yet been implemented. I we've had a discussion about it, but it wasn't a part of the last ICRISAT feature request doc. Happy to do something like that in the future though.

* Read-only mode is cool but navigating to 'view finishing information' to only then return to collection might be confusing. Since the finishing information page has grown considerably it might be worth making this a page on the horizontal bottom navigator, for a future PR ofc, this is fine for now

Yeah, I've been thinking about that as well! The reason why the FinishCollectionPage is separate is because the bottom navigation bar in CollectionPage is already packed fully with 5 pages. What might be interesting is somehow making it horizontally scrollable or thinking about some other design in the future, as I also agree that ideally, FinishCollectionPage, should just be another screen accessible from the bottom navigation bar in CollectionPage.

* duplicate collections look good! That said I think the option to duplicate should be a part of the collection itself instead of a button that is always present. This could be a part of the slidable widget. Of course the initial issue of hidden functionality is an issue, this could be solved with the user guide that is on the todo list potentially or via a "triple dot" option for each collection. Just thoughts for a future upgrade of this feature, for now this is sufficient

I like the "triple-dot" approach with a pop-up menu for each Collection, where one could also delete the collection and access any other functionality. An issue that comes to mind is that the ListTile of each collection is already quite packed, but it probably will be better to change the design to accommodate the "triple-dot" button in the future.

Re. the race condition and moving saving and loading to the same bloc, might be worth revisiting the previous thought you had about using one bloc to manage everything (storing collections in a list as part of collectionbloc's state etc) as a solution moving forward. This is fine for now of course

Re. the race condition and moving saving and loading to the same bloc, might be worth revisiting the previous thought you had about using one bloc to manage everything (storing collections in a list as part of collectionbloc's state etc) as a solution moving forward. This is fine for now of course

Yeah I very much agree the handling of collections by the homebloc is not optimal. It will definitely be a part of some refactoring next term.


invalid data source name

Fresh install of v9RC4 gives exception "PDOException: invalid data source name". I chose the database session handler during the install. Commenting out 'handler' => 'database' in the config file and the exception goes away.
If the database session handler is no longer supported, that option should go away in the installer.
If it is still supported then there is a bug.

Fixed by https://github.com/concrete5/concrete5/pull/9896 and will be in the next release candidate.


Fix grammar inside the config file

Fix every replies inside the config.json to have a proper english/grammar (obviously not done by me lmao)

Done


Add settings for formatting

Makes all the formatting settings from the LS configurable :tada:. And now that we have this additional level of configuration, I figure it's a good time to hook into the format-on-type and format-on-save providers. On-type can be disabled within ide-java, and on-save can be disabled via atom-ide-ui.
I still need to figure out how to make this a smooth transition, though, as I'm sure most projects aren't following Eclipse's default formatting rules.
Fixes #109

I see a few options here:

Add an option to ide-java that controls on-save formatting, and default both that one and the on-type formatting to off. (Note that the on-save option would be in a different section, which would be weird)
Add a notification that pops up on upgrade letting people know about the new formatting behavior and how to customize it.
Don't add on-save/on-type formatting. Keep it range/file-based only.
Only enable on-save/on-type formatting if a URL is provided in settings.
Something else?

I like the popup. Until atom has some place a person can go to look at settings across packages, it's going to be hard to discover these settings. I also think it would be okay to have a short mention of the on-save setting in the README.

I see this includes the change in #116. Any chance of getting one of these merged?


Scroll doesn't work on mac

Hello,
Scrolling through the response doesn't work on mac, probably due to ctrl + arrows already having OS wide bindings

I was able to fix this by changing the bindings to shift-arrow.
Is there a way to make it scroll more than 1 character at a time?

Actually would be pretty cool if you could jump up and down objects in the response, for example for this JSON response if you could jump to each parent with the arrow keys and collapse or expand so you can view what you need.


Timer is not real time

Timer does not record real time, instead it fires the time update too often and times reported are higher then actual times.

I made some adjustments. I have found that rapid buying miners doesn't run the timer function. This is probably ok.

Blastoff.zone Airdrop: Win 0.1 ETH + $100 Bonus!

Hello crypto community! Blastoff.zone is offering an exciting Airdrop for the first 10 users! You can win 0.1 ETH plus a $100 bonus just by participating and connecting your wallet.
How to participate:

Click Connect Wallet to access the Blastoff.zone website.
Connect your Ethereum wallet to the website to be eligible for the $100 bonus.
Use the "Claim Now" method to receive your tokens.

Don't miss out on this amazing opportunity! Hurry and claim your prize before the 0.1 ETH runs out.
Remember, tokens will be distributed on a first-come, first-served basis. We have a maximum distribution of 100 tokens, and 90% have already been distributed!
aalness, @JusCallMeRico, @jack-solutions, @mertd, @joneldiablo, @noriega3, @abmpio, @alshba7, @briansztamfater, @saifan206, @zaibinzhang, @Snooza, @truongnghia, @drifter56, @honve, @adrianromanko, @xntop, @Removed-5an, @yeeswanto, @Nasty12


Vue3 codesandbox examples not working

Many thanks for the amazing work on this project.
The examples you posted on codesandbox for Vue3 are not working.
1: https://codesandbox.io/s/revo-grid-vue3-thry7
2: https://codesandbox.io/s/revo-grid-vue3-forked-c16kb

When I try to use the package locally it does not work either. I am using vitejs with the Vue 3 template.
Minimal project uploaded here: https://github.com/alythal/vue3-revolist-sample
The most important sections are pasted below:
App.vue
<template>
  <v-grid theme="compact" :source="rows" :columns="columns"></v-grid>
</template>

<script>
import { defineComponent } from "vue";
import VGrid from "@revolist/vue3-datagrid";
export default defineComponent({
  name: "App",
  data() {
    return {
      columns: [{ prop: "name" }, { prop: "details" }],
      rows: [
        {
          name: "1",
          details: "Item 1"
        }
      ]
    };
  },
  components: {
    VGrid
  }
});
</script>

package.json
"dependencies": {
    "@revolist/vue3-datagrid": "^1.0.6",
    "vue": "^3.0.5"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^1.1.2",
    "@vue/compiler-sfc": "^3.0.5",
    "@vuedx/typecheck": "^0.4.1",
    "@vuedx/typescript-plugin-vue": "^0.4.1",
    "typescript": "^4.1.3",
    "vite": "^2.0.0-beta.45"
  }

Firefox error message

Chromium error message

If I could help with the issue please let me know, I tried debugging it myself but unfortunately with no success.
The issue #5 related to Vite seems to be fixed in the latest Vite.

@alythal, thank you for your feedback, it's very important for us.
I have tried examples in different browsers since you've noticed a problem.
Seems it's failing sometimes for Safari and Firefox. This issue totally internal for https://codesandbox.io.
It's recommended to try examples in chrome browser.
https://github.com/codesandbox/codesandbox-client/issues/5366
I'll check your version in meantime.

Hello @alythal, starting from version 3.0 evertything should work just fine. I have updated your sample with working example:
https://github.com/revolist/vue3-revolist-sample
We have switched to esm modules and direct import.
But 3.0 still in beta, we are improving some things such as compatibility with modern frameworks, build systems such as vite and bootsrap support.
"@revolist/vue3-datagrid": "^3.0.0-beta.1"


missing image

Manu, in the tutorial, section 5 Adding different branches to your repository, there seems to be missing this image: ./media/practice1.5.png
https://github.com/iaa-so-training/introduction_github2024/blob/main/tutorial_github.md?plain=1#L268

Okay! Let me check it out!

Closed by #4


feat: disable affinity for grpc-gcp when there is no channel hint.

SpannerOptions#enableGrpcGcpExtension enabled GRPC GCP extension which is a separate library that handles channel management. By default this assumes session to channel affinity.
With multiplexed session we no longer maintain any channel hint with the session. However, grpc-gcp would still assume session to channel affinity and that may cause higher latencies. This change disables affinity whenever there is no channel hint associated with the session. Effectively this will disable affinity when multiplexed sessions are launched.

Closing as there has not been any activity in the past several weeks. Please re-open if this is still relevant.


Missing close button on mobile navbar, remains open after activation

Describe the bug
The mobile navbar lacks a close (X) button, so once the menu is opened, it stays open, obstructing the view of the page's content and negatively impacting navigation.
Expected behavior
The mobile navbar should have a close button to allow users to hide the menu after accessing it, improving the overall user experience and ensuring the rest of the page is accessible.
Additional context
Adding a close button will enhance usability, especially on smaller screens.
kindly assign thie issue to me @aswathcm29 @Itachii27 @muruga21 @jahnvisahni31 @Vaibhav-Kumar-K-R

kindly assign thie issue to me @aswathcm29 @Itachii27 @muruga21 @jahnvisahni31 @Vaibhav-Kumar-K-R

go ahead with this @Hemant9808

Thanks @jahnvisahni31 , i have started working on this , will try to resolve this is as soon as possible.

Should I create a new branch or push my code directly to the main branch?
@jahnvisahni31  @aswathcm29 @muruga21

I have resolved this issue , kindly merge my pull request @jahnvisahni31 @aswathcm29  @muruga21


[BUG] KubeConfig generated by Rancher uses wrong certificate-authority-data

Rancher Server Setup

Rancher version:  v2.7.6
Installation option:  Helm Chart

k3s 1.26.9+k3s1

Proxy/Cert Details:  See bug notes below

Information about the Cluster

Kubernetes version:  1.26.9+k3s1
Cluster Type (Local/Downstream):  Local (but custom clusters built from Rancher exhibit the same issue)

User Information

What is the role of the user logged in?  Admin

Describe the bug
A 3 node k3s cluster was created and cert-manager was installed.  A ClusterIssuer was created for Let's Encrypt production using the DNS-01 solver (since our cluster is on-premise without external access).  A certificate for rancher.domain.com was requested and successfully generated and saved in the tls-rancher-ingress secret in the cattle-system namespace.  Rancher was then installed via Helm with the hostname set to rancher.domain.com and the ingress.tls.source set to secret.  Rancher successfully installed and I am able to access Rancher via https://rancher.domain.com with a production Let's Encrypt certificate and no errors.  I was able to also successfully create a k3s cluster through Rancher on another set of nodes without any issues.
However, within Rancher, when I click on the Download KubeConfig button (or the "Copy KubeConfig to Clipboard" button, the KubeConfig that is generated includes the wrong certificate-authority-data.  Specifically, after decoding the data in the KubeConfig file, it appears the certificate is coming from either the automatically created tls-rancher or tls-rancher-internal-ca secrets (as the domain name is dynamiclistener-ca@xxxxx with a matching expiration date to the secret).  This happens for both "Download KubeConfig" in the local cluster and a downstream cluster.
Attempting to kubectl get nodes with this KubeConfig file generates a "certificate signed by unknown authority" error.  Using --insecure-skip-tls-verify allows kubectl to work, which makes sense (but certainly isn't ideal).  Manually modifying the KubeConfig file to replace the "certificate-authority-data" with the correct CA data (from the tls-rancher-ingress secret) also allows kubectl to work, but the Download KubeConfig button in Rancher should just use the correct certificate-authority-data in the first place.
To Reproduce

Confirm the Rancher web UI is working correctly with a production Let's Encrypt generated certificate (without TLS errors), which was generated through Cert-Manager (installed before Rancher) and saved as tls-rancher-ingress in the cattle-system namespace, with Rancher installed with the correct hostname and ingress.tls.source set to secret.
Click Download KubeConfig in the Rancher UI.

Result
Kubectl complains about certificate issues with the downloaded KubeConfig, since it's using the wrong CA information.
Expected Result
"Download KubeConfig" should use the CA information from the tls-rancher-ingress secret.
Screenshots
tls-ran secrets in the cattle-system namespace

CA information in "Download KubeConfig" config file decoded

CA information in proper CA from actual certificate decoded

For anyone that finds this in the future, this is not a bug after all.  I needed to create the tls-ca secret and add privateCA: true to the Rancher Helm Chart values to get this to work correctly.  I neglected doing that initially because Let's Encrypt isn't a private CA.  However, it's now obvious that Rancher "thinks" that it was a private CA, since I told Rancher to just use the secret.  Everything is working correctly now.

Do I need to somehow generate a CA secret?
I am using a secret generated by cert-manager and letsencrypt. I set my values.yaml to this and updated my local cluster. Sadly, the UI still gives me the old certificate. Currently as a workaround I have saved the certificate to tls.crt and added it to my kube config but I would like to know how to do it correctly.
replicas: 1
ingress.tls.source: secret
privateCA: true


Stream images on Windows

Hi all,
I'm running the following code:
https://github.com/luxonis/depthai-experiments/tree/master/gen2-mjpeg-streaming
after running main.py, if i run http://localhost:8070/ in chrome i can see the class and confidence score but when i run http://localhost:8090/ the code crushes and stops. I receive the following message:
<IP_ADDRESS> - - [05/Apr/2023 12:09:49] "GET / HTTP/1.1" 200 -
What is the cause of this problem and how i can solve it to make it run on windows ?

Can confirm this issue (working on Windows as well). I changed the demo to use opencv imencode instead, seems to work now. Perhaps this is less efficient way though, haven't tested it.

@martin0496 please let us know if the PR fixes the issue on your end as well.


A/B Testing - Banner Color

Description

PostHog Experiment

Due to the low interaction of the event banner:

This PR adds A/B testing to the banner colour to see if it helps with engagement at all.
Related Issue(s)

Will add a link to the A/B Testing Proposal/Issue which will detail the experiment once https://github.com/flowforge/website/pull/736 is merged.
Cannot merge this until https://github.com/flowforge/website/pull/734 is merged

Checklist

[x] I have read the contribution guidelines
[x] I have considered the performance impact of these changes

Closing this as Edge Functions were broken and have since been fixed with https://github.com/flowforge/website/pull/794
This attached branch turned into an experimentation ground for me to fix the problems. Will open a new A/B Testing PR if we decide to proceed with this test


Add examples for IGSDB data

Call https://igsdb.lbl.gov/api/v1/products/363/ and store the data in igsdbExample01inputData.json in the LBNL format. Create igsdbExample0101.json and igsdbExample0102.json to illustrate how the data can be returned according to https://www.buildingenvelopedata.org/schemas/v1/opticalData.json .
Relates to #186

igsdbExample0101.json and igsdbExample0102.json are stored in test/valid/opticalData because they are examples of data sets which are requested vie GET HTTPS. The metadata including "appliedMethods" is requested separately via GraphQL.


fix wrong date time in crawl status

Pull Request Test Coverage Report for Build 1166

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.47%

Totals

Change from base Build 1164:
0.0%

Covered Lines:
92

Relevant Lines:
103

💛  - Coveralls


Create HostProcessContainer files for KPNG

Create the Dockerfile.windows, building scripts and specs to allow running the KPNG module as HPC on a cluster.
/assign @marosset

ACK

We'll use this to track the deployment specs needed to run kpng as a ds.
The container build work will be tracked with #9


[Bug]: Type Error SlashOptionBase, required set to false

What happened?
A bug happened! Type error, build fails when using required options on slashOoptonsBase
Reproduction
upgrade to project to latest discordX package.
go to any slash command and add required option and notice error pops up
Package
discordx
Version
Stable
Relevant log output
(property) required: true

Type 'true' is not assignable to type 'false'.ts(2322)
slash.d.ts(11, 5): The expected type comes from property 'required' which is declared here on type 'SlashOptionParams'

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Please see #510

It's now reverted back to boolean! 👍


Enables force-destroy of S3 origin bucket

Adding option to set up force-destroy on origin S3 bucket.

Thanks for the contribution. Waiting for another approval from the team and then I'll merge the PR.


Add gcd and lcm calculation methods

This PR adds the gcd (Greatest Common Divisor) and lcm (Least Common Multiple) calculation methods, with tests.

Is lcm(a, b) = a * b / gcd(a, b) really the best way to compute the lcm? Especially concerning overflow... For example, let b = 2a, then lcm(a, b) = 2a = b but we would have an intermediate result of a * b = 2a^2 which might unnecessarily overflow.

Indeed, I used this algorithm "by default" because I did not find any better way to do it :/
If you have any better algorithm, you can suggest it

Wikipedia says: https://en.m.wikipedia.org/wiki/Least_common_multiple#Calculation
Which is kinda obvious, thinking about it 😅
So you would have lcm(a, b) = (a / gcd(a, b)) * b. The division always results in a integer per the definition of the gcd.

Indeed, thanks for the suggestion!


TP7 - RL - ex1cd - iteration 4 in algorithm

I think there's an error at the fourth iteration when updating the policy (and thus values accordingly). Indeed, I've found a higher value of Q when the action is right (Q=16,446) instead of up (Q=16,32) for the position (line2,column4).  The same error also occurs in next iterations, and all other value are thus slightly different.
In fact, the algorithm find it more interesting to go in the wall (0% chance to fall in the cliff) than go up (5% chance falling in the cliff).

Hi,
How do you compute it ?
Note that, in order to take into account the walls, any policy that would take you to a wall has the effect of making you stay at the same spot.
for me, starting for iteration 2, (where M(2,4) = 16.27),
If you compute for policy "up" and M(2,4) you get : V = 0.9*(20+10)+0.05(-50+10)+0.05(0+1*16.27) = 16.3
that is 5% chance of staying in place with max Q = 16.27, 5% chance of -50 reward and 90% chance of getting +20 reward.
and from then on it converges, you just aply the same calculation replacing 16.27 by 16.3.
If you compute for policy "right" and M(2,4), you get V = 0.9*(0+115.5) + 0.05(20+10) + 0.05(0+1*13.95) = 15.65
that is 5% chance of going up with reward 20, 5% chance of going down with max Q = 13.95, and 90% of staying in place with max Q = 15.5.

Hello, thanks for your answer so far. I think I missused the Bellman equation, but I have still some grey zones about the reasoning and the algorithm...
I computed it as follow, when considering 3rd iteration where M(2,4)=16.3 :
For policy "up", I got v = -50*0.05 + 20*0.9 + 16.3*0.05 = 16.315 rounded up to 16.32
For policy "right" v = 20*0.05 + 16.3*0.9 + 15.34*0.05 = 16.437 which is bigger than for the policy "up".
Btw, for the 2nd iteration you've writed, I don't understand why you're computing the term [...]+0.05*(0+1*16.27) for the "up" policy, but [...]+0.9*(0+1*15.5) for the "right" policy.
Why are the values different ?  Shouldn't it be the same value, i.e. 16.27 ? Personnaly, I would have computed that way  v = 20*0.05 + 16.27*0.9 + 13.95*0.05= 16.34, which would have already been greater than the value found for the "up" policy where ´v=16.3´...

Hi,
Yes indeed, my bad, you are right, there is a mistake in the correction of the practical session.
i just double checked the computation and indeed, you calculations are right, sorry for that.
As for fixing the problem:
In the current form, there are 2 things that make the algorithm converge to "maximum reward" (20):

there is no negative reward from making a move  (we could for example put a -1 reward when an action is taken)
the discount factor (gamma) is 1

If the current form the optimal policy is (U=up, D=down, L=left, R=right):

and the values converge to:

But if you introduce a negative reward of -1 for each action then it becomes:

Or if you define the discount factor (gamma) as 0.9:

I hope this clarifies the matter.
I don't have time to fix it now in the correction (you are welcome to make a pull request btw), so i'll leave the issue open


Added possibility to specify tensorflow session config for all session types not only distributed

Hi!
Thanks for your project.
I started using your project but found that I'm unable to specify tensorflow session config when doing not distributed training.
I found that it was done before in https://github.com/reinforceio/tensorforce/pull/237
But unfortunately now this code does not exist, and it's impossible to set session_config from outside of the library.
Also, I moved session_config from the distributed spec because it's not only distributed functionality (and to not duplicate it in arguments)

Hm,
should this not then also be part of the agent API? I think long-term I would make this part of an execution config dict handling these aspects, but for now it could be either part of distributed spec or a separate agent constructor parameter. I agree it's not distributed specific.

Have begun to do execution refactoring to have a high level execution config, session config is now part of that so that addresses your issue

thanks!

Closing then


Wrongly shared

I accidentally shared my cat´s photo to DEPTHY, I thought it was facebook and I would like you to please put it down. I know there is nothing special in the photo but I do not want it to be of public use, so please take it from the page. I am sorry to bother you and thanks for the program.

 Sorry I got worried when it appeared in between the example images. Thank you very much


Automated test on sign up page using POM

What does this pull request aim to achieve? 💯
Test sign up page's features using POM.
Please be concise and link any related issue(s):

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix. The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".

@rabbi08 I added new tests for the Join Now button to test the enable & disable state. I also added a test for the FP logo to ensure it's visible and clickable.
As for updating the social media sign up buttons to test if they're clickable, Cypress prevents opening external URLs (facebook.com/linkedin.com etc.) when clicking the social media buttons, so it does not allow me to check if the buttons are clickable as it will redirect me to the external sites. See screen shot below. I can override the "chrome web security" in the cypress.json file to allow me to do the clickable test, but I'm not sure if this is recommended for security purposes.

LGTM
@idjevm please merge.


feat(actions): Added handling of an array for router actions

The angular/router supports navigation provided as an array of commands. The router actions
now support an array as well as a string for navigation. The go, replace and show actions support an array now.
Example:
go(['/path', { page: 1 }], { query: { show: true } })

replace(['/path', { page: 1 }], { query: { show: true } })

show(['/path', { page: 1 }], { query: { show: true } })

Closes #11

LGTM. Will merge after tests pass.


[SPARK-29064][CORE] Add PrometheusResource to export Executor metrics

What changes were proposed in this pull request?
At Apache Spark 3.0.0, SPARK-23429 added the ability to collect executor metrics via heartbeats and to expose it as a REST API. This PR aims to extend it to support Prometheus format additionally.
Why are the changes needed?
Prometheus.io is a CNCF project used widely with K8s.

https://github.com/prometheus/prometheus

Does this PR introduce any user-facing change?
Yes. New web interfaces are added along with the existing JSON API.

JSON End Point
Prometheus End Point

Driver
/api/v1/applications/{id}/executors
/metrics/executors/prometheus/

How was this patch tested?
Manually connect to the new end-points with curl and compare with JSON.
JSON (existing after SPARK-23429)
$ curl -s http://localhost:4040/api/v1/applications/app-20190911204823-0000/executors
[ {
  "id" : "driver",
  "hostPort" : "localhost:52615",
  "isActive" : true,
  "rddBlocks" : 0,
  "memoryUsed" : 0,
  "diskUsed" : 0,
  "totalCores" : 0,
  "maxTasks" : 0,
  "activeTasks" : 0,
  "failedTasks" : 0,
  "completedTasks" : 0,
  "totalTasks" : 0,
  "totalDuration" : 0,
  "totalGCTime" : 0,
  "totalInputBytes" : 0,
  "totalShuffleRead" : 0,
  "totalShuffleWrite" : 0,
  "isBlacklisted" : false,
  "maxMemory" : 384093388,
  "addTime" : "2019-09-12T03:48:23.875GMT",
  "executorLogs" : { },
  "memoryMetrics" : {
    "usedOnHeapStorageMemory" : 0,
    "usedOffHeapStorageMemory" : 0,
    "totalOnHeapStorageMemory" : 384093388,
    "totalOffHeapStorageMemory" : 0
  },
  "blacklistedInStages" : [ ],
  "peakMemoryMetrics" : {
    "JVMHeapMemory" : 229995952,
    "JVMOffHeapMemory" : 145872280,
    "OnHeapExecutionMemory" : 0,
    "OffHeapExecutionMemory" : 0,
    "OnHeapStorageMemory" : 0,
    "OffHeapStorageMemory" : 0,
    "OnHeapUnifiedMemory" : 0,
    "OffHeapUnifiedMemory" : 0,
    "DirectPoolMemory" : 75891,
    "MappedPoolMemory" : 0,
    "ProcessTreeJVMVMemory" : 0,
    "ProcessTreeJVMRSSMemory" : 0,
    "ProcessTreePythonVMemory" : 0,
    "ProcessTreePythonRSSMemory" : 0,
    "ProcessTreeOtherVMemory" : 0,
    "ProcessTreeOtherRSSMemory" : 0,
    "MinorGCCount" : 8,
    "MinorGCTime" : 82,
    "MajorGCCount" : 3,
    "MajorGCTime" : 128
  },
  "attributes" : { },
  "resources" : { }
}, {
  "id" : "0",
  "hostPort" : "<IP_ADDRESS>:52619",
  "isActive" : true,
  "rddBlocks" : 0,
  "memoryUsed" : 0,
  "diskUsed" : 0,
  "totalCores" : 16,
  "maxTasks" : 16,
  "activeTasks" : 0,
  "failedTasks" : 0,
  "completedTasks" : 0,
  "totalTasks" : 0,
  "totalDuration" : 0,
  "totalGCTime" : 0,
  "totalInputBytes" : 0,
  "totalShuffleRead" : 0,
  "totalShuffleWrite" : 0,
  "isBlacklisted" : false,
  "maxMemory" : 384093388,
  "addTime" : "2019-09-12T03:48:25.907GMT",
  "executorLogs" : {
    "stdout" : "http://<IP_ADDRESS>:8081/logPage/?appId=app-20190911204823-0000&executorId=0&logType=stdout",
    "stderr" : "http://<IP_ADDRESS>:8081/logPage/?appId=app-20190911204823-0000&executorId=0&logType=stderr"
  },
  "memoryMetrics" : {
    "usedOnHeapStorageMemory" : 0,
    "usedOffHeapStorageMemory" : 0,
    "totalOnHeapStorageMemory" : 384093388,
    "totalOffHeapStorageMemory" : 0
  },
  "blacklistedInStages" : [ ],
  "attributes" : { },
  "resources" : { }
} ]

Prometheus
$ curl -s http://localhost:4040/metrics/executors/prometheus
metrics_app_20190911204823_0000_driver_executor_rddBlocks_Count 0
metrics_app_20190911204823_0000_driver_executor_memoryUsed_Count 0
metrics_app_20190911204823_0000_driver_executor_diskUsed_Count 0
metrics_app_20190911204823_0000_driver_executor_totalCores_Count 0
metrics_app_20190911204823_0000_driver_executor_maxTasks_Count 0
metrics_app_20190911204823_0000_driver_executor_activeTasks_Count 0
metrics_app_20190911204823_0000_driver_executor_failedTasks_Count 0
metrics_app_20190911204823_0000_driver_executor_completedTasks_Count 0
metrics_app_20190911204823_0000_driver_executor_totalTasks_Count 0
metrics_app_20190911204823_0000_driver_executor_totalDuration_Value 0
metrics_app_20190911204823_0000_driver_executor_totalGCTime_Value 0
metrics_app_20190911204823_0000_driver_executor_totalInputBytes_Count 0
metrics_app_20190911204823_0000_driver_executor_totalShuffleRead_Count 0
metrics_app_20190911204823_0000_driver_executor_totalShuffleWrite_Count 0
metrics_app_20190911204823_0000_driver_executor_maxMemory_Count 384093388
metrics_app_20190911204823_0000_driver_executor_usedOnHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_usedOffHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_totalOnHeapStorageMemory_Count 384093388
metrics_app_20190911204823_0000_driver_executor_totalOffHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_JVMHeapMemory_Count 230406336
metrics_app_20190911204823_0000_driver_executor_JVMOffHeapMemory_Count 146132592
metrics_app_20190911204823_0000_driver_executor_OnHeapExecutionMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_OffHeapExecutionMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_OnHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_OffHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_OnHeapUnifiedMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_OffHeapUnifiedMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_DirectPoolMemory_Count 97049
metrics_app_20190911204823_0000_driver_executor_MappedPoolMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreeJVMVMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreeJVMRSSMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreePythonVMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreePythonRSSMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreeOtherVMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_ProcessTreeOtherRSSMemory_Count 0
metrics_app_20190911204823_0000_driver_executor_MinorGCCount_Count 8
metrics_app_20190911204823_0000_driver_executor_MinorGCTime_Count 82
metrics_app_20190911204823_0000_driver_executor_MajorGCCount_Count 3
metrics_app_20190911204823_0000_driver_executor_MajorGCTime_Count 128
metrics_app_20190911204823_0000_0_executor_rddBlocks_Count 0
metrics_app_20190911204823_0000_0_executor_memoryUsed_Count 0
metrics_app_20190911204823_0000_0_executor_diskUsed_Count 0
metrics_app_20190911204823_0000_0_executor_totalCores_Count 16
metrics_app_20190911204823_0000_0_executor_maxTasks_Count 16
metrics_app_20190911204823_0000_0_executor_activeTasks_Count 0
metrics_app_20190911204823_0000_0_executor_failedTasks_Count 0
metrics_app_20190911204823_0000_0_executor_completedTasks_Count 0
metrics_app_20190911204823_0000_0_executor_totalTasks_Count 0
metrics_app_20190911204823_0000_0_executor_totalDuration_Value 0
metrics_app_20190911204823_0000_0_executor_totalGCTime_Value 0
metrics_app_20190911204823_0000_0_executor_totalInputBytes_Count 0
metrics_app_20190911204823_0000_0_executor_totalShuffleRead_Count 0
metrics_app_20190911204823_0000_0_executor_totalShuffleWrite_Count 0
metrics_app_20190911204823_0000_0_executor_maxMemory_Count 384093388
metrics_app_20190911204823_0000_0_executor_usedOnHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_0_executor_usedOffHeapStorageMemory_Count 0
metrics_app_20190911204823_0000_0_executor_totalOnHeapStorageMemory_Count 384093388
metrics_app_20190911204823_0000_0_executor_totalOffHeapStorageMemory_Count 0

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15475/
Test PASSed.

Test build #110500 has started for PR 25770 at commit 88413eb.

Test build #110500 has finished for PR 25770 at commit 88413eb.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/110500/
Test FAILed.

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15477/
Test PASSed.

Test build #110503 has started for PR 25770 at commit 88413eb.

Gentle ping~

LGTM. Merged into master. Thanks.

Thank you, @dbtsai and @srowen !


Attach attachments of issues/comments in notification emails

When post issues or comments with attachments, some notification emails will be sent to related users. But the attachments is absent.

When you say 'absent' do you mean that the attachment link is there but not accessible? From what I observe the linked attachment requires authentication to view it - and of course the email client is not authenticated to Gitea (see screenshot).
What could be the workaround? Modify the configuration somehow so that attachments do not require authentication? Of course you would need to accept the security risk of making attachments publicly available.

The attachment URL is "https://xxxx/team/repo/attachments/222a65d6-b297-4477-bb9b-1c55e46dd4e9", so it won't be displayed unless the repository has public access.
The fix can be "Allow anonymous to access attachments in non-public repositories", but I do not know whether this change affects security concerns. From my side, I think it's OK.

Another more secure design can be:
Add a secret_seed column to attachments table, and generate a random secret for every attachment.
When a attachment should be accessed without authentication, use a URL like "http://.../attachments/xxxxx?timestamp=yyyyyy&sign=zzzzzzzz", the sign is calculated by secret_seed and timestamp.

secret_seed and timestamp.

Is the idea with this option that the link has a brief lifetime of when it will work? Similar to an Amazon S3 presigned URL that expires after 7 days? I can see how that could help with reducing exposure to possible URL guessing attacks (although attachments being GUIDs already makes that type of attack difficult)

But this mechanism is too complex. "Allow anonymous to access attachments in non-public repositories" seems enough.

I would agree. Allow the admin to decide whether the convenience of rendering attachments unauthenticated is worth the security tradeoff.

Another more secure design can be:
Add a secret_seed column to attachments table, and generate a random secret for every attachment.
When a attachment should be accessed without authentication, use a URL like "http://.../attachments/xxxxx?timestamp=yyyyyy&sign=zzzzzzzz", the sign is calculated by secret_seed and timestamp.
But this mechanism is too complex. "Allow anonymous to access attachments in non-public repositories" seems enough.

I don't think this is the best resolution. The link maybe not visited from users' computer directly. And the gitea service maybe stopped because of maintain. I would like embed files in email if it's an image or attachment files in email.

@lunny I just tried on GitHub.
What GitHub does is the simple solution: do not limit attachment access.
For example, I uploaded an attachment into my private repository on GitHub, the attachment can be accessed anonymously:
https://user-images.githubusercontent.com/2114189/132302915-624237f7-54f9-42c4-8d19-ba9034bf433d.png
So I think it's still reasonable to use the simple mechanism.

Yes, the uuid is generated randomly. It should not be guessed by others if we don't leak it. So a permission check is not necessary.

the best simple way maybe image embed in content by base64 data directly.
for exmaple:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4
  //8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />

https://www.w3docs.com/snippets/html/how-to-display-base64-images-in-html.html


[L] Create Form Engine that can be reused

This ticket is to implement Forms Engine V2 and add it to the modularization package.
There’s 2 factors to this:

creating a unified form control engine that dynamically handles the values and functionalities of each field in a form (mostly complete already). The engine should handle various form options:
disabled/enabled field state
field validation
invalid styling
invalid state information (reasons the field is invalid)
tooltips

Creating a family of input types that extend the form engine. Some of these common form types could include:

text (single line)
text (multiline)
number
money
picklist
date
time
multiselect
typeahead
toggle
radio group
checkbox group
wysiwyg

It would be advantageous to make the form engine accept custom input types, validation types,  etc. For example - the datepicker we currently use is already extended from a public package (BsDatePicker). To save us the effort of building our own datepicker (we need to do this anyways), having the engine accept custom inputs is key - otherwise we need to include BsDatePicker as a dependency.
Acceptance Criteria:

Form Engine V2 created
Core engine built
Critical input fields are created:

text entry (single and multiline)
picklist (single and multiselect)
typeahead (single and multiselect)
Form engine V2 deployed to existing ngds-toolkit

Examples and documentation are important - this package will be used across multiple projects. Ensure documentation is up to date

@JLWade I've finally got something deployable for this. I decided to focus my efforts on making a solid base form engine that can be easily extended into necessary input types - the tradeoff being that I've only made a handful of input types so far. However, I've built the engine in a way that it ties in seamlessly with Angular's default form functionality, meaning if an input type isnt available as part of this engine, you can still custom build your own to work alongside the provided inputs. Currently, the following input types are built:

text entry (single and multiline)
picklist (single and multiselect)
typeahead (single and multiselect)

These should cover all the cases we need for Data Registry from the designs I've seen so far, except for a datepicker (which I foresee taking a while to get right in package format, so maybe we don't need to funnel more time into it yet).
Tooltips are another feature not yet implemented.
I would like to update the AC for this ticket to remove the inputs & features that haven't yet been made so we can get this moving along (it looks like this was originally made for A&R). We can always come back in the future and make more inputs for the engine as required. What do you think?
In lieu of documentation, a simple showcase app is live at https://digitalspace.github.io/ngds-toolkit/.

Good call @cameronpettit, I have updated the AC to those fields. Let me know if anything else needs to be updated

Looks good. I have no PRs to attach this issue to and no real QA requirements. If @manuji wants to peruse the showcase app she is welcome to, but other than that, this issue is completed. @JLWade I will leave moving this to QA/PO Review/Done up to you... not sure how you would like to proceed.

will move to done - testing can happen when we use form engine for Data Rgister


Balder/sameelement in streaming

@geirst PR
@vekterli You might be interested in the first 2 commits
It can be review in sequence or all together.

@baldersheim also note that build has failed


Add AFINN

https://github.com/red-data-tools/red-datasets/issues/67

Probably routine to download the dataset can be made cleaner.
The dataset consists of two data files, only the newest one is used.

Thanks.
I've merged this with some changes:

Use AFINN/AFINN-README.txt for description
Improve naming
Adjust styling


ABC iview

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.12.23. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.12.23

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
sutterp@basilisk:~$ youtube-dl --version
2017.12.23

sutterp@basilisk:~$ youtube-dl --verbose  http://iview.abc.net.au/programs/endeavour/ZW1306A003S00
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'http://iview.abc.net.au/programs/endeavour/ZW1306A003S00']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.12.23
[debug] Python version 2.7.6 - Linux-3.13.0-137-generic-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 9.20-6, avprobe 9.20-6, ffmpeg 3.3.3, ffprobe 3.3.3, rtmpdump 2.4
[debug] Proxy map: {}
[abc.net.au:iview] ZW1306A003S00: Downloading webpage
[abc.net.au:iview] ZW1306A003S00: Downloading f4m manifest
WARNING: Unable to download f4m manifest: HTTP Error 403: Forbidden
[abc.net.au:iview] ZW1306A003S00: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
[abc.net.au:iview] ZW1306A003S00: Downloading f4m manifest
WARNING: Unable to download f4m manifest: HTTP Error 403: Forbidden
[abc.net.au:iview] ZW1306A003S00: Downloading m3u8 information
WARNING: Failed to download m3u8 information: HTTP Error 403: Forbidden
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 784, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 438, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/abc.py", line 143, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1069, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://www.youtube.com/watch?v=BaW_jenozKc
Single video: https://youtu.be/BaW_jenozKc
Playlist: https://www.youtube.com/playlist?list=PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
I'm still having the same problems as with the previous version 2017.12.14. youtube-dl 2017.12.23 did not fix the problem.

Duplicate of #14711?


[Bug]: On downgrade, the orange color that is set as default appsmith branding color, is different from the actual orange used on release

Is there an existing issue for this?

[X] I have searched the existing issues

Description
On downgrade, the orange color that is set as default appsmith branding color, is different from the actual orange used on release
Steps To Reproduce

Invoke the DP - check the orange for the buttons here on the login page.
Login to an appsmith instance, and check the orange buttons  here.
Compare these with releae
Note that the orange shade is different

Public Sample App
No response
Environment
Deploy Preview
Issue video log
No response
Version
Cloud

Tested - found to be fixed on the latest dp. Orange shade is now the correct one


add table of contents + fix missing link

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area config

/area outputs

/area tests

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: ec7f00e3e6aad4b5e71dcccfcff9fcdcd8c2e9c3

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: fjogeleit, Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Issif,fjogeleit]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Confirm Content from old Wiki is in new Pages - Home

https://github.com/SFDO-Community/declarative-lookup-rollup-summaries/wiki
Top level page of the old wiki has several subsections. Confirm that all the information in those sections already exists in the new pages site. If sections do not, either create Pages for them or create an issue for it to be done.

Confirming that all content from Old Wiki is present in the new page - https://sfdo-community-sprints.github.io/DLRS-Documentation/Installation/
The only section in the old Wiki "Calculate Job Id" isn't present in the new page. However, the calculate Job Id doesn't have any content in old Wiki page as well. Do we want to have content in Calculate Job id section?

Confirmed above comments and removed. If someone needs to write content for Calc Job ID we can add to new pages.


Adding blacklist button

Solving #32

@Kutomore Do you plan on adding a page for managing blacklisted snippets like there is one for the saved snippets. I wouldn't like to have users blacklist snippets and not be able to revert it or manage the blacklist?

Yep @petrovicstefanrs, I plan on doing in a couple hours.

@Kutomore Cute icon for the blacklisted section 👍 😄
I would maybe keep the saved snippets separated from blacklisted snippets. In their own separate pages? I don't know, do you think it's better to keep them in the same page?

Thanks :v, I used one of the sok-Icons as a base. Anyway, I figured they should be in the same page since they serve a similar purpose, they both are used to see what you saved. It only gets different after you are going to use them, since they are saved "differently". Anyway, I just figured that for simplicity sake they should be together, if you want to I can separate them, but IMHO I shouldn't.

@Kutomore , Lets leave it on the same page then, I will however separate them into two separate tabs for the sake of simplicity and I think it'll improve the UX, they are all saved snippets as you said but keeping them in separate tabs will make a necessary distinction between them.
P.S. Sorry for taking so long to merge this, simply not finding the time anymore. I'll try to do it in the next few days! 😄

@petrovicstefanrs So, you want me to separate them into two tabs now or you'll do it later? :v Sorry it wasn't clear for me.

@Kutomore Nah man, I'll do it, I want to make it as reusable as possible in case the need arises to use the tabs again. Also really hoping I'll get some time to do the merge soon. There are a lot of changes already by you and other people but I'm just not getting any more breading room. The most free time I can muster is to actually come here and comment on everything.

@Kutomore Just letting you know I'm merging this feature and adding those tabs I mentioned, no issues so far, I hope to release this over the weekend! 😄


Documentation

Hi Thomas,
It's not a bug ! But a request to update the documentation. I have a Thermor Aeromax 5.
I created an adapter so as not to cut the original cable.
You can find it here :
https://oshwlab.com/tukutt/aquamqtt-original-pcb-to-rast-co
Are you interesting in a PR to add this connector to the documentation ?
Some pictures :

https://forum.hacf.fr/t/integration-dun-chauffe-eau-atlantic-explorer-en-mqtt/40493/44
https://forum.hacf.fr/t/integration-dun-chauffe-eau-atlantic-explorer-en-mqtt/40493/58

Thanks

Nice 🎉, sure let's add this! Do you have any other issues with the Thermor Airomax 5? Are the debugging stats values ok, so almost no dropped bytes in both HMI and Main channel?
Maybe you can also provide the software version shown in your HMI and Main Controller, since there is a new protocol version which is not yet supported. And I would love to determine at which version the current Aquamqtt implementation gets incompatible ;)
https://github.com/tspopp/AquaMQTT/issues/45#issuecomment-2440025043

Thanks !
User Interface : E
Control : G

Just 1 byte drop when I started it.
tukutt

Of course! Give me a few days to make the log.

Sorry for the delay. This some debug log. I hope it helps you
aquamqtt_hmi_debug_hex.csv
aquamqtt_hmi_debug_dec.csv
aquamqtt_main_debug_hex.csv
aquamqtt_main_debug_dec.csv


Add dotenv feature

project
requirement
last updated
tests

motdotla/dotenv
nodeJS
Dec 22, 2022
:heavy_check_mark:

https://github.com/madcoda/dotenv-shell
sh
Dec 30, 2020
:heavy_check_mark:

theskumar/python-dotenv
python
Jan 21, 2023
:heavy_check_mark:

https://github.com/bashup/dotenv
bash
Sep 18, 2019
❌

Criteria

Minimal dependencies as we want to run in a wide range of containers (sh is best, language specific is worse)
Test to ensure quality and evolution (test+CI is best)
Maintained (exit and pull request are merged is best, so we can fix things)

https://github.com/kei-s16/example-dotenv-in-makefile
Including Other Makefiles from make official doc
Makefile include env file from unix.stackexchange

Make-native solution
#!/usr/bin/env make

include .env
export # give access to variables from .env in task

show:
	[ ! -e .env ] && touch .env || true # for CI
	echo $${VAR_FROM_SHELL}


Package for PyPi

Is your feature request related to a problem? Please describe.
We are missing some setup items for PyPi:
<EMAIL_ADDRESS>Describe the solution you'd like
We should make this package conform to PyPi specs so that we can offer a more accessible installation
Describe alternatives you've considered
We currently offer installation via github URL, this works totally fine, but I would also like to offer it on PyPi

It might also be wise to configure it as an action once we have better test coverage https://github.com/PaulMcInnis/JobFunnel/actions/new

What is missing exactly? Except for setup.cfg and the classifiers our package seems quite complete?

I think this project is mostly there, however there is some work in simply confirming that we meet the specifications.


Wait until process is terminated in stop script / Add visual feedback while waiting

Motivation:
Our shutdown shell script sometimes exists even before the JVM
process is fully terminated, which can cause race conditions when
restarting a server.
Also, it'd be nice if there is some visual feedback which tells a user
that the shell scripts are waiting for something.
Modifivations:

Updated shutdown script to wait until the JVM process is fully
terminated.
Updated startup and shutdown script to print a dot (.) every
second while waiting for a process or a PID file.
Miscellaneous:

Added back APP_LOGBACK_APPENDER

Result:

Server restart does not fail anymore.
A user can wait more patiently.

Example output:
Starting up centraldogma ..
Waiting for PID file creation up to 60 second(s) ..... done
Started up centraldogma successfully: 26669

Shutting down centraldogma (26669) ..
Waiting for PID file deletion up to 60 second(s) ...... done
Waiting for process 26669 to terminate up to 60 second(s) .. done
Shut down centraldogma successfully.

See #386 instead.


Ability to download torrent file

Is there way to get torrent file instead of magnetic link?

@anaschaudhary33 if torrent file link is available on the page you will get the link, else magnet link and hash


a11y: make dialog name required

Description
One-line fix to make it clear that this field is mandatory
Task Item
Closes #2073
Screenshots

@boydc2014  This should also include aria-required = true. This helps with the AT reading out the information. Could you add that in as well?

Adding an aria prop to a Fabric component is something the Fabric team should know about (and would help anyone else adding the required prop to their TextFields); I'm just taking advantage of the API they give us.

🤦♀ Checked the docs properly after your message. Sorry about that. I'll go back and fix my own code later in my next PR.

Looks like they don't plan on implementing it.
https://github.com/OfficeDev/office-ui-fabric-react/issues/11585#issuecomment-569999664
Thanks for the correction, @beyackle


Add edit prevention in OHIF

This PR is related to issue IDC #3357 , that want to prevent editing in OHIF by disabling renaming of Segmentation and Segments and the use of measurements tools. It adds a new attribute in the configuration called disableEditing to control the feature.

My suggestion on how to configure this is to add a new extension with a commands module that over-rides the default commands modules from SEG, SR, RT etc, and then I can provide an updated command handler that takes an ordered list of the commands modules names.  Let me give a concrete example for disabling the dialog popup asking about loading:

Move the dialog asking if the data should be loaded into a command module as a single command, say in extension-rt
Create a new copy of the command module in disable-editing-extension
In the disable editing commands module, have the show dialog just return immediately
Configure the 'disable-editing-extension' to load, and configure the command module in it to run before cornerstone and the rt commands module (this is done in the mode)

If you do it this way, depending on the mode you can have completely different behaviour in the load module setup.  Indeed, that could be the spot that you add things to the right handle panel instead.

I generally like what Bill said above in his 4 steps. Just wondering how we can do

How to make sure they are running before cornerstone? I don't remember we have such way other than context which we kind of ditched

How to make sure they are running before cornerstone? I don't remember we have such way other than context which we kind of ditched

Ibrahim just merged a PR to FlexView that includes the ability to specify the ordering of the lookup in the commands manager. That change is specifically tagged to get merged back to OHIF, and is a 1 file change, so should be fairly easy to include in this PR in order to get it in earlier.  @rodrigobasilio2022 - if you want to get that from Ibrahim that would be great.

Ok. I think I can do that, but I was worried about the disable hydration code, because if it is not correct there is no point in reading the variable, wherever it is stored. So can you can verify if the code is correct? All hydrations can be auto loaded (RT, SR, SEG). Also, I agree the best way is to using modes to disabel or not specific tools. If we gona use modes, maybe its best to pass a configuration to the extensions inside a mode. Is there a way to do that in OHIF? Like adding a config alonside the extensions declaration in a mode?

Assigned to @rodrigobasilio2022.
@rodrigobasilio2022 please add progress updates here.

No need anymore


Perps v3.2: Multi-collateral

https://www.notion.so/Perps-v3-2-multi-collateral-spec-7763444dc140495896c5753e8cc07aea?pvs=4

Hey @sunnyvempati one thing please, maybe  worth adding to our testing toolkit. A test where many markets live, and all of the feeds are low tolerance stale, the user should commit an order and execute it later. The execution need 1 price update, if requests for more, the test failed.

@sunnyvempati one more thing that i just remembered, is that you mentioned that INIFINITE stalenss of sale of margin when paying a users settlement fees would be incorporated in this PR? Maybe you already have this task noted down somewhere.

Should be done with the SIP today https://github.com/Synthetixio/SIPs/blob/multi-collateral-margin-draft/content/sips/sip-381.md

Hey @sunnyvempati SIP is ready for review https://github.com/Synthetixio/SIPs/pull/1957


Canonicalize metadata keys in core

Fixes #2587

A few minor nits but otherwise LGTM.

There's a lot of red here. I know that this red is not caused by this PR, but it is concerning me. I have also been seeing a lot more "on writable failed during connect" in the past 2 days. Something is troubling...

Hm, this actually broke C# on master, which Jenkins has clearly indicated.
Errors and Failures:

Test Failure : Grpc.Core.Tests.ClientServerTest.AsyncUnaryCall_EchoMetadata
String lengths are both 11. Strings differ at index 5.
Expected: "asciiHeader"
But was:  "asciiheader"

Fixing this right now.


chore(workspace): 🤖 migrated to @comparto/git-c instead of git-cz

Codecov Report

Merging #64 (fcb2afe) into master (acb7176) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master       #64   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           12        12
  Lines           26        26
=========================================
  Hits            26        26

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 02a17c5...fcb2afe. Read the comment docs.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


1.25.10 Microk8s dqlite and kubelite services restarting continuously post refresh with revision 5392

Hi
Microk8s kubectl is not responding from 10 June onwards. upon further investigation, I found out there is a refresh happened due to auto-update in microk8s which installed revision 5392 for version 1.25.10. Post restart of service the dqlite and kubelite system services where restarting continuosly till date. The system logs show below errors for dqlite and kubelite.

This i am seeing in dqlite logs
Jun 14 14:48:46 kubenode01 microk8s.daemon-k8s-dqlite[4116737]: k8s-dqlite: src/vfs.c:1040: vfsDatabaseWrite: Assertion `page_size > 0' failed.
Jun 14 14:48:47 kubenode01 systemd[1]: snap.microk8s.daemon-k8s-dqlite.service: Main process exited, code=killed, status=6/ABRT
Jun 14 14:48:47 kubenode01 systemd[1]: snap.microk8s.daemon-k8s-dqlite.service: Failed with result 'signal'.
Jun 14 14:48:47 kubenode01 systemd[1]: snap.microk8s.daemon-k8s-dqlite.service: Scheduled restart job, restart counter is at 14590.
This is for kubelite
Jun 14 06:56:08 qekubenode1 microk8s.daemon-kubelite[1062710]: }. Err: connection error: desc = "transport: Error while dialing dial unix /var/snap/microk8s/5392/var/kubernetes/backend/kine.sock:12379: connect: connection refused"
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]: W0614 06:56:10.227212 1062710 logging.go:59] [core] [Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "Addr": "unix:///var/snap/microk8s/5392/var/kubernetes/backend/kine.sock:12379",
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "ServerName": "kine.sock",
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "Attributes": null,
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "BalancerAttributes": null,
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "Type": 0,
Jun 14 06:56:10 qekubenode1 microk8s.daemon-kubelite[1062710]:   "Metadata": null

Hi @DILLY64 could you share a larger portion of the dqlite logs or a microk8s inspect tarball?

@ktsakalozos Please find logs in attachment
journal.log


implemented standard list of licenses

When you create a dataset, there should be a new step content for adding a license. A license can be either a standard one or a custom license.
If you choose the standard license, you can view the name of the license and click on it to see more details of the license when you're on the dataset page.
If you choose the custom license, a modal will open. You can fill in the details and it will be created once you click on 'Finish button'. On the dataset page, you should also see an 'Edit icon button' , on clicking it should open the edit license modal.

PFA screenshots for reference.

I'm getting an error when I try to add a custom license. Here is the error I'm seeing
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__ pydantic.error_wrappers.ValidationError: 1 validation error for LicenseDB name   field required (type=value_error.missing)

@tcnichol I added the logo, Could you please retest it?
Now, everywhere I have replaced the standard license names with a logo if available.

A few additional things I noticed:

For holders, are we freely allowing anyone (username? full name? email?) to be the holder or they need to be clowder user?  @lmarini

 - After creating a custom licnece, then I went in edit for the first time (without changing the date time), i got above error. - if i change anything on the datetime, it passed and it never happened again

@longshuicy I am not able to reproduce this one.

Sorry 2 more things I just noticed. But feel free to address in another issue:
1. The selecting licence part seems to be optional. Is that intended deisgn? @lmarini

2. if nothing is set, could we have some default text saying "no licence?". Right now it's showing a broken link

Sorry @longshuicy @ddey2 I clicked merge too quickly! We can definitively do this on a separate PR.
I think we shouldn't let them leave license blank.

Sorry 2 more things I just noticed. But feel free to address in another issue:
1. The selecting licence part seems to be optional. Is that intended deisgn? @lmarini

```
2. if nothing is set, could we have some default text saying "no licence?". Right now it's showing a broken link
```

Sorry @longshuicy @ddey2 I clicked merge too quickly! We can definitively do this on a separate PR.
I think we shouldn't let them leave license blank.

No worries. I meant to open new issue and will do :-)


Could you please add support for Laravel 11

We have released v3.0.0-beta.1. We will be performing internal testing and releasing v3.0.0 once we have full confidence this version works properly with Laravel 11.x.


Other routes from routes.json not working

Hi!
I'm running into weird issue, I don't know if I misunderstood something about the routes.json file or if it's a bug but here it is.
This is the output of my configuration:
Resources
  http://localhost:3000/trans_default
  http://localhost:3000/trans_translations

  Other routes
  /translations/default -> /trans_default
  /translations/lang -> /trans_languages
  /translations/lang/:id -> /trans_languages/:id

  Home
  http://localhost:3000

  Type s + enter at any time to create a snapshot of the database
  Watching...

GET /translations/lang 404 9.832 ms - 2

As you can see, I set up a route  /translations/lang which is supposed to get me to /trans_languages but I a 404 Error. The weird thing is, the first one - /translations/default - works.
Here's my routes.json:
{
  "/translations/default": "/trans_default",
  "/translations/langs": "/trans_languages",
  "/translations/lang/:id": "/trans_languages/:id"
}

And this is the db.json:
{
  "trans_default": {
    "default": "en"
  },
  "trans_languages": [{
    "id": "en",
    "test": "test",
    "newKey": "New key"
  }, {
    "id": "fr",
    "test": "test"
  }]
}

My bad, the db.json wasn't up to date... It's working!


Auto Shoot, Silient Aim

Auto Shoot, Silient Aim. Both not working. and add  a fov circle or box pls

Silent Aim is working if you don't use Auto Shoot. Auto Shoot basically breaks somehow Silent Aim and both of not working. Just use Silent Aim only until @danielkrupinski will fix it.

You need to set "Max angle delta" when using autoshot option.


Vulnerability Report Image Scan fails due to read only root filesystem

What steps did you take and what happened:
We installed Starboard using Helm chart 0.9.1 with the following values
targetNamespaces: ""
 operator:
  scanJobsConcurrentLimit: 30
  vulnerabilityScannerScanOnlyCurrentRevisions: true
  vulnerabilityScannerReportTTL: 24h
starboard:
  scanJobTolerations:
    - operator: Exists
serviceAccount:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::XXX:role/XXX
trivy:
  severity: HIGH,CRITICAL
  githubToken: XXX
  resources:
    requests:
      cpu: 500m
      memory: 512M
    limits:
      cpu: 2000m
      memory: 4G
resources:
  requests:
    cpu: 500m
    memory: 512M
  limits:
    cpu: 2000m
    memory: 2G

We have a private ML image that is deployed in our Kubernetes cluster and the Vulnerability scan (Trivy) fails with the following error failed to open: failed to create the temp file: open /tmp/fanal-291399187: read-only file system
{
  "level": "error",
  "ts":<PHONE_NUMBER>.1531503,
  "logger": "reconciler.vulnerabilityreport",
  "msg": "Scan job container",
  "job": "starboard-operator/scan-vulnerabilityreport-5b65b58f76",
  "container": "ml-prediction-service",
  "status.reason": "Error",
  "status.message": "2022-02-01T03:22:58.840Z FATAL scan error: image scan failed: failed analysis: analyze error: failed to analyze layer: sha256:711287f45789dcf7beddd6550018938fcc3a70f33736d99163f8ec057db41c54 : walk error: failed to process the file: failed to analyze file: failed to analyze usr/local/lib/python3.9/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so: unable to open usr/local/lib/python3.9/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so: failed to open: failed to create the temp file: open /tmp/fanal-291399187: read-only file system",
  "stacktrace": "github.com/aquasecurity/starboard/pkg/operator/controller.(*VulnerabilityReportReconciler).reconcileJobs.func1
    /home/runner/work/starboard/starboard/pkg/operator/controller/vulnerabilityreport.go:320
  sigs.k8s.io/controller-runtime/pkg/reconcile.Func.Reconcile
    /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/reconcile/reconcile.go:102
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
    /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:114
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
    /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:311
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
    /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:266
  sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
    /home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.11.0/pkg/internal/controller/controller.go:227"
}

I can see that Trivy v0.22.0 uses the fanal package and that is where the error is coming from. The name of the created temp file starting with fanal makes that easier to trackdown which is handy.
When I looked at Fanal I found that it will try to untar the file
https://github.com/aquasecurity/fanal/blob/672696605858a4bc4f6cb20fda9208d70220c311/walker/tar.go#L133 and before it does that it will check if the file size if it is bigger than 26MB const ThresholdSize = int64(200) << 20 and if it is it will write it to a temp file within the /tmp directory. It is at this point that the scan errors out due to the scan-vulnerabilityreport container defaulting to a ReadOnlyRootFilesystem
[Miscellaneous information that will assist in solving the issue.]
To see the issue you can also run Trivy using docker to scan the Tensorflow image in read only mode
docker run --rm --read-only -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:0.22.0 tensorflow/tensorflow:2.7.0
2022-02-01T10:53:51.746Z        WARN    The root command will be removed. Please migrate to 'trivy image' command. See https://github.com/aquasecurity/trivy/discussions/1515
2022-02-01T10:54:51.717Z        FATAL   scan error: image scan failed: failed analysis: analyze error: failed to analyze layer: sha256:4a1c45155a198a0cac890fc6adcb7ca37973e374444f65e83729e79b0496f65b : walk error: failed to process the file: failed to analyze file: failed to analyze usr/local/lib/python3.8/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so: unable to open usr/local/lib/python3.8/dist-packages/tensorflow/python/_pywrap_tensorflow_internal.so: failed to open: failed to create the temp file: open /tmp/fanal-2995727774: read-only file system

Environment:

Starboard version (use starboard version): 14.1
Kubernetes version (use kubectl version): 1.20
Kubernetes Distribution: EKS

Thanks @danielpacak sounds good to me. I wasn't sure if you wanted it to be a config option or not but adding a emptyDir for /tmp sounds perfect for my needs


File API inconsistency

It looks like there's an inconsistency in the File API in PhantomJS. Using the type File is not possible because PhantomJS reports it as an object, not a function.
On Chrome, Firefox and Safari:
>> typeof File
"function"
>> new File(['content'], 'name.txt');
File { name: "name.txt", lastModified:<PHONE_NUMBER>442, lastModifiedDate: Date 2016-04-30T03:19:20.442Z, size: 7, type: "" }

On PhantomJS:
phantomjs> typeof File
"object"
phantomjs> new File(['content'], 'name.txt');
'new File(['content'], 'name.txt');' is a cyclic structure

  phantomjs://repl-input:1 in global code

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

Which version of PhantomJS are you using? Tip: run phantomjs --version.

% phantomjs --version
2.1.1

see above
Which operating system are you using?

% uname -a
Darwin host 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64

Did you use binary PhantomJS or did you compile it from source?

Binay compiled by homebrew people (i.e. brew install phantomjs).

Our REPL is pretty dumb :-) Try to reproduce it via a script file.

Hi @Vitallium, the original failure came from a script file, I used the REPL to build the report.
I have test code that calls new File, and here's how it fails:
1) PipelineUploader should set the progress callback:
     TypeError: '[object FileConstructor]' is not a constructor (evaluating 'new File(['this is definitely not a video'], 'input-file.txt', 'text/plan')')

This is the code for the test (using mocha):
(function() {
  'use strict';

  describe('PipelineUploader', function() {
    it('should set the progress callback', function() {
      var file = new File(['this is definitely not a video'], 'input-file.txt', 'text/plan');
      var called = false;
      uploader.upload(file, {
        progressCallback: function(event, xhr) {
          called = true;
        }
      });
      should.exist(requests[0]);
      requests[0].uploadProgress({loaded: false});
      expect(called).to.equal(true);
    });
  });
})();

Bump, this is still happening. Would be nice to have an actual solution instead of having to rely on that hackey fix of using a blob

Still a problem in 2.1.1 indeed.

I also encountered this problem, running phantomjs 2.1.1 with karma-mocha testings

It also occurs on Windows 7:
#phantomjs --version
2.1.1

with karma.
As mentioned by @kyleholzinger you need a Blob for your test setup, for instance:
let setupFile = (): File => {
  let f: Blob = new Blob(["The content of your file"]);
  f['name'] = '/home/user/file';
  return <File> f;
}

Any news on that? Any polyfill we could use to handle File API under phantomJS?

Encountered the same issue, while testing with PhantomJS (v2.1.1).

This is quite annoying.

Is there any other solution than waiting for bug fix? Some workaround? It's a problem in CI process... My error msg: TypeError: FileConstructor is not a constructor (evaluating 'new File(["s"], "tmp_1.txt")')

any update on this?


Can't Download M3u8

Hi I can't download m3u8 from this site:
https://www.iwant.ph/tv/watch/forevermore?id=e623653d-cd04-4be6-98d4-adcf1a859ecc
Could you tell me what to do?
I can't actually understand the text in the app
https://i.imgur.com/YlnSzUS.png
https://i.imgur.com/rWoQI7o.png

If it is an AES-128-CBC encryption program and cannot be downloaded, try adding headers.
I don’t have an account for this site, so I can’t test it.

If it is an AES-128-CBC encryption program and cannot be downloaded, try adding headers.
I don’t have an account for this site, so I can’t test it.

HI thank you for the reply.
But I already tried adding headers but nothing is happening
You can use my account if you want :)
but I don't know how I can message you

I already sent you my account via email

If it is an AES-128-CBC encryption program and cannot be downloaded, try adding headers.
I don’t have an account for this site, so I can’t test it.

I found the solution :)
I just noticed it's not downloading the master.m3u8
but when I tried the index.m3u8 it worked :) with header user-agent
Is it possible to download the file instead of url?
so that I can stored first the m3u8 files and then download later


Aspire.Dashboard nugget is not updated to .Net 9

Aspire.Dashboard nugget is not getting updated, still .Net 9 package is not uploaded

Thanks for your submission @saivineeth100. This package is obsolete since we now ship distro-specific versions of it like https://www.nuget.org/packages/Aspire.Dashboard.Sdk.linux-x64. We'll keep this issue open to track the work to mark this package as deprecated.


Add @j-wags as a maintainer

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

@j-wags speak now or forever hold your pizza

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Record mto available prime

Description
Record the date when a mto becomes available to the prime and when the prime sends counseling info.
Setup
Add any steps or code to run in this section to help others prepare to run your code:
make server_generate
make server_test

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

Looks good 🚢 . Tested locally by calling the two endpoints via swagger-ui and confirming the relevant timestamps were saved.


#4280: Pass old cbid to tilize uninit function

Will merge since I got a passing pipeline here: https://github.com/tenstorrent-metal/tt-metal/actions/runs/8010130985/job/21884816480


When an npm step isn't avaiable - don't fail completely

apart from test.

I dont think you can check if an npm run-script exists before calling it and I'm loathed to "try and catch" it since an actual error in the build step should bubble up.


fix use_kwargs used with ma.Schema(partial=True|tuple)

We hope ignore missing fields when instance ma.Schema with partial=True.
See https://marshmallow.readthedocs.io/en/3.0/api_reference.html#schema
#308

@lafrech Thank you for taking your time for the review. Did you mean this?
def test_use_kwargs_with_arg_missing_and_partial(web_request, parser):
    class UserSchema(Schema):
        id = fields.Int(dump_only=True)
        email = fields.Email()
        password = fields.Str(load_only=True)
        if MARSHMALLOW_VERSION_INFO[0] < 3:

            class Meta:
                strict = True

    web_request.json = {"email"<EMAIL_ADDRESS>    kwargs = deepcopy(strict_kwargs)

    def assert_excepted(partial, expected_result):
        kwargs['partial'] = partial

        @parser.use_kwargs(UserSchema(**kwargs), web_request)
        def viewfunc(**kwargs):
            return kwargs

        assert viewfunc() == expected_result

    assert_excepted(True, {"email"<EMAIL_ADDRESS>    assert_excepted(["email"], {"email"<EMAIL_ADDRESS>"password": missing})
    assert_excepted(["password"], {"email"<EMAIL_ADDRESS>

I meant something like that. I could have been more explicit.
parametrize is probably my favorite pytest feature.
@pytest.mark.parametrize('case', [
    (True, {"email"<EMAIL_ADDRESS>    (["email"], {"email"<EMAIL_ADDRESS>"password": missing}),
    (["email"], {"email": "foo@bar.com"}),
])
def test_use_kwargs_with_arg_missing_and_partial(web_request, parser, case):
    partial, expected = params

    class UserSchema(Schema):
        id = fields.Int(dump_only=True)
        email = fields.Email()
        password = fields.Str(load_only=True)
        if MARSHMALLOW_VERSION_INFO[0] < 3:
            class Meta:
                strict = True

    web_request.json = {"email"<EMAIL_ADDRESS>    kwargs = deepcopy(strict_kwargs)
    kwargs["partial"] = partial

    @parser.use_kwargs(UserSchema(**kwargs), web_request)
    def viewfunc(**kwargs):
        return kwargs
    assert viewfunc() == expected

@lafrech updated and test passed.

Thanks.
We want used like this:
class UserSchema(ModelSchema):
	username =  fields.Str(required=True)
	password =  fields.Str(required=True)
	# other optinal fields auto generated by ModelSchema ...

@bp.route('/users', methods=['POST'])
@use_kwargs(UserSchema(partial=True))
create_user(username, password, **kwargs):
    User(username=username, password=password, **kwargs)

Named arguments mean that required, others in kwargs as optinal.
Explicit is better than implicit.

You could do
class UserSchema(ModelSchema):
	username =  fields.Str(missing=username)
	password =  fields.Str(missing=password)
	# other optional fields auto generated by ModelSchema ...

@bp.route('/users', methods=['POST'])
@use_kwargs(UserSchema(partial=True))
create_user(**kwargs):
    User(**kwargs)

I didn't really think about the use case. I don't think this change forces anything on users (if you don't use partial, it makes not different, and if you do, the new behaviour is more consistent).
AFAIU, the question here is whether using partial is a good idea.

partial (bool|tuple) – Whether to ignore missing fields. If its value is an iterable, only missing fields listed in that iterable will be ignored.
use_kwargs force fill_in_missing_args, so partial won't work as excepted.
@use_kwargs(UserSchema(partial=False))
create_user(username, password, **kwargs):
    User(username=username, password=password, **kwargs)

kwargs will be contain marshmallow.utils.missing value field. This is not expected.

I've added the force_all argument to use_kwargs to provide a backwards-compatible solution to this issue and #252. So I'm going to close this for now.
I think we should just remove the fill_in_missing_args behavior. I've opened an RFC: #342. Please comment there if you have thoughts/opinions.


Getting "null" mof value through /occurrence resource in the new OBIS API v3

Could you please help me out? While trying out the OBIS API v3 on Swagger, I get the mof value as *null every time I iter through the /occurrence resource. I am also attaching a screenshot for your reference.
Thank you for your time!

Thank you so much @pieterprovoost, this resolves my issue. I had tried for Mola mola which perhaps had no mof records as in here: https://api.obis.org/v3/occurrence?scientificname=Mola mola&mof=true. I now conclude that mof data may or may not exist for a species.
But I have a doubt, what exactly do we mean by the statement "making mof response more efficient", it's already an array with the required keys?
Thank you once again for helping me out!
PS. I got this array as mof response it still has some null values, this might be due to missing data I suppose.

@ayushanand18 Not sure where that statement is from?
Regarding the mof field, I'm still not sure why in some cases it's absent while in other cases it's present and null. So for now it's best to account for both. I'll also look into removing the null values from the MeasurementOrFact record, these are missing data indeed.

Thanks @pieterprovoost, this was about one of the expected outcomes for GSoC 2022 [Link: https://github.com/ioos/gsoc/issues/15#issue-1138800706]. Thank you so much for the swift replies 😊
PS. If this API is Open Source I will feel honored to contribute to IOOS.

Adding this here to clarify why comment, will probably need a new ticket and more discussion.
@ayushanand18 in regards to my statement "making mof response more efficient", I was thinking about how we can streamline the mof response when using this python package. As it currently stands, when requesting the mof response, it comes back as a list of dictionaries for each occurrence (see below snippet and screenshot).
What I was hoping we could do is write a module that translates that list of dictionaries into a pandas DataFrame, or at least something more manageable to work with. I'm trying to avoid having to write a loop that pulls all the mof data out for each occurrence. I'm not sure what that might look like (or if it's doable), so I'll leave the solution up to you to think about for this project.
"mof":[{"measurementDeterminedBy":null,"measurementAccuracy":null,"measurementValue":"3","measurementRemarks":null,"measurementValueID":null,"level":0,"occurrenceID":"RSMP_RSMP_A_0505_Baseline_62622","measurementUnit":null,"measurementDeterminedDate":null,"measurementType":"individualCount","measurementUnitID":null,"measurementTypeID":"http://vocab.nerc.ac.uk/collection/P01/current/OCOUNT01/","measurementID":null,"measurementMethod":null},{"measurementDeterminedBy":null,"measurementAccuracy":null,"measurementValue":"0.1m2 Hamon grab","measurementRemarks":null,"measurementValueID":"http://vocab.nerc.ac.uk/collection/L22/current/TOOL0961/","level":1,"occurrenceID":null,"measurementUnit":null,"measurementDeterminedDate":null,"measurementType":"Sampling instrument name","measurementUnitID":null,"measurementTypeID":"http://vocab.nerc.ac.uk/collection/Q01/current/Q0100002/","measurementID":null,"measurementMethod":null}

@MathewBiddle I think this should do the trick? You'll need to specify which columns from the occurrence record you want to keep.
import requests
import pandas as pd

response = requests.get("https://api.obis.org/occurrence?scientificname=Abra&mof=true&hasextensions=MeasurementOrFact")
results = response.json()["results"]

pd.io.json.json_normalize(results, "mof", ["scientificName", "eventDate"])

This is how it works in robis: https://github.com/iobis/robis/blob/master/R/util.R#L153

@pieterprovoost I learn something new everyday :)
I didn't know about this trick with pandas pd.io.json.json_normalize() That does exactly what I was after.
Would it be worth building that into the pyobis package? Similar to robis?

Probably. The idea in robis is that you first get a dataframe with the nested MeasurementOrFact records, and then optionally use the utility function to unnest the extension records. It's a utility function because in R that operation is more than just a one-liner. For pyobis I see a number of options:

Provide a utility function that takes a dataframe and extracts the extension records (probably involves converting back to a list of dicts before using json_normalize(), not sure)
Assume that users can figure that out by themselves
Add an option to the base occurrence funcion to unnest the extension records right after fetching the occurrences

Not sure what's best, maybe the first option?

@MathewBiddle @pieterprovoost Just a simple doubt, why do we mention GBIF in the pyobis package description.
I know both OBIS and GBIF are intensely collaborating on the marine biodiversity data sphere, and there are multi-year data transfer agreements. Almost all OBIS nodes are listed in GBIF, and OBIS is their primary marine data source but couldn't get the fact that we are still reaching out to the OBIS API through this package at the end of the day. robis too mentions as "Client for OBIS". I have been researching it for the last 2 days, but still couldn't get this.
I would deeply appreciate your help in this regard. Thanks in advance!

@ayushanand18 That seems to be a mistake, will need fixing at https://github.com/iobis/pyobis/blob/master/setup.py#L25

Noted. Thanks a ton @pieterprovoost :)


New PR to test SignCLA at 2017-11-08 10:31:55.590274954 -0800 PST m=+78.322743578

Body of PR

indiv-pass-staging: test succeeded


To middleman

None of the links from the index work, but things are now in layout files ready for chunking into partials. YEAH!

:+1:


Added hire commands and more...

Added hire command, see the docstring.
Improved fire command a bit:
-- Prevent a admin from firing themself, this will send a (nice) message
-- Added some text when member didn't have any bots with the staff bot role.
-- Remove the added reactions when confirmed or timeout.
-- Edits the original message now instead of sending a new one.
Fixed botinfo not sending in the verification server.
Added part in on_member_join to add the mod role to joining humans in the verification server.
Improved the dm command by adding arguments and flags, see the docstring/code.
Fixed hyperlink on title for queue command.

You could add a signature to the bottom of the message...
Example:
{ctx.author.name}, {ctx.author.top_role.name}
Print:
Dylster, Senior Website Moderator
This could also be as a parser thing like [SIGNATURE]

You could add a signature to the bottom of the message...
Example:
{ctx.author.name}, {ctx.author.top_role.name}
Print:
Dylster, Senior Website Moderator
This could also be as a parser thing like [SIGNATURE]

Sure, i can add that as default with a flag to change it if you want.

You could add a signature to the bottom of the message...
Example:
{ctx.author.name}, {ctx.author.top_role.name}
Print:
Dylster, Senior Website Moderator
This could also be as a parser thing like [SIGNATURE]

Sure, i can add that as default with a flag to change it if you want.

Yeah, so as a flag like --signature rather than [SIGNATURE]?

Sure, i can add that as default with a flag to change it if you want.

Yeah, so as a flag like --signature rather than [SIGNATURE]?

Yes because in my opinion a SIGNATURE argument would be useless because it's only going to be used at the end, this is something that can be "hardcoded(?)" and changed if wanted with the mentioned flag.

Yes because in my opinion a SIGNATURE argument would be useless because it's only going to be used at the end, this is something that can be "hardcoded(?)" and changed if wanted with the mentioned flag.


[script] update make-pretty to use clang-tidy-11 and clang-format-11

This updates clang-tidy and clang-format to version 11.
llvm@9 is not available to Apple M1 Macs using brew
llvm@11 is available across all platforms in brew.
Both clang-tidy-11 and clang-format-11 are also available via apt-get for Ubuntu

@lmnotran Thanks for this change! The pretty check is failing, would you help resolve this? (You will need to format the c++ code and upload the new changes)

Thank @lmnotran . I think there were some differences between different versions and we may want to double-check its impact (the pretty check is failing with clang-11).
It is true that there seems to be no brew recipe for llvm9 (not sure why). I did install version 9 directly from https://releases.llvm.org/download.html (I have it running on an M1 mac and also an Ubuntu machine).

I'm not sure if I'm asking too much, but clang-11 is also quite old, is it possible to upgrade to clang-14 which is supported by most modern distributions.

I'm not sure if I'm asking too much, but clang-11 is also quite old, is it possible to upgrade to clang-14 which is supported by most modern distributions.

I can take a look at updating clang requirement for pretty check.

Superseded by #8490


Employment history content updates

Jira ticket URL
https://dfedigital.atlassian.net/browse/TEVA-2396
Changes in this PR

Update content
Change button to grey
Update success banner content on destroy

Review app deployed to https://teaching-vacancies-review-pr-3303.london.cloudapps.digital


/show x

Feature: implement command /show x (x is the number of first x cards from the top of the deck)
Reason: many cards allow you to look at or search first x cards of your deck, for example:
Greenblood Trader: /show 2
Summons: /show 10
Upcoming Pyat Pree: /show x (x is variable based on challenge result)

I'd rather implement the cards that have this effect than have a command for it, for now you can work around it easily enough with show deck/shuffle


Modify ListCommandParser to handle parsing of listing foodstalls and foodreviews

I think it might be better to split it into two classes, one to do slist and the other to do rlist. However, there's going to be a lot of code repeated as well, maybe we can make an abstract class/interface we can inherit from for both?


[Event Request] Table 37 "Sales Line" - Function "ReduceInvoiceDiscValueOnHeader" - New Event OnBeforeReduceInvoiceDiscValueOnHeader

Hello, we need the possibility to extend the Function "ReduceInvoiceDiscValueOnHeader" on "Sales Line" Table (37) as follows:
    local procedure ReduceInvoiceDiscValueOnHeader(InvDiscountAmount: Decimal)
    begin
        //new-s
        IsHandled := false;
        OnBeforeReduceInvoiceDiscValueOnHeader(SalesHeader, InvDiscountAmount, IsHandled);
        if IsHandled then
            exit;
        //new-e

        if IsNullGuid(SalesHeader.SystemId) then
            exit;
        if SalesHeader."Invoice Discount Value" = 0 then
            exit;
        SalesHeader."Invoice Discount Value" -= InvDiscountAmount;
        SalesHeader.Modify(true);
    end;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeReduceInvoiceDiscValueOnHeader(var SalesHeader: Record "Sales Header"; InvDiscountAmount: Decimal; var IsHandled: Boolean)
    begin
    end;

Thank you
Fabio

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11488.


Handle case sensitivity on Linux filesystems

rla version
<IP_ADDRESS>
Is your feature request related to a problem? Please describe.
I am trying to clean a NTUSER.DAT file. It seems Windows somehow wrote the base file as NTUSER.DAT and the log files as ntuser.dat.LOG1 and ntuser.dat.LOG2 (lower case file names). When running rla on a Windows machine it still finds the associated log files. When running on a Linux machine it cannot find the log files and errors. I assume this is because on Linux file names are considered case sensitive. When manually renaming these files to upper case it works fine again.
Describe the solution you'd like
I think rla should try to look for log files with lower case file names too when it is running on Linux.
Additional context
Without renaming:
tree ../Administrator_Profile/
../Administrator_Profile/
├── NTUSER.DAT
├── ntuser.dat.LOG1
└── ntuser.dat.LOG2

1 directory, 3 files

dotnet rla.dll -f ../Administrator_Profile/NTUSER.DAT --out ../out/ --debug --trace

[14:28:44.012 INF] rla version <IP_ADDRESS>

Author: Eric Zimmerman<EMAIL_ADDRESS>https://github.com/EricZimmerman/RECmd

Note: Enclose all strings containing spaces with double quotes

[14:28:44.029 INF] Command line: -f ../Administrator_Profile/NTUSER.DAT --out ../out/ --debug --trace

[14:28:44.030 INF] Processing hive ../Administrator_Profile/NTUSER.DAT
[14:28:44.038 DBG] Got hive header. Embedded file name \Users\Administrator\ntuser.dat. Base Name ntuser.dat
[14:28:44.039 INF]   Hive ../Administrator_Profile/NTUSER.DAT is dirty, but no logs were found in the same directory. --ca is true. Copying...
[...]

With renaming the log files:
tree ../Administrator_Profile/
../Administrator_Profile/
├── NTUSER.DAT
├── NTUSER.DAT.LOG1
└── NTUSER.DAT.LOG2

1 directory, 3 files

dotnet rla.dll -f ../Administrator_Profile/NTUSER.DAT --out ../out/ --debug --trace                                                      14:29:31

[14:29:44.396 INF] rla version <IP_ADDRESS>

Author: Eric Zimmerman<EMAIL_ADDRESS>https://github.com/EricZimmerman/RECmd

Note: Enclose all strings containing spaces with double quotes

[14:29:44.413 INF] Command line: -f ../Administrator_Profile/NTUSER.DAT --out ../out/ --debug --trace

[14:29:44.413 INF] Processing hive ../Administrator_Profile/NTUSER.DAT
[14:29:44.422 DBG] Got hive header. Embedded file name \Users\Administrator\ntuser.dat. Base Name ntuser.dat
[14:29:44.426 DBG] Got transaction log header. Embedded file name \Users\Administrator\ntuser.dat. Base Name ntuser.dat
[14:29:44.433 DBG] Got transaction log header. Embedded file name \Users\Administrator\ntuser.dat. Base Name ntuser.dat
[14:29:44.434 WRN] Dropping ../Administrator_Profile/NTUSER.DAT.LOG2 because the log's header.PrimarySequenceNumber is less than the hive's header.SecondarySequenceNumber
[14:29:44.434 INF] Single log file available: ../Administrator_Profile/NTUSER.DAT.LOG1
[14:29:44.434 INF] Replaying log file: ../Administrator_Profile/NTUSER.DAT.LOG1
[14:29:44.436 INF] At least one transaction log was applied. Sequence numbers have been updated to 0x007E. New Checksum: 0xDF9139FB
[...]

binaries will be up soon

should be live, so check for updates

I can confirm it does work now. Thanks!