Update Stable Major Releases of PDS software with DOIs

Per the JPL-PDS Open Source Policy:
Each major release of the software must have a persistent identifier such as a Digital Object Identifier (DOI).

Open Questions

The policy says "persistent identifiers". DOIs are the default for this outside of the PDS. Is that the route we want to take?
Apparently this is pretty easily integrated with Github, but, surprise, I don't think it is easily automated. Can we automate? Or is it just a procedural update to the wiki?

This actually might be pretty trivial. I tried a quick integration with Zenodo and was able to automatically get DOIs assigned to this sandbox repository (scroll down to see the DOI badge):
https://github.com/nasa-pds-engineering-node/epitome
If that satisfies the requirement, I can go ahead and enable this on the non-sandbox repositories. Sound okay @jordanpadams @tloubrieu-jpl ?

@nutjob4life awesome!
Can we make it so it only assigns a new DOI for major version change (e.g. 1.x, 2.x, etc.)? If so, this would be perfect!

@jordanpadams: Currently, the Zenodo integration assigns a DOI to the repository (10.5281/zenodo.5643445 = PDS Epitome) and then subsequent DOIs to every single release from that repository (10.5281/zenodo.5643446 = PDS Epitome stable release 1.8.6, 10.5281/zenodo.5643489 = PDS Epitome unstable release 1.8.7-dev).
Personally I think it's okay since the DOIs are essentially free ☺ and there's always the repo-level DOI. Would the repo-level DOI work?
Researching further, we might be able to do something with their API in order to do  vMAJOR+1.MINOR.MICRO DOI assignments. The API looks a bit more involved than the 1-line webhook which has the benefit of being … well … one line! 😅

@nutjob4life I'm ok with repo level and every release... I think that suffices for me.
thoughts @tloubrieu-jpl ?

I think zenodo is the standard solution for software DOIs

@jordanpadams @tloubrieu-jpl will share the prefix used for the dataset's DOI.
This requires some more thought on how to combine/filter in between datasets and software DOIs.

There was an issue with the github/zenodo integration which should be solved now.
We will stick with using the zenodo assigned DOI prefix.

The production PDS organization in zenodo can be found here: https://zenodo.org/communities/nasa-pds/
The test one is: https://zenodo.org/communities/nasa-pds-test/

There is a bug number of requests done to the github api which reaches the limit authorized per hour.

@tloubrieu-jpl I'm assuming this is unrelated to the actual DOI creation, but rather the requirements / changelog generation?

@jordanpadams, this seems to be the case. When I made a release "by hand", my API use count went up by 3 after Zenodo assigned the DOI and archived the repository. But after experimenting with Roundup releases, I saw thousands of API requests (3800 out of 5000 in one hour).
I'm watching this to ensure it's not the DOI assignment that's responsible for this massive API usage.

[ ] https://github.com/NASA-PDS/transform
[ ] https://github.com/NASA-PDS/pds4-jparser
[ ] https://github.com/NASA-PDS/pds-api-javalib
[ ] https://github.com/NASA-PDS/registry-api-service
[ ] https://github.com/NASA-PDS/pds-api-client
[ ] https://github.com/NASA-PDS/pds-api
[ ] https://github.com/NASA-PDS/nasa-pds.github.io
[ ] https://github.com/NASA-PDS/pds4-information-model
[ ] https://github.com/NASA-PDS/validate
[ ] https://github.com/NASA-PDS/pds-deep-archive
[ ] https://github.com/NASA-PDS/pdsen-corral
[ ] https://github.com/NASA-PDS/pds-github-util
[ ] https://github.com/NASA-PDS/pds-doi-service
[ ] https://github.com/NASA-PDS/harvest
[ ] https://github.com/NASA-PDS/pds-registry-app
[ ] https://github.com/NASA-PDS/pds-api-notebook
[ ] https://github.com/NASA-PDS/pdsen-operations
[ ] https://github.com/NASA-PDS/api-search-query-lexer
[ ] https://github.com/NASA-PDS/pds-registry-mgr-elastic - TBD - possible combine with Harvest
[ ] https://github.com/NASA-PDS/pds-registry-common - TBD - possible combine with Harvest
[ ] https://github.com/NASA-PDS/supplementer  - TBD - possible combine with Harvest
[ ] https://github.com/NASA-PDS/pdsen-maven-parent
[ ] https://github.com/NASA-PDS/pds-view
[ ] https://github.com/NASA-PDS/mi-label

@nutjob4life ☝

@jordanpadams you sure about including  https://github.com/NASA-PDS/pdsen-corral? There's not any software that I can see in that repository.

@nutjob4life you can skip it. it runs github actions and pushes to our nasa-pds.github.io website, but it is really just at facilitator more than it is a software repo

@nutjob4life also, do we need to add the patch the README? Or does this happen auto-magically?

@jordanpadams READMEs?
Oh you mean for the DOI badge? We can't add those until at least one release [1] has been made, since that'll assign a DOI, and then that gives us a badge image URL.
[1] A pre-release counts.

@nutjob4life copy. so we may need another ticket for rolling out the badges

Stable releases updated and DOIs ready for tagging one releases are tagged.


broken link: seconth is linked to from its repo at sr.ht, but the page does not exist (anymore?)

https://git.sr.ht/~rabbits/seconth
Links to https://wiki.xxiivv.com/site/seconth.html
But that gives:
"Your destination could not be found, please report the broken route, or visit the index."

Thanks, I didn't think it needed its own page, I'll probably improve the repo's own documentation instead.


Error: Cannot find module 'path'

