Opinions/Help for Code Execution

Hi guys! Have been wrecking my brain for this so would appreciate any insights/thoughts T__T
Current code execution flow:
Step 1
Input arguments are parsed from the sample examples given in every question, and the "correct" types are deduced from this these.
E.G:

This will be parsed (purely from analysing the string value) and initialised by language:
Python: input = ['h','e','l','l','o']
Javascript: const input = ['h','e','l','l','o'];
C++: int input[] = {'h','e','l','l','o'};
Java: String[] input = ['h','e','l','l','o'];
Step 2
User writes whatever code is needed to define their function. They then call the function assuming the variable input, get the return value, and print it to stdout.
Why I do not automate the calling and printing process for them: For stricter languages like Java and C++, I must know the exact input and return types to call the function...
Step 3
We will take the user code, consider each test case, repeat the parsing process assuming the "correct" input type from (1), and behind the scenes, insert the code required to initialise the variable input into the user's code, so that the variable input is available for them to use. Finally, we send this complete code to the code judge API (judge0).
Note that in the template code, the comments on the top will be customised according to how we are parsing the input of the Example 1 test case in the question so that the user knows what variable is available for their use.
E.G:
Testcase string: "['H','a','n','n','a','h']"
User's code:
"""
This is how the code executor will process the input from testcases:
E.G: Example 1
input = ['h','e','l','l','o']
Please reserve these variables and
use them in your functions where necessary.
"""

#TODO: change the function arguments below
def reverseAString(arr):
	return arr[::-1]

#TODO: call your function and print its output below
print(reverseAString(input))

What we send to the API:
input = ['H','a','n','n','a','h']

"""
This is how the code executor will process the input from testcases:
E.G: Example 1
input = ['h','e','l','l','o']
Please reserve these variables and
use them in your functions where necessary.
"""

#TODO: change the function arguments below
def reverseAString(arr):
	return arr[::-1]

#TODO: call your function and print its output below
print(reverseAString(input))

Step 4
The code execution API will then run this code as a script, and (amongst other outputs like status and errors), return the stdout.
Step 5
Finally, for test cases that we know the correct ans for (the ones that we inserted ourselves), we compare their answers to the expected answers to see if it is correct:

For the test cases that are custom, we simply tell them whether the code has been executed successfully, and return the console output:

While this seems like it works fine, I realised that there are some problems for determining if an answer is "correct":
A1. Regardless of the actual output type, we only have 2 strings to work with - 1 from the expected output, and 1 from stdout. This means that the types are not taken into account, and just because the strings are equal doesn't necessarily mean the answer is correct.
A2. String comparison fails once the correct answer actually allows for some flexibility. Eg for the question "Repeated DNA Sequences", the question states that "You may return the answer in any order.". While it is possible to do some post-processing on the stdout string to account for this, it is quite impossible for the parser to deduce whether an array can be in any order since there is limited information available from the question database.
More importantly, I realised that there are BIG problems once we work with languages other than Python/Javascript:
B1. Printing of arrays is tedious for Java, and super tedious for C++. In Java, you need to call .toString(), and in C++, you need to loop through it and call cout. Not sure if this is the most user friendly way to do it...
B2. Even after the user prints the array in C++, the information available from stdout is vague -- "123" will be printed the same way as {"1", "2", "3"}
Basically, I find that it is quite difficult to implement checking of "correctness", because without an actual solution code to compare the expected return types and values, there are cases that string comparison cannot do the job.
My suggestion is to claim that we can only check for correctness for Python and Javascript (even though there are cases where even this approach will fail with these languages). For other languages, the code execution feature is simply a script runner... Not sure if you guys are ok with this??
Anyways, I might be approaching this completely wrongly, so let me know if you guys have any suggestions... Thank you :"D

Seems like code execution is more complicated than we anticipated. Generally, I think your approach seems logical and well thought out, solid stuff so far 👍
The major roadblock right now is the argument passing for static-type languages. not sure if you are aware, cpp and java seem to support type inferencing in their newer versions. I haven't tried them out before, so uncertain whether it suits our scenario. Another way could be adding code execution-specific metadata for questions, like arg type or size, etc. I'm pretty sure Leetcode does that in the background.
As for verifying the correctness of the results, we could modify our method in the default boilerplate to return specific types? so instead of asking the user to cout the value, their solution should return a value with the correct type. Again, I'm sure Leetcode has question-specific test driver codes to verify the correctness, plus they have the solution too.
Considering the unanticipated complexity, I recommend that we reconsider the implementation of code execution. Given the substantial effort and time remaining, I suggest we move on to other closure activities like code polishing, testing, and documentation instead. Plus, we already have enough nice-to-have features.
If we are committed to it, I guess we'll need to involve additional members; it's definitely not a one-person job.
What do you guys think?

Thank you so much for working on the complex logics for code execution service! Consider the time remaining, we might not be able to achieve full functionality for the code execution. But I think it will be better to have back-up nice-to-have features and this code execution is very cool!
So to simplify the problem, I have a few suggestions:

For stricter languages like Java and C++, I must know the exact input and return types to call the function...

For this, I suggest we only provide detailed support for Python and Javascript, then we don't need to worry about whether we need to follow those stricter languages execution code flow... As the project only asked for a working MVP, so it is fine to only support Python and Javascript, and we can justify this design choice because we think Python is more popularly used in solving technical assessments and easier to deliver considered the time constraint 😢 .

just because the strings are equal doesn't necessarily mean the answer is correct.

This is fine for me. As we don't have a test case database, we can't really justify if a user code is working. We just need to verify if the actual output matches the expected output. What do you think?

3.it is quite impossible for the parser to deduce whether an array can be in any order

Ah I see... This is tough. I think, how about we just don't justify if the user output is correct or wrong? As in we just provide the functionality to execute the code and that's all?

My suggestion is to claim that we can only check for correctness for Python and Javascript (even though there are cases where even this approach will fail with these languages). For other languages, the code execution feature is simply a script runner... Not sure if you guys are ok with this??

Ah just saw this after going through the above questions xD. OK then I totally agree with you that let's don't check the correctness, or perhaps just check for those that can be done easily. So if you agree with the former, then we just provide code execution functionality and that's it, whether the code can compile, is correct or not, is totally up to the user (though we probably need to handle some errors). If we go with the latter, we need to carefully filter which questions can be checked, which will be more time-consuming.
Once again, thanks so much for going through all the thought process and implementation! Respect!!!

I suggest we move on to other closure activities like code polishing, testing, and documentation instead

Yes, I agree with you that we should start working on all these. But I think we can let leyi completed her code execution feature while others start working first. Since she has been spending 2 weeks working on the feature, and I think it is almost done if we simplify our requirements.

not sure if you are aware, cpp and java seem to support type inferencing in their newer versions

Oh damn I actually didn't know about this HAHA thanks!! That seems to make things easier...

Another way could be adding code execution-specific metadata for questions, like arg type or size, etc. I'm pretty sure Leetcode does that in the background.

Again, I'm sure Leetcode has question-specific test driver codes to verify the correctness, plus they have the solution too.

Yup! I think Leetcode does this for every question and language. I wanted to implement code execution without making major changes to our question database, especially because it will be difficult to update manually once there is a big stream of new questions coming in from the web scraping feature. Plus, I personally do not think the additional effort is worth it for this feature :P

Considering the unanticipated complexity, I recommend that we reconsider the implementation of code execution.

Me too, but I would suggest we keep it the way it is now. I just took another look at the  definition for the feature, and it seems to only ask for code compilation. I think it is good enough that we have compilation + limited support for test case automation :P

OK then I totally agree with you that let's don't check the correctness, or perhaps just check for those that can be done easily.

I think i'm leaning towards the latter option, just for Python and Javascript. As for questions with additional flexibility, I guess the users can just double check their answers manually?!?! HAHA :P

thanks for all the hard work though so far though 😓! I was really not sure how complex this was when u brought this up to me on thursday but wow now that u typed it out... there are endless possibilities of how this checking of correctness may go wrong :O I mainly align with Rui yang that we should simplify the requirements and work towards that direction as this nice to have looks way too huge to be implemented + tested + deployed in 2 weeks.

My suggestion is to claim that we can only check for correctness for Python and Javascript (even though there are cases where even this approach will fail with these languages).

A potentially large issue is how this correctness will be integrated together with the assignment 6, where we are able to populate our database with the serverless function. A use case of our website can be:

Scrape new question
Match with partner in Python/JS with new question
Code execution

and if any of these parts fail (especially since we claim python/js works), we may be penalized for this.

For other languages, the code execution feature is simply a script runner... Not sure if you guys are ok with this??

Personally, I am all for this as thats the requirements of the nice to have...

If we go with:

Scrape new question
Allow code execution with any language that we supported, but only as a simple script runner.

Then we don't need to care about if there is any failure, or whether the input/output matches the expectation, as it is up to the user to let the code works correctly as intended. Then we won't get any penalisation if there are any bugs.
@weidak actually makes a very good point, if we allow auto question population without human intervention to check, then there might be quite a number of unseen bugs for checking correctness. If you really want to check code correctness for Python and Javascript, we might need to carefully design our logic and able to deal with any circumstances. Not sure if this is hard or not, FYI @tlyi .

Thanks for the great work. Closing this as we have merged code execution to master!


fix: typo in APIs and Microservices

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #XXXXX

Hello there,
Thank you, for this PR. I do not believe this file is used anywhere on the platform. As such, I have just blocked this for now, until this is clarified.
@ojeytonwilliams Is this file publicly visible/planned to become?

They are not currently being used. The intros are coming from the locals. If we adjust the queries in intro and superBlockIntro components, we should be able to completely get rid of that directory IMHO.

Sorry for the late reply, but yes, we should remove them.  It's not urgent, but it will help simplify the code base, so I'll create a help wanted issue.


Getting error in gluon model after training for 20 epochs

