Misleading and inconsistent logs

What is not working as expected?
The type of trust store is ca. When signature verification failed, the following logs were shown:
DEBU[xxx] Validating cert chain
DEBU[xxx] Validating trust identity
DEBU[xxx] Validating expiry
DEBU[xxx] Validating authentic timestamp
DEBU[xxx] Validating revocation
DEBU[xxx] not using authentic signing time due to error retrieving AuthenticSigningTime, err: authenticSigningTime not found
DEBU[xxx] no verification impacting errors encountered while checking revocation, status is OK
INFO[xxx] payload.TargetArtifact in signature: {MediaType:application/vnd.docker.distribution.manifest.v2+json Digest:sha256:xxx Size:xxx URLs:[] Annotations:map[] Data:[] Platform: ArtifactType:}
INFO[xxx] Target artifact that want to be verified: {MediaType:application/vnd.docker.distribution.manifest.v2+json Digest:sha256:xxx Size:xxx URLs:[] Annotations:map[] Data:[] Platform: ArtifactType:}
WARN[xxx] Signature sha256:xxx failed verification with error: content descriptor mismatch
There are several problems:

Log Severity and Reasoning: The log that helped identify the root cause is: WARN[***] Signature sha256:*** failed verification with error: content descriptor mismatch.
However, it is both a “WARN” and an “ERROR” (from the details). Why use “WARN” instead of “ERROR”?
Misleading Log: The following log is misleading:
DEBU[***] not using authentic signing time due to error retrieving AuthenticSigningTime, err: authenticSigningTime not found
Although it starts with “DEBU,” it discusses an issue related to “AuthenticSigningTime,” which is not actually the problem for the failure. And this log appears for any successful verification as well.
Capitalization Consistency: Most logs start with a capital letter after the log level, but the following logs begin with lowercase letters, which lacks consistency:
DEBU[xxx] not using authentic signing time due to error retrieving AuthenticSigningTime, err: authenticSigningTime not found
DEBU[xxx] no verification impacting errors encountered while checking revocation, status is OK
INFO[xxx] payload.TargetArtifact in signature: {MediaType:application/vnd.docker.distribution.manifest.v2+json Digest:sha256:xxx Size:xxx URLs:[] Annotations:map[] Data:[] Platform:<nil> ArtifactType:}

What did you expect to happen?
Here are my suggestions for the three problems

Log Severity and Reasoning:

Suggestion: Update the log level to ERRO. The error message content descriptor mismatch can be improved as well, but it is not the main purpose of this issue, it can be done with error message improvements.

Misleading Log

Suggestion: Rephase the log description as it is not an error

Capitalization Consistency:

Suggestion: Align the capitalization with all logs.

How can we reproduce it?
For the 1st problem, use oras fetch command to fetch a signature blob from one signed image, and then use oras attach to attach it to a different unsigned image.
For the 2nd and 3rd problems, use notation verify to verify any signed images, no matter if it is successful or failure.
Describe your environment
Linux OS
What is the version of your Notation CLI or Notation Library?
notation v1.1.1

Should be a quick fix, on my list.

@yizha1
Log Severity and Reasoning: The log that helped identify the root cause is: WARN[***] Signature sha256:*** failed verification with error: content descriptor mismatch. However, it is both a “WARN” and an “ERROR” (from the details). Why use “WARN” instead of “ERROR”?
It's WARN instead of ERROR because there could be multiple signatures for an image. For a certain signature, if its verification fails, the overall verification doesn't have to fail (other signatures may pass the verification). Therefore, using ERROR here maybe not very accurate, because the desired behavior is an overall succeeded verification shouldn't have any 'ERROR' in its log.

@yizha1
Misleading Log: The following log is misleading:
DEBU[***] not using authentic signing time due to error retrieving AuthenticSigningTime, err: authenticSigningTime not found
Although it starts with “DEBU,” it discusses an issue related to “AuthenticSigningTime,” which is not actually the problem for the failure. And this log appears for any successful verification as well.

This is a tricky one, firstly, this log only appears under signing scheme notary.x509. Secondly, it is not an error now because we haven't supported the RFC 3161 timestamp. Once we support it, this error log would then become valid. Therefore, my suggestion is to keep it as is and revisit it before next release, i.e. v1.2.0-beta.1.


closes #201

Description

so I changed all the logging to one logMessage() as required and now every console.log takes font styling (debugStyle is default, remember) But Grunt keeps giving me pretty red warnings because the tests expected ["yada yada"] to print and now they are getting "yada yada",'font-weight: bold; color: #00f;  <-- debugStyle,remeber.
or we can always "Not make debugStyle default".
It fixes issue #201.
I've used git before but never contributed to any open source project.sorry if it's a rookie PR
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Thanks @vikas-bansal 👍  Looks good.
I added a few comments inline, you can see them above.
Also, I saw the 4 tests that failed. You can go ahead and update the spec so that they all pass.
This can be done by adding the style to the response the specs expect. The spec is in /test/spec/BasicSpec.js
Here is a sample fixed expectation:
      expect(console.log).toHaveBeenCalledWith('Failed to execute \'start\' on \'SpeechRecognition\': recognition has already started.', 'font-weight: bold; color: #00f;');

This should do now @TalAter . Lemme know if there's anything else in PR needs changing. :palm_tree:

I just merged it 🎆
Thank you @vikas-bansal, I hope to see you participate in open source a lot in the future!


Issues while using with Next.js

I've tried to install library into my Next.js project, but seems like the CSS imports are done wrong.

https://nextjs.org/docs/messages/css-npm
More details on the error here.
Quote: "Reach out to the maintainer and ask for them to publish a compiled version of their dependency."

@markokhman Thanks for the issue reporting, and the excellent manual. As a temporary solution, the community can follow this manual to use DeLab Connect with Next.js. We'll be developing native support for Next.js and other frameworks, so I'll leave this Issue open for now.


Add metrics endpoint

It seems we have a security issue with the Prometheus client_golang lib.
I opened a PR there with the needed changes https://github.com/prometheus/client_golang/pull/1342
Lets wait to see if it gets merged and deployed.

The issue doesn't seem to be important enough so the fix is not getting attention.
I'll merge and deal with this later.
There's no clear attack vector anyway.


Mixing pools

We have several users asking for more generic network mixing, like the mixing pools in EMOD. This could prep-like mixing groups for TB (Deven request) or to recreate published work in RSV (Steve request). This feature would have been helpful for some COVID modeling applications as well. Hoping for efficiency gains along with greater ease of use.

I started writing some code, but don't have time to move this forward quickly if others want to take the lead.

Closed by #710


The WebM video cannot be played

There was sound, but no image to show

ExoPlayer also has sound, no images

WebM videos under 720P can play, but are blurry
If the resolution is too high, the image will not be displayed

https://storage.opensea.io/files/029756e969c5307b0aa078807ffa6baa.webm
720P：https://storage.opensea.io/files/7c31b0392f828f110f6c0705c6b35df2.webm
1080P：https://storage.opensea.io/files/52fbe0d9951491049e0e2e31204f6f16.webm

Interestingly, some videos don't display images on Android TV 5.1, but they do on 7.1 (regardless of video resolution).

This sounds like an issue with ExoPlayer rather than these specific samples. Please file at https://github.com/google/ExoPlayer/issues.


Entity linking

Hi,
I'm using Rubix in my current pipelines and feels amazing. I'm wondering if the app is planning to support entity linking type of annotations? Thanks.

@leandroroser sorry for the late reply, I think we missed this during our rebranding. For now, we are not focussing on entity-linking, but it is good to know that there is demand for this feature, so we will keep it in mind. Especially, since we will be re-evaluating our roadmap during the coming weeks. If you have any other questions or implementation issues. Feel free to contact me via e-mail or slack:)


feat: add bounds for unary math scalar functions

Which issue does this PR close?
Closes #11583 11583
Rationale for this change
Many math unary functions aren't unbounded, but because the macro doesn't include a way to modify this on a per function basis the trait default (of unbounded) is used.
What changes are included in this PR?

Change the make_math_unary_udf macro to take a bounds function
Implement a function for math functions where the bounds are known a priori.

Are these changes tested?
Yes, see unittests.
Are there any user-facing changes?
No

Thanks @tshauck. This is a nice step towards having comprehensive interval analysis. I have left a small suggestion. Once that is addressed, the PR will be good to go 🚀