import { transformerTwoSlash } from 'shikiji-twoslash';

 ⨯ Error: Cannot find module 'path'
    at webpackEmptyContext (.../.next/server/app/[slug]/page.js:22:10)
    at requirePath (webpack-internal:///(rsc)/./node_modules/.pnpm/@typescript+vfs@1.5.0/node_modules/@typescript/vfs/dist/vfs.esm.js:592:132)

We temporarily closed this due to the lack of enough information. We could not identify whether it was a bug or a userland misconfiguration with the given info.
Please provide a minimal reproduction to reopen the issue.
Thanks.

Why reproduction is required

For anyone running into this issue when using next.js: https://github.com/shikijs/twoslash/issues/191#issuecomment-1928681921


[Feature]: Workshop Setup Completion Checklist

Problem Description
A detailed checklist of remaining setup work
Proposed Solution
Workshop Setup Completion Checklist
1. Core Infrastructure Setup 🔄

[ ] Create exercises/ directory with structured content:

[x] Exercise 1: LCA Baseline Assessment template
[x] Exercise 2: LLM Prompt Engineering guide
[x] Exercise 3: Workflow Optimisation framework
[ ] Exercise 4: Validation Exercise setup

2. Pre-implemented Modules Development 🛠

[ ] Create base utility modules in solutions/team_template/src/:# extraction.py - Base EPD parsing functionality
- [ ] Implement PDF text extraction helper
- [ ] Add table detection and parsing
- [ ] Create structured data output formatter

# processing.py - Data transformation utilities
- [ ] Add unit conversion functions
- [ ] Implement impact category standardisation
- [ ] Create data validation helpers

# visualisation.py - Pre-built plotting functions
- [ ] Add standard LCA visualisation templates
- [ ] Implement comparison chart generators
- [ ] Create impact category breakdown plots

3. Documentation Enhancement 📚

[ ] Complete the exercises/ documentation:

[ ] Add detailed exercise instructions
[ ] Create step-by-step tutorials
[ ] Include example solutions
[ ] Add troubleshooting guides

4. Data Resources 📊

[ ] Add to data/reference_results/:

[ ] Sample EPD documents
[ ] Reference calculations
[ ] Validation datasets
[ ] Benchmark results

5. Workshop Flow Refinement ⏱

[ ] Create timing-optimised workshop structure:20min: Introduction
- 5min: Overview & Setup verification
- 15min: Core concepts & Tool introduction

80min: Hands-on Exercises
- 20min: Exercise 1 - Data Extraction (pre-implemented helpers)
- 25min: Exercise 2 - Prompt Engineering
- 25min: Exercise 3 - Results Analysis
- 10min: Buffer time for troubleshooting

20min: Wrap-up
- 15min: Team presentations (3min each for 5 teams)
- 5min: Key takeaways & next steps

6. Testing Infrastructure 🧪

[ ] Add example tests in solutions/team_template/tests/:

[ ] Unit test templates
[ ] Integration test examples
[ ] Validation test frameworks

7. API Integration 🔌

[ ] Create helper functions for API calls:# api_helpers.py
- [ ] Implement rate limiting
- [ ] Add error handling
- [ ] Create response caching

8. Quality Assurance 🎯

[ ] Add CI/CD workflow:

[ ] GitHub Actions setup
[ ] Automated testing
[ ] Code quality checks

9. Final Preparations 🎬

[ ] Create workshop presentation slides
[ ] Set up troubleshooting guide
[ ] Prepare instructor notes
[ ] Test complete workflow with sample team

Priorities & Time Management Notes 📝
High Priority

Pre-implemented modules (reduces student workload)
Exercise documentation (ensures clear guidance)
Workshop flow refinement (optimises time usage)

Medium Priority

Testing infrastructure
API integration helpers
Data resources

Lower Priority

CI/CD workflow
Advanced documentation features
Extended test coverage

Time Optimisation Strategies

Provide more pre-built components
Focus exercises on LCA/LLM concepts
Minimise setup/configuration time
Include "stretch goals" for advanced students

Core Functionality

[ ] Complete solutions/team_template/src/ modules
[ ] Add unit tests
[ ] Create example data

Exercise Structure

[ ] Write exercise documentation
[ ] Create starter notebooks
[ ] Add complete reference solution

Documentation & Testing

[ ] Complete setup guides
[ ] Add troubleshooting FAQ
[ ] Test full workflow


chore(behavior): remove some CoreRegistry usage

This removes some of the CoreRegistry usage from logic.behavior, though not all of it.
Action instances get fields injected by BehaviorTreeBuilder, but I don't think the same is true of BehaviorNode or Actor, so there are still some places in there using the global.
I don't know whether this ends up helping #5004.

Code-wise this looks fine, however on testing it with CoreGameplay + WildAnimals and spawning a deer via in-game console (spawnPrefab deer), I noticed that the deer reproducibly don't move anymore when I'm on this branch (on develop they do).


Change the logo of mastercard, visa etc. ?

Can there any way to change the logo of mastercard? Because I use white background and logos can't be seen.
Thanks for library

@omralcrt Take a look at the CreditCartEditTextInterface. If you implement that interface and provide a list of CreditCard objects you can provide your drawable with the regex to use.
Maybe Use the same patterns that the CreditCardPatterns object returns with your drawables.


Initial/default state?

What is the best way to set initial/default state that uses props in a global store?
For example, I have a parent component that accepts a few props that I want to use to build the initial state of my global store. These props may simply be used as is, and merged into the store state, or they may be used to derive the initial state.
thx

I am a bit lost here. Do you have a global store per page and you would like to fill the store with data once you navigate to the page?

Not strictly speaking, but You could think of it like that.
My app is not an SPA. Instead, parent components are loaded on demand within existing pages of server rendered HTML.
The may also have their own store, but not a local store, as the state will be used by child comments.
These parent components may have props which may need to be used to initialise the store for that parent component.
Does that help explain my use case?

I think we might have different definitions of local and global stores.
export default view(() => {
  // this is a local store
  // it can be passed to child components but it can not be passed to sibling and parent components
  const myStore = store({})
  return <Child store={myStore} />
})

// this store is defined outside of any components
// it is a global store which can be used in any component anywhere in the app
const myStore = store({})

export default view(() => {
  return <div />
})

Which one do you plan to use?

The latter is what I would also call a global store. However...
I need to create/initialise the store from within a "master" component, so that I can pass any props to the store when it is created.
So creating the store outside a component means it cannot accept any props from the "master" component.
Hope that helps explain a little better.


Fix shadow bug on Firefox

box-shadow: 0 0 0 0; leaves a slight edge on Firefox.
box-shadow does accept none, which works as expected.

before

after

Thanks @princemaple! I have already found that bug but I didn't really know where the problem was 😅 Thanks!


Allow multiline strings in JSON

The code will simply remove newlines and tabs before parsing, which seems to work fine.

This causes error positions to be off.

This causes error positions to be off.

Can you give an example of what you mean?


doc: improve README

We need to add a proper README to the project

I'll help

That would be very great! Thank you so much!

Hi, why did you unassign @JScrips?

Yes its been more than 10 days now so I unassigned him.

You can ping him for a update. Don't just assign like that lol
On Wed, 10 Aug 2022, 1:10 pm Dharmik_403, @.***> wrote:

Yes its been more than 10 days now so I unassigned him.
—
Reply to this email directly, view it on GitHub
https://github.com/Dharmik48/seeit/issues/3#issuecomment-1210284861, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUGJUTMHUKZJPEJG3A5MILLVYNMHXANCNFSM55DKBRJA
.
You are receiving this because you commented.Message ID:
@.***>

You can ping him for a update. Don't just assign like that lol

You are right😅 I should have pinged him first

You can ping him for a update. Don't just assign like that lol

You are right😅 I should have pinged him first

Hello Dharmik and Kendall,
Thank you @KendallDoesCoding for your consideration and empathy. I really appreciate it. @Dharmik48 I apologize for my absence, I have run into some real-life things on my end. I understand your reasoning for unassigning me, I should've pinged you sooner to give an update. So for that, I apologize

Thank you @KendallDoesCoding for your consideration and empathy. I really appreciate it. @Dharmik48 I apologize for my absence, I have run into some real-life things on my end. I understand your reasoning for unassigning me, I should've pinged you sooner to give an update. So for that, I apologize

No need to apologize, I should have pinged you before unassigning you.
I have reassigned you.


Post data into a api

we are posting data into api using react js.
here is the code that we have a write to send json data into the api using react js.
but we are facing cross origin error.
and also our api have a barrier auth so please guide us to pass json data and get response.

Where is the code?

This repo is not the best place to get help using the library.
Here is a list of places to get support 😄 : https://reactjs.org/community/support.html


Create a testbed for the central store

I'm creating a small executable that exercises the full store interface in parallel, either in a single process (for easy testing) or in multiple processes (for better performance analysis).

Is this complete now #1011 has merged?


this is a commit

Task linked: CU-862je6338 Build static elemnts

Task linked: CU-862je6338 Build static elemnts


all-of and any-of didn't work properly

#13

@rultor merge

@rultor merge

@graur OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@graur Done! FYI, the full log is here (took me 3min)


[v1.7] vendor: update github.com/cilium/ebpf

Due to the __NR_CPUS__ bugfixes backported in #12363, the cilium monitor reader is now trying to access the perf event ring buffer for offline CPUs. This causes crashes with older versions of cilium/ebpf in Cilium 1.7.6. Thus we need to bump cilium/ebpf, as the newer version contains the patches which deal with offline CPUs.
This fixes a regression introduced in 1.7.6 where Hubble and cilium monitor crash the agent on machines with offline CPUs.

#12068 -- vendor: update github.com/cilium/ebpf (@tklauser )

Once this PR is merged, you can update the PR labels via:
$ for pr in 12068; do contrib/backporting/set-labels.py $pr done 1.7; done

/cc @pchaigno @kAworu @Rolinh

test-backport-1.7

I think you forgot to git add vendor/golang.org/x/xerrors, see the Travis CI build failure: https://travis-ci.com/github/cilium/cilium/builds/174807922
Otherwise LGTM.

I hit that bug when trying to deploy Hubble v0.5 with Cilium v1.7.6 on my machine which report a higher possible cpu count than online cpu count:
% cat /sys/devices/system/cpu/possible
0-15
% cat /sys/devices/system/cpu/online
0-7
% cat /sys/devices/system/cpu/present
0-7
% cat /sys/devices/system/cpu/offline
8-15
% nproc --all
8

I think you forgot to git add vendor/golang.org/x/xerrors, see the Travis CI build failure: https://travis-ci.com/github/cilium/cilium/builds/174807922
Otherwise LGTM.

Thanks! I was indeed not realizing this and was wondering what went wrong with go mod when in fact it was just me :facepalm:
Should be fixed now.

test-backport-1.7

runtime tests failure seems unrelated
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/19806/testReport/junit/(root)/Suite-runtime/RuntimePrivilegedUnitTests_Run_Tests/

restart-ginkgo

test-me-please

test-backport-1.7

runtime tests failure seems unrelated
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/19806/testReport/junit/(root)/Suite-runtime/RuntimePrivilegedUnitTests_Run_Tests/

This looks similar to #11512. I think I remember @pchaigno mentioning something similar while ago. We might need to increase the timeout for the privileged runtime tests yet again.

runtime tests failure seems unrelated
https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Validated/19806/testReport/junit/(root)/Suite-runtime/RuntimePrivilegedUnitTests_Run_Tests/

This looks similar to #11512. I think I remember @pchaigno mentioning something similar on master a while ago. We might need to increase the timeout for the privileged runtime tests yet again.

This one doesn't look like a timeout. There's this bit of info. in the logs:
	 START: routing_test.go:71: LinuxRoutingSuite.TestDelete
	 valid IP addr matching rules
	 Inside new network ns NS(3:4026532381)
	 Added dummy device
	 routing_test.go:130:
	     runFuncInNetNS(c, func() {
	         ip := tt.preRun()
	         err := Delete(ip)
	         c.Assert((err != nil), Equals, tt.wantErr)
	     }, masterMAC)
	 routing_test.go:178:
	     c.Assert(err, IsNil)
	 ... value *errors.errorString = &errors.errorString{s:"unable to find ifindex for interface MAC: interface with MAC 00:11:22:33:44:55 not found"} ("unable to find ifindex for interface MAC: interface with MAC 00:11:22:33:44:55 not found")

	 routing_test.go:130:
	     runFuncInNetNS(c, func() {
	         ip := tt.preRun()
	         err := Delete(ip)
	         c.Assert((err != nil), Equals, tt.wantErr)
	     }, masterMAC)
	 routing_test.go:226:
	     c.Assert(netlink.LinkDel(dummy), IsNil)
	 ... value syscall.Errno = 0x16 ("invalid argument")

	 Closed new network ns NS(3:4026532381)
	 FAIL: routing_test.go:71: LinuxRoutingSuite.TestDelete

I couldn't find an existing flake report for that error.

This one doesn't look like a timeout. There's this bit of info. in the logs:

@pchaigno It could be that we not safely change the network namespaces in Go.

@brb Yes, #11620 fixes it and is now marked for backport into 1.7.


Expand documentation

To document, we're using the Documenter.jl module, which takes the docstrings in the source to generate the documentation. I'll update here with a list of stuff we need to consider:

[x] Example on usage for Generators
[ ] Remove Result information from algorithms (and move to Result)

More things that need to be done:

[ ] Add references to functions
[ ] Add logo
[ ] Add a page on how to add mutators/recombinators/selectors


Check for presence of cached and response ETags. Fixes #1599.

If we are relying on the Last-Modified/If-Modified-Since pair, this line
 if (!(cachedEtag && responseEtag && [cachedEtag isEqualToString:responseEtag])) return NO;

will return if there are no etags in the response. That doesn't seem to be the correct behavior: we could still skip the mapping if the correct Last-Modified/If-Modified-Since headers have been set.
Shouldn't this be guarded by if (cachedEtag) {?


add ffcv data loader

🚀 Feature
add:
Fast Forward Computer Vision: train models at a fraction of the cost with accelerated data loading!
https://github.com/libffcv/ffcv
Motivation
speedup training
cc @borda

I think it is duplicate to #11538 :rabbit:

cool!
yes, tnx


Add high stat armor tweets

What
Add the ability to upon weekly tweet high stat rolls.
Depends upon https://github.com/cujarrett/destiny-insights-backend/issues/23

:tada: This issue has been resolved in version 1.54.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Data Fetching hook?

Has anyone had any luck creating a data fetching hook using useEffect?
I’ve tried a few things but I’m having issues with updating and changing data once it’s fetched.
useEffect seems to work fine with any asynchronous functions, but I feel like I’m missing a piece

I have this plan.

#4


Just ran black and ruff --fix

Just formatted the python code in the scripts dir.
commands:

black src/scripts/
ruff --fix src/scripts/

Did not add / remove any code manually. So functionally, nothing has changed.

Also, the monarch project template Cookiecutter implements it too. It offers flake8 and mypy right out of the box without installing them individually. Pretty handy.


XSS: Fix sanitizeUrl vbscript/data xss

Fixes #306 : I believe this fixes https://www.npmjs.com/advisories/1219 if
options.disableParsingRawHTML is set.
NOTE: This does not handle script elements, etc., that may be rendered
when options.disableParsingRawHTML is not enabled. We might be able to
use something like dompurify to
solve that case?
According to https://owasp.org/www-community/xss-filter-evasion-cheatsheet ,
the dangerous javascript: protocol can contain some whitespace
characters and still be vulnerable, and sometimes when used in
conjunction with images, some other special characters like ` or <
before the javascript: protocol can also leave a url vulnerable.
This change re-adds the sanitiation logic removed in 9c6c782c , and also
adds the vbscript/data handling from github.com/Khan/simple-markdown/pull/63
Test plan:
Add tests and run npm test

Should fix #306


Not to publish my bot through bot framework composer.

when i am trying to publish my bot through bot framework composer, i am getting below error in my logs.
LOG:
Bot-doc01.docx

"Accepted for publishing..."

"Building the bot app..."

"Build succeeded!"

"Creating build artifact..."

"Build artifact ready!"

"Publishing to Azure ..."

"Uploading zip file..."

"{"name":"DEPLOY_ZIP_ERROR","message":"RequestError - Error: getaddrinfo ENOTFOUND botcr-9401-dev.scm.azurewebsites.net","stack":"Error\n    at new n (C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:18:97996)\n    at Object.t.createCustomizeError (C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:18:98326)\n    at e. (C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:338:28742)\n    at C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:338:25368\n    at Object.throw (C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:338:25473)\n    at s (C:\\Program Files\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\lib\\node\\index.js:338:24238)"}"

"DEPLOY_ZIP_ERROR - RequestError - Error: getaddrinfo ENOTFOUND botcr-9401-dev.scm.azurewebsites.net"
My Web App Bot is already provisioned.

@cwhitten My messaging endpoint is "https://botcr-9401-dev.ase2-dev-paas.p.azurewebsites.net/api/messages"
and my bot framework composer is trying to publish at botcr-9401-dev.scm.azurewebsites.net,
con you help me to change the configuration of bot framework composer so that it will route me to https://botcr-9401-dev.ase2-dev-paas.p.azurewebsites.net/
For more detail please refer attachment: doc02
doc02.docx

@cwhitten i am currently using bot framework composer (v1.3.1)

@shubham8886 Can you clean up all publishing profiles (and any orphaned resources) and then update to v1.4.0 and try again please?

@dmvtech I have only ne profile to publish. why my bot is publishing to  "botcr-9401-dev.scm.azurewebsites.net" instead of scm i need to configure it to "ase2-dev-paas.p" is it possible? what is the issue here?

"name": "botcr-9401",
"environment": "dev",
"runtimeIdentifier": "win-x64",
"resourceGroup": "",
"botName": ""
Question: what is the difference between name and botName?

"Accepted for publishing..."

"Abs settings incomplete, skip linking bot with webapp ..."

"hostname incomplete, return ..."

"Building the bot app..."

"Build succeeded!"

"Creating build artifact..."

"Build artifact ready!"

"Publishing to Azure ..."

"Uploading zip file..."

"{"name":"DEPLOY_ZIP_ERROR","message":"The hostname is invalid, please check if hostname/name-environment matches your target resource(webapp/function) name","stack":"Error\n    at new CustomizeError (C:\\Users\\ads.ssaurav\\AppData\\Local\\Programs\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\dist\\extension.js:183482:25)\n    at createCustomizeError (C:\\Users\\ads.ssaurav\\AppData\\Local\\Programs\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\dist\\extension.js:183487:10)\n    at BotProjectDeploy.deployZip (C:\\Users\\ads.ssaurav\\AppData\\Local\\Programs\\Bot Framework Composer\\resources\\app.asar.unpacked\\extensions\\azurePublish\\dist\\extension.js:183913:15)"}"

"DEPLOY_ZIP_ERROR - The hostname is invalid, please check if hostname/name-environment matches your target resource(webapp/function) name"
where i need to provide these setting, please find below my setting values.
{
"name": "botcr-9401-dev",
"environment": "ase2-dev-paas",
"runtimeIdentifier": "win-x64",
"resourceGroup": "rg_9401_PAAS_dev1",
"botName": "BOTCR-9401-Dev",
"subscriptionId": "",
"region": "East US",
"settings": {
"applicationInsights": {
"InstrumentationKey": ""
},
"cosmosDb": {
"cosmosDBEndpoint": "",
"authKey": "",
"databaseId": "botstate-db",
"containerId": "botstate-container"
},
"blobStorage": {
"connectionString": "",
"container": ""
},
"luis": {
"authoringKey": "",
"authoringEndpoint": "",
"endpointKey": "",
"endpoint": "",
"region": "westus"
},
"qna": {
"subscriptionKey": "",
"endpoint": ""
},
"MicrosoftAppId": "f45f3179-bc00-459c-acf7-26e465b22552",
"MicrosoftAppPassword": "**"
}
}
Please guide me to fill these values.

any update?

@shubham8886, I can see above in the discussion history that it was suggested you try the most recent version, 1.4.0. Were you able to do so? If not, can you try and see if the issue persists? You can also try the nightly version by selecting "Early adopters" in Composer's settings page to get the most recent unpublished version.

Closing due to lack of response.


Update the Traefik chart

Is your feature request related to a problem? Please describe.
I'm trying to use Traefik v3 with the OpenTelemetry settings which are bugged in chart v25.0.0. See https://github.com/traefik/traefik-helm-chart/issues/999 for more info.
Describe the solution you'd like
Update the embedded Traefik chart.
Describe alternatives you've considered
Additional context
Needs to happen here: https://github.com/k3s-io/k3s-charts/tree/main

We're still shipping traefik v2.10; I'm not sure when we'll switch to 3.x.

@brandond What is preventing the switch to Traefik v3?

The last time we did a major Traefik upgrade from v1 -> v2 we didn't even attempt to migrate folks, we just left them on v1 if it was installed, and added docs to help folks migrate when they are ready - since there were breaking changes between the two versions.
I suspect we will probably want to do something similar with this transition.

@brandond What do you mean with

The last time we did a major Traefik upgrade from v1 -> v2 we didn't even attempt to migrate folks, we just left them on v1 if it was installed, and added docs to help folks migrate when they are ready - since there were breaking changes between the two versions.

So you shipped Traefik v2 with k3s but didn't automatically migrate to v2 if there was an existing Trafeik v1 deployment?
I'd also welcome this upgrade procedure for the v2 -> v3 switch.
The Traefik v3 update also has breaking changes in the IngressRoute syntax, which requires manual migration for specific scenarios (regex paths).

@caroline-suse-rancher Can you provide any information on when this will be prioritized?

According to Traefik announcement, Traefik 3 will support 2.x configuration

With Traefik v3, we are introducing a streamlined transition process from v2, ensuring backward compatibility with v2 syntax while offering a progressive path for adopting the v3 syntax, effectively overcoming the challenges encountered in previous migrations.

@brandond Hey, it'd be very good to update Traefik to even just 2.11.9. There's a big security issue regarding the X-Forwarded-For header in Traefik <2.11.9 & <3.1.3: https://nvd.nist.gov/vuln/detail/CVE-2024-45410

@brandond How about defaulting to the existing Traefik version 2.x and adding a feature flag for those that want to leverage Traefik 3.x and all it's goodness. A common use case is people that are standing up new clusters and don't have to worry about migrating.


bundle size reduction for demo package in development mode

Highlight
Total bundle size in development mode 3.5MB -> 1.78MB (almost 50% off)

based on a few commits after 0.0.17-alpha.1, commit: 9ef31ef280b247c232ac7990f22c690b59b2bb8d

There is NO NEED to turn on terser plugin for the demo package taking belows into account:

enable remote debugging in various mini-program devtools with full source map support under bundle size limit of 2MB
we configure the terser plugin to minimize the SELECTED BUNDLES ONLY

Comparison

Code
首页见

This PR description & code comments are very helpful. Thanks.

首页见

https://github.com/mallfoundry/taroify/blob/main/packages/demo/config/dev.js


Improve reliability and run daemonized

Right now, it will just crash if it runs into any errors. It would be a nice feature if it were:

Able to work in headless mode, and run as a daemon.
Recover from crashes, and detect when you have no posts left to delete
Schedule deletion of posts, so that you can use it in a cron-like manner to regularly delete things you've posted.

Note: 1. is covered by #10

One potential issue with running it as a daemon is 2FA. It will somehow require entering it the first time it is run, or they would have to disable 2FA temporarily.

I came across a post that cannot be deleted.  It gets stuck trying to delete.  I am wondering how to tell this thing to skip elements that it can't delete.

@volere it's been a while, but any chance you could take a screenshot? I'm curious if it had a "delete" option but simply refused to delete it. I've noticed sometimes Facebook will fail to delete certain things, but it seems like it got deleted at first (but they show up again later).
It would be awesome if you could open another issue if the problem persists.

I think I'm going to make this be a documentation thing and simply document how this would work. I think as it is, the tool should support everything in this issue.

I think all three of these are covered by the docker container that it can run in now, since you can easily schedule containers to run at set intervals or in the background.


Supercharge elligibility checks

Not sure what this issue is about. @kathaypacific any context here that you know of?

See https://app.zenhub.com/workspaces/retention-squad-sprint-board-612f2ef98ef2b800116e6043/issues/valora-inc/wallet/1601


Gitter Channel

@mhallin what do you think about setting up a Gitter channel to talk about juniper?
It would be a nice way to talk about the project, features, give support, etc.

Didn't know about Gitter, but it sounds like a good idea. There's a channel here: https://gitter.im/juniper-graphql. I'll add a badge to the readme.


Debian/Ubuntu production grade cluster configuration

I am relatively new to Arango and have one instance running in production, on Ubuntu 20.04 with Enterprise 3.7.6. This will become a companion to Elasticsearch and I want to get it running as a cluster of three systems. The lack of examples in this area is truly mystifying.
I know about the example with three starter based cluster members, works fine for testing on my workstation, what I need are an arangodb.conf and and an arangodb3.service that shows how to get systems to talk to each other. My current config can be seen here:
https://gist.github.com/NetwarSystem/b9ef044b0fd87c99363cd31ec96c9deb
When I start Arango, I see only port tcp/8529 open. I've just started looking at arangod --help and I see a lot of options for both agency and cluster. I don't want to sit here spending hours trying various permutations of options to see which one finally yields something that will restart gracefully when a system is rebooted.

Hi,
Thats why we created the arangostarter, so it does all the work for you?
The other rather more up to date way would be to use k8s and the operator to take care of this?
Most other users tend to use (if not the above two) docker-compose.yml files.

Hi,
Thats why we created the arangostarter, so it does all the work for you?
The other rather more up to date way would be to use k8s and the operator to take care of this?
Most other users tend to use (if not the above two) docker-compose.yml files.

Arangostarter is just for learning, not for production, right?
I just want some combination of arangodb.conf and/or arangodb3e.service such that when Arango machines restart they wake up looking to join their cluster. Is it normal for cluster builders to wrap arangostarter with their own systemd service files? I can do that, but it seems ... awkward.
We don't have k8s or Docker in production, would take something very compelling for me to introduce that added complexity to our current environment.
So nobody just has a blog post or Gist that shows full working config files??

Arangostarter is just for learning, not for production, right?
I just want some combination of arangodb.conf and/or arangodb3e.service such that when Arango machines restart they wake up looking to join their cluster. Is it normal for cluster builders to wrap arangostarter with their own systemd service files? I can do that, but it seems ... awkward.
We don't have k8s or Docker in production, would take something very compelling for me to introduce that added complexity to our current environment.
So nobody just has a blog post or Gist that shows full working config files??

Hi,
the starter is absolutely meant to be used in production too
However, all packaged deployments by default are meant to be single server deployments - the starter came a bit later, and wasn't yet added to the debian packages - this can happen sooner or later.
The advantage of the k8s is that it can better handle failure situation, where new pods should be started.

Hi,
the starter is absolutely meant to be used in production too
However, all packaged deployments by default are meant to be single server deployments - the starter came a bit later, and wasn't yet added to the debian packages - this can happen sooner or later.
The advantage of the k8s is that it can better handle failure situation, where new pods should be started.

So I just do what is needed with the starter, then wrap it in a systemd service? That almost seems too easy :-)
I like the notion of containers, but I cringe every time I look at IP addressing on a machine set up to run them. My system isn't big enough (yet) to need orchestration. Maybe one day, if we keep growing as we have been.
Thanks, closing this.

So I just do what is needed with the starter, then wrap it in a systemd service? That almost seems too easy :-)
I like the notion of containers, but I cringe every time I look at IP addressing on a machine set up to run them. My system isn't big enough (yet) to need orchestration. Maybe one day, if we keep growing as we have been.
Thanks, closing this.


fix(40322): bad completions for string literal type as indexed access type object

Fixes #40322
let x: "/*foo*/"["bar"];
Added validation to prevent completion on a string literal when it is the object type.
The cursor at the marker foo will not have autocompletion.

[x] There is an associated issue in the Backlog milestone (required)
[x] Code is up-to-date with the master branch
[x] You've successfully run gulp runtests locally
[x] There are new or updated unit tests validating the change

@DanielRosenwasser here is the PR for #40322


Version collections

Reorganized version collections

The site is generated with a single config.yaml, and is dumped to _site
Each release is a collection

Releases are output to _site/RELEASE
Releases know their version, and have a pretty title

List all releases in the top nav

I just pushed a new commit that updates the docker build script.

Thank you! I'll change those other scripts in another PR. Woo!

Ohhh.... but I guess I want a collection in a collection? So I get the 4.1 version of the install guide in {{base_path}}/4.1/install-guide? Hmmm. Got the scripts all cleaned up anyway.

Can I programmatically access the version value in a YAML file and insert it at some point? 💡 🤔


View Users: Search users

Description
Search user with : name, role, curatory group or status.
Input
name, String,
roleId, Number,
curatory group id, curatoryId, Number,
status statusId, Number,
paging, offset and limit, Number,
sorting, asc or desc, String
Output
List of users with paging and name an email from user.
Implementation
GET /users ?name=’frank’ &roleId=42 &curatoryGroupId=42 &statusId=42 &_include=name, email &_sort=name,email &_order=asc, desc &offset=10&limit=10

{
  data: [
    {
      id: 42,
      name: ‘Frank’,
      email<EMAIL_ADDRESS>      _links: {
        self: { href: ‘/users/42’ },
        update: { href: ‘/users/42’ }
      }
    },...  ],
    _pagination: {
      offset : 10
      limit: 10,
      total : 26
    },
    _links: {
      self: { href: ‘/users?name=’frank’&roleId=42&...&offset=10&limit=10’’ },
      first: { href: ‘/users?name=’frank’&roleId=42&...&offset=0&limit=10’ },
      last: { href: ‘/users?name=’frank’&roleId=42&...&offset=20&limit=10’ },
      prev : { href: ‘/users?name=’frank’&roleId=42&...&offset=0&limit=10’ },
      next: { href: ‘/users?name=’frank’&roleId=42&...&offset=20&limit=10’ }
  }
}

The self link can be used to edit a specific user, update can be used to change the user, in this dialog the user can be deactivated.
Like always no link available, no right to do it.
Estimated Workload: 3-4 d
Actual Workload:

changed endpoint to users/search for simplicity and to distinguish from the /users/{id} endpoint

is this technically driven

we should create a usual rest api that is homegenous that means with no suprise for the user

OK

if possible

endpoint says 403

searching by Gruppen still not possible (tested on phaeton-dev)

the correct parameter names are: curatoryGroupId, roleId and status with status being a boolean value that indicates whether a user is allowed to use the system (status=true) or not (status=false) with no status given, all users will be returned.

thank you for the hints


Patch function

We would like to have a patch function which can be used to patch resources.
This should ideally support json6902 semantics (like kustomize), but also be able to address items by their keys in an associative array (jq-style).

If a user is using patches with kustomize, Patch functions can help the user to migrate to the kpt hydration pipeline.

Where would the strategic merge patches come from? In kustomize, they are also just yaml files.

A user reported on slack:
I have a base yaml object and a patch yaml to be used as part of patchesStrategicMerge of kustomize config and on this I'm trying to kpt set-labels function, but it fails with,
[RUNNING] "gcr.io/kpt-fn/set-labels:v0.1.5"
[FAIL] "gcr.io/kpt-fn/set-labels:v0.1.5" in 1.9s
  Results:
    [error]: failed to run function: may not add resource with an already registered id: ~G_v1_Service|~X|web-service
  Stderr:
    "[error] : failed to run function: may not add resource with an already registered id: ~G_v1_Service|~X|web-service"
  Exit code: 1

I'd guess this is because the base and patch both appear to be the same object.
I filed #3118 about handling files that aren't objects in the KRM function I/O stream. I'm not sure how kustomize handles patches in KRM functions, actually. I'd expect to have to wrap them with Patch objects to identify them as patches, which was also proposed in the early days of kustomize.

@morgante -  This would definitely be a useful feature.  In fact, my team created a kpt function based on the kustomize implementation we found at sigs.k8s.io/kustomize/api/krusty but we found inconsistent output from krusty.MakeKustomizer().Run()  Specifically, it seems that something in the YAML processor used by that kustomizer will sometimes strip kpt setter comments from the input yaml - even yaml that's not patched.  In practice, we still use it, but we have to be careful to patch resources at the end of mutator pipelines to avoid losing kpt setters. I only point this out as a something to look out for in case you were considering reusing som of that same code.

@tgjonestx I'm actually not with Google any more, but hopefully someone on the team is able to pick this up!


Automated cherry pick of #3773: fix: 调整存储容量后刷新调度缓存

Cherry pick of #3773 on release/2.12.
#3773: fix: 调整存储容量后刷新调度缓存

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@24c1f2f). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #3775   +/-   ##
==============================================
  Coverage                ?   6.93%
==============================================
  Files                   ?     500
  Lines                   ?   84299
  Branches                ?       0
==============================================
  Hits                    ?    5846
  Misses                  ?   77959
  Partials                ?     494

Flag
Coverage Δ

#aFlag
6.93% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/storages.go
1.12% <0%> (ø)

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 24c1f2f...9aa0a87. Read the comment docs.


Can't update data for Actual Power & Can't update data for System pressure

Logger: bosch_thermostat_client.sensors.sensor
Source: custom_components/bosch/init.py:402
Integration: Bosch thermostat (documentation, issues)
First occurred: 13:15:03 (45 occurrences)
Last logged: 13:39:27
Can't update data for Hotwater temp. Trying uri: /system/sensors/temperatures/hotWater_t2. Error message: URI /system/sensors/temperatures/hotWater_t2 doesn not exist: 404, message='Not Found', url=URL('http://<IP_ADDRESS>/system/sensors/temperatures/hotWater_t2')
Can't update data for Actual Power. Trying uri: /heatSources/actualPower. Error message: URI /heatSources/actualPower doesn not exist: 404, message='Not Found', url=URL('http://<IP_ADDRESS>/heatSources/actualPower')
Can't update data for System pressure. Trying uri: /heatSources/systemPressure. Error message: URI /heatSources/systemPressure doesn not exist: 404, message='Not Found', url=URL('http://<IP_ADDRESS>/heatSources/systemPressure')

404 Errors means that your gateway doesn't respond to this sensor.
It's not integration error.


Failed to Install on OpenShift Node.js 0.10 Cartridge

I can not install Nodegit on the OpenShift Node.js 0.10 Cartridge. The installation fails when compiling. This is the whole error message:
npm install nodegit
\

<EMAIL_ADDRESS>install /var/lib/openshift/**/app-root/runtime/repo/node_modules/nodegit
node lifecycleScripts/install

[nodegit] Fetching binary from S3.
[nodegit] Failed to install prebuilt binary, building manually.
[nodegit] Making sure dependencies are available and native code is generated
[nodegit] Everything is ready to go, attempting compilation
[nodegit] Building native node module.
{ [Error: Command failed: ../vendor/libssh2/src/openssl.c: In function '_libssh2_pub_priv_keyfile':
../vendor/libssh2/src/openssl.c:767: warning: value computed is not used
../vendor/libssh2/src/transport.c: In function '_libssh2_transport_send':
../vendor/libssh2/src/transport.c:716: warning: suggest braces around empty body in an 'if' statement
cc1plus: error: unrecognized command line option "-std=c++11"
make: *** [Release/obj.target/nodegit/src/nodegit.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit/node_modules/pangyp/lib/build.js:272:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 2.6.32-504.34.1.el6.x86_64
gyp ERR! command "node" "/var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit/node_modules/.bin/pangyp" "rebuild"
gyp ERR! cwd /var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit
gyp ERR! node -v v0.10.35
gyp ERR! pangyp -v v2.3.2
gyp ERR! not ok
] killed: false, code: 1, signal: null }
undefined
<EMAIL_ADDRESS>node_modules/nodegit
├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>└──<EMAIL_ADDRESS>gcc --version gives the following output:
gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I know this is too old... Could you please provide a prebuild binary to solve this problem?
This is the system:
uname -a
Linux ex-std-node688.prod.rhcloud.com 2.6.32-504.34.1.el6.x86_64 #1 SMP Mon Jul 27 15:03:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
If you need any further information about the system please ask.

I'll check if we can lower the compiler requirements. A pre-built binary would be nice as well. Can you post the output of node -p process.versions?

Sure;)
node -p process.versions
{ http_parser: '2.0',
node: '0.10.35',
v8: '<IP_ADDRESS>',
ares: '1.9.1',
uv: '0.10.30',
zlib: '1.2.3',
modules: '11',
openssl: '1.0.1e-fips' }

The compiler requirements are pretty hardlined, unless we can get out of using Chrono. The unfortunate thing is we've also dropped node 10 support.

The compiler requirements are pretty hardlined, unless we can get out of using Chrono. The unfortunate thing is we've also dropped node 10 support.

Oh, didn't know that, why node 0.10 doesn't work? Do we need more than nan?

Probably since Node 0.10 is old and runs an ancient v8.

I know it's old :)
I am asking this since we are using nan (although not fully) we should be running on 0.10 just fine. Is there any other reason? If not, I will investigate this.

@saper I'd look into what node-gyp and nan currently support.  If they both support 0.10 that'd be nice if we could too, but I wouldn't stress it. It'd be great to remove the chrono dependency like @maxkorp said and then we could drop back to an older gcc.

Yes, they do. For node-sass we are building node 0.10 binaries as well, with plain node-gyp and ban. I also see report with compilation trouble on 4.1, I suspect our code is not fully migrated to nan.

It was a step in simplifying the build. We had to keep handy 2 different versions of http_parser. We can add it back, and configure gyp to use one or the other. But there are now 2 major node versions released since 0.10 (0.12 and 4.0). I'm not opposed to that being brought back if it doesn't add complexity back to the build, but @tbranyen and @johnhaley81 should vote in as well. The compiler issue is, as of now, necessarily non negotiable, unfortunately. I'd love to remove it, but the chrono issue is 100% required until a replacement is available.

This should be fixed in #761

Closing, please comment to re-open if in error.


Add support for Token Drop contract for thirdweb template

Add support to mint token from token drop contract.

@warengonzaga, please open a PR to update the example if you still want this.


fix: Removed stray curly brace from login.jsp

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines

Description of change

Removed stray curly brace from login.jsp

Thanks @jonathanmtran -- this change looks good.

Thanks to checked it, I don't know why I had again this curly brace whereas I removed it from a rewrote commit


Operation form can get into an undefined state [5]

Probability: 2
Effect: 3
There is a path when registering an operation where the form can get into an undefined state and become uneditable preventing the user from getting any further. If there is an error with the creation of the declaration attachment object, we get into a state where the document was not created, but the operation is in pending and therefore the user cannot make any further changes (ie: attempt the upload again).
I've attached a screenshot of where the issue can occur.
When we call operation.save(), it changes the status to 'Pending' (and we block edits on pending operations)
Because the Document.object.create() call comes after the operation.save() call, if there is an issue with that document creation, this is where we can get into our undefined state where: an operator exists and is in the "Pending" state, but no declaration document was created and the user cannot attempt another document upload/creation and cannot get past the document upload page.

@Sepehr-Sobhani  tagging you here because you had a good idea on how to solve this issue when we discovered it

When we have API endpoints that handle multiple tasks and save different objects all at once, like in our scenario where various objects are saved within a single function, it's crucial to ensure the atomicity of these operations. In Django, the default behaviour is to run in autocommit mode, where each query is immediately committed to the database unless a transaction is active. However, we often need to go beyond autocommit in situations like updating or creating an Operation or Operator.
To achieve the desired level of control, we can use Django's atomic decorator or context manager. In our specific case, take the example of the save_operator function in the user_operator.py file. By applying the atomic decorator or context manager to this function, we treat the entire function as a single transaction. So, if at any point during the execution, something goes wrong, like an error occurs while saving addresses, the entire transaction is rolled back. This means that any changes made so far, including the creation of addresses, will be undone, maintaining the consistency of our database.
For a deeper dive into this concept and understanding the default autocommit behaviour, we can check out Django's documentation on autocommit and atomic transactions here and here

Excellent idea @Sepehr-Sobhani


Performance problem: to_json

I am experiencing performance problems with row level security and the to_json function. The issue may be related to #380. Here's my setup: I have a table articles with about 100k rows, and two roles (root and viewer). root is allowed to query all articles, viewer only the ones that are published. Therefore I enabled row level security and added this policy:
CREATE POLICY articles_read_viewer ON articles FOR SELECT TO viewer USING ((status = 'PUBLISHED'::status));

When querying as viewer this request is slower (100ms vs 8ms) than as root which is fine. But as soon as to_json is added, the response time goes from 100ms to 8 seconds (!).
Without to_json:
explain analyze select * from latest_articles() as a where true offset 0 limit 10;

Limit  (cost=166838.48..166838.60 rows=10 width=1674) (actual time=92.209..92.214 rows=10 loops=1)
  ->  Sort  (cost=166838.48..167072.71 rows=93694 width=1674) (actual time=92.208..92.213 rows=10 loops=1)
        Sort Key: articles.publication_date DESC
        Sort Method: top-N heapsort  Memory: 45kB
        ->  Seq Scan on articles  (cost=0.00..21734.44 rows=93694 width=1674) (actual time=0.500..71.917 rows=94549 loops=1)
              Filter: ((status = 'PUBLISHED'::status) AND (publication_date < (now())::timestamp without time zone))
              Rows Removed by Filter: 5223
Planning time: 3.484 ms
Execution time: 92.255 ms

With to_json:
explain analyze select to_json(a) as value from latest_articles() as a where true offset 0 limit 10;

Limit  (cost=166838.48..166838.63 rows=10 width=32) (actual time=7709.402..7709.629 rows=10 loops=1)
  ->  Subquery Scan on __local_0__  (cost=166838.48..168243.89 rows=93694 width=32) (actual time=7709.401..7709.628 rows=10 loops=1)
        ->  Sort  (cost=166838.48..167072.71 rows=93694 width=1674) (actual time=7709.324..7709.326 rows=10 loops=1)
              Sort Key: articles.publication_date DESC
              Sort Method: external merge  Disk: 130496kB
              ->  Seq Scan on articles  (cost=0.00..21734.44 rows=93694 width=1674) (actual time=0.369..77.828 rows=94549 loops=1)
                    Filter: ((status = 'PUBLISHED'::status) AND (publication_date < (now())::timestamp without time zone))
                    Rows Removed by Filter: 5223
Planning time: 2.762 ms
Execution time: 7796.936 ms

For the root-role, where no policy exists, both queries are performant.
latest_articles is a pretty simple function:
CREATE FUNCTION latest_articles(before_date timestamp without time zone DEFAULT now()) RETURNS SETOF articles
    LANGUAGE sql STABLE
    AS $$
  select *
  from articles
  WHERE publication_date < before_date
  order by publication_date DESC
$$;

Create an index on publication_date and the problem should go away, I hope?

There is an index on it:
CREATE INDEX articles_publication_date_idx ON articles USING btree (publication_date);

Is something wrong with that?

Ok, I could solve the problem by increasing SET work_mem = '500MB';.
Now the performance is okay when executing the SQL query directly. But, there is still a problem when using PostGraphQL.
This is the log from Postgres...
LOG:  statement: begin
LOG:  execute <unnamed>: select set_config($1, $2, true)
DETAIL:  parameters: $1 = 'role', $2 = 'viewer'
LOG:  execute <unnamed>: select to_json(__local_0__) as value from "public"."latest_articles"() as __local_0__ where true offset $1 limit $2
DETAIL:  parameters: $1 = '0', $2 = '10'
LOG:  statement: commit

...which looks good. When executing the two SQL-statements one by one, each is fast. However, when using Postgres, it takes several seconds before the statement: commit is logged. And only after that, the results is visible. Postgres doesn't seem to do anything in the meantime (at least there is no log output).

Definitely looks like the index isn't used; have you done a VACUUM ANALYZE articles; recently?

I just run VACUUM ANALYZE articles; but it didn't change anything.

For a closer comparison, maybe try
explain analyze select a from latest_articles() as a where true offset 0 limit 10;

N.B. select a versus select *

@danielbuechele I'm not sure if the results I found looking into a similar issue are useful to you (sorry, it's a lot of query plans for subtly different queries and it not very readable due to being too wide): https://gist.github.com/benjie/02df5fdbd7ee8315712fff83007f3cd1

As out of nowhere now indexes are used in my queries. At least when no policy is applied. When a row-level-security policy is applied the index is not used anymore. Not sure if there is a way to make postgres use the index even when the policy is used.
But even in the case of row-level-security and no index being used, there are two scenarios. The current implementation needs a lot of memory and so the sorting needs to use disk. (Which could be fixed increasing work_mem). The implementation from #396 needs way lesser memory, so the work_mem doesn't need to be increased.

Just wanted to add my 5 cents here: I have also observed same problem when was doing prototyping with PostgraphQL and had table with 100k+ generated rows. Very similar symptoms, once row-level security is enabled and condition is used, seq scan start ruling the world.
I even experimented by creating a sql function and using in row level check, same problem - seq scan. BUT if I run effective query  (by effective query i mean my original query + the check), all indexes were used correctly.
Which brought me to the question -- may be this is PostgreSQL planner/row-level-security issue ?

Certainly sounds like it. I think the performance issues in the gist I posted above are also PostgreSQL query planner issues (it should filter the rows before formatting the data, like it does for the indexed version). I'm running 9.6.2 and still have these issues, but 10.0.0 is just around the corner - it's possible some might be addressed? We should probably post something to the postgres mailing list.

I believe these kind of performance issues are solved in V4, but it's possible we need a few more CTEs to fully solve them. (I'm loathe to add more than necessary because they complicate the generated queries.)

There are RLS performance issues in Postgres 9.5 and 9.6 which are solved in Postgres 10 - I'm quite excited for its release!
One of the PostGraphQL users has also stated that a very large query they run now takes 1/4 of the time to execute and 1/10 of the RAM with v4; so our performance improvements are also promising. Would love to get some more stats on this from others.

I'm using Postgres 9.6.6, right now on postgraphile 4.0.0-beta.5, a very simple to_json after executing an update statement takes 55s (all it returns is one field (e.g. id)
The table returning is a join table which means it contains two ids from two different tables and has its own id as well. But I'm really not sure why this happens seems to be slowing down only for this table.
CREATE OR REPLACE FUNCTION remove_staff_from_slot(
  id uuid
) RETURNS slot AS $$

  UPDATE slot SET staff_id = null WHERE slot.id = id;
  SELECT * FROM slot as slot WHERE slot.id = id;

$$ language sql volatile;

Slot
CREATE TABLE slot
(
    id uuid NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(),
    project_id id_type NOT NULL REFERENCES project (id) ON DELETE CASCADE,
    role_id id_type NOT NULL REFERENCES role (id),
    staff_id id_type REFERENCES staff (id),
    description text
);

Log
  postgraphile:request GraphQL query request has begun. +4m
  postgraphile:request GraphQL query is parsed. +1ms
  postgraphile:request GraphQL query is validated. +2ms
  postgraphile:postgres begin +6ms
  postgraphile:postgres SAVEPOINT graphql_mutation +1ms
  postgraphile:postgres
  postgraphile:postgres       with __local_0__ as (
  postgraphile:postgres         select __local_1__.* from "remove_staff_from_slot"($1) __local_1__
  postgraphile:postgres       )
  postgraphile:postgres       select (__local_0__)::text from __local_0__ +0ms
  postgraphile:postgres
  postgraphile:postgres       with __local_0__ as (
  postgraphile:postgres         select (str::"slot").*
  postgraphile:postgres         from unnest(($1)::text[]) str
  postgraphile:postgres       )
  postgraphile:postgres
  postgraphile:postgres       select to_json((__local_0__."id")) as "id"
  postgraphile:postgres       from __local_0__ as __local_0__
  postgraphile:postgres
  postgraphile:postgres       where (not (__local_0__ is null)) and (TRUE) and (TRUE)
  postgraphile:postgres
  postgraphile:postgres
  postgraphile:postgres
  postgraphile:postgres      +45s
  postgraphile:postgres RELEASE SAVEPOINT graphql_mutation +3ms
  postgraphile:postgres commit +0ms
  postgraphile:request GraphQL query has been executed. +1ms
  postgraphile:request GraphQL query request finished. +1ms
0 error(s) in 44683.24ms :: mutation RemoveTest($input: RemoveStaffFromSlotInput!) { removeStaffFromSlot(input: $input) { slot { id } } }

45s?! That extremely unexpected.
Btw a more efficient implementation of your function would be:
CREATE OR REPLACE FUNCTION remove_staff_from_slot(
  id uuid
) RETURNS slot AS $$

  UPDATE slot SET staff_id = null WHERE slot.id = id returning *;

$$ language sql volatile;

Yes, I did that the first thing when I noticed it and fortunately it runs instantly. I did even copied the UPDATE statement  and run it as well and it runs instantly. The part that slows down as you can see in the log is where it tried to run to_json for the return value.

So what's the smallest statement that reproduces the issue when typed into psql?

(And also what's the output of that statement?)

I don't know. As you can see the slowdown is the query generated by postgraphile that is doing some to_json. I'm not sure how to reproduce that query in psql.

You should be able to run it verbatim except replacing $1 with the function argument.

I see a +0ms right after the statement that calls remove_staff_from_slot.
Is the +45s a measurement of the next statement, ... unnest(($1)::text[])? If so, what should one use for $1 there, @benjie?

Ah; good catch I did miss that.
If you run:
with __local_0__ as (
  select __local_1__.* from "remove_staff_from_slot"(PUT_YOUR_ARGUMENT_TO_THIS_FUNCTION_HERE) __local_1__
       )
       select (__local_0__)::text from __local_0__;

Then that will return a string. The string that this returns should then be fed back into postgres in the next $1. The reason for this is due to not being able to create temporary tables but requiring that the mutation takes place first and then the select afterwards which CTEs do not guarantee due to certain optimisations.

I think I somehow found the culprit. I forgot I had two triggers that covers this table. One of them creates an audit based on the changes. The other runs to generate the tsv vector in the table. And of course both adds up to the UPDATE statement so turns out to be very slow.
I somehow always thought triggers are async, but in postgresql it is all sync.
Regardless a very minor thing, that I would like to mention is that in the log, the statement that takes 0ms is actually the one taking the longest time (the CTE for remove_staff_from_slot), somehow the time didn't reflect properly with the way the statement was written.
Therefore I think my issue should be solved, really appreciate for all the help.

The time comes from the debug module; I think we log before running the SQL so that makes sense.

It is really weird now I switched away and use the generated function such as "updateSlotById" to imitate what the function was doing and it was blazing fast!
Just wondering, but besides the to_json issue mentioned in this thread, is there any optimization for the stored procedure where postgraphile is doing that manual ones don't? I really can't see how as a developer and user of this framework can do to make operations like this faster though.
If this is not relevant to the thread I can move this to a new thread.

PostGraphile just runs the SQL you see and then pretty much passes the results to the end user; the performance problems tend to come from within the database. If you can make a reproducible test case where the SQL PostGraphile generates is really slow but the equivalent SQL that you would write is fast I'd love to see that as a key focus for me is performance. But in my performance testing we achieve pretty good results!

Ah, that's not what I was asking, I am just curious why it seems the same but my own version of it is so slow but the ones generated from postgraphile is so fast, even though it seems like it is doing the same thing in the end.

[semi-automated message] Hi, there has been no activity in this issue for over 8 weeks so I'm closing it to keep the issues/pull request manageable. If this is still an issue, please re-open with a comment explaining why.


Adding Embargo is slow (gateway timeout)

Bug Report
Description
Updating the embargo for published works seems to be quite slow
To Reproduce
Steps to reproduce the behavior:

Update the embargo for a published work
May cause 504 Gateway timeout

@srerickson Was this is any way related to the big ingest you were running via the API? I'm wondering if Solr's overloaded status was causing this.

investigate the problem and check that this is actually caused by Solr being overloaded.


double validation when using vuetify  within

Versions

vee-validate: 2.2.10 && 2.2.11<EMAIL_ADDRESS>vue: https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js
vuetify: https://cdnjs.cloudflare.com/ajax/libs/vuetify/1.5.14/vuetify.min.js

Describe the bug
Validate function is executed multiple times on change for switches. Appears to only happen when within a <v-for> and using a <v-switch>
To reproduce
Steps to reproduce the behavior:

Go to https://codepen.io/kyleladd/pen/qzryPe
Toggle a switch
The number of times the validate function is run (2x each time it's toggled within <v-for> and 1x each time outside <v-for>) will be displayed at the top.

Demo link
https://codepen.io/kyleladd/pen/qzryPe

Browser chrome 75, firefox 67

I also tried 2.2.11 with the debounce fix but only delayed the validation opposed to debouncing.
https://github.com/baianat/vee-validate/commit/354b447a9851ac98f7f6b76d32a85504ba9ef425

I tried your example and unfortunately it is hard to fix since the directive API is becoming very limited especially with v-for and v-if.
I suggest you take a look at ValidationProvider which are better in every way compared to the directive, I have updated your example to use them:
https://codepen.io/logaretm/pen/bPWPpp


Tags don't match version

I'm working on adding CasperJS installation to a system provisioning tool and ran into a hurdle around versions.  While the version is tagged as '1.1-beta3' (and thus what the download artifact uses), casperjs --version reports back '1.1.0-beta3'.  I think the third part is probably significant, so the tags should probably be '1.1.0-betaX'.  I'm not expecting you to retag anything, but maybe if there's a beta4 release they can be made match.

Closing in favor of related issue https://github.com/n1k0/casperjs/issues/1260.


Running cargo build checks the dev-dependencies

sean@grunt:~/code/hyper (master) $ rm Cargo.lock
sean@grunt:~/code/hyper (master) $ cargo build --release
    Updating git repository `https://github.com/chris-morgan/mucell`
    Updating git repository `https://github.com/rust-lang/time`
    Updating git repository `https://github.com/reem/rust-unsafe-any`
    Updating git repository `https://github.com/hyperium/mime.rs`
    Updating git repository `https://github.com/sfackler/rust-openssl`
    Updating git repository `https://github.com/alexcrichton/cookie-rs`
    Updating git repository `https://github.com/carllerche/curl-rust`
    Updating git repository `https://github.com/servo/rust-url`
    Updating git repository `https://github.com/chris-morgan/rust-http`
    Updating git repository `https://github.com/alexcrichton/gcc-rs`
    Updating registry `https://github.com/rust-lang/crates.io-index`

And then it errors because curl-rust depends on the crates.io version of openssl. curl-rust and rust-http are both dev-dependencies, so I wouldn't expect them to matter when doing a build.

@alexcrichton, could you please reconsider this issue? I found an inconsistency of the [dev-dependencies] tag.
Firstly, if I build a crate (e.g., abstract-ns), it will first resolve all dependencies including dev-dependencies and then compile. However, if the abstract-ns crate is include as a dependency in other crate. When you cargo build, cargo will not resolve and install dev-dependencies.
According to http://doc.crates.io/specifying-dependencies.html,

Dev-dependencies are not used when compiling a package for building, but are used for compiling tests, examples, and benchmarks.

Therefore, dev-dependencies should not be considered in cargo build both in debug and release.
This is an issue since I found that some crates like abstract-ns will exclude some (local) dev-dependencies in uploading to crates. When I download crates from crates's registry, it failed to compile with cargo since there are (local) dev-dependencies missing.

For example:
$ ls ~/.cargo/registry/src/github.com-1ecc6299db9ec823/abstract-ns-0.3.4/
Cargo.toml  examples  LICENSE-APACHE  LICENSE-MIT  README.rst  src  vagga.yaml

$ cat ~/.cargo/registry/src/github.com-1ecc6299db9ec823/abstract-ns-0.3.4/Cargo.toml
[package]
name = "abstract-ns"
description = """
    Abstract name service traits for use with futures (and tokio)
"""
license = "MIT/Apache-2.0"
readme = "README.rst"
keywords = ["dns", "tokio", "name", "service", "discovery"]
categories = ["asynchronous", "network-programming"]
homepage = "http://github.com/tailhook/abstract-ns"
documentation = "http://tailhook.github.io/abstract-ns"
version = "0.3.4"
authors =<EMAIL_ADDRESS>
[dependencies]
futures = "0.1.2"
quick-error = "1.1.0"
rand = "0.3.14"

[dev-dependencies]
futures-cpupool = "0.1.2"
argparse = "0.2.1"
ns-std-threaded = { path = "ns-std-threaded", version = "0.2.0" }         # <<<<<----------
ns-dns-tokio = { path = "ns-dns-tokio", version = "0.3.0" }               # <<<<<----------
domain = "0.2.0"
tokio-core = "0.1.6"

[lib]
name = "abstract_ns"

[workspace]
members = ["ns-std-threaded", "ns-dns-tokio"]

Note that there is no ns-std-threaded directory in the crates registry. Therefore, you cannot build the crate directly.
IMO, [dev-dependencies] should be only resolved when building tests, examples and benches.
This will ensure the consistency of the cargo's behaviors and documentation.

@mssun hm this is a quite old (3 years!) issue that's I think pretty unrelated to the failure you're seeing. It looks like you're trying to run cargo test inside a downloaded crate from crates.io? That's been solved via other mechanisms for now.

@alexcrichton yes, it's quite old.
What I'm trying to do is to run cargo build inside a downloaded crate from crates.io.
I wrote a script to build some downloaded crates for research purpose. However cargo build will fail because of these kind of packages.

That use case I believe is addressed by https://github.com/rust-lang/cargo/pull/4030 for all crates published with a Cargo that has that support, but there's still old crates on crates.io for sure.

Thanks Alex. This is indeed the root cause of my issue. So crates packaged with new cargo should be fine.


docs: user guide: windows & newlines

Thanks @ikappaki for raising #187
I'll leave the issue open for a bit to gather more feedback but at least we've documented the behaviour for now.

@lread I think you could mention the relevant JIRA issue if users want to promote activity around that.


Add GitScm poll trigger for post-commit tests.

We want to have as fresh test status as possible. Running tests once every 6 hours is too slow.
Add Scm poling to trigger job as soon as new change comes to master.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.
 Let's try this out.


Autowall returning wrong damage

So i am in the process of making a very simplified ragebot for matchmaking but when i used the GetDamage function from the autowall it returns a completely wrong number
`float CRageBot::GetBestHitboxPos(CBaseEntity* pLocal, CBaseEntity* Target,Vector& Hitbox) {
float flHigherDamage = 0.f;
Vector BestHitBox;

static int hitboxesLoop[] =
{
	HITBOX_HEAD,
	HITBOX_PELVIS,
	HITBOX_UPPER_CHEST,
	HITBOX_CHEST,
	HITBOX_NECK,
	HITBOX_LEFT_FOREARM,
	HITBOX_RIGHT_FOREARM,
	HITBOX_RIGHT_HAND,
	HITBOX_LEFT_THIGH,
	HITBOX_RIGHT_THIGH,
	HITBOX_LEFT_CALF,
	HITBOX_RIGHT_CALF,
	HITBOX_LEFT_FOOT,
	HITBOX_RIGHT_FOOT
};

int loopSize = ARRAYSIZE(hitboxesLoop);
for (int i = 0; i < loopSize; ++i)
{
	Vector HitBoxPos = Target->GetHitboxPosition(hitboxesLoop[i]);

	FireBulletData_t dataOut;
	float WrongDamage = CAutoWall::Get().GetDamage(pLocal,HitBoxPos,&dataOut);
	//WrongDamage = returns 0 all the time

	if (!dataOut.flCurrentDamage)
		continue;

	if (dataOut.flCurrentDamage > flHigherDamage)
	{
		flHigherDamage = dataOut.flCurrentDamage;
		Hitbox = HitBoxPos;
	}
}
return flHigherDamage;

}`
The damage it returns, btw at the time of the picture i was only using head hitbox instead of a hitbox loop

seems like u using old commit?

Ok will try that one thanks for the help and the sdk

tested ur code right now

that is what i got for 3 enemies with deagle
seems u not updated smth

Ok i just noticed my AngleVectors function might be outdated so im gonna update that then ill report back

Sorry had to reopen, apparently its still wrong behind thick walls

its should be ok with hkp2000
test with another weapon and prefer not a workshop map

Tried on dust2 and mirage, same result, the funny thing is that up until a point it works fine like it goes down as you aim into a corner but after aiming at a spot that you cant shoot through at all it spikes back up to 33

hm, i will test this today
but i think issue on ur side cuz triggerbot works fine 🤔

Yeah i think triggerbot works fine because the enemy is always visible so maybe you never noticed it, anyway if you manage to find it and fix it i would greatly appreciate it since im absolutely clueless when it comes to autowall

shown that visually and recorded video for you
https://youtu.be/GLGpq16cUsQ
all works fine, like im said issue only on ur side
anyway found some bugs and fixed it with latest commit
code what i've used for that
QAngle angView;
	I::Engine->GetViewAngles(angView);

	Vector vecStart, vecEnd, vecForward;
	M::AngleVectors(angView, &vecForward);

	vecStart = pLocal->GetEyePosition();
	vecForward *= MAX_DISTANCE;
	vecEnd = vecStart + vecForward;

	float flDamage = CAutoWall::Get().GetDamage(pLocal, vecEnd);
	pDrawList->AddRectFilled(ImVec2(vecScreenSize.x * 0.5f - 2, vecScreenSize.y * 0.5f - 2), ImVec2(vecScreenSize.x * 0.5f + 2, vecScreenSize.y * 0.5f + 2), (flDamage > 1.0f) ? Color(0, 255, 0).GetU32() : Color(255, 0, 0).GetU32());
	pDrawList->AddText(ImVec2(vecScreenSize.x * 0.5f, vecScreenSize.y * 0.5f + 10), Color(255, 255, 255).GetU32(), std::to_string(flDamage).c_str());


Review and finalize team work contract

Attn: @jcasoli @ZherenXu , @nicovandenhooff suggested one person be assigned the role for milestone submission each week. There is a section at the end of the team contract to sign up. Nico has volunteered to submit week 1.


Update Issue - 84664945

default description
URL tested: http://ci.bsstag.com/welcome
Open URL on Browserstack

Property
Value

Browser
Chrome 73.0

Operating System
Windows 7

Resolution
1024x612

Screenshot Attached
Screenshot URL

Click here to reproduce the issue on Browserstack

Updated Screenshot Attached


[Discuss]: Multiple authenticated model

What happened?
Hi, i have a question about this package. If i want to use this package 2 or more authenticable model. For example : users, employees and contacts. I cannot use this package because this package must be a one user model.
Maybe you didn't think this case and maybe you want change this logic.
Actually this issue is not bug but i don't use other issue types.
How to reproduce the bug
Should use 2 or more authenticable model. For example : users, employees and contacts.
Package Version
1.1.1
PHP Version
8.2.0
Laravel Version
9.0.0
Which operating systems does with happen with?
macOS, Windows, Linux
Notes
No response

Hi,
My intention for this package is just to have it work on a User model.
If you need the functionality you require, you're welcome to fork the package and add it yourself.


Enhancement idea: Full-text search of file contents

I really love using droppy along with syncthing. It's a lovely experience.
One thing I wish it could do is full-text search inside files, including PDF contents. I realize this would require some sort of basic indexing and database, along the lines of https://github.com/danielquinn/paperless -- but without the OCR and other processing that does, just indexing and giving results based on file contents.
How easy do you suppose this would be to implement?

Even with only plaintext support, this would be quite hard to implement because we never know how much data a user really has. I guess I would only support non-cached search to avoid resource exhaustion issues completely. It should be reasonable fast on a SSD. PDF can be included via serverside pdf.js, but only rastered ones.


Using admin endpoint for metrics is insecure

IIUC, it is common practice to expose /ready and /stats/prometheus using the admin endpoint.
But this also exposes admin privileges, like stopping the server.
Any compromised Prometheus scraper could stop Envoy services and cause a severe outage (across all scraped Envoy services).
Proposal:
Implement configuration for enabling a minimal service that serves only /ready and /stats/* endpoints.
Current workaround:

Configure localhost cluster.
Configure listener with limited routes:

routes:
  - match: { prefix: "/stats/prometheus"}
    route: { cluster: admin_cluster }
  - match: { prefix: "/ready"}
    route: { cluster: admin_cluster }
  - match: { prefix: "/"}
    direct_response:
      status: 404

See also: https://github.com/envoyproxy/gateway/blob/7ad22df2817b126c95eb1d36a732da872519468e/internal/xds/bootstrap/bootstrap.yaml.tpl#L65
Kubernetes can poll /ready using localhost, so that's less of a problem, but if /ready needs to be consumed by a downstream service, it would be equally insecure.

cc @jmarantz

I think the usual practice is make the admin only listen to localhost and create another listener to control the traffic that could be routed to the admin (Like the workaround way in your descritpion)
So, I am not sure whether this deserve another more complex configuration or setting?

I removed the help wanted tag first because I think we need more discussion for this feature requirement. :)

@wbpcode I agree, it seems to be a common practice, and perhaps in that sense a rite of passage, like writing a hello-world program.

im afraid i dont
having to expose the admin endpoint in order to probe readiness or expose metrics is far from ideal
mho is that the underlying issue is that readiness and metrics are not really part of admin and should not be in that interface - but i think that is a more complex conversation and i think we need/want to do something
from a security pov restricting this at the admin endpoint is the better way - ie less complex and not requiring the implementation of something else in order to protect it
this has come up a lot with the examples - most of them require (via docker) some way of knowing that envoy is ready to accept connections - in this case we really dont want to add the admin interface to do such a basic thing - neither do we want to add any workarounds as this adds to the complexity of the example and distracts from what is being exemplified
the add-another-proxy workaround would surely work, but if that is the ~official way of exposing metrics and/or readiness without giving away the keys to the castle then it sorely needs some documentation

previous tickets:

https://github.com/envoyproxy/envoy/issues/32051
https://github.com/envoyproxy/envoy/issues/31619

mho is that the underlying issue is that readiness and metrics are not really part of admin and should not be in that interface - but i think that is a more complex conversation and i think we need/want to do something

Yeah. And I also agree this is a more complex converation.

from a security pov restricting this at the admin endpoint is the better way - ie less complex and not requiring the implementation of something else in order to protect it

Now our admin has provided lots of different interfaces. If we prepare to do some limit here directly, then, we then need to consider it more comprehensively. Some one may want only expose /ready, other one may wants more, some one may want allow high level operation for trust users or administrator. This will become more complex.
(You may want we can limit only the /ready or /stats*, but it finally is only a hack rather than a feature.)

this has come up a lot with the examples - most of them require (via docker) some way of knowing that envoy is ready to accept connections - in this case we really dont want to add the admin interface to do such a basic thing - neither do we want to add any workarounds as this adds to the complexity of the example and distracts from what is being exemplified

In these case, TCP probes to the listener port may be more sound than /ready. And they acutally could make the admin as public because they are examples only.

the add-another-proxy workaround would surely work, but if that is the ~official way of exposing metrics and/or readiness without giving away the keys to the castle then it sorely needs some documentation

I think the problem is there is no common way for all scenarios. There are lots users only use Envoy as their internal proxy and never expose the envoy to the public network, there are also lots users have no strong concern to the security, a public admin is completely acceptable for these users. Then public admin is good for them.
Of course we can give some suggestion for this, but I think it also is only suggestion, not the ~official way.

 Now our admin has provided lots of different interfaces. If we prepare to do some limit here directly, then, we then need to consider it more comprehensively. Some one may want only expose /ready, other one may wants more, some one may want allow high level operation for trust users or administrator. This will become more complex.

surely this is simple - just provide an allowlist of paths that are exposed - or for a little more complexity a matching allowlist

... And they acutally could make the admin as public because they are examples only.

they neither want to exemplify an insecure setup nor have the distraction of additional listeners to check the daemon is ready
agreed that readiness doesnt necessarily equate to ready to serve something in particular tho

... also lots users have no strong concern to the security, a public admin is completely acceptable for these users. Then public admin is good for them.

im really struggling to think of any situation where this is the case - why would anyone want it so that the interwebs can restart their server or dump their config

I think the problem is there is no common way for all scenarios ...

again - i think this is pretty trivial in terms of configuration, and im guessing implementation too - just limit what paths are exposed

im really struggling to think of any situation where this is the case - why would anyone want it so that the interwebs can restart their server or dump their config

proxies in private network...?

again - i think this is pretty trivial in terms of configuration, and im guessing implementation too - just limit what paths are exposed

I actually didn't get what you mean by limit what paths are exposed? Did you mean forbid all other interfaces be accessed by anyone? Or still allow them be accessed by some trust clients?

proxies in self-hosted private network...?

surely that is just relying on something external (ie network topology) to protect the endpoint

I actually didn't get what you mean by limit what paths are exposed? Did you mean forbid all other interfaces (that not in the list) be accessed by anyone? Or still allow them be accessed by some trust clients?

yes - restrict all access to anything other than the allowed paths - for anything more complex i think that should be done by adding a proxy in front of it

...  we may even need to add authentication or authorization to the admin endpoint to control the access ...

i think that is beyond the scope of this issue - the suggestion is to restrict what admin endpoints are served

surely that is just relying on something external (ie network topology) to protect the endpoint

Yeah, lots of org use this way, they trust the network Isolation.

yes - restrict all access to anything other than the allowed paths - for anything more complex i think that should be done by adding a proxy in front of it

Ok, then this should be easy done by a simple string matcher.


[README] updated logo in readme

Signed-off-by: nishantn31<EMAIL_ADDRESS>Description
Updated the logo in readme and made it consistent with meshery repo readme logo
This PR fixes #313
Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

Yay!

More help needed with this second Meshery logo, @nishantn31 -


Broken link

objective: ScoreboardObjectives)objective: ScoreboardObjectives
The link for ScoreboardObjectives is boken.

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

ID: 68df7204-1ef4-5c67-51e8-6767e912ec80
Version Independent ID: 68df7204-1ef4-5c67-51e8-6767e912ec80
Content: scoreboard Command
Content Source: creator/Commands/commands/scoreboard.md
Service: minecraft-bedrock-edition
GitHub Login: @JakeShirley
Microsoft Alias: jashir

added


NoSuchMethod

java.lang.NoSuchMethodError: com.google.code.morphia.Datastore.delete(Ljava/lang/Object;)V
at play.modules.morphia.Model._delete(Model.java:70)
at play.modules.morphia.Model.delete(Model.java:411)

Can you be more specific? Please send your stack trace and relevant code
for problem analysis
On Tue, Feb 14, 2012 at 6:23 AM, Michael <
<EMAIL_ADDRESS>
wrote:

I'm seeing: "The method delete() is undefined for the type Object"
After removing the CRUD module from dependencies it works fine. Is this
expected?

Reply to this email directly or view it on GitHub:
https://github.com/greenlaw110/play-morphia/issues/16#issuecomment-3947210

I added CRUD back to dependencies (used --sync option), but can't recreate issue. The delete method is now correctly mapped to:
play.modules.morphia.Model.delete()
Weird. My server state must have been hosed. Sorry for jumping the gun.


[Feature Request] Ability to specify output directory

Right now it just extracts in the working directory which is not something we always want. Having the ability to specific the output directory would be really useful.

I added support for specifying output directory via CLI flag -output or -o. Please check it.

I have just tested the new binary and i can confirm that it is working as intended. Thank You


C++ refactoring: ak.with_name

@jpivarski Since I believe we changed the printing layout, should the following two test also be updated?:
```

def test():
behavior = {}
behavior["typestr", "Point"] = "P"
behavior["Point"] = Point
array = ak._v2.highlevel.Array(
[
[{"x": 1, "y": [1.1]}, {"x": 2, "y": [2.0, 0.2]}],
[],
[{"x": 3, "y": [3.0, 0.3, 3.3]}],
],
with_name="Point",
behavior=behavior,
check_valid=True,
)
assert repr(array[0, 0]) == "<1 [1.1]>"
E       assert "<Record {x: 1, y: [1.1]} type='P'>" == '<1 [1.1]>'

def test():
one = ak._v2.highlevel.Array([[{"x": 1}], [], [{"x": 2}]], with_name="One")
two = ak._v2.highlevel.Array([[{"x": 1.1}], [], [{"x": 2.2}]], with_name="Two")
assert (
str(ak._v2.operations.structure.with_name(ak.operations.structure.concatenate([one, two], axis=1), "All").type)
== '3 * var * All["x": float64]'
)
E       assert '3 * var * var * string' == '3 * var * All["x": float64]'

Since I believe we changed the printing layout, should the following two test also be updated?

In the first one, the custom behavior is supposed to override the ak._v2.Array.__repr__. Here's the whole test:
https://github.com/scikit-hep/awkward-1.0/blob/4d77f519b6aebb6555fea3c73c73a1fe62b41a6f/tests/test_0049-distinguish-record-and-recordarray-behaviors.py#L10-L33
The fact that the Point class has a __repr__ should matter. I'm not surprised that Point.__repr__ is getting ignored here because ak.Array.__repr__ was completely rewritten from this implementation to this implementation because of #838. The new implementation probably does not include a check for overridden __repr__.
Maybe just skip this one and we'll get back to it in the final clean-up phase.

       one = ak._v2.highlevel.Array([[{"x": 1}], [], [{"x": 2}]], with_name="One")
       two = ak._v2.highlevel.Array([[{"x": 1.1}], [], [{"x": 2.2}]], with_name="Two")
       assert (
           str(ak._v2.operations.structure.with_name(ak.operations.structure.concatenate([one, two], axis=1), "All").type)
           == '3 * var * All["x": float64]'
       )

E assert '3 * var * var * string' == '3 * var * All["x": float64]'

As for this one, it looks like something is going terribly wrong. We know that record names are being used in type strings already:
>>> ak._v2.highlevel.Array(
...     ak._v2.contents.RecordArray([
...         ak._v2.contents.NumpyArray([1, 2, 3])],
...         ["field"],
...         parameters={"__record__": "SeeThisName"},
...     )
... )
<Array [{field: 1}, {field: 2}, {field: 3}] type='3 * SeeThisName[field: in...'>

and that's what ak._v2.operations.structure.with_name is supposed to do: add the "__record__" parameter.
But you're getting a type string that says "3 * var * var * string"; it's probably the array that's wrong and not just the type string. Somewhere along the line, some argument was probably misunderstood and then it got iterated over as a string, maybe even one character per string (because of the var * var).

As described above, the tests/v2/test_0049-distinguish-record-and-recordarray-behaviors.py test can be skipped with a note to come back later and implement overridden __repr__ in _prettyprint.valuestr.
Something wrong is happening in tests/v2/test_0788-indexedarray-carrying-recordarray-parameters.py that will require more investigation.
tests/v2/test_1233-ak-with_name.py should be a clear-cut case. I'm assuming that none of the test failures are due to that one, but I haven't checked.

Thank you for the clarifications!
I believe everything is fixed now. For tests/v2/test_0788-indexedarray-carrying-recordarray-parameters.p there was a bug where the parameters were not getting passed along.

For tests/v2/test_0788-indexedarray-carrying-recordarray-parameters.p there was a bug where the parameters were not getting passed along.

That makes sense, actually. Now that you've reminded me of that issue, is one that we should check when something like this happens. (Arrays containing strings may be an easy way to catch "parameters not being passed" bugs.)


📅 12/12 @ 12:00pm PT - Refactoring a 10+ years old code base: nock (Part VI)

💁🏻 Refactoring a 10+ years old code base: nock (Part VI)
📅 Sunday, December 19, 2021
🕐 12:00am Pacific Time
🎙 no guests
📍 https://www.twitch.tv/gregorcodes
🏷 opensource

Subscribe to this issues to get a notification before the show begins and a summary after the show concludes.
Refactoring a 10+ years old code base: nock (Part VI)
I will continue my refactoring work from the first 4 weeks: #58, #55, #54, #53
I got most of the tests working, but there are still some left.
If we get all existing tests to pass and reach 100% test coverage again, I'll move the internal intercept module to its own repository and publish it as its own npm module.
Outline

Quick recap of what we accomplished so far
Make remaining tests pass

[x] tests/test_remove_interceptor.js
[x] tests/test_fake_timer.js
[x] tests/test_header_matching.js
[x] tests/test_nock_lifecycle.js
[x] tests/test_socket.js
[x] tests/test_net_connect.js
[x] tests/test_back.js
[ ] tests/test_back_filters.js
[ ] tests/test_recorder.js

Refactor the intercept module, in particular the normalization of request options. I have the gut feeling we should just use the URL api to parse a request string and make sure we set all the properties. Have another look at what the native http.RequestClient api is doing.
Refactor the nock codebase. Remove no longer used code and obsolete tests.
Create the nock/intercept repository and move the internal module there
Make sure the new repository is fully documented and has 100% test coverage
Setup continuous releases for the new module
install the new module as dependency of nock
Celebrate the win!

TODOs
Before the show

[x]  30 minute announcement tweet
(https://twitter.com/gr2m/status/1472650703944527886)
[x]  30 minute announcement comment
(https://github.com/gr2m/helpdesk/issues/59#issuecomment-997447868)

When show begins

[ ]     start of show tweet
[ ]  comment on issue
[ ]  Set twitter profile url

After the show

[ ]  Reset twitter profile after the show
[ ]  recording available tweet

Recording
will be added after the show

Shownotes
will be added after the show

Going live in 30 minutes at https://twitch.tv/gregorcodes

I'm now live on https://twitch.tv/gregorcodes

And we are done. Recording is available at https://www.twitch.tv/videos/1238035345


aws-controllers-k8s/runtime update from v0.13.0 to v0.14.0

Issue #, if available: https://github.com/aws-controllers-k8s/community/issues/894
Description of changes:

aws-controllers-k8s/runtime update from v0.13.0 to v0.14.0
no interface changes
ran go mod tidy

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I will create v0.13.1 instead.


[FT-Auth] Testing Authentication Module

Is your feature request related to a problem? Please describe.

Write comprehensive test for the entire authentication module

Describe the solution you'd like

N/A

Describe alternatives you've considered

Example text

Additional context

Example text

This is done!


is auto-doc enable in npsphinx

I'm having problems when trying to parse a docstring from a python function embedded in a jupyter notebook. Is auto-doc working in nbsphinx?

AFAIK, it is not possible to use the sphinx.ext.autodoc extension to generate documentation for functions defined in Jupyter notebooks. But there may be some work-around, who knows?
Are you sure you want to do that?
You should probably move your (frequently used) Python functions into a .py file and import it from your notebook(s). You might even want to create a pip-installable Python module and upload it to https://pypi.org/?
If you really want to keep the documented function in a notebook, you can try using one of these (but I haven't tried if either works with autodoc):

https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Importing Notebooks.html
https://github.com/grst/nbimporter

Please note that the author of nbimporter doesn't recommend to use it!
The README.md says:

When I created this package some years ago, I still believed that importing functions from other notebooks was a good idea for developing and prototyping. By now, I have some more years experience in doing data science, and I still use Jupyter, however I never import from other notebooks any more.

@mgeier Hi, thank you for your awesome work.
I have a question, can I use markdown in jupyternotebook to reference a link genereated by autodoc?
such as
:class:`package_name.module_name.class_name`

:class:`package_name.module_name.class_name`

This can only be used in raw reST cells of Jupyter notebooks and in actual reST source files.
In Markdown cells you can use this: https://nbsphinx.readthedocs.io/en/0.9.1/markdown-cells.html#Links-to-Domain-Objects


Error message not shown if submit is clicked before touching any of the fields. Yup validation.

I have form with two fields and both of them are required, when user clicks submit before entering any data no error is shown and nothing happens.
Form return corrects errors in "error" object but nothing is displayed in UI.
Can I somehow force errors messages on not touched and empty form?

I 've found solution using dirty but it is not enough. I am able to disable submit untill one of the fields is touched but then situation happens again. Second field doesn't show required error.

Errors are show when ALL the following conditions are met:

form is dirty
field is touched
field has error

This is done intentionally to avoid the noise of showing errors in every field when the user hasn't even touched them.
In my projects, I am usually disabling the submit button when the form is not valid.
I am open for discussion about the correct behaviour on this issue though.
What do you think?

I agree with you, I've followed your path with disabling the button.


wrong name in plugin drop down menu

It shows logseq-clock-plugin in the plugin drop down menu.

Woops. Fixed in v0.0.11alpha.


[fix] Delete step fix

@lvydra I merged your fix my PR #51 as it contains fix for rename of Dashboard -> Home link
Closing this PR


generic bot docker image

Size of docker image is like 2GB

I will not add new things

Give me some time to review this.

What happens if you run an apt-get clean at the end of this?  Maybe clean up some of the things you download as well.

Also the bot.sh should be named entrypoint.sh to at least match the standards.

I will close this pr


fix method deepCompare

There is currently a method called deepCompare that lives in /lib/deepCompare.js.
It is incomplete and needs to be fixed!
Check if all properties on the provided parameters are equal.
This should recurse through all objects in the parameters' object graph.
Equivalence should be asserted on numbers, strings, and arrays in the object graph.
Acceptance Criteria:

Running yarn test deepCompare results in tests passing.
You have written a skeleton method for someone else to work on.
You have written tests surrounding your skeleton method.
Running yarn lint does not print any errors to the console!
Optional: write one or two more tests surrounding the method you are solving to account for potential edge cases.

Please include the skeleton of a new method + an accompanying test for someone else to work on at the time of creating a pull request! A pull request will most likely be denied if it does not contain a skeleton method for someone else to work on! For more information, please read the Contributing Guide.
Thank you so much for your contribution!

Dependent on PR #533 being merged first.

This is ready to go!

@BlakeGuilloud I would like to work on this

Cool deal @jbharat !! Thanks