Hi,
I am using MXNet gluon module for implementing seq2seq attention based neural language correction. The model is training for 10 epochs and after that I am getting the following error:
**"MXNetError: [19:12:27] include/mxnet/././tensor_blob.h:257: Check failed: this->shape_.Size() == shape.Size() (201 vs. 200) TBlob.get_with_shape: new and old shape do not match total elements
**
I am getting this error while printing the loss:
l_sum += l.asscalar()
Full stack trace:
Stack trace returned 10 entries:
[bt] (0) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x308362) [0x7efc4ffc0362]
[bt] (1) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x308938) [0x7efc4ffc0938]
[bt] (2) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x36ef49) [0x7efc50026f49]
[bt] (3) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x280babc) [0x7efc524c3abc]
[bt] (4) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x29c0926) [0x7efc52678926]
[bt] (5) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x293e123) [0x7efc525f6123]
[bt] (6) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x2946524) [0x7efc525fe524]
[bt] (7) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x294a071) [0x7efc52602071]
[bt] (8) /usr/local/lib/python3.5/dist-packages/mxnet/libmxnet.so(+0x2946beb) [0x7efc525febeb]
[bt] (9) /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xb8c80) [0x7efcc834cc80]
I thought that one of the reason may be the memory issue. How to resolve this error.
Model summary:
Encoder has 2 LSTM layers with hidden size 200
Attention mechanism
Decoder has 2 LSTM layers with hidden size 200
Maximum_Sequence_length = 200
Total training sentences: 12500
Any suggestions on how to resolve this error…
Thanks in advance,
Harathi

Thanks for opening this issue @Harathi123
@sandeep-krishnamurthy please add label [Question]

@Harathi123 - Can you please ask mxnet gluon at https://discuss.mxnet.io/ where there is MXNet community who can help you answer your question.


WIP - need to implement loggers,  metrics, and tests

What

Why

Test Plan

✅ | ❌ I've added unit tests for this change.
✅ | ❌ The reviewer should manually test the changes in this PR.

Demo

How

Current dependencies on/for this PR:

main

PR #126

PR #127

PR #128

PR #129   👈

This stack of pull requests is managed by Graphite.


bump all examples/ gradle wrapper version to 6.3

ref #46
1 gradle download should be enough

My current PR updates wrapper to 6.8 https://github.com/emeraldpay/polkaj/pull/61

OK, which ever get's merged first,
there should not be 3 gradle versions in one project

Hmm, okay. In the meantime you don't need to use the wrapper at all you can use gradle instead of ./gradlew

Thanks, I know
Well, with the pace of gradle changes, global gradle can do only maybe for the same major version
And IDEA bundles its own gradle version, in the end that leads to unclear situation, like what exact gradle instance is running

resolved with #61


[boost-cmake] Build error on x64-windows (download error on GH CI)

I'm having issues with installation of boost on a github provider runners (windows):
The most important line:
error: Missing boostorg-boost-boost-1.85.0.tar.gz and downloads are blocked by x-block-origin.

Full log:
Building<EMAIL_ADDRESS>-- Downloading https://github.com/boostorg/boost/archive/boost-1.85.0.tar.gz -> boostorg-boost-boost-1.85.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Disabling metrics because vcpkg.disable-metrics exists
[DEBUG] Trying to load bundleconfig from D:\a\aimee\aimee\vcpkg\vcpkg-bundle.json
[DEBUG] Failed to open: D:\a\aimee\aimee\vcpkg\vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] Feature flag 'dependencygraph' unset
warning: Download failed -- retrying after 1000ms
warning: Download failed -- retrying after 2000ms
warning: Download failed -- retrying after 4000ms
error: Missing boostorg-boost-boost-1.85.0.tar.gz and downloads are blocked by x-block-origin.
error: https://github.com/boostorg/boost/archive/boost-1.85.0.tar.gz: WinHttpSendRequest failed with exit code 10106
error: https://github.com/boostorg/boost/archive/boost-1.85.0.tar.gz: WinHttpSendRequest failed with exit code 10106
error: https://github.com/boostorg/boost/archive/boost-1.85.0.tar.gz: WinHttpSendRequest failed with exit code 10106
error: https://github.com/boostorg/boost/archive/boost-1.85.0.tar.gz: WinHttpSendRequest failed with exit code 10106
[DEBUG] D:\a\_work\1\s\src\vcpkg\base\downloads.cpp(1030):
[DEBUG] Time in subprocesses: 0us
[DEBUG] Time in parsing JSON: 8us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 125us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 7 s (7020463us)

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):

      Failed to download file with error: 1
      If you are using a proxy, please check your proxy setting. Possible causes are:

      1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
         to `https://address:port`. This is not correct, because `https://` prefix
         claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
         , etc..) is an HTTP proxy. Try setting `http://address:port` to both
         HTTP_PROXY and HTTPS_PROXY instead.

      2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings
         set by your proxy software. See https://github.com/microsoft/vcpkg-tool/pull/77
         The value set by your proxy might be wrong, or have same `https://` prefix issue.

      3. Your proxy's remote server is out of service.

      If you've tried directly download the link, and believe this is not a temporary
      download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
      to report this upstream download server failure.

Call Stack (most recent call first):
  scripts/cmake/vcpkg_download_distfile.cmake:270 (z_vcpkg_download_distfile_show_proxy_and_fail)
  scripts/cmake/vcpkg_from_github.cmake:106 (vcpkg_download_distfile)
  ports/boost-cmake/portfile.cmake:5 (vcpkg_from_github)
  scripts/ports.cmake:[192](https://github.com/miniohq/aimee/actions/runs/11056429097/job/30717951923#step:6:193) (include)

Duplicate of #41154, see the previous issue for the discussion

@theolivenbaum Maybe it's duplicate, but I don't see any solution there.
I have highlighted the error that orchestrated the failure:
error: Missing boostorg-boost-boost-1.85.0.tar.gz and downloads are blocked by x-block-origin.

I have no idea what is blocking it, but I don't control github provided runners and all other tools work well (apt, git, etc...).

There's no solution yet - I'm just flagging because we started the discussion there, the issue needs to be reopened

@theolivenbaum I see, yeah I agree!

I've found the cause and a workaround.
Workaround
In bash (or add to .profile)
export SystemDrive="$SYSTEMDRIVE"
export SystemRoot="$SYSTEMROOT"
export windir="$WINDIR"

Cause
https://github.com/microsoft/vcpkg-tool/blob/81b4999bbb29966f8a180121504dbb1b7b335403/src/vcpkg/base/system.process.cpp#L660-L670
This code will remove all envvars that are not specified in the list above. But it uses case-sensitive compare. When running from bash in MSYS2, bash will convert all envvars into upper-case.
If SystemRoot is not set, WinHttpSendRequest will fail with error 10106.

Cause
https://github.com/microsoft/vcpkg-tool/blob/81b4999bbb29966f8a180121504dbb1b7b335403/src/vcpkg/base/system.process.cpp#L660-L670

CC @autoantwort @BillyONeal For fixing https://github.com/microsoft/vcpkg/issues/41154 tool regression.

I would be happy to test it but it happened only on my CI. So vcpkg-tool must be updated in vcpkg-tool-metadata.txt. I will send you feedback at this time.

Same issue is happening with zlib:
[cmake] Installing 1/14<EMAIL_ADDRESS>[cmake] Building<EMAIL_ADDRESS>[cmake] C:\msys64\opt\vcpkg\triplets\community\x64-mingw-dynamic.cmake: info: loaded community triplet from here. Community triplets are not built in the curated registry and are thus less likely to succeed.
[cmake] -- Downloading https://github.com/madler/zlib/archive/v1.3.1.tar.gz -> madler-zlib-v1.3.1.tar.gz...
[cmake] [DEBUG] To include the environment variables in debug output, pass --debug-env
[cmake] [DEBUG] Trying to load bundleconfig from C:\msys64\opt\vcpkg\vcpkg-bundle.json
[cmake] [DEBUG] Failed to open: C:\msys64\opt\vcpkg\vcpkg-bundle.json
[cmake] [DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[cmake] [DEBUG] Metrics enabled.
[cmake] [DEBUG] Feature flag 'binarycaching' unset
[cmake] [DEBUG] Feature flag 'compilertracking' unset
[cmake] [DEBUG] Feature flag 'registries' unset
[cmake] [DEBUG] Feature flag 'versions' unset
[cmake] [DEBUG] Feature flag 'dependencygraph' unset
[cmake] warning: Download failed -- retrying after 1000ms
[cmake] warning: Download failed -- retrying after 2000ms
[cmake] warning: Download failed -- retrying after 4000ms
[cmake] error: Missing madler-zlib-v1.3.1.tar.gz and downloads are blocked by x-block-origin.
[cmake] error: https://github.com/madler/zlib/archive/v1.3.1.tar.gz: WinHttpSendRequest failed with exit code 10106
[cmake] error: https://github.com/madler/zlib/archive/v1.3.1.tar.gz: WinHttpSendRequest failed with exit code 10106
[cmake] error: https://github.com/madler/zlib/archive/v1.3.1.tar.gz: WinHttpSendRequest failed with exit code 10106
[cmake] error: https://github.com/madler/zlib/archive/v1.3.1.tar.gz: WinHttpSendRequest failed with exit code 10106
[cmake] [DEBUG] D:\a\_work\1\s\src\vcpkg\base\downloads.cpp(1030):
[cmake] [DEBUG] Time in subprocesses: 0us
[cmake] [DEBUG] Time in parsing JSON: 7us
[cmake] [DEBUG] Time in JSON reader: 0us
[cmake] [DEBUG] Time in filesystem: 1102us
[cmake] [DEBUG] Time in loading ports: 0us
[cmake] [DEBUG] Exiting after 7 s (7027229us)
[cmake]
[cmake] CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):
[cmake]
[cmake]       Failed to download file with error: 1
[cmake]       If you are using a proxy, please check your proxy setting. Possible causes are:
[cmake]
[cmake]       1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
[cmake]          to `https://address:port`. This is not correct, because `https://` prefix
[cmake]          claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
[cmake]          , etc..) is an HTTP proxy. Try setting `http://address:port` to both
[cmake]          HTTP_PROXY and HTTPS_PROXY instead.
[cmake]
[cmake]       2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings
[cmake]          set by your proxy software. See https://github.com/microsoft/vcpkg-tool/pull/77
[cmake]          The value set by your proxy might be wrong, or have same `https://` prefix issue.
[cmake]
[cmake]       3. Your proxy's remote server is out of service.
[cmake]
[cmake]       If you've tried directly download the link, and believe this is not a temporary
[cmake]       download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
[cmake]       to report this upstream download server failure.
[cmake]
[cmake]
[cmake] Call Stack (most recent call first):
[cmake]   scripts/cmake/vcpkg_download_distfile.cmake:270 (z_vcpkg_download_distfile_show_proxy_and_fail)
[cmake]   scripts/cmake/vcpkg_from_github.cmake:106 (vcpkg_download_distfile)
[cmake]   ports/zlib/portfile.cmake:2 (vcpkg_from_github)
[cmake]   scripts/ports.cmake:192 (include)
[cmake]
[cmake]
[cmake] error: building zlib:x64-mingw-dynamic failed with: BUILD_FAILED
[cmake] See https://learn.microsoft.com/vcpkg/troubleshoot/build-failures?WT.mc_id=vcpkg_inproduct_cli for more information.
[cmake] Elapsed time to handle zlib:x64-mingw-dynamic: 7.1 s