Apart from @berkaysynnada's outstanding suggestions the only thing I see is that we would need to use two different π values, depending on whether it is in the lower bound or the upper bound of the resulting interval.
If π will be in the upper bound, we should use the smallest floating point number that is greater than the mathematical (precise) value of π. Let's call this pi_upper. Conversely, if π will be in the lower bound, we should use the largest floating point number that is less than the mathematical (precise) value of π.
Since π is not exactly representable, the pi you get from Rust is actually either pi_upper or pi_lower (you need to check). You can obtain the other one by using the nextafter function (let's just be careful to do this only once and use it as a constant everywhere).
Apart from this detail that is addressable by a small fix, this seems to be a great PR. Thank you.

Thanks to both of you for the thoughtful feedback.
@berkaysynnada, I updated infinity to use unbounded in 231a717.
@ozankabak, for handling π, do you mean libm::nextafter? There's also a .next_up, but unfortunately, it's in nightly. Did I overlook the actual function, or if not, any opinion on bringing in libm as dependency vs something w/i datafusion, albeit less robust?

IIRC nextafter is the IEEE standard name for this function, and Rust's next_up does something similar (in the upward direction). If it is in nightly, we probably should just create constants with these values explicitly given for each float type.

Thanks @ozankabak, would you please have a look at the latest changes and lmk what you think?

I checked the new version for both unbounded creation and rounded PI usage. Everything looks good and seems ready to merge. Thanks @tshauck!

Thanks! -- it looks like signum was changed in the meantime, so removing that for now as it doesn't use make_math_unary_udf anymore. The rebase seems ok locally, but I'll check to see if things don't go through for w/e reason here.

I took a quick look and this looks good to me. Thank you @tshauck  and @ozankabak 🚀


Fix tests around moving between beamlines

Fixes #344
Instructions to reviewer on how to test:

In i03.py change DAQ_CONFIGURATION_PATH to an invalid path
Confirm you can reproduce failures in original issue locally on main
Switch to this branch, keeping the changes in 1. Confirm all tests now pass

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards

When running tests in main, DAQ_CONFIGURATION_PATH are overridden to 'tests/devices/unit_tests/test_daq_configuration', so the tests pass even if you change the path in i03.py

I give up on having opinions about this since it's just tests; also I like the fixture solution, so this is fine by me too


No rate limit error when using asynchronous calls for the chatgpt api

Describe the bug
When using the ChatGPT api with asynchronous calls, I do not receive rate error limits, instead the code seems stuck.
To Reproduce
Here are 2 example codes that use asynchronous calls.
Note that I learned about asynchronous calls for this purpose and so have little experience.
1 Without the Python wrapper
import asyncio
from aiohttp import ClientSession

openai_api_key = "key_here"

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer " + openai_api_key,
}
url = "https://api.openai.com/v1/chat/completions"

async def ChatBatch(prompts,temperature=0,model= "gpt-3.5-turbo") :

    async def Chat_Result(session, prompt, url=url, headers=headers):
        data = {"model": model,
            "messages": [{"role": "user", "content": prompt}],
            "temperature": temperature
        }
        async with session.post(url, headers=headers, json=data) as result:
            return await result.json()

    async def get_response():
        results = []
        async with ClientSession() as session:
            for prompt in prompts:
                result = Chat_Result(session, prompt)
                results.append(result)
            return await asyncio.gather(*results)

    # return await get_response()
    return [response['choices'][0]['message']['content'] for response in await get_response()]

test :
await ChatBatch(["Hello how are you ?"]*30)
2 With the Python Wrapper
import openai
import asyncio
from aiohttp import ClientSession

openai.api_key = "key_here"

openai.aiosession.set(ClientSession())

async def create_completion(prompt="How are you ?"):
    return await openai.ChatCompletion.acreate(messages=[{"role": "user", "content": prompt}], model="gpt-3.5-turbo")

async def main():

    return await asyncio.gather(*[create_completion() for _ in range(14)])

answers=await main()

await openai.aiosession.get().close()

answers

Code snippets
No response
OS
Linux
Python version
Python 3.9.12
Library version
openai v0.27

I also am experiencing this error. Sometimes works and doesn't stall, then sometimes will stall.

I also am experiencing this error. Sometimes works and doesn't stall, then sometimes will stall.

Yes yesterday was quite difficult. I realized that it stalls even without the asynchronous calls and I do not seem to receive rate limit errors. Today things seemed to move more smoothly.


update respawn example for v8flags option

resolves #73
updated respawn to have correct v8flags option in example

Awesome! Thanks @ckross01!


Fall back to the AssignExprs startLoc when the EqualLoc is invalid

SIL Location diagnostics point at the getLoc, so when the EqualLoc is invalid we get no loc, while the startLoc is a fine alternative for these types of diagnostics.
rdar://30157756

Can you add a test case to SourceLocTests again?


merge develop into master [v1.5.0]

Coverage increased (+0.05%) to 90.183% when pulling 875e2d9eb3fe2f9001697be946962d26c08d1820 on develop into 59f7bc9faefd184d4e825f3535477875e0c33fc4 on master.


Help with activeofficers

hello my friend,
I wanted to download the qb-activeofficers but the link doesn't work,
can you please send me an updated link that supports esx?
Thanks, have a nice day

Sure, the esx one is here.

Thanks man but the GitHub link doesn't work, it shows error 404 - page not found.
can you please try another link or send me the file?

Thanks man but the GitHub link doesn't work, it shows error 404 - page not
found.
can you please try another link or send me the file?
[image: image.png]
בתאריך יום ו׳, 20 במאי 2022 ב-18:26 מאת finalLy134 <
@.***>:

Closed #2 https://github.com/finalLy134/qb-activeofficers/issues/2 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/finalLy134/qb-activeofficers/issues/2#event-6651629039,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZH2IAH75REF6LEGDR2RCHDVK6VJRANCNFSM5WNCSV3Q
.
You are receiving this because you authored the thread.Message ID:
@.***>


[Bug Report] The jumper of pagination can't work  correctly  for IE 11

Element UI version
2.4.1
OS/Browsers version
Windows 7 / IE 11
Vue version
2.5.16
Reproduction Link
https://jsfiddle.net/mmx38qxw/2556/
Steps to reproduce
The jsfiddle link can't work on IE 11. https://jsfiddle.net/mmx38qxw/2556/
We can test it  use this link: http://element-cn.eleme.io/#/en-US/component/pagination

Input 2 and press Enter in jumper, it works correctly
Keep focus on the jumper and input 3 and press Enter, it can't work. (if you lose focus, it works correctly)

What is Expected?
Hope it can work correctly to my page NO. changes every time.
What is actually happening?
When you press Enter to change the page NO. that you want to jump to, the control only work for first time on Internet Explorer 11.

I've already debugged this com, and find a way to fix this bug. I will commit a PR to this repository.
   handleChange: function handleChange(value) {           this.$parent.internalCurrentPage = this.$parent.getValidCurrentPage(value);           this.$parent.emitChange();           this.oldValue = this.$parent.internalCurrentPage;           this.resetValueIfNeed(value);         },

Same problem, when can I use this feature?

@Richard2050 change event does'nt trigger in IE. https://stackoverflow.com/questions/38642802/input-change-event-on-enter-key-not-working-in-ie
Maybe it's not a bug of Element.

fixed in #13471


Add example for custom authentication with php.

PHP Example for custom authentication.

Thanks @wcatron -- We'll take a look and let you know of changes we might want. (might not get back to you until next week)

I have cleaned up per all suggestions. Let me know if there are any other issues. What would be the first steps to creating the library version of this? (I just go for it and if you like it we can transfer later -you setup a repo and I'll start issuing pull requests - create a team and design before coding) We can start a new thread or email chain about it. I will be creating one anyway for an application I'm working on and would rather share my work.

@wcatron Looking really good. I'll test it soon.
As for the PHP SDK, do you want to create an issue here? We've been wanting to start making SDKs for several languages (PHP definitely). I'll comment more once you create the issue.

@wcatron Had to fix up some little things, but overall excellent work. I got it all merged in. Thanks!


⚠ GitLab Server has degraded performance

In c22e94c, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 17814 ms

Resolved: GitLab Server performance has improved in d372f86.


Fix responsiveness

This issue need to fix.

Hey @iamparas0, I can work on this issue!!
Can you assign me this issue if that's OK??


Finalize user documentation

Once we are happy with the state of EchoPro, a finalization of the user documentation should occur. This documentation should include an improvement of the basic documentation completed in #17. For example, we could include some more in depth Jupyter Notebook tutorials and document pages that describe how core routines have been implemented (e.g. biomass density calculation, Kriging, semi-variogram).

I'll close this now since it's too high level. We'll add docs as we clean up the code and have confidence in the results.


lint jsdoc types

We should lint jsdoc types.
I spent some time trying to make closure compiler work with node.js, but it didn't work due to issues with node module requires.

Did the code base will use typescript after pull number 219 finished ? :fearful:

Did the code base will use typescript after pull number 219 finished ? 😨

@brutalcrozt no, we'll continue using JS with jsdoc annotations.


Improved handling of external (player) processes.

Improved handling of external processes.
The stdout and stderr streams of external child processes were not read before. As a result, the child process might block up, if it generates a lot of output, because the internal buffers for stdout and stderr fill up. For example, if you use MPV on Linux to play the video files, MPV locks up quite fast (at around 1 min after launching it on my system). This change replaces all direct calls to Runtime.getDefault().exec(...) with a call to the new method exec(...). In this method, Runtime.getDefault().exec(...) is called and additionally two threads are created, which read the stdout and stderr of the spawned process and discard the contents directly.

could you please rebase your changes (only TmmUIHelper.java - pom.xml is not needed) on devel?

Sorry, don't know what happened there. Should be fine now.

thanks!


Issues with data being sent from<EMAIL_ADDRESS>

After hooking up v0.4.1 to Tyriar/node-pty, a few issues have been fixed (arrows in WSL https://github.com/Microsoft/vscode/issues/10163, prompt getting out of sync in git bash when backspace is pressed https://github.com/Microsoft/vscode/issues/7345).
However I've found a few regressions that make me worry about taking the uplevel, namely:

In Git Bash (C:\Program Files\Git\usr\bin\bash.exe), instead of the prompt getting out of sync, now the terminal emulator is told to move the cursor 1 position to the right

After pressing backspace, winpty sends \x1B[5G, resulting in:

In WSL and Git Bash, the arrow keys don't seem to function within vim. The terminal emulator sends \x1B[D to winpty and I get a bell sound and vim tells me E388: Couldn't find definition:

I'm using WINPTY_SHOW_CONSOLE=1 to show the console. The backspace issue shows if I switch to the winpty window and hit backspace, the arrows in vim seem to function fine however.

The issue with cursor keys in WSL vim is probably https://github.com/rprichard/winpty/issues/90.  I think I know how to fix it, so I probably should make the fix.
The issue with cursor keys in Cygwin/MSYS vim is probably the result of node-pty setting TERM to xterm by default, when it should instead leave it unset.  (See https://github.com/rprichard/winpty/issues/43, https://youtrack.jetbrains.com/issue/IDEA-155071, https://bugs.eclipse.org/bugs/show_bug.cgi?id=496291.)  Basically, it doesn't matter that VSCode has an xterm-compatible terminal -- the issue is whether the programs attached to the console see an xterm-like environment, and they don't.  Instead, they see the Cygwin/MSYS console<->pty translation layer, which is identified as TERM=cygwin.  VSCode doesn't need to set TERM=cygwin, though, because Cygwin will do that automatically.
I haven't reproduced the backspace issue yet.

That would be awesome if you get a chance to fix #90.
vim was actually completely broken in git bash and the reason was because TERM=bash.exe, setting TERM=xterm allowed me to enter vim. I'll fiddle with TERM and see whether it impacts the backspace issue. Thanks :smiley:

Awesome, setting TERM=xterm after the terminal has been launched fixes it! I'll follow that up in https://github.com/Tyriar/node-pty/issues/22

For git bash, the appropriate TERM would be cygwin rather than xterm.  (But because winpty works by creating an ordinary Windows console, the best thing to do is to leave TERM unset.)
Another program to test is less.  If I run git bash's less in an ordinary Windows console, but set TERM to xterm first, then the arrow keys won't work.  If I set TERM to cygwin (or leave TERM unset), then they work.

Yes unsetting it makes it cygwin which seems to work great (including less) https://github.com/Tyriar/node-pty/commit/11fc06a13a763279e6bcf38e2d8ecf9c7e591bf3

Yeah, that change looks good.
I'm trying to reproduce the issues by running VSCode with node-pty's winpty_upgrade_0_4_0 branch, but I'm having trouble.  I've successfully checked out VSCode, and it runs, but when I edit package.json, it doesn't seem to have an effect.  Do you know what I'm doing wrong?  Here's my current package.json edit:
C:\rprichard\proj\vscode>git diff
diff --git a/package.json b/package.json
index 3b4dca5..5ecbe7e 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,7 @@
     "iconv-lite": "0.4.15",
     "minimist": "1.2.0",
     "native-keymap": "0.3.0",
-    "node-pty": "0.4.1",
+    "node-pty": "file:../node-pty",
     "semver": "4.3.6",
     "vscode-debugprotocol": "1.15.0",
     "vscode-textmate": "3.1.0",
@@ -116,4 +116,4 @@
     "windows-mutex": "^0.2.0",
     "fsevents": "0.3.8"
   }
-}
\ No newline at end of file
+}
warning: LF will be replaced by CRLF in src/vs/monaco.d.ts.
The file will have its original line endings in your working directory.

Then I rerun scripts\npm install and scripts\code.bat.  The npm install doesn't seem to update the winpty files in node_modules.

If you want to build you own them you need to change npm-shrinkwrap.json, don't worry about package.json as shrinkwrap overrides the dep. Here's how you do it:

Remove node_modules/node-pty
Change the resolved property under node-pty in npm-shrinkwrap.json to git+https://github.com/Tyriar/node-pty.git#11fc06a13a763279e6bcf38e2d8ecf9c7e591bf3 (this is pointing to the typescript branch which is the latest)
./scripts/npm.bat install
./scripts/code.bat

If you need to fiddle with the TS files you will need to run npm run tsc to compile them (or just edit the js files).

You may be able to have npm-shrinkwrap.json resolve to relative paths, I'm not sure if you can though.

Oh and when you get it built you can open the terminal with ctrl+` and can change the shell it's launched with by opening settings.json (ctrl+shift+p, "settings") and adding:
"terminal.integrated.shell.windows": "C:\\path\\to\\executable",

Thanks, it looks like it used the new node-pty code this time.  When I press "Ctrl-`", though, I just see this error:
The terminal process terminated with exit code: 1
Press any key to close the terminal

Hmm, are you on the latest master? That probably means that node-pty died for some reason.
One thing I realized is that the compiled js isn't checked in to the repo which is likely the problem. I forgot I was publishing beta builds to npm while testing this, change the resolved part to https://registry.npmjs.org/node-pty/-/node-pty-0.5.0-beta3.tgz for a recent build (with js) that you should be able to repro the problems on.

Yeah, I'm using the latest master of vscode.
I changed the resolved to point to an absolute local path:
"resolved": "file:C:/rprichard/proj/node-pty",

I had the winpty_upgrade_0_4_0 branch checked out, and it worked, and the backspace issue reproduced.  TERM was set to cmd.exe. (or powershell.exe).  Once I unset TERM, the git bash backspace issue went away.
I'll try changing to your resolved setting, but I think there aren't any VSCode-specific things I need to examine for the moment.

Yes I think that branch illustrated the issue, you will probably need to add a setting to launch WSL though:
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"

I changed the resolved to https://registry.npmjs.org/node-pty/-/node-pty-0.5.0-beta3.tgz, and it demonstrates the various issues (and leaves TERM set to the basename of the shell program, e.g. powershell.exe).

I haven't republished the beta build yet so that will repro, I've confirmed that one is fixed 👍

This issue was fixed by https://github.com/rprichard/winpty/commit/40d5b72c43165875724825fab5b5e5303fa5c3c3.  The fix is included in today's 0.4.2 release.


Allow disabling profile specific loading of secrets and default secrets ( app name and defaultContext )

Type: Feature
Is your feature request related to a problem? Please describe.
I am currently using the following versions:
        <!-- Cloud -->
        <dependency>
            <groupId>io.awspring.cloud</groupId>
            <artifactId>spring-cloud-aws-context</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
            <groupId>io.awspring.cloud</groupId>
            <artifactId>spring-cloud-aws-autoconfigure</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
            <groupId>io.awspring.cloud</groupId>
            <artifactId>spring-cloud-starter-aws-secrets-manager-config</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
            <version>3.0.4</version>
        </dependency>

I'm always frustrated when I need to load a secret from AWS Secrets Manager as an application property and I have to battle with the default behavior of AwsSecretsManagerPropertySourceLocator which relies on AwsSecretsManagerPropertySources specifically the method List<String> getAutomaticContexts(List<String> profiles) which loads profile specific secrets ( <prefix>/<secret_name>_<profile-name> while what I am trying to achieve is just loading a simple secret and nothing else because I usually have multiple AWS accounts and each account represents dev / staging / prod environments
# I want to load secrets using the import style of spring boot
spring:
  config:
    import: aws-secretsmanager:my-super-simple-secret-and-nothing-else

I was tempted to do the following
@BootstrapConfiguration(exclude = AwsSecretsManagerBootstrapConfiguration.class)

but as it turned out it was not enough because somehow excluding a bootstrap configuration does not work ( or I cannot get it to work properly ) https://github.com/spring-cloud/spring-cloud-commons/issues/1008
so I had to disable the secrets manager entirely to prevent the default behavior
aws:
  secretsmanager:
    enabled: false

but this was not what I wanted because of AwsSecretsManagerConfigDataLocationResolver specifically the method isResolvable relies on having secrets manager enabled which makes sense
        @Override
	public boolean isResolvable(ConfigDataLocationResolverContext context, ConfigDataLocation location) {
		if (!location.hasPrefix(PREFIX)) {
			return false;
		}
		return context.getBinder().bind(AwsSecretsManagerProperties.CONFIG_PREFIX + ".enabled", Boolean.class)
				.orElse(true);
	}

If I wanted the  import: aws-secretsmanager: to work, I had to write a new custom ConfigDataLocationResolver and add it in spring factories and hack around to get importing using secrets manager to work while having enabled: false
public class EnabledAwsSecretsManagerConfigDataLocationResolver extends AwsSecretsManagerConfigDataLocationResolver {

    public EnabledAwsSecretsManagerConfigDataLocationResolver(Log log) {
        super(log);
    }

    @Override
    public boolean isResolvable(ConfigDataLocationResolverContext context, ConfigDataLocation location) {
        return location.hasPrefix(PREFIX);
    }
}

And that was the hack I used to prevent the default secrets loading behavior while maintaining the import style working
Describe the solution you'd like
I would like to have a clear way to distinguish between two features
1- Secrets manager enabled flag ( and can be used to import secrets ) ( basically just that secret manager works and no additional work is done )
2- Loading profile specific default opinionated secrets enabled flag ( which can be disabled to avoid a lot of the problems mentioned above )
Describe alternatives you've considered
I am not sure if there is a better ways to do this, any ideas?
Additional context
N/A

I am not sure why spring.config.import isn't working for you.  Perhaps you still have spring-cloud-starter-bootstrap in your dependencies?
Take a look at Secrets Manager integration sample in this repository. Ideally, please provide a reproducible example where we can debug what is causing the problem.

@maciejwalkowiak thanks for your response, Yes I had spring-cloud-starter-bootstrap in my dependencies, The problem resolved when I removed it, I will close this issue


Why is ohai needed to run proftpd?

Hi,
Just a little bit confused - what's the purpose of running proftpd as a ohai plugin? (as opposed to just starting proftpd)?
Thanks!

Hi @eugenemiretsky,
ProFTPD is installed using the distribution package system and started using the default distribution service management system.
The ohai plugin is used to get information about the installed ProFTPD version. This is required by the ::default recipe to get the installed version and the compiled in modules.
https://github.com/onddo/proftpd-cookbook/blob/master/libraries/conf.rb#L147-L151


TLS doesn't work with python request or urllib2

Do you want to request a feature or report a bug?

Bug

What did you do?

I have Treafik Middleware for https redirect which works for most of the browsers (Chrome, Safari, Edge, Firefox). But python request lib fails with
import requests
requests.get('https://qa.domain.com')

requests.exceptions.SSLError: HTTPSConnectionPool(host='qa.domain.com', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)'),))
python urllib2 lib fails as well
import urllib2
response = urllib2.urlopen('https://qa.domain.com')

urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)>
But this works
import requests
requests.get('https://qa.domain.com', verify=False)