Same issue is happening with zlib.

It is a bug in the vcpkg tool, affecting many ports.
And even included in the last release now :facepalm:

If SystemRoot is not set, WinHttpSendRequest will fail with error 10106.

🤯🤯🤯🤯🤯


Add py3-cmsmonitoring to the list of python3 requirements

Fixes #10305
Status
ready
Description
I just noticed our list of python3 packages didn't have the py3-cmsmonitoring dependency, so here it goes.
Is it backward compatible (if not, which system it affects?)
yes
Related PRs
Complement to: https://github.com/cms-sw/cmsdist/pull/6714
External dependencies / deployment changes
none

Now with the correct pypi name. Good to go.


Fix Some Newlines and Spaces, and Convention

Added newlines so that code is more readable.

Why did you merge them already I had some more changes to make...

Anyways... Ok... I will do hat later...


Automation Improvements

Background
With the large scale of the projects, it can be difficult to find time to manage releases and PRs that come in, in a timely manner. This issue summarizes some ideas that would decrease maintainer toil around our every day release process.
Auto-release buildpacks
Since we don't have complicated versioning logic in the buildpacks, I think we should automatically publish the drafted implementation buildpack releases every week, on a schedule. Then, the main work needed by maintainers would be releasing the language family buildpacks, which is relatively straightforward and quick in comparison to releasing the implementation buildpacks
Auto-label all scripts/workflow change PRs
We auto-label some of our automated PRs, but not all. When this functionality was introduced in https://github.com/paketo-buildpacks/github-config/pull/360, we erred on the conservative side. Since then, I haven't observed any reason not to add the rest of our scripts/workflows to our patch file list, and let those PRs get auto-merged.
Improve auto-approval functionality
This is a useful workflow to have, but it often fails with unhelpful errors.  We should look into streamlining this workflow, and see if we can increase its success rate
Keep Golang up-to-date automatically
This is a follow on from https://github.com/orgs/paketo-buildpacks/discussions/283, which I believe would be helpful
Questions/Other ideas?
If you have an argument against any of these proposals, or you'd like to add anything, feel free to comment.

Auto-release buildpacks

YES! YES! YES!

Auto-label all scripts/workflow change PRs

I think that this makes sense I would save a lot of extra work. I would almost want this change to not trigger any bump for release as it is just tooling but sometimes a tooling update patches other functionality so I think that making it all patches would be great.

Improve auto-approval functionality

Do we have any working theories on how to improve this? Do you know if there is an easy way to enable github native auto merge on PRs?

Keep Golang up-to-date automatically

Was there a resolution to the discussion you linked? I think that setting stable would be my most preferred move but I am unclear on any drawbacks.

RE: Improve auto-approval functionality question - this is a bit of a cheeky proposal, as @robdimsdale had already investigated this in our commercial version of this workflow. From that investigation, it seems like the main issue is the homemade download-artifact action we use. Switching to the official upstream upload/download action should help a bit, plus adding some debugging logs

@ForestEckhardt RE: auto-update Golang - not sure if there was a formal resolution. @dmikusa said he was going to get this done in Java, but I'm not sure how he planned to do this. My plan was to (A) make sure we're using go-version: stable in ALL of our workflows, and then (B) add a workflow to bump the Go version in the go.mod

add a workflow to bump the Go version in the go.mod

It may be worth it for us to do a bit of investigation and see if this is actually necessary or if it is superficial. I always though the version in the go.mod was the minimum compatible version.

@ForestEckhardt
RE: Improve auto-approval functionality question - this is a bit of a cheeky proposal, as @robdimsdale had already investigated this in a similar workflow in another project. From that investigation, it seems like the main issue is the homemade download-artifact action. Switching to the official upstream upload/download action should help a bit, plus adding some debugging logs

Auto-release buildpacks
I see no reason not to do this. I think the question should be whether we want to do this on a cadence or just whenever a release is ready. I see pros and cons to both.
Auto-label all scripts/workflow change PRs

I think that this makes sense I would save a lot of extra work. I would almost want this change to not trigger any bump for release as it is just tooling but sometimes a tooling update patches other functionality so I think that making it all patches would be great.

Yeah, I've been thinking about the idea of auto-labeling semver:no-op label, which wouldn't even result in a new draft release, but then we run into edge-cases where we make a change like go-version: 'stable' in the "create release" pipeline which does potentially imply a patch release. Also we would need a new mechanism for creating draft releases on a reliable cadence because currently we are able to rely on the bumps to CI resulting in new patch releases.
If there's a cognitively simple way to thread this needle I'd be all for it. I just haven't found a mechanism that is simpler and not less reliable than we currently have.
Improve auto-approval functionality

Do we have any working theories on how to improve this? Do you know if there is an easy way to enable github native auto merge on PRs?

As @sophiewigmore says - I found that switching from our custom-written action to the github marketplace action improved reliability of downloading artifacts substantially.
I don't think GitHub has any way to auto-approve PRs - even for built-in systems like dependabot. As far as I can tell, we're stuck with doing this ourselves.
Go version

@ForestEckhardt RE: auto-update Golang - not sure if there was a formal resolution. @dmikusa said he was going to get this done in Java, but I'm not sure how he planned to do this. My plan was to (A) make sure we're using go-version: stable in ALL of our workflows, and then (B) add a workflow to bump the Go version in the go.mod

I agree, with the clarification that we would bump the toolchain version, not the go version in go.mod.

@robdimsdale https://github.com/paketo-buildpacks/github-config/pull/928 submit for the Go version item


ADF_PROXY err: adf_process_proxy_shutdown: Error in ioctl return

./openssl engine -t -c -vvvv qat
(qat) Reference implementation of QAT crypto engine
 [RSA, DSA, DH, AES-128-CBC-HMAC-SHA1, AES-128-CBC-HMAC-SHA256, AES-256-CBC-HMAC-SHA1, AES-256-CBC-HMAC-SHA256, TLS1-PRF]
     [ available ]
ADF_PROXY err: adf_process_proxy_shutdown: Error in ioctl return

qat_contig_mem]# make test
make -C /lib/modules/3.10.11-1116-CDN/build SUBDIRS=/QAT/QAT_Engine-master/qat_contig_mem modules
make[1]: Entering directory `/lib/modules/3.10.11-1116-CDN/build'
  CC [M]  /QAT/QAT_Engine-master/qat_contig_mem/qat_contig_mem.o
  Building modules, stage 2.
  MODPOST 1 modules
  LD [M]  /QAT/QAT_Engine-master/qat_contig_mem/qat_contig_mem.ko
make[1]: Leaving directory `/lib/modules/3.10.11-1116-CDN/build'
./qat_contig_mem_test
seg mapped to 0x7fdc960c6000, virtualAddress in seg 0xffff882f6cf3b000, length 64
Hello world!
# PASS Verify for QAT Contig Mem Test.

cat /proc/icp_dh895xcc_dev0/version
+--------------------------------------------------+
| Hardware and Software versions for device 0      |
+--------------------------------------------------+
 Hardware Version:             A0 SKU2
 Firmware Version:             2.6.0
 MMP Version:                  1.0.0
 Driver Version:               2.3.0
 Lowest Compatible Driver:     2.3
 QuickAssist API CY Version:   1.8
 QuickAssist API DC Version:   1.4
+--------------------------------------------------+

ldd .libs/libqat.so
	linux-vdso.so.1 =>  (0x00007ffc0c3b1000)
	libicp_qa_al_s.so => /QAT/QAT1.6/build/libicp_qa_al_s.so (0x00007f80d3665000)
	libc.so.6 => /opt/compiler/gcc-4.8.2/lib/libc.so.6 (0x00007f80d32b7000)
	libdl.so.2 => /opt/compiler/gcc-4.8.2/lib/libdl.so.2 (0x00007f80d30b3000)
	libpthread.so.0 => /opt/compiler/gcc-4.8.2/lib/libpthread.so.0 (0x00007f80d2e95000)
	libcrypto.so.1.0.0 => /opt/compiler/gcc-4.8.2/lib/libcrypto.so.1.0.0 (0x00007f80d2aae000)
	/lib64/ld-linux-x86-64.so.2 (0x000000318a600000)

configure:
./configure --with-qat_dir=/QAT/QAT1.6 --with-openssl_dir=/openssl/openssl-1.1.0g --with-openssl_install_dir=/openssl/
Why link libcrypto.so.1.0.0 rather not /openssl/lib/libcrypto.so.1.1？

Hi @crasyangel,
The ioctl error you are seeing from adf_proxy is in the QAT Driver code. It maybe related to a permissions issue. Are you running as root user or as a non-root user?
With regard to linking libcrypto.so.1.0.0 this library is linked only for use within the QAT Driver itself (it is listed because it is a dependency of libicp_qa_al_s.so rather than directly libqat.so). libicp_qa_al_s.so will just link to the system OpenSSL library (libcrypto.so.1.0.0. in this case) as it uses some OpenSSL functions as part of the preparation of data for offloading to the hardware accelerator. The specific example that comes to mind is for calculating HMAC precomputes.
This is not used by the QAT Engine (libqat.so) that you have configured and are using in the layers above, it is just for the QAT Driver to use that knows nothing about the OpenSSL 1.1.0g you have built.
Kind Regards,
Steve.

Hi @stevelinsell

Hi @stevelinsell
I use the root user, how can get more details? some log level parameter？


How to handle updates