and
import urllib2
import ssl
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
urllib2.urlopen("https://qa.domain.com", context=ctx)

Output of traefik version:

traefik:2.4.5

What is your environment & configuration (arguments, toml, provider, platform, ...)?
Traefik is deployed on Kubernetes as  DaemonSet with following config
  traefik.toml: |
    ## static configuration
    [global]
      checkNewVersion = true

    [entryPoints]
      [entryPoints.web]
        address = ":80"
      [entryPoints.websecure]
        address = ":443"

    [providers]
      [providers.kubernetesCRD]
      [providers.file]
        directory = "/etc/traefik/providers/"
        watch = true
      [providers.kubernetesIngress]
        ingressClass = "traefik-cert-manager"

    [log]
      level = "INFO"

    [accessLog]

    [api]
      insecure = true
      dashboard = true
      debug = true

    [metrics]
      [metrics.prometheus]
        buckets = [0.1,0.3,1.2,5.0]
        addEntryPointsLabels = true
        addServicesLabels = true
        entryPoint = "web"

    [ping]

    [certificatesResolvers]
      [certificatesResolvers.default]
        [certificatesResolvers.default.acme]
          email =<EMAIL_ADDRESS>          caServer = "https://acme-v02.api.letsencrypt.org/directory"
          storage = "/etc/traefik/storage/acme.json"
          [certificatesResolvers.default.acme.dnsChallenge]
            provider = "route53"
            delayBeforeCheck = 0
            resolvers = ["<IP_ADDRESS>:53", "<IP_ADDRESS>:53"]

  dynamic.toml: |
    ## dynamic configuration

    [[tls.certificates]]
      certFile = "/certs/tls.crt"
      keyFile = "/certs/tls.key"
      stores = ["default"]

    [tls.stores]
      [tls.stores.default]
        [tls.stores.default.defaultCertificate]
          certFile = "/certs/tls.crt"
          keyFile  = "/certs/tls.key"

Kubernetes IngressRoute & Middleware
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: app-external
  namespace: qa
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`qa.domain.com`)
      kind: Rule
      services:
        - name: nginx
          port: 80
      middlewares:
        - name: secured-restricted

---

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: app-external-secure
  namespace: qa
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`qa.domain.com`)
      kind: Rule
      services:
        - name: nginx
          port: 80
      middlewares:
        - name: secured-restricted
  tls:
    secretName: qa-cert

---

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: secured-restricted
  namespace: qa
spec:
  chain:
    middlewares:
    - name: permited-ips
    - name: https-redirect

---

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: https-redirect
  namespace: qa
spec:
  redirectScheme:
    scheme: https
    permanent: true

---

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: permited-ips
  namespace: qa
spec:
  ipWhiteList:
    sourceRange:
    - x.x.x.x/32

Certificate stored in secret: qa-cert provided by Lets Encrypt and its valid and works in browsers.
If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
I didn't see any related logs for this requests while log level set to DEBUG

Hello @Roydon,
As I can read in the documentation, you have to specify the CA with your python library so they can validate the certificate.
We dedicate the issue tracker to bug reports and feature requests only.
As it seems to be related to external library usage, I will close this issue as a question.
If you need more help on configuration/use cases, please go to our community forum. :smiley:


actions: login via GITEA_TOKEN to package repository not working

Description
I am having this snippet in a workflow file:
      - name: Log in to the Container registry
        uses: docker/login-action@v2
        with:
          registry: my.gitea.domain
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITEA_TOKEN }}

I exchanged github.repository_owner with github.actor as well. Bot did not work.
I see the following error in the actions run log:
Log in to the Container registry
Logging into my.gitea.domain...
::error::Error response from daemon: login attempt to https://my.gitea.domain/v2/ failed with status: 401 Unauthorized

Gitea Version
1.19.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
I am running it in a docker container and am reverse proxying the https port.
Database
None

Token scope was added in 1.19 so perhaps your token needs to be re-issued with a new scope (this happened to me in a slightly different context but where I could see the full error response from gitea which mentioned the token scope being inadequate).

Did you set your ROOT_RUL in app.ini to my.gitea.domain ?

Does it work from the command line? docker login -u ... -p token my.gitea.domain

The package repository itself is working. When I try to use a pregenerated secret and use that, it is working as well.
What is not working ist the use of the GITEA_TOKEN to publish data into the package repository.

Just a note: That looks like it works but you can't upload a container or other things.

What is the status on this one?

It depends on the trigger user's permission to that package. And you can always use a PAT to do that.

Ok, but 1.19.3 still does not pay respect to that, or? Because the build happens on push through me, I'm the owner of the repo and it still fails with authentication required after using GITEA_TOKEN for a successful Docker Login.
Which is the earliest version that works?

The linked PR is active with 1.20

Currently on 1.20.0-rc2 and this works:
- name: Log in to the Container registry
  uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
  with:
      registry: git.example.com
      username: ${{ gitea.repository_owner }}
      password: ${{ secrets.GITEA_TOKEN}}

But push fails with:
docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825
#28 [auth] *:: project/app:pull,push token for git.example.com
#28 DONE 0.0s
#29 [auth] sharing credentials for git.example.com
#29 DONE 0.0s
#27 exporting to image
#27 pushing layers 1.0s done
#27 ERROR: failed to push git.example.com/project/app:master: unexpected status: 401 Unauthorized
------
 > exporting to image:
------
ERROR: failed to solve: failed to push git.example.com/project/app:master:master: unexpected status: 401 Unauthorized
::error::buildx failed with: ERROR: failed to solve: failed to push git.example.com/project/app:master:master: unexpected status: 401 Unauthorized

That is right as @KN4CK3R mentioned before: https://github.com/go-gitea/gitea/issues/23642#issuecomment-1482584036
Here it got decided to temporarily only allow read only access and postpone the permission check: https://github.com/go-gitea/gitea/pull/23729#issuecomment-1492774010
The underlining issue is an ongoing discussion how to manage permissions in general. There is a proposal in https://github.com/go-gitea/gitea/issues/24635 but nothing implemented in that direction yet (AFAIK)

You can try to specify token within url
      - name: Delete git repository old branches
        uses: https://${{ secrets.GIT_ACCESS_TOKEN }}:@gitea.my.domain/emb_tools/gitea-actions-delete-abandoned-branches@v1
        id: delete_stuff

@PatrickHuetter You must use PATs for writing to package repositories right now.
As mentioned in my comment before there is no implementation yet - not in master and therefore in no release either - to use GIT{EA,HUB}_TOKEN for pushing to package repositories.

@PatrickHuetter You must use PATs for writing to package repositories right now. As mentioned in my comment before there is no implementation yet - not in master and therefore in no release either - to use GIT{EA,HUB}_TOKEN for pushing to package repositories.

Thanks @krombel. I got it working with PATs.

This should be listed as a missing feature on this page.  My organization does not permit static PATs to be used in workflows, which means we can't use that as a workaround.  It would have been much easier to figure out this is why the permissions error occurs if it had been listed in the documentation as a current limitation.

it doesnt work for me with user PAT:
docker login git.domain.hu -u jenkins -p<PHONE_NUMBER>231232
docker push git.domain.hu/elbandi/test

i added some debug logs:
2024/04/06 20:56:30 ...es/container/auth.go:31:Verify() [I] uid: 7
2024/04/06 20:56:30 ...es/container/auth.go:37:Verify() [I] GetPossibleUserByID() u:<User 7:jenkins>
2024/04/06 20:56:30 ...es/container/auth.go:37:Verify() [I] GetPossibleUserByID() u:<User 7:jenkins>
2024/04/06 20:56:30 .../api/packages/api.go:44:func5() [I] reqPackageAccess: Data["IsApiToken"]: <nil>, Data["ApiTokenScope"]: <nil>
2024/04/06 20:56:30 .../api/packages/api.go:44:func4() [I] reqPackageAccess: Data["IsApiToken"]: <nil>, Data["ApiTokenScope"]: <nil>
2024/04/06 20:56:30 .../api/packages/api.go:44:func5() [I] reqPackageAccess: Data["IsApiToken"]: <nil>, Data["ApiTokenScope"]: <nil>
2024/04/06 20:56:30 .../api/packages/api.go:44:func4() [I] reqPackageAccess: Data["IsApiToken"]: <nil>, Data["ApiTokenScope"]: <nil>
2024/04/06 20:56:30 ...eb/routing/logger.go:102:func1() [I] router: completed POST /v2/elbandi/test/blobs/uploads/ for <IP_ADDRESS>:0, 401 Unauthorized in 1.2ms @ packages/api.go:43(packages.ContainerRoutes.func2.1.reqPackageAccess)

So looks like container.Verify() found the right user, but doesnt fill the IsApiToken and ApiTokenScope data fields. therefore reqPackageAccess denied the access.

docker login

I cannot reproduce this. Please check your PAT's permission which has read/write packages permission.

docker login

I cannot reproduce this. Please check your PAT's permission which has read/write packages permission.

scope: all
(ofc just for testing)

You still need to choose the permissions after choosing ALL in the UI. ALL means all of the repositories which don't mean permissions.

You still need to choose the permissions after choosing ALL in the UI. ALL means all of the repositories which don't mean permissions.

As i said, all permissions are added. i listed the tokes by api:
 GET /api/v1/users/jenkins/tokens

Response:
 [
  {
    "id": 8,
    "name": "runner",
    "sha1": "",
    "token_last_eight": "bf14d900",
    "scopes": [
      "all"
    ]
  }
]

If the owner of this repo is organization, does this user have the permission to access organization packages?

We close issues that need feedback from the author if there were no new comments for a month. :tea:

I don't think this is implemented. The job token can't be used to publish packages at the moment.

It look like, token is not working for personal repo (eg: elbandi/test)
Here, i create a new token for jenkins user with full access:
$ sudo -u git /usr/local/sbin/gitea admin user generate-access-token --username jenkins --token-name testtoken --scopes "all"
Access token was successfully created: 2bcb4b4293d6f624b49d22cd8f8f46b800c65cc5

I verify, that jenkins user has write permission to elbandi/test:
curl -X 'GET' \
  'https://git.domain.hu/api/v1/repos/elbandi/test/collaborators/jenkins/permission' \
  -H 'accept: application/json' \
  -H 'authorization: Basic xxxx'

result (look good: jenkins has write role to elbandi/test):
{
  "permission": "write",
  "role_name": "write",
  "user": {
    "id": 7,
    "login": "jenkins",
    "login_name": "",
    "full_name": "Jenkins build system",
    "email"<EMAIL_ADDRESS>    "language": "",
    "is_admin": false,
    "last_login": "1970-01-01T01:00:00+01:00",
    "created": "2021-03-03T00:07:56+01:00",
    "restricted": false,
    "active": true,
    "prohibit_login": false,
    "location": "",
    "website": "",
    "description": "",
    "visibility": "public",
    "followers_count": 0,
    "following_count": 0,
    "starred_repos_count": 0,
    "username": "jenkins"
  }
}

Try to upload a file as a generic package to elbandi/test:
$ curl --user jenkins:2bcb4b4293d6f624b49d22cdbf8f46b800c65cc5 \
 --upload-file README.md \
 https://git.elbandi.net/api/packages/elbandi/generic/test/1.0.0/file.bin
reqPackageAccess
$