This may exist (but wasn't clear from the documentation at least)
I imagine it would be possible to do an npm2archupdate which would find all packages installed by this script, and run npm2archinstall on them.

Currently, there's no official script to do this, but I can see it being very easy with a bash script:
for pkg in $(yaourt -Qqs nodejs- | sed '/npm/d;s/^nodejs-//'); do
    npm2archinstall $pkg
done

Pull requests are welcome.


Performance problem when starting first time

Version-Info
newsboat 2.18.0 - https://newsboat.org/
Copyright (C) 2006-2015 Andreas Krennmair
Copyright (C) 2015-2019 Alexander Batischev
Copyright (C) 2006-2017 Newsbeuter contributors
Copyright (C) 2017-2019 Newsboat contributors

Newsboat is free software licensed under the MIT License. (Type `newsboat -vv' to see the full text.)
It bundles JSON for Modern C++ library, licensed under the MIT License: https://github.com/nlohmann/json

newsboat 2.18.0
System: Linux 5.5.3-arch1-1 (x86_64)
Compiler: g++ 9.2.0
ncurses: ncurses 6.1.20180127 (compiled with 6.1)
libcurl: libcurl/7.68.0 OpenSSL/1.1.1d zlib/1.2.11 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh2/1.9.0 nghttp2/1.39.2 (compiled with 7.67.0)
SQLite: 3.31.1 (compiled with 3.30.1)
libxml2: compiled with 2.9.10

Config:
browser firefox -private
show-read-feeds no
save-path  ~/newsbeuter-extracted
cleanup-on-quit yes

I have roughly about 500 feed-urls in my urls-file.
The site.db is now round about 7 GB large.
First start takes between 5 and 6 minutes.
quitting and starting again and newsboat available in less than about 15 seconds.
I would guess that newsboat's allocation of memory for feeds is done without such a huge urls and site.db file in mind. (For second start, linux kernel might do caching, so it comes up faster.)
Would it be possible to enhance the performance here, by possibly changing the memory allocation, to gain a speedup here?

Yes, I've been thinking about this problem for a while now, but haven't found a solution yet. One part of the problem is described in #587. Another is that Newsboat has to read the whole DB on startup in order to apply killfiles. It's easy to fix in a backward-compatible manner (just add a new column, a boolean flag indicating if the article is ignored), but I want forward-compatibility too, and don't see how to achieve it.

if db_version < x then use old_bahviour else use_new_behaviour.
But, oh, looks like the db itself has no version-information?!
Then analyzing the schema: if column exists, use new behaviour, else use old behaviour?
Old code just uses old behaviour, because that column is not known. (Should be that way, at least - depends on the queries I guess).
btw.: it's only 2 GB, which takes 5...6 minutes; the 7GB was from one of my own tools, which I confused with the newsboat cache.db

There is a db_schema_version_major (and minor) in metadata-table. Couldn't that be used for decisions on startup?

if db_version < x then use old_bahviour else use_new_behaviour

That only provides backwards compatibility, but I want forward one as well.
Some users sync their cache.db between computers, and there is no guarantee that all of those computers will switch to a newer version simultaneously. It's entirely possible to end up in a situation where:

newer version starts, and upgrades the DB. It adds a new column, and updates it accordingly
older version opens an already-updated DB. It doesn't know anything about the new column, so it never updates it
newer version starts again. It sees there is a new column, and trusts it blindly—even though the column is now out of sync

I came up with a few ideas, but none of them would work:

make newer version re-scan the DB to update the column. This gets us back to square 1—Newsboat will re-read the whole DB on each start
use an SQL trigger to note when the DB is opened. But that's just not possible in SQLite: all triggers should attached to some query.

That's about as far as my thinking got so far. If you have other ideas, let's hear them out!

If there would be no killfiles, what then?
Would read newsboat the feeds just when entering a feed?
Is only the killfile-issue the problem?
If so, there could be a check, if killfiles are used at all. (I don't use them, so a check would be of no help at all.)
So, if killfiles are not used, the check would not be necessary.
If you use the killfile thing via database, why using a boolean for checked?
Is the killfile-decision done always when starting, during runtime?
Is there no entry for this in the database at all?
There could also be a seperate table for this, instead of a new column.
The killfile-check could then be done once per rss-entry.
The IDs of the entries could be used to identify the checked items.
And a boolean says, if that entry is in killfile or not.
The maximum of the IDs in the killfile-checker-table would indicate, if a message must be read and checked or not. The old newsboat would just ignore that (and read all the data). But the new newsboat would look up max ID in that table to see, what has been checked and what not.
If there are messages/entries with ID > max_ID_of_checker_Table, then the data must be read, and the db could be updated then.
I think that, but I'm not sure if  that works; just some thoughts about that. I have not looked into newaboat's code and don't know the logic of how the data is handled. So, maybe I have overlooked something. But maybe it makes sense and can be applied?

Hmm, your questions made me re-read Cache::internalize_rssfeed(), and it doesn't actually read the contents of the articles. I might be misunderstanding what's causing the slowdown.

If there are messages/entries with ID > max_ID_of_checker_Table, then the data must be read, and the db could be updated then.

That's a clever idea, but it breaks when an item is updated. An update could make an item match some killfile. The old version won't update the table, and the new version won't know it has to re-scan the DB.
Now, UPDATE is something we could attach a trigger to, but that'd amplify I/O on each update. Meh.

If an item is updated (I think, you mean the feed itself has changed), then the "checked-flag" must be reset for that item, or the killfile-check must be done imediately, when updating.
Don't see, why there must be a trigger.

If an item is updated (I think, you mean the feed itself has changed)

Yeah, the item in the feed changed, e.g. an article was published and later it was corrected to fix typos, or there was some addendum.

then the "checked-flag" must be reset for that item, or the killfile-check must be done imediately, when updating

Older version don't do this. Sure, we can teach new versions to do that, but that only gives us backward compatibility, not forward one.
A trigger would let us circumvent the problem, because the logic will be stored in the DB itself, and would be applied regardless of Newsboat version that uses the DB.

OK, then there must be the date of the last check.
entry_id, datetime_check, status
Then lookup the datetime of the entry and compare it with the datetime of the last check. if the entry has changed, it's datetime is newer than the last-check-datetime. Then read the whole entry and check if it must be killed.
Of course, if there is no killfile in use, the whole thing does not need to be started.
And if the old newsboat behaves the old way, it's not worse. The new newsboat could save time then.

Then lookup the datetime of the entry

That date is taken from the feed, and the feed is free to change it any way it likes—e.g. it can move it into the past, which will get around the check you suggest. Also, there are no guarantees that one of user's computers don't have the wrong date and time.

@klartext do you have plenty of RAM? Because that would explain why you only have that use on the first start: Linux has a page cache where it stores recently accessed and speculated to be soon accessed file contents. Once it was loaded the first time, if you have enough RAM it will stay in memory until there's enough memory pressure for it to become a problem and be discarded.
I know this doesn't fix or change the issue, but it's just a hint to understand it a bit better.

@klartext do you have plenty of RAM? Because that would explain why you only have that use on the first start: Linux has a page cache where it stores recently accessed and speculated to be soon accessed file contents. Once it was loaded the first time, if you have enough RAM it will stay in memory until there's enough memory pressure for it to become a problem and be discarded.
I know this doesn't fix or change the issue, but it's just a hint to understand it a bit better.

I know this cache-thing.
And "plenty of RAM" ... plenty compared to what? Maybe enough to read the index data from sqlite-db, but the used file was so huge (7 GB), it would eat 7/8  of my 8GB RAM, if it would be read completely.
I think only some metadata to the db is read. And even that just takes too long.
I found a workaround: splitting the database and the url files into seperate chunks: each one for a certain topic. It's easier to find what I'm looking for (alias to the newsboat-calls with it's seperated db- and url-file) , and it speeds up things (some db-files are some MB, one is about 250 MB). Nevertheless for remaininf old the 2 GB cache.db (formerly 7 GB) it's slow.
The problem with that workaround-approach: the old data is in the old db-file, and if there is no way to migrate it to another newsboat database-instance, I can't remove it from the old database. Data would be lost. I might import that data into my own database - a while ago I have written my own tool that reads out newsbeuter/newsboat-data and inserts it into my own link-database. So I may use that way. But my link-db does contain less fields, so some data might vanish, so only title, date and URL would be left over. That's ok for some of the feeds. But for some podcast feeds I would like to have them complete in newsboat, to look up old items, and have them all in one place.
Hmhhh, maybe I should write my own curses-based rss-collector tool? ;-)

"Plenty of RAM" means "most of the file fits your free RAM". Note I'm 100% against the "but RAM is cheap" argument, it kinda assumes you live in a relatively high-income household in the first world. I was just guessing why the issue seems to appear on first start and doesn't repeat itself afterwards. That obviously doesn't change the fact that there's an issue to fix.
That workaround is pretty smart, BTW.
Regarding migration, there's probably a not-too-hard way to SELECT and insert to a different DB.

If you're going to discuss migration, please either open a new issue, or move to the mailing list.

If you're going to discuss migration, please either open a new issue, or move to the mailing list.

Is that already planned (inofficially, without issue), to support that?

@klartext No, and it seems like a one-off thing, so I don't plan to support that.

Loading articles from cache... takes about ~5 sec for me with 1227 feeds and keep-articles-days 365 on a fast nvme drive.  My cache.db is 49MB.  I keep-articles-days 365 so I can identify zombie feeds (feeds that did not publish any articles for a year) so they be pruned from .newsboat/urls.  This means I cannot use delete-read-articles-on-quit yes even though I don't really care about read articles older than a day or two.  For me keep-articles-days 365 is a work-around for two minor missing features a) keep stats around to delete zombie feeds (this could be as simple as suitable log), and b) delete-read-article-days.  It may be entirely different for @klartext of course.
What about lazy loading the cache per feed?  For me maybe 2% of the feeds have new articles on a daily run and that usually the only feeds that I care about (counter example search?).  And even for the feeds with new articles, if show-read-articles no the unread articles would not be needed other than to merge the (remote) feed.  You could initiate an eager load in a separate thread if a the latency to open a feed is bad.  If engage in reading a single article the entire eager load time would be entirely hidden.
The ignore-mode display is the only safe mode, i.e. not resulting in data loss if you mess up a regex in ignore-article "*".  Iff ignore-mode download is blocking progress maybe we should removing that feature?

What about lazy loading the cache per feed?

Feedlist needs to know how many unread and total articles there are in feed. To get those counts, we have to apply killfiles first. If ignore-mode is display, it means loading at least a part of the article. So I don't think we can lazy-load.

Iff ignore-mode download is blocking progress maybe remove that feature?

ignore-mode download is not blocking this; in that mode, ignored articles are never even stored in the cache (not even their GUIDs). It's the display mode that makes this complicated (and also my insistence on forward compatibility).
It might well be that the easiest way forward here is to release Newsboat 3 :) Then we don't have to worry about forward compatibility from old 2.x versions anymore.

Feedlist needs to know how many unread and total articles there
are in feed. To get those counts, we have to apply killfiles
first. If ignore-mode is display, it means loading at least a
part of the article. So I don't think we can lazy-load.

The normal case is that ignore-articles filters haven't changed
which would allow you to use cache statistics for number of read
and unread articles.  This means that you only have to update
the counters for "new" articles.  "update" of cached values, btw,
scares me a little bit in terms of consistency between cache
and baseline data.
The unread count is important but I only care about the total
counts when identifying zombie feeds once in a while.  If you only
show the unread counts in the feedlist then you only need to
calculate the statistics for the "new" articles if
show-read-articles no.
I have a more radical idea... we could move to a "flat" view that
contains all articles across feeds.  This would eliminate the
whole navigation between feeds, and mark-feed-read would just
apply to feed for the current article.  Probably need to support a
two-level sort, so you can do (feed asc, date desc).  Maybe a
header/footer thing too.

It might well be that the easiest way forward here is to release
Newsboat 3 :) Then we don't have to worry about forward
compatibility from old 2.x versions anymore.

+1

I have a more radical idea... we could move to a "flat" view that contains all articles across feeds

How doe this fix the performance issue?
I also don't see a reason to change the current, time-tested UI. We already support "river of news" approach through query feeds, and the people who wanted three-pane layout never returned with patches. Other than that, I don't remember any requests to change UI, so I think the current one is good enough. (I'm always open to discussion, but if it's not related to this issue, please open a new one).

On 2021-07-30T14:24:40, Alexander Batischev wrote:

I have a more radical idea... we could move to a "flat" view that contains all articles across feeds

How doe this fix the performance issue?

If the view doesn't have to show stats per feed, then you don't
need to calculate them.  Or said differently optimize for unread
articles instead of all articles.
I follow a ridiculous 1228 feeds, and it will take time to hit
those, but that happens in a different thread pool so you can
start consuming articles as soon as the first feed with new
content is read.  This works really well.  What is not so great
is that it takes ~5s on the main thread to read the cache which
you have to wait for to complete.  What can we do to make
time(show first unread article) = time(download first feed with
unread article)?  Just eye balling it the latter is ~0.1s on
my system.  The other part of that is newsboat is doing ~5s of
processing to show me 130 new, non-ignored articles.  How can
we make newsboat do less work?

I also don't see a reason to change the current, time-tested UI.
We already support "river of news" approach through query feeds,
and the people who wanted three-pane layout never returned with
patches. Other than that, I don't remember any requests to
change UI, so I think the current one is good enough. (I'm
always open to discussion, but if it's not related to this
issue, please open a new one).

The UI is great even without the query feature as n allows you
easily view all unread articles across feeds.  If the UI is
getting in the way of optimizing for unread articles maybe it
is worth considering?

If the view doesn't have to show stats per feed, then you don't need to calculate them.

But we still have to load articles to list them, so what's the difference?
Lazy-loading and alternative UIs would be appropriate if we hit some fundamental limit that prevented us from going any faster (such as network delay on a single request that we absolutely must do). But I don't think we're hitting that yet. We just have to store a bit more info in the cache.db, so we don't have to re-read the entire thing on each startup.

On 2021-07-31T07:57:07, Alexander Batischev wrote:

If the view doesn't have to show stats per feed, then you don't need to calculate them.

But we still have to load articles to list them, so what's the difference?

If show-read-articles no, then you only need to process the unread
articles.  If show-articles yes you page through results
instead of eagerly load them all (i.e. retrieve sorted results)

Lazy-loading and alternative UIs would be appropriate if we hit
some fundamental limit that prevented us from going any faster
(such as network delay on a single request that we absolutely
must do). But I don't think we're hitting that yet. We just have
to store a bit more info in the cache.db, so we don't have to
re-read the entire thing on each startup.

Ok.
/Allan
Allan Wind
Yaxto - Runs Your Business
https://yaxto.com

I came up with a few ideas, but none of them would work:

from what i understand this might be done like this (i have seen it in a few solutions, and it works pretty okay-ish).
provide table last_db_access with columns of  :
schema_version | timestamp

where schema_version will start at 1 for now. each major newsboat release that changes the schema will use increased schema_version number for logging into this table. Older newsboat will obviously not log there at all.
each version of newsboat that is aware of schema_version will log there. Only one row per schema_version. If db was touched, update/insert row with your schema_version and current timestamp
This allows for a few checks:
are we the most recent newsboat accessing this db?
(max(lastmodified) from rss_feed  <= timestamp for our schema_version and there is no higher schema_version in the table than ours)
was the db modified by older newsboat client?
( max(lastmodified) from rss_feed  is higher than all entries in last_db_access, meaning db was modified by an old newsboat app that was unaware of this table )
if we are certain that newsboat with our schema_version recently used the db - keep running as-is.
if db was touched by older newsboat - do some housekeeping. (that may vary depending on the version of newsboat that last touched the db, more or less work will be required. also, depending on how many schema revisions happened inbetween).
if there was a newer newsboat release accessing the db - debatable. i would assume, run as-is and newer version will further fix the db entries, when it detects the changes.
Also, the indexes from related bug report help a LOT with startup and general operation. It's worth introducing them even now. (in my case they cut down startup from 8s to under 0.5s)


[QUESTION]

Please describe.
A clear and concise description of the problem and the question at hand.
Desktop (please complete the following information):

VS Code Version [e.g. 1.60]
RobotCode Version [e.g. 0.3.2]
OS: [e.g. Windows, Linux]
Python Version [e.g. 3.9.7]
RobotFramework Version [e.g. 4.0.0]
Additional tools like robocop, robotidy

What's you question?


App specific log events and regex specific log string match

I have a node application for downloading some files daily in that application it shows the progress in the command but i want only specific log messages to be notified when the specified regex is matched to the log name or description. Also i want to notify only for specific app process because pm2 can be processed for many apps

This is out of the scope of this project. I recommend that you fork the project and added the regex support that you need.
For per app logging, I recommend that you run each of your apps as a different linux user. Each linux user has their own pm2 process and pm2-slack module.

I think its not a good solution for creating user per process, Ok Anyway i will make my own pm2 module. Thnaks for this.


stream9 cloud image pushes failing

See https://github.com/CentOS/centos-bootc-layered/actions/runs/7166009103/job/19509135638
Run buildah push quay.io/centos-bootc/centos-bootc-cloud:stream9 docker://quay.io/centos-bootc/centos-bootc-cloud:stream9
  buildah push quay.io/centos-bootc/centos-bootc-cloud:stream9 docker://quay.io/centos-bootc/centos-bootc-cloud:stream9
  shell: /usr/bin/bash -e {0}
  env:
    dir: cloud
Getting image source signatures
unauthorized: authentication required

I don't know the procedure for making a new image, but we need to follow it.

Fixed

I'm checking with the quay folks if it is possible to grant a robot account the permissions to create repository

I'm checking with the quay folks if it is possible to grant a robot account the permissions to create repository

Received the instructions and applied them. Should not happen again.


UI changes to add a 'Register' as a new user workflow

New Nav button on login screen
new page for users/create api point
Room for improvement - client side seems to not pick up invalid input where password confirm <> password

I don't know why the invalid input for confirm password wouldn't pick up... that should be handled on the serverside by the CreateUserRequestValidator, and subsequently on the client via that CustomValidation component... can you see what exact response is sent back? it should be a 400 with a validationproblemdetail.


Multiple entries in for C and Bc2 in "Latest" Mapping table

There still appear to be 2525Bc2 frame entries in this (latest/current doctrine) mapping table:
https://github.com/Esri/joint-military-symbology-xml/blob/master/samples/legacy_support/All_ID_Mapping_Latest.csv   (use search to look for "2525Bc2")
@abouffard mentioned a couple weeks ago that these would be removed so just adding an issue to track

Thanks @csmoore , I'll take a look and fix.

@csmoore , you should no longer see Bc2 frames in the latest/current mapping table.  Please verify.

I no longer see Bc2 entries - but I'm not sure how to interpret the "2525C" column entries in this table so they may cause some confusion

Closing as the bc2 frames were removed and verified removed from the latest mapping table,


[] build failure

Operating system
Windows
Compiler
MinGW
Steps to reproduce the behavior
Copy endless-sky repo into VS Code, add CMAKE_MAKE_GENERATOR:"ninja" as CMake Cache Generator in the CMakePresets.json, and then configure project with MinGW

Failure logs
Console output:
[cmake] CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
[cmake]     Command failed: "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/downloads/tools/cmake-3.27.1-windows/cmake-3.27.1-windows-i386/bin/cmake.exe" --build . --config Debug --target install -- -v -j9
[cmake]     Working Directory: C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/x64-mingw-dynamic-dbg
[cmake]     See logs for more information:
[cmake]       C:\Users\sinemakinci\source\endless-sky - Copy\vcpkg\buildtrees\glew\install-x64-mingw-dynamic-dbg-out.log
[cmake]
[cmake] Call Stack (most recent call first):
[cmake]   C:/Users/sinemakinci/source/endless-sky - Copy/build/mingw/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
[cmake]   C:/Users/sinemakinci/source/endless-sky - Copy/build/mingw/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
[cmake]   buildtrees/versioning_/versions/glew/cfd894e57985fdb9c772bbf28a4aa261759bb6ac/portfile.cmake:29 (vcpkg_cmake_install)
[cmake]   scripts/ports.cmake:147 (include)
[cmake]
[cmake]
[cmake] error: building glew:x64-mingw-dynamic failed with: BUILD_FAILED
[cmake] Elapsed time to handle glew:x64-mingw-dynamic: 33 s
[cmake] Please ensure you're using the latest port files with git pull and vcpkg update.
[cmake] Then check for known issues at:
[cmake]     https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+glew
[cmake] You can submit a new issue at:
[cmake]     https://github.com/microsoft/vcpkg/issues/new?title=[glew]+Build+error&body=Copy+issue+body+from+C%3A%2FUsers%2Fsinemakinci%2Fsource%2Fendless-sky - Copy%2Fbuild%2Fmingw%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md
[cmake] You can also submit an issue by running (GitHub CLI must be installed):
[cmake]     gh issue create -R microsoft/vcpkg --title "[glew] Build failure" --body-file "C:/Users/sinemakinci/source/endless-sky - Copy/build/mingw/vcpkg_installed/vcpkg/issue_body.md"
[cmake] -- Running vcpkg install - failed
[cmake] CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):
[cmake]   vcpkg install failed.  See logs for more information:
[cmake]   C:\Users\sinemakinci\source\endless-sky -
[cmake]   Copy\build\mingw\vcpkg-manifest-install.log
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake:148 (include)
[cmake]   CMakeLists.txt:61 (project)
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" -DCMAKE_CXX_COMPILER=x86_64-w64-mingw32-g++ -DCMAKE_RC_COMPILER=windres -DVCPKG_TARGET_TRIPLET=x64-mingw-dynamic -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_COLOR_DIAGNOSTICS=ON -DCMAKE_MAKE_PROGRAM=ninja "-DCMAKE_INSTALL_PREFIX=C:/Users/sinemakinci/source/endless-sky - Copy/install/mingw" "-SC:/Users/sinemakinci/source/endless-sky - Copy" "-BC:/Users/sinemakinci/source/endless-sky - Copy/build/mingw" -G "Ninja Multi-Config" exited with code: 1
Issue-Body output:
Package: glew:x64-mingw-dynamic -> 2.2.0#3
Host Environment

Host: x64-windows
Compiler: GNU 13.1.0
vcpkg-tool version: 2023-08-09-9990a4c9026811a312cb2af78bf77f3d9d288416
vcpkg-scripts version: 2cf957350 2023-08-29 (7 days ago)

To Reproduce
vcpkg install --x-feature=system-libs --no-print-usage
Failure logs
-- Using cached glew-2.2.0.tgz.
-- Cleaning sources at C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/downloads/glew-2.2.0.tgz
-- Applying patch fix-LNK2019.patch
-- Applying patch base_address.patch
-- Using source at C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean
-- Found external ninja('1.11.1').
-- Configuring x64-mingw-dynamic-dbg
-- Configuring x64-mingw-dynamic-rel
-- Building x64-mingw-dynamic-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/downloads/tools/cmake-3.27.1-windows/cmake-3.27.1-windows-i386/bin/cmake.exe" --build . --config Debug --target install -- -v -j9
    Working Directory: C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/x64-mingw-dynamic-dbg
    See logs for more information:
      C:\Users\sinemakinci\source\endless-sky - Copy\vcpkg\buildtrees\glew\install-x64-mingw-dynamic-dbg-out.log

Call Stack (most recent call first):
  C:/Users/sinemakinci/source/endless-sky - Copy/build/mingw/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  C:/Users/sinemakinci/source/endless-sky - Copy/build/mingw/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  buildtrees/versioning_/versions/glew/cfd894e57985fdb9c772bbf28a4aa261759bb6ac/portfile.cmake:29 (vcpkg_cmake_install)
  scripts/ports.cmake:147 (include)

C:\Users\sinemakinci\source\endless-sky - Copy\vcpkg\buildtrees\glew\install-x64-mingw-dynamic-dbg-out.log
Change Dir: 'C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/x64-mingw-dynamic-dbg'

Run Build Command(s): C:/Users/sinemakinci/Documents/Ninja/ninja.exe -v -v -j9 install
[1/7] C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\windres.exe -O coff -DGLEW_BUILD -DGLEW_NO_GLU -Dglew_EXPORTS -I "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include"  "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc" CMakeFiles/glew.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
FAILED: CMakeFiles/glew.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\windres.exe -O coff -DGLEW_BUILD -DGLEW_NO_GLU -Dglew_EXPORTS -I "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include"  "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc" CMakeFiles/glew.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
/cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe: invalid option -- D
Usage: /cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe [options] [input-file] [output-file]
Options:
  -i FILE, --input FILE       Name input file
  -o FILE, --output FILE      Name output file
  -I FORMAT, --input-format FORMAT
                              Specify input format
  -O FORMAT, --output-format FORMAT
                              Specify output format
  -F TARGET, --target TARGET  Specify COFF target
  --preprocessor PROGRAM      Program to use to preprocess rc file
  --include-dir DIR           Include directory when preprocessing rc file
  --define SYM[=VAL]          Define SYM when preprocessing rc file
  --language VAL              Set language when reading rc file
  --help                      Print this help message
  --version                   Print version information
FORMAT is one of rc, res, or coff, and is deduced from the file name
extension if not specified.  A single file name is an input file.
No input-file is stdin, default rc.  No output-file is stdout, default rc.
/cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe: supported targets: pe-i386 pei-i386 srec symbolsrec tekhex binary ihex
[2/7] C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\windres.exe -O coff -DGLEW_NO_GLU -DGLEW_STATIC -I "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include"  "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc" CMakeFiles/glew_s.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
FAILED: CMakeFiles/glew_s.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
C:\cygnus\cygwin-b20\H-i586-cygwin32\bin\windres.exe -O coff -DGLEW_NO_GLU -DGLEW_STATIC -I "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include"  "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc" CMakeFiles/glew_s.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/glew.rc.obj
/cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe: invalid option -- D
Usage: /cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe [options] [input-file] [output-file]
Options:
  -i FILE, --input FILE       Name input file
  -o FILE, --output FILE      Name output file
  -I FORMAT, --input-format FORMAT
                              Specify input format
  -O FORMAT, --output-format FORMAT
                              Specify output format
  -F TARGET, --target TARGET  Specify COFF target
  --preprocessor PROGRAM      Program to use to preprocess rc file
  --include-dir DIR           Include directory when preprocessing rc file
  --define SYM[=VAL]          Define SYM when preprocessing rc file
  --language VAL              Set language when reading rc file
  --help                      Print this help message
  --version                   Print version information
FORMAT is one of rc, res, or coff, and is deduced from the file name
extension if not specified.  A single file name is an input file.
No input-file is stdin, default rc.  No output-file is stdout, default rc.
/cygnus/cygwin-b20/H-i586-cygwin32/bin/windres.exe: supported targets: pe-i386 pei-i386 srec symbolsrec tekhex binary ihex
[3/7] C:\msys64\mingw64\bin\x86_64-w64-mingw32-gcc.exe -DGLEW_NO_GLU -DGLEW_STATIC -I"C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include" -g -fno-builtin -fno-stack-protector -MD -MT CMakeFiles/glew_s.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c.obj -MF CMakeFiles\glew_s.dir\C_\Users\sinemakinci\source\endless-sky_-_Copy\vcpkg\buildtrees\glew\src\glew-80f5997feb.clean\src\glew.c.obj.d -o CMakeFiles/glew_s.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c.obj -c "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c"
[4/7] C:\msys64\mingw64\bin\x86_64-w64-mingw32-gcc.exe -DGLEW_BUILD -DGLEW_NO_GLU -Dglew_EXPORTS -I"C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/build/cmake/../../include" -g -fno-builtin -fno-stack-protector -MD -MT CMakeFiles/glew.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c.obj -MF CMakeFiles\glew.dir\C_\Users\sinemakinci\source\endless-sky_-_Copy\vcpkg\buildtrees\glew\src\glew-80f5997feb.clean\src\glew.c.obj.d -o CMakeFiles/glew.dir/C_/Users/sinemakinci/source/endless-sky_-_Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c.obj -c "C:/Users/sinemakinci/source/endless-sky - Copy/vcpkg/buildtrees/glew/src/glew-80f5997feb.clean/src/glew.c"
ninja: build stopped: subcommand failed.

**Additional context**
vcpkg.json
{
  "dependencies": [],
  "features": {
    "system-libs": {
      "description": "System libraries required to build ES.",
      "dependencies": [
        {
          "name": "glew",
          "platform": "!osx"
        },
        "libpng",
        "libjpeg-turbo",
        "libmad",
        {
          "name": "libuuid",
          "platform": "linux"
        },
        "openal-soft",
        {
          "name": "openal-soft",
          "features": [
            "pipewire"
          ],
          "platform": "linux"
        },
        "sdl2"
      ]
    },
    "flatpak-libs": {
      "description": "System libraries missing in the Flatpak runtime.",
      "dependencies": [
        "libmad",
        "glew"
      ]
    },
    "steam-libs": {
      "description": "System libraries not provided in the Steam Sniper Runtime.",
      "dependencies": [
        "libmad"
      ]
    },
    "macos-libs": {
      "description": "System libraries that are always needed on MacOS.",
      "dependencies": [
        "openal-soft"
      ]
    }
  }
}

Additional context
No response

Try using a path without space first. It is common blocker in the autotools-on-windows world.


improve posts  fetching

Not to fetch all posts by every request.

Posts are cached, but it's not exclusive. Fetch called several times.


Roll Flutter Engine from feb476b7b991 to 6013a707b67a (3 revisions)

https://github.com/flutter/engine/compare/feb476b7b991...6013a707b67a
2023-04-15<EMAIL_ADDRESS>[Impeller] add a generic porter duff blend foreground shader. (flutter/engine#41098)
2023-04-15<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from Y_tD90hDX_jiubGbC... to hacWN-gQSoWudziIS... (flutter/engine#41248)
2023-04-15<EMAIL_ADDRESS>Roll Fuchsia Mac SDK from RFyPoDrXzIiy-E3wn... to gI2knJ4Rh0yoK4Syd... (flutter/engine#41249)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from Y_tD90hDX_ji to hacWN-gQSoWu
fuchsia/sdk/core/mac-amd64 from RFyPoDrXzIiy to gI2knJ4Rh0yo
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jacksongardner@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


rebuild request

Crate name
libpulse-binding
Build failure link
https://docs.rs/crate/libpulse-binding/2.24.0/builds/416491
Additional details
I made a mistake in version 1.19.0 of libpulse-sys, which I fixed in version 1.19.1. The following sibling crates that all depend upon it also of course failed and need a rebuild:

libpulse-simple-sys (1.19.0)
libpulse-mainloop-glib-sys (1.19.0)
libpulse-binding (2.24.0)
libpulse-simple-binding (2.24.0)
libpulse-glib-binding (2.24.0)

thanks, and appologies for the mess.

Unfortunately you have libpulse-sys 1.19.0 in Cargo.lock: https://docs.rs/crate/libpulse-simple-sys/1.19.0/source/Cargo.lock so this won't work even if I queue a rebuild. You'll have to publish a new version with an updated lockfile.


First Contact safety tip & user privacy?

One of the notifications of First Contact safety tip is: "Some people who received this message don't often get e-mail from xxx". Is that a potential privacy issue, as if there are not many recipients, the user learns about the communication patterns of the user's colleagues? This needs to be documented in detail.

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

ID: f0b8f651-9d8e-a34b-8dde-2b6a9448f875
Version Independent ID: 20e96426-627d-9973-8303-a43a114c7b61
Content: Anti-phishing policies - Office 365
Content Source: microsoft-365/security/office-365-security/set-up-anti-phishing-policies.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@ArttuArstila, I'm told that the system does not learn communication patters of the user's colleagues. It only learns the patterns of the user themselves.
When multiple protected recipients receive the same message AND if most of those recipients have never received a message from that sender, THEN those recipients will receive the first contact safety tip.
Does this make sense?

Thanks for the reply! Let me explain the concern with an example. We hade an incoming mail where there were three internal recipients. One of them saw this tip: "Some people who received this message don't often get e-mail from xxx". Now the recipient who got the tip knows that the other two internal recipients do not regularly communicate with the sender - which means he learns about the communication habits of the others. If it is truly so, then it is an issue in EU countries for examples and should be documented.

@ArttuArstila, I added the following Note to the first contact safety tip section:

[!NOTE]
If the message has multiple recipients, whether the tip is shown and to whom is based on a majority model. If the majority of recipients have never or don't often receive messages from the sender, then the affected recipients will receive the Some people who received this message... tip. If you're concerned that this behavior exposes the communication habits of one recipient to another, you should not enable the first contact safety tip and continue to use mail flow rules instead.

Thank you, this is good! The note is not yet visible, but I assume it will be soon.

Yeah, I forgot to merge my changes yesterday. The update is visible now.


support Ephemeral models

from #137, here's the proposed solution

Ephemeral models
The general approach outlined in https://github.com/dbt-msft/dbt-synapse/commit/9180da5a6d092c6b4b22d5388aa6592d2b9d77c4 is still the same, though I was doing it on easy mode, and didn't actually try to solve for ephemeral model compilation :)
The mechanism is: reimplement the compiler, define a new one (like in dbt/adapters/sqlserver/compilation.py), and reimplement methods like _inject_ctes_into_sql  and _recursively_prepend_ctes.
Taking a step back: In order to support ephemeral models with CTEs on SQLServer and Synapse, given that T-SQL doesn't support CTEs nested inside either CTEs or subqueries, would we have to take the same approach as the one outlined above?
Namely, instead of recursively prepending ephemeral models as CTEs to the start of the query:
with  __dbt__cte__ephemeral_model as (

with my_cte as (

    select 1 as id

)

select * from my_cte
),ephemeral_model as (

select * from __dbt__cte__ephemeral_model

),

another_cte as (

    select 2 as id

)

select * from ephemeral_model
union all
select * from another_cte

Recursively prepend them as temp tables, to be executed in-transaction with the body of the query:
create table #ephemeral_model as (

with my_cte as (

    select 1 as id

)

select * from my_cte
);

with ephemeral_model as (

select * from #ephemeral_model

),

another_cte as (

    select 2 as id

)

select * from ephemeral_model
union all
select * from another_cte

I don't think we should do this :)
Newer MSFT databases should support nested CTEs (https://github.com/dbt-msft/dbt-sqlserver/issues/457). We shouldn't expose the full Compiler interface to adapters (https://github.com/dbt-labs/dbt-core/pull/9134).


Need updated version for 28.0.0

I believe you can use <IP_ADDRESS> with preference 28.0.0-alpha3. Just replace PreferenceFragmentCompatDividers with PreferenceFragmentCompat and use #111 for dividers for custom preferences like SimpleMenuPreference.

Thank you, will try it.


Build a Shopping Fresh Fiori App in SAPUI5

Tutorial URL: https://developers.sap.com/tutorials/cp-apim-shoppingfresh-create-fioriapp.html
Please specify the step you are referring to
Loading Detail page in the Fiori application.
Execution of ServiceCallout CallGeocodingAPI failed. Reason: ResponseCode 404 is treated as error
It seems that the parameter structure passed in GeoCoding service used in the tutorial has been updated.
Could you please look into this?

Dear Prabhat,
I cross-checked again and found that it works for me.
So please check again. did you change anything?
Regards
Shilpa
Regards
Shilpa

Thank you for your feedback. We haven't heard from you in a while, so we are closing the issue.
If you still have questions, feel free to reopen the issue.


Unexpected token 'export': ´export * from './lib/module/svgChart'´ when using Next.js & Expo in monorepo

Hi,
first of all, thank you for this lib!
I am using the expo & next.js starter from tamagui (source here).
And I ran into the following issue when using the SvgChart while running on "web" (Expo / React Native does work):
export * from './lib/module/svgChart';
^^^^^^

SyntaxError: Unexpected token 'export'
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1178:20)
    at Module._compile (node:internal/modules/cjs/loader:1220:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

I am importing like this (so there is no problem with Skia):
import SvgChart, { SVGRenderer } from '@wuba/react-native-echarts/svgChart'

Also, I have tried to add the Webpack extensions to next.conf.js like explained here, but that did not work,
I also tried adding @wuba/react-native-echarts/svgChart to the transpilePackages Array, but that did not work either.
What am I doing wrong?
Thank you

https://github.com/wuba/react-native-echarts/issues/95

Yes, I found that issue and tried everything from that thread.
But I am on '1.2.5' and it somehow does not work.

Can you provide a complete demo repository

Thank you, but that won't be necessary. I finally found the solution!
In next.js I had to put the whole package name into the transpilePackages array, not just the .../svgChart.
So if anyone else has the same Problem, my next.config.js looks like this to make the package work:
...
    transpilePackages: [
      ...,
      'echarts',
      'zrender',
      '@wuba/react-native-echarts'
    ],
...

Thanks for providing this information!


Implement browser menu location

closes #71

Looks like I missed a small regression in this. Fixed in c8ce8462a56252c332b6b7b378ca7a9039573895.
I've also tested to ensure the other actions are all safe to run while in the browser.


[Bug]: LNURL Withdraw from lnbits doesn't work

Describe the bug
IT says decode error
Reproduce
go to lnbits, generate qrcode, it doesn't work
Screenshots / Recording
No response
Operating system
iOS, Android
Bitkit version
v70
Log output
No response

same valid

https://github.com/synonymdev/bitkit/assets/46056211/d6db7c12-78cb-4132-ad0f-372d0f62a554

I was able to send to LN Markets using LN Address 1000 sats and then, after balance was ~3000 sats withdraw 1000 using LNURL-withdraw


[client] sometimes army animation does not stop after movement

army animation was continuing even after the movement. Had to refresh to stop it.


Can you explain Install section of Server config

In the Install "Specify how to install bundles on the server", it would be good if you can explain the differences between "Install bundles via bundle upload" and "Install bundles directly from the filesystem" - which one do you use when and how does it affect the server connection.
I have looked on the Sling IDE Tooling page and there is nothing specific there either.

Thx for reporting, @munkeyjooce, I've now added an explanation in rev 1714784 - the public docu site should be updated with this change soon.

FTR, the changes that @eglistefan mentioned are live at https://sling.apache.org/documentation/development/ide-tooling.html#server-configuration .
I consider this fixed, please reopen if you need more details.

Thanks! Much appreciated.


[Request] Expose a Force Re-Render API

When using divs which change size internally and not on the body the map needs to redraw itself.  Would be nice to not have to trick that by rendering null then rendering the map.  Perhaps a reference that would allow us to force the map to repaint?

I see that resize works better on new versions -- seems to resolve my issue at the moment.  However, I think it would be best to allow for us to pass height/width if so-desired and have it use that instead.  This way we can use higher-order components to provide a height/width however needed


Mount UFS in alluxio-site.properties instead of from CLI

Is your feature request related to a problem? Please describe.
When the Alluxio deployment process is automated, manually mounting UFS via CLI becomes tricky. The script now needs to check whether the Alluxio cluster is ready before performing the mount, and has to handle failure scenarios.
One example of automated deployment is deploying Alluxio on K8s with Helm.
Describe the solution you'd like
By defining the mount points in configuration, the deployment can be finished in one go. (Whether we accept incompletely mounted Alluxio cluster as a successful state is an open-ended question)
One example of the desired configuration can be:
# Mount imagenet to /imagenet at start up, and name it "imagenet"
alluxio.master.mount.table.imagenet.alluxio=/imagenet
alluxio.master.mount.table.imagenet.readonly=false
alluxio.master.mount.table.imagenet.ufs=oss://imagenet-hk/

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Urgency
Explain why the feature is important
Additional context
This originated from @cheyang

@cheyang Pls correct me if my description is wrong. Thanks!

Nothing has happened in more than a year. Has this been noted by anyone working in the project yet?

@calvinjia Do you think this is a reasonable feature request? Thanks :)

Nothing has happened in more than a year. Has this been noted by anyone working in the project yet?

there is complication w.r.t. using journal as source of truth or use mount table (like fstab) as source of truth to manage mount points. I don't see a clear way there

Will close it for now, feel free to reopen it and contact us if this is a strong request.

Closing due to inactivity


Rename pll_vel to vel_estimate

Fixes #223

IIRC you showed us on discord that this runs and prints out valid values, etc.
Thanks.

Btw next time don't forget to make an entry in the changelog. I'll do it this time.


[Feature] Support references / bibliography with BibTex

Should be realized as a preprocessor. See #53.

The feature is available via plugin yarner-bib.


internal connection error

internal connection error
Environment (please complete the following information):
Windows 11
tried on different os eg. linux..
chrome latest
dstike
a lot
and i reflashed it a lot of ways

I have the same error. ⚠
I use a Malduino W. I already tried to reload the firmware on it. Don't get any errors during this process.
But as soon as I enter #status in the terminal, I get as error message: internal connection error
The UI and the settings works fine, but creating a file doesent.
WifiDuck Version: 1.0.4 (4)

Hi, i was able to fix it by switching the wifi duck into esp mode, flashing, then back to normal mode. Everything works as new!!

Wait how did you got 1.0.4 if the latest is 1.0.0

Never mind... I just reinstalled everything and made sure the connectors are plugged in.
I don't know what the issue was but now everything works as expected. 🤔

Nice that everything works :) i wish you a good day or night!!


test in optimized mode in linux smoke PR testing

the regular linux PR testing already did run in optimized mode, but not the linux smoke test

@swift-ci smoke test

Testing Time: 241.13s
  Unsupported      :  1811
  Passed           : 12955
  Expectedly Failed:    26
-- check-swift-validation-linux-x86_64 finished --

This will add 4mins to the build time.

@shahmishal On the other hand, we get a lot more test coverage


[feature] Add rover support for multiple subscriptions

In order to support multi subscriptions deployment mode, add rover support for additional fields including:

Subscription_ID
Tenant_ID

Write the specs to support multiple remote backend - one for the Level 0 TF state and the other one for the deployment (where is the level0 [subscription, storage account...], where is the current state for the deployment)
validate the specs - needs at least 2 reviewers
implement the code in the rover
unit and integration test
automation (Azure DevOps and GitHub Actions)

Me and my colleagues would love to use this functionality. If there is any way in which we could contribute to this, let me know. We would be happy to test-drive early versions for instance. Thanks.


Source maps not working when using Bootstrap's less files

Hi. Thanks for the project!
When loading bootstrap less, and source maps are enabled through the query string, an unhandled error occurs.
Caused by the less.js dependency:
https://github.com/less/less.js/issues/2761
Using:
@import "~bootstrap/bootstrap"
When I remove all &:extend(.clearfix all); from Bootstrap's source code. It works.
Suggestions?

are you supposed to @import "~bootstrap/less/bootstrap" ?


Job gets triggered only on opening the App on Custom ROMs

I have a task to perform which requires internet and has to be performed everyday indefinitely, below is the code I had written to perform the same
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
        Job myJob = dispatcher.newJobBuilder()
                .setService(FirebaseJobDispatcherService.class) // the JobService that will be called
                .setTag(Constants.ALERT_TAG)        // uniquely identifies the job
                .setRecurring(true)
                .setLifetime(Lifetime.FOREVER)
                .setReplaceCurrent(true)
                .setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
                .setTrigger(Trigger.executionWindow(0, (int) TimeUnit.DAYS.toSeconds(1)))
                .setConstraints(Constraint.ON_ANY_NETWORK)
                .build();

        dispatcher.mustSchedule(myJob);

Now the issue is, it works properly on normal devices like Moto, Samsung etc but on Custom ROMs like OnePlus, Xiaomi the job triggers only when the app is opened. Has anyone faced this issue or know how to make it work properly on Custom ROMs as well?

I think background services are not allowed on those devices.
You can contact the manufactures.
I don't think that FJD can work around it.

On devices with MIUI you can ask user to add your app in the autostart list of the phone using this:
private void addAppToAutoStartList(){         AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);         alertDialogBuilder.setTitle("Warning!");         alertDialogBuilder.setMessage("Please add this app to the Auto Start list of your device for better performance.");         alertDialogBuilder.setPositiveButton("Add", new DialogInterface.OnClickListener() {             @Override             public void onClick(DialogInterface dialogInterface, int i) {                 dialogInterface.dismiss();                 try {                     AppPreferences.getInstance(HomeActivity.this).setMiSpecialSetting(true);                     Intent intent = new Intent();                     intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));                     startActivity(intent);                 }catch (Exception e){                     Toast.makeText(HomeActivity.this, "Unable to add!", Toast.LENGTH_SHORT).show();                 }             }         });         alertDialogBuilder.setNegativeButton("Ignore", new DialogInterface.OnClickListener() {             @Override             public void onClick(DialogInterface dialog, int arg1) {                 dialog.dismiss();             }         });         AlertDialog alertDialog = alertDialogBuilder.create();         alertDialog.show();     }
And call this method by checking for manufacturer like
 if(android.os.Build.MANUFACTURER.equalsIgnoreCase("xiaomi")) {            addAppToAutoStartList();         }
Conclusion: If user adds your app to autostart list then you will be able to run your job even after one key clean but there is a limitation, your job will run but not according to your time and flex, it will get called anytime after 1 day and next call might come after 2 days so there is no guarantee of periodic call. But this is the only way I can see as of now for MIUI like custom OS. And I have tested this in many Xiaomi devices having android 5 to 7 and every where the results are same.

Thanks for your solution, will try it out


www.myfreecams.com

Checklist

[x] I'm reporting a new site support request
[x] I've verified that I'm running youtube-dl version 2019.04.30
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that none of provided URLs violate any copyrights
[x] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Single video: https://www.myfreecams.com/#Miss_Marilin
Single video: https://www.myfreecams.com/#SashaSwan
Site: https://www.myfreecams.com/

Description
This site is much like chaturbate

I was looking for any app/plugin to handle myfreecams but I cannot get any to work properly. I wonder if this is even possible at all (read below to see why the doubt).
My best run was streamlink + myfreecams plugin that I found but after 5 seconds of watching the stream via streamlink I was prompted with some message instead of the streamer video saying that "unusual activity has been detected from your IP address" and now I cannot watch any stream cause it says I have to contact support.
Anyway, signed, both hands!

I was looking for any app/plugin to handle myfreecams but I cannot get any to work properly. I wonder if this is even possible at all (read below to see why the doubt).
My best run was streamlink + myfreecams plugin that I found but after 5 seconds of watching the stream via streamlink I was prompted with some message instead of the streamer video saying that "unusual activity has been detected from your IP address" and now I cannot watch any stream cause it says I have to contact support.
Anyway, signed, both hands!

Have you found a program that supports myfreecams now?


Resource is getting deployed even though the if condition makes it false thereby  giving error resource defined multiple times

Bicep version
v0.8.9
Describe the bug
Resource is getting deployed even though the if condition makes it false.
Trying to do policy assignments with parameters & one without parameters, have the name & ids in an array but inspite of having bool false value the resource is getting deployed which is throwing an error .
{"error":{"code":"InvalidTemplate","message":"Deployment template validation failed: 'The resource 'Microsoft.Authorization/policyAssignments/Azure Security Benchmark' at line '1' and column '785' is defined multiple times in a template. Please see https://aka.ms/arm-template/#resources for usage details.'.","additionalInfo":[{"type":"TemplateViolation","info":{"lineNumber":1,"linePosition":785,"path":"properties.template.resources[0]"}}]}}
To Reproduce
Steps to reproduce the behavior:
param location string = resourceGroup().location
param initiativeDefinition array = [
  {
    isParameterized : false
    name : 'Azure Security Benchmark'
    id : '/providers/Microsoft.Authorization/policySetDefinitions/1f3afdf9-d0c9-4c3d-847f-89da613e70a8'
  }
  {
    name : 'Enable Azure Monitor'
    id : '/providers/Microsoft.Authorization/policySetDefinitions/55f3eceb-5573-4f18-9695-226972c6d74a'
    para : {
      logAnalytics_1 : {
        value : 'test-123'
    }}
    isParameterized : true

  }
]
resource initiativeDefinitionPolicyAssignmentWithPara 'Microsoft.Authorization/policyAssignments@2019-09-01' = [for policy in initiativeDefinition: if(policy.isParameterized) {
  name: policy.name
  identity: {
    type: 'SystemAssigned'
  }
  location: location
  properties: {
    scope: resourceGroup().id
    enforcementMode: 'Default'
    policyDefinitionId: policy.id
    parameters: policy.para
    }

}]

resource initiativeDefinitionPolicyAssignmentNotPara 'Microsoft.Authorization/policyAssignments@2019-09-01' = [for policy in initiativeDefinition: if (!policy.isParameterized) {
  name: policy.name
  identity: {
    type: 'SystemAssigned'
  }
  location: location
  properties: {
    scope: resourceGroup().id
    enforcementMode: 'Default'
    policyDefinitionId: policy.id

  }
}]

Additional context
Not sure if this is a bug or my code issue i am just staring out with Bicep, any help would be appreciated. Thank you :)

I believe the template validation engine will run prior to any conditions being evaluated, so this behavior is expected. For example, I get the same error when trying to deploy a template with boolean constant conditions:

For the specific scenario you describe, it looks like the difference between initiativeDefinitionPolicyAssignmentWithPara and initiativeDefinitionPolicyAssignmentNotPara is whether the parameters property is present. You could also achieve this by conditionally adding the property to a single resource type:
resource initiativeDefinitionPolicyAssignment 'Microsoft.Authorization/policyAssignments@2019-09-01' = [for policy in initiativeDefinition: {
  name: policy.name
  identity: {
    type: 'SystemAssigned'
  }
  location: location
  properties: union(
    {
      scope: resourceGroup().id
      enforcementMode: 'Default'
      policyDefinitionId: policy.id
    },
    policy.isParameterized ? policy.para : {}
  )
}]

@jeskew Oh okay makes sense, Thank you so much that helps :)

@jeskew can we close this or we have something to do here?


nvim-lsp + .editorconfig

Would you mind explaining how to tell Omnisharp to respect the .editorconfig using nvim-lsp client?
I currently register the server as follows in my init.vim:
:lua << EOF
local pid = vim.fn.getpid()
local omnisharp_bin = [path_here]
require'lspconfig'.omnisharp.setup{
on_attach=require'completion'.on_attach;
cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) };
}
EOF
Is there a way to globally enable it for all clients? Thanks!

Create a ~/.omnisharp/omnisharp.json file containing the following:
{
   "FormattingOptions": {
      "EnableEditorConfigSupport": true
   }
}

See https://github.com/OmniSharp/omnisharp-roslyn/wiki/Configuration-Options#formatting-options

Awesome, thank you so much!