unsuccessful :(
Try to upload a file as a generic package to an organisation package:
$ curl --user jenkins:2bcb4b4293d6f624b49d22cdbf8f46b800c65cc5 \
  --upload-file README.md \
  https://git.elbandi.net/api/packages/kubernetes/generic/test/1.0.0/file.bin
$

it works.

Sadly, this issue covers quite an important feature, but the discussion has been dissolved by unrelated topics of improper configuration. There is already an jobs.permissions key that can be used to indicate the scope that an action access token has.
As highlighted by others, at the very least, a note should be placed here: https://docs.gitea.com/usage/actions/comparison#missing-features
Creating a PAT does not solve this issue. A PAT can not be scoped to a single repo, has to be created manually, and managed / copied / or stored (unless we want to end up with multiple PATs)
Gitea already associates packages with repos, so mirroring GitHubs should probably be supported without changes to Giteas design.
The basic flow should probably be something like this:

runner token gets access to write (some) packages of ${{ github.repository_owner }} namespace
packages uploaded with this token get added to ${{ github.repository_owner }} packages and associated with repo
if the package is already associated with a different repo (one for which we don't have an access token) the modification is rejected

This also means that if UserB pushes changes to a repo owned by UserA, the token will have access to the UserA package namespace.
Now I don't have any idea what your goals and concerns are, but PATs should be seen as a workaround, not as a solution, since they are clumsy, error-prone and give access to the namespace of the owner.

@lunny What would be the right way of getting this going?

Create a PAT with permission of package and use that PAT to do login, push.

As a temporary workaround I have defined an actions user which I gave sufficient rights on the repositories that I want to use actions with. Or in my case I've made this an admin user which cannot login through the web UI. The latter I disabled as a final step.
For this user I created a PAT and set that up as a secret variable on the Actions > Secrets page on the user's profile as PACKAGES_TOKEN so I can use that variable within my Actions. I can than use a pretty similar approach to the intended one:
name: Docker Build and Push
run-name: ${{ gitea.actor }} is running Docker build and push

on:
  push:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Login to local Gitea registry
        uses: docker/login-action@v3
        with:
          registry: ${{ env.registry }}
          username: ${{ env.actions_user }}
          password: ${{ secrets.PACKAGES_TOKEN }}
      - name: Docker Build and push
        uses: docker/build-push-action@v6
        with:
          context: .
          push: true
          tags: ${{ env.registry }}/${{ gitea.repository }}:latest

Note that I also defined my registry and actions user in my runner's config.yaml:
runner:
  envs:
    registry: gitea.mydomain.tld
    actions_user: actions

This seems to work perfectly. Or at least for the time being 😄 .
Instead of using a dedicated user you could also opt to set your own username as the actions_user and add the PAT to your Actions > Secrets in your profile.

As a temporary workaround I have defined an actions user which I gave sufficient rights on the repositories that I want to use actions with. Or in my case I've made this an admin user which cannot login through the web UI. The latter I disabled as a final step.

I'm curious how you got that to work?
While creating a separate 'actions_user' with a PAT and write access to packages works for me to publish packages for my organization (by setting PACKAGES_TOKEN as a secret at the organization level), I have observed that it is not possible to disable login for that user after creating the PAT since this does not only prohibit login to the web UI but also to the packages registry using the PAT.
In contrast to you I'm testing with the PyPi repo and my 'actions_user' doesn't have admin permissions but write acces to all repos in the organization. I don't think this should make a difference though.

As highlighted by others, at the very least, a note should be placed here: https://docs.gitea.com/usage/actions/comparison#missing-features I just spent 2 hours assuming that Gitea would support this feature, as it's very common and not listed.

I have filed a PR here: https://gitea.com/gitea/docs/pulls/77

Creating a PAT does not solve this issue. A PAT can not be scoped to a single repo, has to be created manually, and managed / copied / or stored (unless we want to end up with multiple PATs)
Gitea already associates packages with repos, so mirroring GitHubs should probably be supported without changes to Giteas design.
The basic flow should probably be something like this:

runner token gets access to write (some) packages of ${{ github.repository_owner }} namespace
packages uploaded with this token get added to ${{ github.repository_owner }} packages and associated with repo
if the package is already associated with a different repo (one for which we don't have an access token) the modification is rejected

This also means that if UserB pushes changes to a repo owned by UserA, the token will have access to the UserA package namespace.
Now I don't have any idea what your goals and concerns are, but PATs should be seen as a workaround, not as a solution, since they are clumsy, error-prone and give access to the namespace of the owner.


Wrong hover description for "Allow global process hooking - be careful"

It seems to use the same hover text as the "Allow periodic anonymous update checks" that is just below it.

Other then that this tool seems really awesome!
(Using it to debug Unity)

Thanks for reporting this!


[DDC-2825] Fix persistence on a table with a schema on a platform without schema support

This PR solves two related issues with the use of a database schema on platforms (such as SQLite) that don't support schemas.
I discovered the issues when I generated the schema from my Doctrine entities on SQLite (for unit test purposes of my application) whereas my main application uses PostgreSQL.
This is one of my first PR on Doctrine, so sorry if I made some things in the wrong way and I'm open to discussion.
First problem: table names dots are not converted in the ORM
On a platform like SQLite, DBAL converts table names with dots (ie. a schema is declared) to double underscores.
However, the ORM doesn't do it, and persisting leads to an exception.
Example:
MyNamespace\Mytable:
    type: entity
    table: myschema.mytable
    # ...

And then somewhere in the code:
$myTable = new MyNamespace\Mytable();
$entityManager->persist($myTable);
$entityManager->flush();

This doesn't work in the current version of Doctrine. The table is created as myschema__mytable but entities are unsuccessfully saved in myschema.mytable.
Second problem: table names with reserved keywords in a database schema are not correctly escaped
When a table name is declared as myschema.order (or any other reserved keyword), only the reserved keyword part is escaped when creating the table, leading to the creation of a table name like myschema__`order`, which is invalid and therefore fails.
How this PR solves the problem
The classmetadata now stores in 2 separated properties the name of the table and the name of the schema. The schema property was partially implemented but I now make a full use of it.
When metadata is read (from Annotations, YAML, ...), if the table name has a dot (myschema.mytable), it's splitted into 2 parts, and myschema is saved in the schema table property, and mytable is saved in the name table property, instead of storing the whole myschema.mytable in the name table property.
This allows to do specific things about schemas everywhere in Doctrine, and not splitting again parts everywhere it's needed.
By the way, the schema property can now fully be used.
For instance, these 2 YAML configurations are valid and do the same thing:
MyNamespace\Mytable:
    type: entity
    table: myschema.mytable

and:
MyNamespace\Mytable:
    type: entity
    table: mytable
    schema: myschema

This was something which was not finished to be implented since Doctrine 2.0.
The Default quote strategy now converts back the schema and table names to a unique table name, depending on the platform (e.g. myschema.mytable if the platform supports schemas, and myschema__mytable otherwise).
As a result, there is no problem anymore and entities can be persisted without getting any exception.
I added some unit tests for this (the same unit tests failed before of course).
There's however a slight tradeoff on performance, as the getTableName of the DefaultQuoteStrategy class adds some tests to return the correct table name.
This solved these Doctrine issues: DDC-2825 and DDC-2636.
Again, this is one of my first PRs on Doctrine, so if there's anything wrong or if you have any question, feel free to comment this PR.
@Ocramius This PR is about what we talked about in DDC-2825

I rewrote large chunks of the testing in this PR, as I found various bugs with XML/YAML and PHP mapping types (they were untested).
Other than that, this is merged via doctrine/doctrine2@1d4b96eed078012469d188821535bd8c240cd14d and will land in 2.5.
Thanks @michaelperrin!

Thanks @Ocramius! Glad this PR got merged and I'm looking forward to the future 2.5 release and other contributions as well!


duplicated codes with previous 3 lines

https://github.com/nmslib/hnsw/blob/48a5980e5a4facdba749bde7352652b2deda5371/hnswlib/brutoforce.h#L121

thank u for your reply. I can't push my branch to this hnsw. Do I have permission ?

thank u for your reply! I have a new pull request, please review it: https://github.com/nmslib/hnsw/pull/53

Thanks!


fixed typo on template page

📝 Changed routes:

/templates

(view full size)

Commit d21048d4a5d3242a87f51667b628a8bc480792a3 (https://thirdweb-21cmucrsv.thirdweb-preview.com).


Improvements to GraalVM image generation

Replaces old, manual way of building both native image and a docker container containing it with sbt-native-packager way.

Released in 0.15.7, thanks!


Please remove text in Custom email notification for SharePoint and OneDrive

The custom email notification that we can configure for Sharepoint / Onedrive automatically contains reference to the document link and Sensitive information types included, which makes the email very long and hard to read in some situations.
I would expect, since the docs article shows options/tokens to include when customizing email notifications, that it would not show anything else, but only what we input.

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

ID: 0505aba8-2455-5390-b34b-6bb0865b14db
Version Independent ID: 401701a8-86fd-8570-8084-33622f34bb91
Content: Send email notifications and show policy tips for DLP policies - Microsoft Purview (compliance)
Content Source: microsoft-365/compliance/use-notifications-and-policy-tips.md
Service: o365-seccomp
GitHub Login: @chrfox
Microsoft Alias: chrfox

@teomondaPT Thank you for your feedback. That makes sense. However, this needs to go to the dev/product team so that they can look at it and make changes. I'd request you to provide this valuable feedback on our Main feedback portal -https://feedbackportal.microsoft.com/ , So that one of our dev team members can respond back to you.
Hope this helps!
Thanks
Sri

@teomondaPT Thank you very much for your kind feedback. Considering your valuable feedback, please log this issue as advised. Here we are limited to documentation fixes and improvements only. Concerning team will evaluate and take the appropriate action, as per their schedule. We proceed here to close it. Thanks again for taking out some time and sharing your feedback.


Remove mention to older badge option in docs

The --counter option mentioned a badge option, which doesn't appear in the docs. This change removes this as it is not relevant in the context.

@kevinjalbert 👍, thanks!


Dependencies for libjson-c2 failed on Ubuntu 18.04

We can not install mod_log_gelf on ubuntu 18.04 because libjson-c2 does not exists.
Is it possible to have a new version packaged ? I can help for tests.

Came here for the same issue. Definitely willing to help test.

There's a libjson-c3


fix remote.query() with side loaded data

remote.query() unintentionally combined primary and side loaded data into a single array and thus also retuned the included data with the primary data.

@Bernhard---H would you mind including a test for a query that uses include and processes the primary and side loaded data?

@dgeb done.

@Bernhard---H Apologies for taking so long to review. I pulled the branch down to verify - your test passes regardless of whether the change is applied. And indeed, I'm not seeing any functional difference introduced by this PR. Could you please review?

@Bernhard---H Ah, thank you for finding and fixing that typo. And thanks as well for the thorough explanation of what I was missing. I simply had glossed over that toArray will simply return its argument if it's already an array.
I'll pull this down and check it out ASAP.

Published in v0.15.23


python311Packages.aemet-opendata: 0.2.2 -> 0.3.0

Diff: https://github.com/Noltari/AEMET-OpenData/compare/refs/tags/0.2.2...0.3.0
Changelog: https://github.com/Noltari/AEMET-OpenData/releases/tag/0.3.0
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

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

1 package failed to build:

home-assistant-component-tests.aemet

2 packages built:

python311Packages.aemet-opendata
python311Packages.aemet-opendata.dist


prevent operator from panic on invalid characters within eventhub-storage path

Hello,
we facing an issue with a crashing keda operator if the storage path of the eventhub scaler contains invalid characters. In our case, this happened with a wrong encoded base64 secret.
this change prevents the operator from crashing The url.parse provide a valid readable error message with enough details for debugging, so I did not add additional information on it.

should i make a changelog entry within this PR?

should i make a changelog entry within this PR?

yes please, create an entry referring the issue 🙏

/run-e2e azure*

done


added delete by turn id

Agent Memory Added a new proc to delete by turn id
When using search tool , we add search as system message to memory and there is no way to delete only this turn id for next conversion, so added method called delete_turn_id by passing turn_id we can delete the particular message from memory
Added all the conditions like empty memory, last message , invalid turn id

change  self.current_turn_id = max(msg.turn_id for msg in self.history) to self.current_turn_id = self.history[-1].turn_id

Alrighty @mickyarun I left some comments - once those are fixed & the tests are updated I can approve & merge!

@mickyarun Woops, I in fact had not submitted! 🙄 My bad!

@KennyVaneetvelde I have resolved all the comments


Memory filing

setting 1 worker per cpu https://github.com/developmentseed/titiler/blob/master/stack/app.py#L64 seems to resolve this
ref https://github.com/tiangolo/fastapi/issues/596

done in https://github.com/developmentseed/titiler/commit/b04247c720771c9bbf8fb0691b415840ded5170c


remove more unused filter code

cc @Jackie-Jiang as a follow up to more unused files that can be cleaned up from #9607

Codecov Report

Merging #9620 (7fba076) into master (63c6438) will decrease coverage by 42.88%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #9620       +/-   ##
=============================================
- Coverage     68.71%   25.83%   -42.89%
+ Complexity     4971       44     -4927
=============================================
  Files          1939     1925       -14
  Lines        103671   103313      -358
  Branches      15727    15690       -37
=============================================
- Hits          71242    26694    -44548
- Misses        27350    73915    +46565
+ Partials       5079     2704     -2375

Flag
Coverage Δ

integration1
25.83% <ø> (+0.04%)
:arrow_up:

unittests1
?

unittests2
?

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

Impacted Files
Coverage Δ

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/user/RoleType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/stream/StreamMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/spi/config/table/TableType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../org/apache/pinot/spi/data/DimensionFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1339 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Replace Java 16/17 -> 21, Upgrade workflow system

Replaces the Java 16+17 references with 21 instead as 1.20.5 no longer supports the older java versions,
Upgrades the GitHub workflow systems to no longer be outdated and to not be crappy anymore.

@Motschen do you have time to review this? (since i don't have perms to do that)

Looks good, tysm!
Sorry for not reviewing this earlier.


catalog-backend: introduce TaskPipeline

This introduces a task pipeline that pulls tasks and executes them asynchronously and in parallel. The number of tasks processed in parallel is kept between two watermarks to ensure continued parallelism. When the lower watermark is hit, a batch of tasks are loaded in to get up to the high watermark. See the startTaskPipeline docs for more info.

Ooo! Any preliminary timings?


Fix regular expression for matching message for findMessageType

Summary
This pull request updates the regular expression that was wrongly written in #7028 where the tests were passing because the tests were written wrongly. The quotation marks were missing in the regular expression.
Test plan
The tests in jest-editor-support/src/__tests__/runner.tests.js have been updated with the the quotation marks in place.

Codecov Report

Merging #7029 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #7029   +/-   ##
=======================================
  Coverage   66.95%   66.95%
=======================================
  Files         250      250
  Lines       10430    10430
  Branches        4        4
=======================================
  Hits         6983     6983
  Misses       3446     3446
  Partials        1        1

Impacted Files
Coverage Δ

packages/jest-editor-support/src/Runner.js
74.25% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


GitHub Action: Upload only diff to FTP

Instead of uploading all files in each action (which takes almost 20 mins), can we upload only files that changed?

seems there is an option for only new files in lftp, but I tihnk it wouldnt work. Cause the files are all re-build on the action, so technically they are new at that point

actrually seems to work


/resources claim still present in IdentityServerTools

Needs updating
https://github.com/IdentityServer/IdentityServer4/issues/3774

seems like a pretty straight-forward fix, can I open a PR to address this?
no prior background with this ISTools class tough.
@leastprivilege do you want to drop the claim or maybe  emit it based on that recent flag? not sure if the flag/options do make sense there

Oh - didn't see this. I already fixed it.
Thanks!


I test this script

does not detect anything.

Please elaborate..

Itest you filterscript, but it does not detect anything.... possibly not all android versions samp.
https://github.com/Fairuz-Afdhal/IsPlayerUsingAndroid/tree/master/filterscripts


App Registration with Azure CLI

Is it possible to automate application registration via Azure CLI? If so, where can I find the documentation? Thank you.

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

ID: 670bf490-966b-e72e-ab6c-1d189f9a1f58
Version Independent ID: a55b7372-87e9-c760-1a37-57728171395d
Content: Tutorial - Register your applications in Azure Active Directory B2C
Content Source: articles/active-directory-b2c/tutorial-register-applications.md
Service: active-directory-b2c
GitHub Login: @davidmu1
Microsoft Alias: davidmu

@neeleshray - This will only work to create application registrations at the "Azure Active Directory - App Registrations" or "Azure Active Directory - Enterprise applications" blades - in other words only for applications that a B2C flow might use to connect to other providers like single-tenant AAD. It doesn't solve for how to create the application registration within the "Azure AD B2C - Applications" to be able have an application id (client id) to be able to connect to the B2C tenant to authenticate users with B2C user flows. There are plans to provide support to manage user flows (custom policies) via the graph API -- are there plans to allow the management of applications that are clients to the B2C tenant?


Idea: split environment markers out to their own PEP

https://github.com/pypa/packaging-problems/issues/63 was just filed regarding the idea of making dependencies optional based on Python version.
It occurs to me that the environment markers section of PEP 426 (https://www.python.org/dev/peps/pep-0426/#environment-markers) might benefit from the PEP 440 treatment of being split out into its own PEP.
That should be much easier to standardise than the whole of PEP 426, and would be useful in its own right since pip, setuptools and other tools could adopt it as a component of their existing dependency specification syntax.

btw, this idea is in motion...   PEP 496 is the new independent environment markers PEP, although PEP 426 still currently holds the old markers section

PEP 508 now covers both extras and environment markers: https://www.python.org/dev/peps/pep-0508/
Flagging this as PEP 426, since the duplicated info still needs to be removed (also /cc @rbtcollins)

The corresponding changes have been made to PEP 426: https://github.com/python/peps/commit/8ae8b612d4ea8b3bf5d8a7b795ae8aec48bbb7a3


Can not install by pip3

When I using the command to install pyconcorde on colab, that shows the error:
command:
!pip install git+https://github.com/jvkersch/pyconcorde#egg=pyconcorde
error:
Building wheels for collected packages: pyconcorde
Building editable for pyconcorde (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building editable for pyconcorde (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [57 lines of output]
running editable_wheel
creating /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info
writing /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/dependency_links.txt
writing requirements to /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/requires.txt
writing top-level names to /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/top_level.txt
writing manifest file '/tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/SOURCES.txt'
reading manifest file '/tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'COPYING'
writing manifest file '/tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde.egg-info/SOURCES.txt'
creating '/tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde-0.1.0.dist-info'
creating /tmp/pip-wheel-9lcn34he/.tmp-zm92kdpt/pyconcorde-0.1.0.dist-info/WHEEL
running build_py
running build_ext
Traceback (most recent call last):
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 140, in run
self._create_wheel_file(bdist_wheel)
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 330, in _create_wheel_file
files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 261, in _run_build_commands
self._run_build_subcommands()
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/command/editable_wheel.py", line 288, in _run_build_subcommands
self.run_command(name)
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/dist.py", line 1208, in run_command
super().run_command(command)
File "/tmp/pip-build-env-_g4eob_p/overlay/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "", line 119, in run
File "", line 77, in download_concorde_qsopt
File "/usr/lib/python3.8/urllib/request.py", line 247, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/usr/lib/python3.8/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 308: Permanent Redirect
qsopt is missing, downloading
error: Support for editable installs via PEP 660 was recently introduced
in setuptools. If you are seeing this error, please report to:
  https://github.com/pypa/setuptools/issues

  Meanwhile you can try the legacy behavior by setting an
  environment variable and trying to install again:

  SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building editable for pyconcorde
Failed to build pyconcorde
ERROR: Could not build wheels for pyconcorde, which is required to install pyproject.toml-based projects
Can anyone help me?

I got the same issue and resolved it but don't know how exactly I got it worked (perhaps it has something to do with your C compiler). Try installing the original concorde solver (https://www.math.uwaterloo.ca/tsp/concorde/downloads/downloads.htm) and putting the installed 'concorde' directory into 'pyconcorde/build/' and run pip install -e . again.

I got the same issue and resolved it but don't know how exactly I got it worked (perhaps it has something to do with your C compiler). Try installing the original concorde solver (https://www.math.uwaterloo.ca/tsp/concorde/downloads/downloads.htm) and putting the installed 'concorde' directory into 'pyconcorde/build/' and run pip install -e . again.

Thank you for your answer!
And I found a way to fix this problem simply, that is download the files in 'setup.py' link directly, and put them  to 'pyconcorde/build/' folder manually. The 'setup.py' shows that if there is a correct file in the folder, skip the download step which cause the problem. So, we can avoid this problem!


Feature request to support DLL building from Notepad++

Moved from https://github.com/oleg-shilo/cs-script/issues/116
It would be great if the -cd argument from the commandline version of cscs.exe were included in the GUI as well (and maybe all of the other commandline arguments too, if possible)

This shouldn't be difficult but what user experience do you have in mind?
Though you can already use any arguments via the //css_args directive:
//css_args -cd
using System;
using System.Text.RegularExpressions;

class Script
{
    static void Main(string[] args)
    {
       . . .

And the outcome:

Ah, I had not come across the //css_args directive yet. This makes things much easier.
I was thinking, however, that it would be nice to have a Build Dll option in the menu dropdown. I find myself building Dlls quite often, but perhaps this is not a widespread issue.


Update extractor-options.md

I have fixed some typo error in this repo

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[ ] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[ ] For content changes, I have completed the self-review checklist.

Approving workflow runs on a pull request from a vivo 1933 fork only vivo v19 useful and out Saide link block

Done!


[Feature] Support function registry with arg types

Functions are registered using FunctionName and  DataType (converted from Java type)
To make this fully work, we have to support all literal passing from SqlNode to Thrift so we can support all LiteralType

This one relies on #9389. We can first finish that and get back to this

This one relies on #9389. We can first finish that and get back to this

SG


Failed to parse file when using subflows with maestro cloud CLI

Describe the bug
Upload requests fail to maestro cloud when using the CLI if the test contains sub-flows:
- runFlow: subflows/onboarding-android.yaml

To Reproduce
Follow https://cloud.mobile.dev/getting-started/quickstart in login into CLI and download samples

Start the simulator/emulator
Run maestro cloud sample.zip ios-advanced-flow.yaml OR maestro cloud sample.apk android-advanced-flow.yaml
The Flow fails with error:

Upload request failed (400): Syntax error: Failed to parse file: /./ios-advanced-flow.yaml
Flow file does not exist: jar:file:///tmpFiles/workspaces/workflow197377531878186231.zip!/./subflows/onboarding-ios.yaml

Expected behaviour
It works as expected with simple flows that do NOT contain subflow e.g. maestro cloud sample.zip ios-flow.yaml
Environment information (please complete the following information):
Maestro version: 1.36.0
Platform: Android && iOS
Framework: cloud
Device model and OS version: N/A (cloud)
Host: Mac M3

Duplicate of https://github.com/mobile-dev-inc/maestro/issues/1791 .. Closing. This issue was missing the 'Bug' label so I had to raise it again.

Hey @paulsweeting, don't worry about the label! :)
thanks for creating the bug!


Update swagger-ui to 2.2.10

Swagger UI 2.2.10 has a lot of improvements related to OAuth2 Password and ClientCredentials flows

I didnt know that there is a new version of the (old) Swagger UI 2.x
https://github.com/swagger-api/swagger-ui/releases/tag/v2.2.10

Thanks. Waiting for the new version

v11.11.3


Support non-patched GHC outside of haskell.nix

Describe the feature you'd like
We would like to build anything that depends on plutus (notably things that depend on plutus-apps) with non-patched GHC outside of haskell.nix.
This repository is using a patched GHC:
https://github.com/input-output-hk/plutus/blob/be021b6195a72a7ab6c2c5a898ab8a5cb0680506/nix/pkgs/haskell/default.nix#L31-L34
Which didn't have any API conflicts with non-patched GHCs until #4165 introduced GenTickish. This essentially forces the same patched GHC for every code base that has plutus as a dependency in any way, even when no Tickish machinery or even Plutus compilation is required. For example, a chain index client that only reads and prints data cannot be compiled by standard GHCs. This is not nice (see https://github.com/input-output-hk/plutus-apps/issues/180).
Not very clean, but a potential fix is just:
--- a/plutus-tx-plugin/src/PlutusTx/Compiler/Expr.hs
+++ b/plutus-tx-plugin/src/PlutusTx/Compiler/Expr.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE ConstraintKinds   #-}
 {-# LANGUAGE FlexibleContexts  #-}
 {-# LANGUAGE LambdaCase        #-}
@@ -59,6 +60,15 @@ import Data.Text qualified as T
 import Data.Text.Encoding qualified as TE
 import Data.Traversable

+-- Patched GHC from haskell.nix
+-- with experimental core interface files patch,
+-- and a fix for unboxed tuples in GHCi for HLS support.
+#if __GLASGOW_HASKELL_PATCHLEVEL2__ == 20210212
+type Tickish = GHC.GenTickish
+#else
+type Tickish = GHC.Tickish
+#endif
+
 {- Note [System FC and System FW]
 Haskell uses system FC, which includes type equalities and coercions.

@@ -852,7 +862,7 @@ compileExpr e = withContextM 2 (sdToTxt $ "Compiling expr:" GHC.<+> GHC.ppr e) $

 -- | Do your best to try to extract a source span from a tick
 -- See Note [What source locations to cover]
-getSourceSpan :: Maybe GHC.ModBreaks -> GHC.GenTickish pass -> Maybe GHC.RealSrcSpan
+getSourceSpan :: Maybe GHC.ModBreaks -> Tickish pass -> Maybe GHC.RealSrcSpan
 getSourceSpan _ GHC.SourceNote{GHC.sourceSpan=src} = Just src
 getSourceSpan _ GHC.ProfNote{GHC.profNoteCC=cc} =
   case cc of

Describe alternatives you've considered
We either have to Nixify all related codebases or maintain an ad-hoc GHC to bump or use plutus and related dependencies. Both are not desirable in several cases.
I guess something like:
nix-env -iA hix -f https://github.com/input-output-hk/haskell.nix/tarball/master
hix-shell --argstr compiler-nix-name ghc810420210212 --run 'cabal build'

Also counts. It's still Nix & patched GHC, but at least without the .nix files.

This is caused by https://github.com/input-output-hk/haskell.nix/issues/1280, which is indeed annoying.
@angerman it would be nice to fix that, so things at least build with unpatched GHCs.

It's on the agenda to get vanilla GHCs in.

Workaround merged, but it would be good to fix this in haskell.nix, in particular the workaround is fragile and will break if we update our GHC.


Looking forward to get involved and contribute to the community 🎉

First Name
Dhruv
Last Name
Mehta
Discord Username (if applicable)
Dhruv194#8204
Let us understand your motive.

I came to know about SidHacks from the HackOn2.0 hackathon community server.

I want to join the community because I want to learn and grow more. Further I would also like to share my experience with others and work towards achieving something good. I want to build connections with fellow developers around India and around the globe.

As the tagline of the organization is - "Hack to Contribute" I would like to do exactly the same. I would like to hack/to create/ to develop so that I can contribute in a useful manner to the community.

Hey @Dhruv-194 👋🏻
Thanks for requesting an invite! Welcome to SidHacks Community 🎉
Before going ahead, I would want you to complete the below To-Do list.
Your To-Do List ✔

Accept the invitation sent to you via mail.
Change the appearance of this organization to "Public" from the people list here.
Join our Discord Server here.

Accept the Rules from #📓〡rules channel.
Introduce yourself to our community in 👋〡introduction channel.

Feel free to share your excitement on socials with #SidHacksCommunity. You can also tag me @siddharth_hacks.

Close this issue once you complete all the above points.

Looking forward to interacting with you in our community! Welcome once again! 🤓

Done @siddharthdayalwal ! :)


Sufficiently large product will hang

Here's an example, with go-cartesian-product code included. Note that we're just adding in this bitproduct function that uses a variadic function to give us functionality like Python's itertools.product("01", repeat=int(sys.argv[1])):
This will spin up between 6500 and 8000 goroutines, which leads me to believe that something isn't being cleaned up when there is a sufficient degree of recursion happening.
package main

import (
	"fmt"
	"os"
	"runtime"
	"strconv"
	"sync"
)

// takes interface-slices and returns a channel, receiving cartesian products
func Iter(params ...[]interface{}) chan []interface{} {
	// create channel
	c := make(chan []interface{})
	// create waitgroup
	var wg sync.WaitGroup
	// call iterator
	wg.Add(1)
	iterate(&wg, c, []interface{}{}, params...)
	// call channel-closing go-func
	go func() { wg.Wait(); close(c) }()
	// return channel
	return c
}

// private, recursive Iteration-Function
func iterate(wg *sync.WaitGroup, channel chan []interface{}, result []interface{}, params ...[]interface{}) {
	// dec WaitGroup when finished
	defer wg.Done()
	// no more params left?
	if len(params) == 0 {
		// send result to channel
		channel <- result
		return
	}
	// shift first param
	p, params := params[0], params[1:]
	// iterate over it
	for i := 0; i < len(p); i++ {
		// inc WaitGroup
		wg.Add(1)
		// call self with remaining params
		go iterate(wg, channel, append(result, p[i]), params...)
	}
}

func bitproduct(repeat int) chan []interface{} {
	arr := make([][]interface{}, repeat)
	for i := range arr {
		arr[i] = []interface{}{"0", "1"}
	}

	return Iter(arr...)
}

func main() {
	i, err := strconv.Atoi(os.Args[1])
	if err != nil {
		panic(err)
	}

	for j := range bitproduct(i) {
		fmt.Println(runtime.NumGoroutine())
		fmt.Println(fmt.Sprintf("%v", j))
	}
}

you're right, @relwell  - since the products are made recursively, the deeper you go, the longer it takes (exponentially)... i've tested your case and got 10 seconds for repeat=20 and 65 seconds for repeat=30...
although i've tested some ideas - involving a worker-queue or a non-recursive solution - none gave better overall performance...
afar from that this is a problem, your specific problem may be solved a lot easier like that:
repeat := 20
format := "%0" + strconv.FormatInt(int64(repeat), 10) + "b"

// iterating from 0 to the point, where i's length matches "repeat"
for i := 0; bits.Len(uint(i)) <= repeat; i++ {
    res := fmt.Sprintf(format, i)
    fmt.Println(res)
}

One way to get a more deterministic thread count is to create a thread per column instead of per row (where the column is the number of elements in the output list and where the row is the combination of all lists).  In this way, the thread count would only be as large as the number of output columns no matter how long the lists of possible values may be.  Your comment above hits at this solution already, so you may have already thought of this...
Each column would be a channel, and the channel would produce the proper column combo depending on its position in the column list.
Take example ListA=[1, 2, 3, 4, 5], ListB=[a, b, c, d], ListC=[!, @, #, $, %, ^]
column1 channel => 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ....
column2 channel => a, a, b, b, c, c, d, d, a, a, b, b, c, c, ....
column3 channel => !, !, !, !, !, !, !, !, @, @, @, @, @, ....
Each thread would likely need to be passed the following:

The list of values for that column.
The product length of the list 546 (in my example above)
The lengths of the previous list (this is the column inheritance), which would determine a repeat count for each value in the list.

Also, this solution could allow the caller to request fewer combos than the total list of products.
NOTE:  I don't know if this would be more efficient, but it is more deterministic.
Sorry I haven't provided any coding to help.

Not resolved so far.....

Need implement if bulk of generation reached of Go max goroutines

I've made a PR with a different approach- it may solve this issue?

This may be fixed in latest version!


Extension issue

Issue Type: Bug
Extension Name: jupyter
Extension Version: 2021.8.1236758218
OS Version: Windows_NT x64 10.0.19042
VS Code version: 1.59.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Hi @yunho-94 , sorry to hear you're having trouble. We'd really like to help you. To do so, please fill the bug template.


Question: How to manually set user location?

I'm planning to use this package but with the help of an external high resolution gps receiver that communicates thru BLE.
From what I understand, the "user icon" will be rotated to match the heading when using the built in gps, while all the other markers adjusts their rotation when rotating the map.
Is there any way to manually set the position of the "user" if not using the built in GPS so that I can utilize the functionality for rotating the "user icon"?

I will work on that feature soon, after next feature
for now user location is integrated on our plugin
but i found this way is not fully custom and also hard to maintain
for now what you can do is to use external gps callback and treat the user position as normal marker with goToLocation you can move the camera to it

you can use your own thirdparty to get user location and then use our api in mapController such as goToLocation
and addMarker/changeMarker to set user marker