Vpc service db queries

Summary
The PR contains the following changes:

Add a data package for structures used to represent DB data model.
Add a db/query.go file for all DB queries.

Functions in this file should run a DB query and return a data model from data package

Move error-related files to vpcerrors package

This is needed because db package now depends on errors so it can't be in service package which depends on db package.

Migrate all DB queries in assign_addresses_v3 to query.go

The goal is to achieve:

Establish “DB <-> Data Model <-> VPC Service” abstraction layers.

Currently, there is no clear data model. The data and code are tightly coupled, making the logic a bit hard to understand.
Ideally, the service code should only deal with data model and should know nothing about the actual DB schema.

Easy to unit-test DB queries

With each query in one function with a meaningful name, it’s easier to unit-test them. Though this PR doesn’t add any.

Put all DB queries in one place so that it’s easier to add metrics such as execution time for them.

Will add metrics for some important queries in a later change.

NOTE:
This PR simply moves (i.e. copy-paste) queries to query.go. There are more refactoring opportunities to make the data model clearer. I’ll do it in future changes.

Previously the tx object was just a local var, so it wasn't too crazy to lose track of, but it did result in larger functions.
With the refactor, we just need to be super careful to pass tx correctly so that multiple query functions will be rolled back correctly and stay consistent.

Given that

Most functions involve only one locally created transaction.
The DB layer is one-level deep, meaning they just take one tx, run a query in it and return without passing the transaction further to other functions.

it's unlikely to lose track of a transaction. There is an exception that involves two transactions, fast and slow. Those two are already passed around like crazy. I have a plan to refactor and make that clearer later.


Fix console error caused by embed-gist-via-iframe

Fixes #2530

Test

https://gist.github.com/yakov116

I'm just about the append that note😅 I'm thinking about GHE because I saw location.pathname.split('/', 2)[1] === 'gist' in isGist().

Yeah but you can detect that too. Dom-based tests are to be avoided.

Something like
/^\/(gist\/)?[^/]+\/[0-9a-f]{40}$/

@kidonng can you finish this PR?

Sorry I had been busy last week 😅 working now

Uhm why not just in page-detect.ts with tests?

Uhm why not just in page-detect.ts with tests?

I thought it was specific to the feature 🤔 and since it is within the range of isGist(), once it goes into page-detect.ts the tests will fail.

I thought it was specific to this feature

Any feature can appear on a single gist page. https://github.com/sindresorhus/refined-github/pull/2539/commits/9a5f12764720d6584a91e91afcc19c7d6ee5f41f was setup with a single TODO to include tests for those URLs.
The tests "fail" because pages that are isSingleGist are also isGist; to fix it, all tests URLs you place in isSingleGist (1 URL) should also be part of isGist.

The tests "fail" because pages that are isSingleGist are also isGist; to fix it, all tests URLs you place in isSingleGist (1 URL) should also be part of isGist.

I misunderstood the test result of a previous commit https://github.com/sindresorhus/refined-github/pull/2539/commits/a96257fb18b3de52103938b9f9964bf162a036f4 😅
Sorry for the long take on this PR 😌.


SB-930: OrientDB cascade update

I'll take a look on it over the weekend if it's not too late :)

@fuss86 @carlspring regarding entity relation cascases. I will check it within SB-946

Thanks for these fixes! :)

@fuss86 there will be upcoming PR with some changes in our enity model, so feel free to add your thougths there.  it's SB-946


Reuse Connection from C2SServer

What is the possibility of reusing the connection from actual ejabberd process ? Is it possible how to do that ?
When i am running on the example server on another port i am unable to access the admin interface that ejabberd providing at :5280/admin

@niksmac you should look at XMPP multi user chat room and XMPP pubsub


update the documentation in README.md

The documentation can be written in the Wiki. Check where the other prefabs are described.


Show tooltip against node clicked

I wanted to show popup or tooltip on nodeclick, and for this i used onNodeClick event. But for popup to show exactly near to clicked node i need to get exact coordinates (top, left, X,Y) of clicked node so that i can achieve my goal.
How to get these parameters in onNodeClick function?

chart = new d3.OrgChart()
.container('.chart-container')
.data(dataFlattened)
.nodeWidth((d) => 250)
.initialZoom(0.7)
.nodeHeight((d) => 175)
.onNodeClick( (d) => showPopup (d )
.nodeContent(function (d, i, arr, state) { })
.render();
function showPopup(node)
{
console.log(node);
}
here in node can i get its coordinates?? as like its other properties (i.e nodeID, imgURl e.t.c)?

I don't understand your question but suppose you have a function that binds popup to node function show popup(node)
function attachPopup(node){
  d3.select(node).on('mouseenter',d=>console.log(node)
}

// You'd want to use this function in the following way

chart = new d3.OrgChart()
...  // Some other settings
.container('.chart-container')
...
.onNodeUpdate(function(){
   attachPopup(this)
})
...
.render();


make tests deterministic

set a seed

or at least mark them as flaky (to rerun them - as in pyest. no clue if there is a js equivalent)


[Event Request] Codeunit 90 - Purch.-Post - OnBeforeCheckDocTotalAmounts

Dear ALAppExtensions team,
Through this issue we would like to request event publisher OnBeforeCheckDocTotalAmounts to be added to Codeunit 90 Purch.-Post with the following signature:
    [IntegrationEvent(false, false)]
    local procedure OnBeforeCheckDocTotalAmounts(PurchHeader: Record "Purchase Header"; PreviewMode: Boolean; var IsHandled: Boolean)
    begin
    end;

with VAR parameter IsHandled.
which would be called as follows from CheckAndUpdate:
            CheckICPartnerBlocked(PurchHeader);
            SendICDocument(PurchHeader, ModifyHeader);
            UpdateHandledICInboxTransaction(PurchHeader);

            if Invoice then
                if "Document Type" in ["Document Type"::Invoice, "Document Type"::"Credit Memo"] then begin
                    CalcFields(Amount, "Amount Including VAT");
                    IsHandled := false; // NEW EVENT
                    OnBeforeCheckDocTotalAmounts(PurchHeader, PreviewMode, IsHandled); // NEW EVENT
                    if not IsHandled then // NEW EVENT
                        if PurchSetup."Check Doc. Total Amounts" and (not PreviewMode) then begin
                            if "Amount Including VAT" <> "Doc. Amount Incl. VAT" then
                                Error(Text11300, "Doc. Amount Incl. VAT", "Amount Including VAT");
                            if ("Amount Including VAT" - Amount) <> "Doc. Amount VAT" then
                                Error(
                                Text11301, FieldCaption("Doc. Amount VAT"), "Doc. Amount VAT", "Amount Including VAT" - Amount);
                        end;
                end;

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


False Positive on mariadb-java-client

False positive on library mariadb-java-client-*.jar - reported as cpe:2.3:a:mariadb:mariadb:2.6.2:*:*:*:*:*:*:*
    runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'

Reporting CVE-2017-15365 and CVE-2017-15945 both of which are CVEs against the MariaDB server and do not affect the client which has its own versioning and separate to the CPE above representing the server.
Current with 6.0.2 of OWASP Dependency Check via Gradle plugin.

Similar to old FP reports in #999 and #1364 - may be a CPE renaming.

Thank you @jeremylong !


Throw Exception if IsSkillClaim and ClaimsValidator is null

@gabog i've created an issue to track adding some test for this: https://github.com/microsoft/botbuilder-dotnet/issues/4578


RemoteFileMonitor project issue suspect

Hi ,
I have tested the c# project 'RemoteFileMonitor' that apparently work but there is one think that is not normal for my opinion.
When one file will be open several times the log show only the first time.
For example in the attached log the file 'vnvcs3.wav' will play many times, but I see this only one time.
I don't know why, and for my opinion this is not correct.
There is a way to solve the problem ?
Thank you !
log battlezone.txt

i'm not a EasyHook developer, so i'm not sure, maybe the wav file will stay inside the cache's game?

I have found a better solution: I have hooked direcly the function that call the wav files.


Add support sql query http api

This PR adds support calcite sql query http api, the updates are:

Rename PqlQueryResource to PinotQueryResource
Adds http post api /queryByFormat to support both pql and sql query based on parameter queryFormat.
Deprecated post api /pql.
Updates query console query api.

Codecov Report

Merging #4519 into master will increase coverage by 0.08%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master    #4519      +/-   ##
============================================
+ Coverage      64.6%   64.69%   +0.08%
  Complexity       20       20
============================================
  Files          1073     1073
  Lines         55707    55726      +19
  Branches       8113     8115       +2
============================================
+ Hits          35990    36052      +62
+ Misses        17080    17034      -46
- Partials       2637     2640       +3

Impacted Files
Coverage Δ
Complexity Δ

...t/controller/api/resources/PinotQueryResource.java
0% <0%> (ø)
0 <0> (?)

...broker/broker/helix/LiveInstanceChangeHandler.java
60% <0%> (-13.34%)
0% <0%> (ø)

...ore/query/scheduler/resources/ResourceManager.java
85.71% <0%> (-10.72%)
0% <0%> (ø)

...pache/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
0% <0%> (ø)

.../pinot/core/query/scheduler/PriorityScheduler.java
78.08% <0%> (-5.48%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
69.64% <0%> (-3.58%)
0% <0%> (ø)

...e/operator/dociditerators/MVScanDocIdIterator.java
60.31% <0%> (-3.18%)
0% <0%> (ø)

...org/apache/pinot/client/DynamicBrokerSelector.java
69.69% <0%> (-3.04%)
0% <0%> (ø)

.../org/apache/pinot/transport/netty/NettyServer.java
80.8% <0%> (-3.04%)
0% <0%> (ø)

.../main/java/org/apache/pinot/client/Connection.java
47.61% <0%> (-2.39%)
0% <0%> (ø)

... and 21 more

Continue to review full report at Codecov.

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

@xueyumusic is this still valid?

I think this is already implemented.


Sync eng/common directory with azure-sdk-tools repository

Sync eng/common directory with azure-sdk-tools repository

@danieljurek can you review and commit

@danieljurek what changes is this missing? Were there breaking changes we needed to account for in this repo?

@danieljurek Can you close on the changes needed for this PR.


Add entry into Community Contacts page

Add information about the "Humanities Commons - MEI Group," a new channel to attract more scholars to MEI which was recently created by Anna Kijas. This is another channel of communication (in addition to the mailing-list and slack).

Thanks, @bwbohl !

Sorry it took so long…

On 21. Apr 2020, at 22:35, martha-thomae<EMAIL_ADDRESS>wrote:
Thanks, @bwbohl !
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/music-encoding/music-encoding.github.io/pull/120#issuecomment-617400045", "url": "https://github.com/music-encoding/music-encoding.github.io/pull/120#issuecomment-617400045", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]


Fix corrupted Parametric Stereo (PS) flag in downloaded .m3u8 videos

What this PR does

Fix corrupted Parametric Stereo (PS) flag in downloaded .m3u8 videos (from #8)
Bypass DDG protection for animepahe

Explanation
Fix corrupted Parametric Stereo (PS) flag in downloaded .m3u8 videos
Corrupted PS flag was caused by yt-dlp copping audio stream directly from aac (HE-AACv2) stream
without converting it to stereo channels first which resulted in mono channel aac (LC).
As pointed in #8: FFprobe (and FFmpeg) recognized aac (HE-AACv2) pattern in the downloaded videos
but because the PS flag wasn't being carried over from the original .m3u8,
it noticed something was wrong hence, the error.
This is a big loss of data, since most players can read stereo data from aac (HE-AACv2),
but not from a loosely copied over aac (LC), which only mono data can be retrieved.
Bypass DDG protection for animepahe
Sorry for the redundant DDG bypass solution.
I'm aware that there's already a fix in animepahe/constants.py
but, just today it doesn't work for me (could be from too many requests when testing) and I have to use the solution
from the OG animedl (see animedl#299) to make this PR even possible 🤣.
The Fixes
Fix corrupted Parametric Stereo (PS) flag in downloaded .m3u8 videos
The fix is to tell yt-dlp to use FFmpeg with a specific arguments to correctly convert the aac (HE-AACv2)
to aac (LC) stereo.

Awesome thanks for sharing let me try out real quick.
Ngl doubt i could have been able to figure this one out  :sweat_smile:

Glad it helped 👍, let me know how it went for you!

sure!


Enhance progress bar animation

I take back everything I said about SVG animations being less powerful than CSS.
The animation of the buffering bar is currently simplified when compared to the spec, because I thought I wouldn’t be easily possible to implement the original animation with pure SVG. I was wrong.
It should be doable with something like this: <animate dur="2s" values="#4e86b1; #000000; #4e86b1" keyTimes="0; 0.5; 1" attributeName="fill" repeatCount="indefinite"/>

Fyi: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/5o0yiO440LM

I believe I tried making this happen with CSS animations but to no avail. I’ll give it another try soon.

Progress bar will be rewritten as part of #4489.


component lazyload

Hello,
Could you help me to manage lazy load of vue-tel-input as component? Its assets are pretty huge and I tried to load it lazily but with no success. I tried the following approach:
components: {     VueTelInput: () => import('vue-tel-input') }
But in this case I got warning and input is not rendered:

[Vue warn]: Failed to mount component: template or render function not defined.

found in
--->
 at src/views/Visit.vue
 at src/views/Home.vue
 at src/App.vue

How can I load VueTelInput as component lazily?
Thanks,
Dmitry

@alqa-dash This works but I'm not sure if the lazy-load works, you can create a wrapper else where too.
components: {
  VueTelInput: async () => {
     const { VueTelInput } = await import('vue-tel-input');
     return VueTelInput;
  }
}

@iamstevendao Thanks! Yes it works but is does not help with lazy-load.


VS Code Azure Functions extension Python wizard fails with Pre-deploy task "func:pack" failed with exit code "1"

This is during the standard function deployment flow with Azure Functions extension 0.17.1 on Windows.
As well as fixing the error, this type of message needs to be more understandable.

Looks like the "func: pack" task failed due to https://github.com/microsoft/vscode-azurefunctions/issues/1334
What are you suggesting we do differently here?

@EricJizbaMSFT  my suggestion is to surface an actionable error to the user. The above error doesn't tell me what happened or what I should do about it in terms that I can understand. It's more of an operational error for a component that means something to an internal developer.

@gbowerman this is modeled after the standard "Debug Anyway" dialog that comes from VS Code:

I might be able to add add something like the "Show errors" button which takes you to the task output.


linear and binary search

please check and merge it!!

@PratishShrivastava  check it!

@Danuragtiwari Thank you for contributing

@PratishShrivastava you should have to label hacktoberfest-accepted in it

thankx


[Community]: Added Metadata filter support for DocumentDB Vector Store

Description: As pointed out in this issue #22770, DocumentDB similarity_search does not support filtering through metadata which this PR adds by passing in the parameter filter. Also this PR fixes a minor Documentation error.
Issue: #22770

@baskaryan


confucious say: man who rebases broken test of another simply shifting blame

Codecov Report

Merging #1 into ssh-auth-methods will increase coverage by 0.22%.
The diff coverage is n/a.

@@                 Coverage Diff                  @@
##           ssh-auth-methods       #1      +/-   ##
====================================================
+ Coverage             60.17%   60.39%   +0.22%
====================================================
  Files                    28       28
  Lines                  1356     1356
====================================================
+ Hits                    816      819       +3
+ Misses                  540      537       -3

Impacted Files
Coverage Δ

spec/input/ssh_spec.rb
100% <ø> (ø)
:arrow_up:

lib/oxidized/input/ssh.rb
50.53% <0%> (+3.22%)
:arrow_up:

Continue to review full report at Codecov.

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


scrollBy method definition is missing on Swiper

Which OS ?
iOS
Version
Which versions are you using:

react-native-swiper v1.5.14
react-native v0.57.8

Expected behaviour
Using scrollBy on a Swiper typed instance passes TypeScript compilation
Actual behaviour
It doesn't (says scrollBy does not exist on type Swiper)
How to reproduce it
import Swiper from 'react-native-swiper'

const swiper: Swiper = new Swiper({})
if (swiper) {
  swiper.scrollBy(1, false)
}

Steps to reproduce

Run the above code through the TypeScript compiler

https://github.com/leecade/react-native-swiper/issues/713


Fix problem where on service start the filename is S20metricproxy.pid an...

...d subsequent starts look for metricproxy.pid
When a machine starts and service init starts the service it uses the name S20metricproxy.pid. Subsequent runs of metricproxy through 'service metricproxy status' will not find the pid file b/c it is looking for metricproxy.pid. This causes the second to fail to start because of port bind errors.

Thanks.  I think the behavior on BSD systems is different for readlink's -f flag.  I added a comment about that in the script.


feat(cli): setup Android signing

Tweaks the default Android project to include a simple setup for Android signing.
Example Github Action usage:
- name: setup Android signing
        working-directory: src-tauri/gen/android
        run: |
          echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties
          echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties
          base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
          echo "storeFile=$RUNNER_TEMP/keystore.jks" >> keystore.properties

@FabianLars what do you think about this standard approach vs a documentation based one? I'd like to get this resolved asap..
Personally I like giving an easier path to this for users for DX, but I also agree this is usually handled by docs instead.

I was going to PR the guide today, maybe I will do it tomorrow

I really like the idea (though we should also document the manual approach) but maybe it makes more sense to match the other platforms where we rely on env vars (or maybe both)?

I opened a PR for signing guide https://github.com/tauri-apps/tauri-docs/pull/2337 anyways

I really like the idea (though we should also document the manual approach) but maybe it makes more sense to match the other platforms where we rely on env vars (or maybe both)?

in this case i think it's dangerous since we would end up writing secrets in plain text..

I opened a PR for signing guide tauri-apps/tauri-docs#2337 anyways as it needs to be documented nonetheless

if we merge this PR we also need to update that guide btw

another reason to merge this is that it helps people that do not commit the gen folder

another reason to merge this is that it helps people that do not commit the gen folder

didn't we change that behavior? at least it should be fine to not ignore gen folder by default, there is only a couple of files that should be ignored and we can add them in the .gitignore

Yes, we changed it, but that doesn't mean that everyone will want to commit the folder if they don't intend on changing files in it (ignoring the context of this pr)

by default we gitignore the gen folder IIRC

by default we gitignore the gen folder IIRC

we don't, we only ignore gen/schemas

the problem with this PR approach is it just as broken as if it wasn't configured, I would say even more broken, since without you can build your unsigned apk successfully but with this, it will always fail until signing is configured.


Load gas and gasPrice from networkConfig

Fixes https://github.com/OpenZeppelin/openzeppelin-sdk/issues/1227
The change itself is rather simple: the only thing I'm unsure is whether we should test this as a unit test, integration, or not at all.
That said, I want to discuss my findings while looking into this issue to provide some context that may help inform future decisions.
lib defines a TxParams object that is passed around when sending transactions and serves as a default for these. This object is populated by ConfigManager from the network configuration file, and before this PR, it only includes from.
Because of this, I was surprised to see that the correct values for gas are nonetheless used in all transactions: it turns out lib/utils/Transactions handles a null value for gas by loading it from Contracts.getArtifactsDefault, which acts as a sort of global store of configuration. Notice that it was ConfigManager who called Contracts.setArtifactsDefaults, duplicating these values.
The bug surfaced in transfer because this is the first instance of the SDK sending transactions that are not contract function calls. On those, because the gas price was never specified, web3 used the default one that is set when creating the contract objects.
There seems to be a tension here between global configuration that is accessed directly (either via the Contracts.setDefaultArtifacts or the implicit default values used in the web3 objects), and explicit configuration objects that are passed down the call stack. We may want to revisit this at some point.
From the description above, it should be clear that gas and gasPrice were always obtained from getArtifactDefault, when available. Because of this, I'm relatively confident that this PR will not break current behaviour.

The explanation ended up being a bit too wall-of-texty. Sorry about that!

There seems to be a tension here between global configuration that is accessed directly (either via the Contracts.setDefaultArtifacts or the implicit default values used in the web3 objects), and explicit configuration objects that are passed down the call stack. We may want to revisit this at some point.

Agree. This is one of the things I want to fix when reviewing the programmatic API: no more global state.


Vim visual block mode highlight not appearing

When selecting text in visual block mode in vim, the selection highlighting is only visible on the active line:

Intended behaviour:

This is only a visual bug as block edits are still possible, just without visible selection and without a visible cursor for multicursor editing.

This seems like a duplicate of #303


AUI-2035 AUI Button should have an option to don't add  .btn-default and also .btn default classes

Just started reviewing :) :octocat: Sent from GH.

Pull request submitted to https://github.com/fernandosouza/alloy-ui/pull/9. See changes here. :octocat: Sent from GH.


[rework] Optimizer and point-probability

In RAVEN running RAVEN, when the outer RAVEN reads a data obj from inner RAVEN that was created by a Optimizer, the point-probability fails as follows:
WARNING: XML node "PointSet" != param spec name "DataSet"
<DataObjects.XDataObject.MessageCourier instance at 0x1148d7950> <DataObjects.XPointSet.PointSet object at 0x1148a4610> Reading data from "/Users/epinas/projects/hybrid/CashFlowCalcs/2017September_INLEXT-17-42441/Opt_C_NoModelica_D_TEST/./OPTrun/RrR++0_0_0/./Back_to_MASTER.csv.csv" DEBUG debug None
<DataObjects.XDataObject.MessageCourier instance at 0x1148d7950> <DataObjects.XPointSet.PointSet object at 0x1148a4610> Reading metadata from "/Users/epinas/projects/hybrid/CashFlowCalcs/2017September_INLEXT-17-42441/Opt_C_NoModelica_D_TEST/./OPTrun/RrR++0_0_0/./Back_to_MASTER.xml" DEBUG debug None
Exception in thread RrR++0_0_0:
Traceback (most recent call last):
  File "/Users/epinas/.conda/envs/raven_libraries/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/Users/epinas/.conda/envs/raven_libraries/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/Users/epinas/projects/raven/framework/Runners/SharedMemoryRunner.py", line 135, in <lambda>
    self.thread = threading.Thread(target = lambda q, *arg : q.append(self.functionToRun(*arg)), name = self.identifier, args=(self.subque,)+tuple(self.args))
  File "/Users/epinas/projects/raven/framework/Models/Code.py", line 573, in evaluateSample
    rlz['PointProbability'] = np.atleast_1d(rlz.get('PointProbability',1.0) * kwargs.get('PointProbability',1.0))
TypeError: unsupported operand type(s) for *: 'float' and 'NoneType'

This should have been closed automatically by #610.  I'm not sure why it didn't.


Add Aviasales

Please review our Contribution Guidelines to ensure your changes abides by it.
Review your changes and complete the checklist below.

[x] Company name
[x] Company description
[x] Company location
[x] GitHub link
[x] How Elixir is used
[x] Sorted alphabetically

Awesome @fliptheweb!  Are you using a particular library for your content generation or did you make something in-house?

Hi, @doomspork! We build our content generator around Phoenix. We use custom Models and smart pages manager to keep static html in sync with DB.

@Rakoth!!  That's awesome mate 😀


Fix duplicate keys in parallel prehandling

What problem does this PR solve?
Issue Number: close #8180 close #8081
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/hold for manual test

/run-all-tests

/run-all-tests

/run-integration-test

/hold for oom fix

/run-all-tests

/run-all-tests

/run-all-tests

/run-all-tests

/unhold

/hold

/run-all-tests

/unhold


DB: Add error when cash holding becomes negative

There is currently no protection against moving to much cash from the cash holding for a given portfolio. Fix this by returning error from SQL server on query that tries to over withdraw cash holding.

Just realized that there needs to be some way of notifying the gsheet interface that a transaction did not complete due to overtrass

Just realized that there needs to be some way of notifying the gsheet interface that a transaction did not complete due to overtrass


Google will disallow OAuth Out-of-band

I received an email from Google stating that OAuth Out-of-band will be disabled sometimes later this year.
I don't know much about OAuth, but I found 'redirect_uris': ['http://localhost', 'urn:ietf:wg:oauth:2.0:oob'], in the sources, which indicates to me that GYB is using this mechanism and thus is affected.
See https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob
Is there a way to switch GYB to a different authentication flow?

So long and thanks for all the fish. I kid. I am sure Jay will figure out a solution.

Ah, do you think the two URIs for redirect_uris mean OOB is only used as fallback if localhost is not working?

https://groups.google.com/g/got-your-back/c/w0cT19cSKx0

Hi. When ugrading to GYB 1.60, aside from upgrading the installation as per the wiki instructions I'm assuming that there's a few more things that need to be done right to migrate to the new Authentication mechanisms from google
Could someone chime in here (or update the wiki) with a specific  "how to upgrade to GYB 1.60"guide?

Nope. Just upgrade.

Thanks!


Fix insertExpression throw

Mends part one of https://github.com/solidjs/solid/issues/2030 by selectively walking around that specific case
Tested and actually fixes the issue. Working test reproduction with yarn patch here:
yarn && yarn dev
bug-test.zip

@ryansolid did you have time to take a look here? :)

Understanding this, this is guarding specifically around trying to insert the parent in itself. Like the check is one level deep. I suppose that is all we need, because it is fragments that are breaking this.


KAFKA-3018: added topic name validator to ProducerRecord

Added validation for topic name when creating a ProducerRecord, and added corresponding tests.

Per KAFKA-3018 discussion, we want to take a different approach to solving this problem, so I'm closing the PR in favor of the alternate design.


'strtok_r' was not declared in this scope, 'strcasecmp' was not declared in this scope

Describe the bug
I am having some compilation errors:
'strtok_r' was not declared in this scope
'strcasecmp' was not declared in this scope
Manually including
#include <Arduino.h>
#include <stddef.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <strings.h>

to WebSocketClient.cpp and  WebSocketServer.cpp didn't find these functions either, so I am not sure where they could be.
Do we need to define any specific -D flags for GCC?
Apparently strcasecmp is not an iso-c function https://c-for-dummies.com/blog/?p=3863

Environment info

IDE: Make/GCC
Platform/Board: STM32duino
Network controller (shield or module): W5500

Expected behavior
Successful compilation
Failure log
system42/libraries/mWebSockets/src/WebSocketClient.cpp: In member function 'bool net::WebSocketClient::_readResponse(const char*)':
system42/libraries/mWebSockets/src/WebSocketClient.cpp:170:24: error: 'strtok_r' was not declared in this scope; did you mean 'strtok'?
  170 |           char *header{strtok_r(rest, ":", &rest)};
      |                        ^~~~~~~~
      |                        strtok
In file included from system42/Arduino_Core_STM32/cores/arduino/WString.h:29,
                 from system42/Arduino_Core_STM32/cores/arduino/Print.h:26,
                 from system42/Arduino_Core_STM32/cores/arduino/Stream.h:26,
                 from system42/Arduino_Core_STM32/cores/arduino/HardwareSerial.h:29,
                 from system42/Arduino_Core_STM32/cores/arduino/WSerial.h:5,
                 from system42/Arduino_Core_STM32/cores/arduino/wiring.h:48,
                 from system42/Arduino_Core_STM32/cores/arduino/Arduino.h:36,
                 from system42/libraries/Ethernet/src/Ethernet.h:51,
                 from system42/libraries/mWebSockets/src/platform.h:49,
                 from system42/libraries/mWebSockets/src/utility.h:3,
                 from system42/libraries/mWebSockets/src/WebSocket.h:5,
                 from system42/libraries/mWebSockets/src/WebSocketClient.h:5,
                 from system42/libraries/mWebSockets/src/WebSocketClient.cpp:1:
system42/Arduino_Core_STM32/cores/arduino/avr/pgmspace.h:56:28: error: 'strcasecmp' was not declared in this scope; did you mean 'strcasecmp_P'?
   56 | #define strcasecmp_P(a, b) strcasecmp((a), (b))
      |                            ^~~~~~~~~~
system42/libraries/mWebSockets/src/WebSocketClient.cpp:176:15: note: in expansion of macro 'strcasecmp_P'
  176 |           if (strcasecmp_P(header, (PGM_P)F("Upgrade")) == 0) {
      |               ^~~~~~~~~~~~
make: *** [Makefile:794: /home/razor/Desktop/system42/__build/system42/libraries/mWebSockets/src/WebSocketClient.o] Error 1
make: *** Waiting for unfinished jobs....
system42/libraries/mWebSockets/src/WebSocketServer.cpp: In member function 'bool net::WebSocketServer::_handleRequest(NetClient&, char*)':
system42/libraries/mWebSockets/src/WebSocketServer.cpp:179:25: error: 'strtok_r' was not declared in this scope; did you mean 'strtok'?
  179 |           auto header = strtok_r(rest, ":", &rest);
      |                         ^~~~~~~~
      |                         strtok
system42/libraries/mWebSockets/src/WebSocketServer.cpp:278:42: error: 'strtok_r' was not declared in this scope; did you mean 'strtok'?
  278 |                                        : strtok_r(protocols, ",", &rest));
      |                                          ^~~~~~~~
      |                                          strtok
system42/libraries/mWebSockets/src/WebSocketServer.cpp: In member function 'bool net::WebSocketServer::_isValidGET(char*)':
system42/libraries/mWebSockets/src/WebSocketServer.cpp:297:22: error: 'strtok_r' was not declared in this scope; did you mean 'strtok'?
  297 |     const auto pch = strtok_r(rest, " ", &rest);
      |                      ^~~~~~~~
      |                      strtok
system42/libraries/mWebSockets/src/WebSocketServer.cpp: In member function 'bool net::WebSocketServer::_isValidConnection(char*)':
system42/libraries/mWebSockets/src/WebSocketServer.cpp:330:18: error: 'strtok_r' was not declared in this scope; did you mean 'strtok'?
  330 |   while ((item = strtok_r(rest, ",", &rest))) {
      |                  ^~~~~~~~
      |                  strtok
make: *** [Makefile:794: /home/razor/Desktop/system42/__build/system42/libraries/mWebSockets/src/WebSocketServer.o] Error 1

Manually including the following file as "strcasecmp.h" solves at least one compilation error.
It may be a good idea to include it in the library since strcasecmp is not iso-c
/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
   This file is part of the GNU C Library.
   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.
   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, see
   <https://www.gnu.org/licenses/>.  */

#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <ctype.h>
#include <string.h>
#ifndef _LIBC
# define __strcasecmp strcasecmp
# define TOLOWER(Ch) tolower (Ch)
#else
# include <locale/localeinfo.h>
# ifdef USE_IN_EXTENDED_LOCALE_MODEL
#  define __strcasecmp __strcasecmp_l
# endif
# define TOLOWER(Ch) __tolower_l ((Ch), loc)
#endif
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
# define LOCALE_PARAM , locale_t loc
#else
# define LOCALE_PARAM
#endif
/* Compare S1 and S2, ignoring case, returning less than, equal to or
   greater than zero if S1 is lexicographically less than,
   equal to or greater than S2.  */
int
__strcasecmp (const char *s1, const char *s2 LOCALE_PARAM)
{
#if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
  locale_t loc = _NL_CURRENT_LOCALE;
#endif
  const unsigned char *p1 = (const unsigned char *) s1;
  const unsigned char *p2 = (const unsigned char *) s2;
  int result;
  if (p1 == p2)
    return 0;
  while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0)
    if (*p1++ == '\0')
      break;
  return result;
}

#ifndef __strcasecmp
libc_hidden_def (__strcasecmp)
weak_alias (__strcasecmp, strcasecmp)
#endif

#undef strcasecmp_P
#define strcasecmp_P(a, b) __strcasecmp((a), (b))

I have never used gcc with make hence my support will be limited. I checked SO and it looks like it's related to -std option.
What are your compiler flags?

I tried disabling the strict -std=c99 check without success.
My flags as of present:
-DARDUINO=110035
-DSTM32 -DARDUINO_GENERIC_F405RGTX
-DSTM32F405xx
-DINCLUDE_MCU_NETWORKING
-DMCU_NETWORKING_USING_W5500
-DMCU_NETWORKING_USING_CDC0
-DINCLUDE_MCU_NETWORKING
-DMCU_NETWORKING_USING_CDC0
-DINCLUDE_MCU_NETWORKING
-DMCU_NETWORKING_USING_UART2
-DARDUINO_ARCH_STM32
-DVARIANT_H="<variant_generic.h>"
-D_REENTRANT
-DUSBCON
-DHAL_UART_MODULE_ENABLED
-DHAL_PCD_MODULE_ENABLED
-DUSE_FULL_LL_DRIVER
-DUSBD_USE_CDC
-DUSBD_CDC_USE_SINGLE_BUFFER
-D__STM32F4__
-DBOARD_NAME="\"DISCO_F407VG\""
-D'__UNALIGNED_UINT32_READ(addr)=(*((const __packed uint32_t *)(addr)))'
-D'__UNALIGNED_UINT32_WRITE(addr, val)=((*((__packed uint32_t *)(addr))) = (val))'

-mthumb
-fno-exceptions
-ffunction-sections
-fdata-sections
-MMD
-ffast-math-fno-math-errno
-Werror=return-type
-Wall
-Wdouble-promotion
-Wfloat-conversion
-Os
-mcpu=cortex-m4
-mfpu=fpv4-sp-d16
-mfloat-abi=hard
-fno-elide-constructors
-fno-exceptions
-fext-numeric-literals
-std=c++17
-Wno-register
-Wno-bool-compare
-mthumb
-fno-exceptions
-ffunction-sections
-fdata-sections
-MMD
-ffast-math
-fno-math-errno
-Werror=return-type
-Wall
-Wdouble-promotion
-Wfloat-conversion
-Os
-mcpu=cortex-m4
-mfpu=fpv4-sp-d16
-mfloat-abi=hard
-g
-fno-elide-constructors
-fno-exceptions
-fext-numeric-literals
-std=c++17
-Wno-register

I'm not sure yet what I need to do to find strtok_r, as the -D_REENTRANT didn't seem to have any effect.

Is it possible for you to use Arduino IDE? are you really limited to make/gcc?

It's very not possible to use the arduino IDE unfortunately, but, the IDE just bundles MAKE/GCC under its hood anyway so the environment I am using is technically the same.
If I fix this bug, your library will be more portable and compliant with ISO-C.
I think I got it building!
First, we must use -D_POSIX_C_SOURCE=200112L as a compiler flag, because strtok_r is not an iso-c function (it is a posix GNU function).
This is not a full fix, because it will only work with environments that use GNU C compiler like the Arduino IDE.
Then, we have to #include <extendedLibcFunctions.h> into WebSocketServer.cpp and WebSocketClient.cpp , to define the non-ISO-C functions.
/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>.  */

#ifndef _EXTENDEDLIBC_H
    #define _EXTENDEDLIBC_H

    namespace net {

        #ifdef HAVE_CONFIG_H
        # include <config.h>
        #endif
        #include <ctype.h>
        #include <string.h>
        #ifndef _LIBC
        # define __strcasecmp strcasecmp
        # define TOLOWER(Ch) tolower (Ch)
        #else
        # include <locale/localeinfo.h>
        # ifdef USE_IN_EXTENDED_LOCALE_MODEL
        #  define __strcasecmp __strcasecmp_l
        # endif
        # define TOLOWER(Ch) __tolower_l ((Ch), loc)
        #endif
        #ifdef USE_IN_EXTENDED_LOCALE_MODEL
        # define LOCALE_PARAM , locale_t loc
        #else
        # define LOCALE_PARAM
        #endif

        /* Compare S1 and S2, ignoring case, returning less than, equal to or
        greater than zero if S1 is lexicographically less than,
        equal to or greater than S2.  */
        static int __strcasecmp (const char *s1, const char *s2 LOCALE_PARAM)
        {
            #if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
            locale_t loc = _NL_CURRENT_LOCALE;
            #endif
            const unsigned char *p1 = (const unsigned char *) s1;
            const unsigned char *p2 = (const unsigned char *) s2;
            int result;
            if (p1 == p2)
                return 0;
            while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0)
                if (*p1++ == '\0')
                break;
            return result;
        }

        #ifndef __strcasecmp
        libc_hidden_def (__strcasecmp)
        weak_alias (__strcasecmp, strcasecmp)
        #endif
    }

    #undef strcasecmp_P
    #define strcasecmp_P(a, b) __strcasecmp((a), (b))

    #define BUFFER_SIZE 1024

    extern char *strtok_r(char *, const char *, char **);

#endif

Now, the library will compile and seems to run successfully.

This seems to work!
We no longer need to use -D_POSIX_C_SOURCE=200112L and the library compiles without needing the nonstandard GNU libc
/* Copyright (C) 1991-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>.  */

#ifndef _EXTENDEDLIBC_H
    #define _EXTENDEDLIBC_H

    namespace net {

        #ifdef HAVE_CONFIG_H
        # include <config.h>
        #endif

        #include <ctype.h>
        #include <string.h>

        #ifndef _LIBC
            # define __strcasecmp strcasecmp
            # define TOLOWER(Ch) tolower (Ch)
        #else
            # include <locale/localeinfo.h>
            # ifdef USE_IN_EXTENDED_LOCALE_MODEL
            #  define __strcasecmp __strcasecmp_l
            # endif
            # define TOLOWER(Ch) __tolower_l ((Ch), loc)
        #endif

        #ifdef USE_IN_EXTENDED_LOCALE_MODEL
            # define LOCALE_PARAM , locale_t loc
        #else
            # define LOCALE_PARAM
        #endif

        /* Compare S1 and S2, ignoring case, returning less than, equal to or
        greater than zero if S1 is lexicographically less than,
        equal to or greater than S2.  */
        static int __strcasecmp (const char *s1, const char *s2 LOCALE_PARAM)
        {
            #if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
            locale_t loc = _NL_CURRENT_LOCALE;
            #endif
            const unsigned char *p1 = (const unsigned char *) s1;
            const unsigned char *p2 = (const unsigned char *) s2;
            int result;
            if (p1 == p2)
                return 0;
            while ((result = TOLOWER (*p1) - TOLOWER (*p2++)) == 0)
                if (*p1++ == '\0')
                break;
            return result;
        }

        #ifndef __strcasecmp
            libc_hidden_def (__strcasecmp)
            weak_alias (__strcasecmp, strcasecmp)
        #endif

        #undef strcasecmp_P
        #define strcasecmp_P(a, b) __strcasecmp((a), (b))

        /* Parse S into tokens separated by characters in DELIM.
        If S is NULL, the saved pointer in SAVE_PTR is used as
        the next starting point.  For example:
            char s[] = "-abc-=-def";
            char *sp;
            x = strtok_r(s, "-", &sp);	// x = "abc", sp = "=-def"
            x = strtok_r(NULL, "-=", &sp);	// x = "def", sp = NULL
            x = strtok_r(NULL, "=", &sp);	// x = NULL
                // s = "abc\0-def\0"
        */

        #ifndef _LIBC
            #define __strtok_r strtok_r
        #endif

        static char * __strtok_r (char *s, const char *delim, char **save_ptr)
        {
            char *end;

            if (s == NULL)
                s = *save_ptr;

            if (*s == '\0')
                {
                *save_ptr = s;
                return NULL;
                }

            /* Scan leading delimiters.  */
            s += strspn (s, delim);
            if (*s == '\0')
                {
                *save_ptr = s;
                return NULL;
                }

            /* Find the end of the token.  */
            end = s + strcspn (s, delim);
            if (*end == '\0')
                {
                *save_ptr = end;
                return s;
                }

            /* Terminate the token and make *SAVE_PTR point past it.  */
            *end = '\0';
            *save_ptr = end + 1;
            return s;
        }

        #ifndef __strtok_r
            libc_hidden_def (__strtok_r)
            weak_alias (__strtok_r, strtok_r)
        #endif
    }

#endif

I found a better solution
We must #include <strings.h> at the top of utility.h
It's not guaranteed to be automatically included in every arduino environment's "platform.h"
In some, it is. In other environments, it's not.
`
#pragma once
#include "platform.h"
#include <strings.h>
#define SAFE_DELETE(ptr)
{
if (ptr != nullptr) {
delete ptr;
ptr = nullptr;
}
}
#define SAFE_DELETE_ARRAY(ptr)
{
if (ptr != nullptr) {
delete[] ptr;
ptr = nullptr;
}
}
#ifdef _DEBUG
define __debugOutput printf
#else
define __debugOutput(...)
#endif
void printf(const __FlashStringHelper *fmt, ...);
namespace net {
IPAddress fetchRemoteIp(const NetClient &);
} // namespace net
`


Add log-manager service

Coverage decreased (-0.7%) to 50.602% when pulling dda67a01fcc0581895d4071c7aad872925e20eb1 on diawang/pure-k8s-log into 63da0b24114878cbe16dc714621915c7dad29b90 on feature/pure-k8s.

Coverage decreased (-0.7%) to 50.602% when pulling dda67a01fcc0581895d4071c7aad872925e20eb1 on diawang/pure-k8s-log into 63da0b24114878cbe16dc714621915c7dad29b90 on feature/pure-k8s.

Coverage decreased (-0.7%) to 50.602% when pulling dda67a01fcc0581895d4071c7aad872925e20eb1 on diawang/pure-k8s-log into 63da0b24114878cbe16dc714621915c7dad29b90 on feature/pure-k8s.


ResponseHeadersPolicyConfig/CorsConfig/AccessControlAllowMethods/Items: expected type: JSONArray, found: String

I'm currently having a compile issue which seems to be related to troposhere.
embed_response_header_policy = t.add_resource(
    ResponseHeadersPolicy(
        "ResponseHeadersPolicy",
        ResponseHeadersPolicyConfig=ResponseHeadersPolicyConfig(
            Comment=Join('', ['Embed response header policy config for cloudfront: ',
                              Ref(AWS_STACK_NAME)]),
            CorsConfig=CorsConfig(AccessControlAllowCredentials=False,
                                  AccessControlAllowHeaders=AccessControlAllowHeaders(Items=[]),
                                  AccessControlAllowMethods=AccessControlAllowMethods(Items=["GET"]),
                                  AccessControlAllowOrigins=AccessControlAllowOrigins(Items=["*"]),
                                  AccessControlExposeHeaders=AccessControlExposeHeaders(Items=["-"]),
                                  AccessControlMaxAgeSec=600,
                                  OriginOverride=False),
            Name=Join("-", [Ref(AWS_STACK_NAME), "response-headers-policy"]),
            SecurityHeadersConfig=SecurityHeadersConfig(
                ContentSecurityPolicy=ContentSecurityPolicy(
                    ContentSecurityPolicy='max-age: 31536000 (seconds)',
                    Override=True,
                ),
                ContentTypeOptions=ContentTypeOptions(Override=False),
                FrameOptions=FrameOptions(
                    FrameOption='SAMEORIGIN',
                    Override='true',
                ),
                # ReferrerPolicy=ReferrerPolicy(
                # Override=True,
                # ReferrerPolicy='strict-origin-when-cross-origin',
                # ),
                StrictTransportSecurity=StrictTransportSecurity(
                    AccessControlMaxAgeSec=1,
                    Override=True,
                ),
                XSSProtection=XSSProtection(
                    ModeBlock=True,
                    Override=True,
                    Protection=True,
                ),
            )),
    ))

Results in the following compile error:
<class 'troposphere.cloudfront.AccessControlAllowMethods'>: None.Items function validator 'cloudfront_access_control_allow_methods' threw exception:
Traceback (most recent call last):
  File "templates/apps/embed-page/cloudfront.py", line 448, in <module>
    AccessControlAllowMethods=AccessControlAllowMethods(Items=["GET"]),
  File "/var/lib/jenkins/workspace/OPENMEDIA/GLOBAL-INFRA/pipeline-cloudfront-distribution-cfn-generic-infra/tools/cloudformation/.pythonEnv/lib/python3.7/site-packages/troposphere/__init__.py", line 374, in __init__
    super().__init__(title, **kwargs)
  File "/var/lib/jenkins/workspace/OPENMEDIA/GLOBAL-INFRA/pipeline-cloudfront-distribution-cfn-generic-infra/tools/cloudformation/.pythonEnv/lib/python3.7/site-packages/troposphere/__init__.py", line 133, in __init__
    self.__setattr__(k, v)
  File "/var/lib/jenkins/workspace/OPENMEDIA/GLOBAL-INFRA/pipeline-cloudfront-distribution-cfn-generic-infra/tools/cloudformation/.pythonEnv/lib/python3.7/site-packages/troposphere/__init__.py", line 189, in __setattr__
    value = expected_type(value)
  File "/var/lib/jenkins/workspace/OPENMEDIA/GLOBAL-INFRA/pipeline-cloudfront-distribution-cfn-generic-infra/tools/cloudformation/.pythonEnv/lib/python3.7/site-packages/troposphere/validators/cloudfront.py", line 33, in cloudfront_access_control_allow_methods
    'AccessControlAllowMethods must be of: "%s"' % (", ".join(valid_values))
ValueError: AccessControlAllowMethods must be of: "GET, DELETE, HEAD, OPTIONS, PATCH, POST, PUT, ALL"
 + Executing templates/apps/embed-page/cloudfront.py

This validator insists that the value must be of type string instead of JSONArray.
When i change
AccessControlAllowMethods=AccessControlAllowMethods(Items=["GET"]),

to
AccessControlAllowMethods=AccessControlAllowMethods(Items="GET"),

It compiles but when deploying the cloudformation template i get the following error message:
Properties validation failed for resource ResponseHeadersPolicy with message: #/ResponseHeadersPolicyConfig/CorsConfig/AccessControlAllowMethods/Items: expected type: JSONArray, found: String

Which states that it should be a JSONArray just as the cloudformation documentation says here
From what i can understand this seems to be an internal troposphere issue.

I think there is an error in the AccessControlAllowMethods class, It's not allowing a list of items
Instead of
"Items": (cloudfront_access_control_allow_methods, True),

It should probably look like (not tested)
"Items": ([cloudfront_access_control_allow_methods], True),

@markpeek will this be released to 3.x.x? And when? A project is currently blocked due to this.

I do not plan to backport it to 3.x.x. This is fixed in Release 4.0.0 which I just released.


Docker Image Not Utilizing GPU

Description:
We've identified an issue with our current Docker image where it fails to utilize GPU resources even when available. This can impact performance-intensive tasks and reduce the efficiency of our operations, especially for tasks that are optimized for GPU.
Expected Behavior:
When deploying the Docker container on a machine with GPU resources, the application inside the Docker should be able to leverage the GPU for its processes.
Current Behavior:
The application running inside the Docker container only uses CPU resources and doesn't seem to recognize or utilize the available GPU.
Steps to Reproduce:

Pull the current Docker image from our repository.
Deploy a container using the pulled image on a machine with GPU resources.
Monitor resource usage and observe that only CPU is utilized, and GPU remains idle.f GPU

Issue Resolution Documentation
Issue: Docker Image Not Utilizing GPU
Problem Statement:
The Docker container running our application was not leveraging the available GPU resources, leading to performance inefficiencies especially in GPU-optimized tasks.
Resolution:
The core of the problem was identified to be with the base image used in the Dockerfile. The original Dockerfile used a basic Python image that wasn't set up to handle NVIDIA GPU operations, leading to the application being unable to use the GPU.
Key Changes:

The base image was changed from a generic Python image to nvidia/cuda:12.2.0-base-ubuntu22.04. This NVIDIA CUDA image is designed to be GPU-compatible and facilitates GPU operations.
As the new image is based on Ubuntu 22.04, we had to include additional commands to install Python and pip.

Conclusion:
By altering the base image and making necessary adjustments in the Dockerfile, we successfully enabled the container to utilize GPU resources. Subsequent tasks leveraging GPU operations should now experience enhanced performance.


Fix loadTimeline error when loading search.html

Fixed error by adding logic to check which file is currently loaded. Example snippet below.
//check for filename; run unique featured functions based on HTML page
if (fileName === 'index.html' || !fileName || fileName.trim === '') {


[zplug] These repos have failed to load: - themes/wedisagree

Type:

[X] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

zplug --version: 2.4.1
zsh --version: zsh 5.3.1 (x86_64-apple-darwin16.3.0)
uname -a: Darwin C02KM1P7FFT1 16.6.0 Darwin Kernel Version 16.6.0: Fri Apr 14 16:21:16 PDT 2017; root:xnu-3789.60.24~6/RELEASE_X86_64 x86_64

source ~/.zplug/init.zsh

zplug "themes/wedisagree", from:oh-my-zsh

if zplug check || zplug install; then
  zplug load --verbose
fi

Step to reproduce

I installed the themes/wedisagree theme using zplug
for a while it worked
now, sometimes, I get this error on startup

[zplug] These repos have failed to load:
- themes/wedisagree

I don't really know how to interpret that, or how to troubleshoot it. Ironically, the theme seems to work regardless, but the error message is irritating.
Any help is appreciated.

I ran into a similar issue which was screwing with my regular usage. I'd recommend adding the following as a replacement for source ~/.zplug/init.zsh:
# Check if zplug is installed
if [[ ! -d ~/.zplug ]]; then
  git clone https://github.com/zplug/zplug ~/.zplug
  source ~/.zplug/init.zsh && zplug update --self
else
  source ~/.zplug/init.zsh
fi

Then delete your ~/.zplug/ directory and restart zsh. It should reinstall zplug and get rid of the error.


HDDS-4297. Allow multiple transactions per container to be sent for deletion by SCM.

What changes were proposed in this pull request?
Currently SCM Block Deleting Service allows only one transaction per container to be sent for deletion to the datanode. This can slow down deletion if there are multiple delete transactions for a container.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4297
How was this patch tested?
UT

@lokeshj1703 , seems the original purpose of letting only one transaction per container to delete on datanode is to make container block deletion more balanced. So the containers will have the similar available space for SCM to choose to do block allocation.
But current existed implement is not friendly for the scenario that our deleted blocks focus on the same (or very few)containers in the datanode. And current PR change is helpful on this scenario. I think container block allocation should be random, not sure if this corner case will happened.

@linyiqun currently we allow block deletion for only closed containers. For open containers deletion needs to be done via ratis pipeline which is not currently implemented. So there is no block allocation advantage right now. I do not think there is a huge window where containers are open and are simultaneously receiving block deletion requests in bulk.
Further it is better to accumulate transactions of a container if possible. There is an overhead to handling a block deletion request for datanode. It needs to load rockdb instance and then add those transactions to the db. It is better for datanode to process multiple such transactions at once.
I tested the PR and found that it gives better deletion speed for deleting a milllion keys.
Without PR - SCM sends total 180 blocks for deletion in a minute. This number does not increase even after increasing configs. Datanode deletion speed was very slow. I monitored a datanode disk space and it deleted less than a GB even after 5 minutes.
With PR - SCM sends 6000 blocks for deletion. Datanode was deleting 1 GB of data every minute.

Good to know the testing result. +1 for this change. Thanks @lokeshj1703 .

@bshashikant @linyiqun Thanks for reviewing the PR! I have committed it to master branch.


Pin acvl_utils<0.2.1

Checklist

[x] I've given this PR a concise, self-descriptive, and meaningful title
[ ] I've linked relevant issues in the PR body
[x] I've applied the relevant labels to this PR
[ ] I've added relevant tests for my contribution
[ ] I've updated the documentation and/or added correct docstrings
[x] I've assigned a reviewer
[ ] I've consulted ADS's internal developer documentation to ensure my contribution is in line with any relevant design decisions

Description

nnUnetV2 depends on acvl_utils, but didn't pin a version for it. Two days ago acvl_utils == 0.2.1 was released, but that one imports a package that is never installed (blosc2) which has lead to failing overnight tests, https://github.com/axondeepseg/axondeepseg/actions/runs/11753375787
I propose to pin the version to <0.2.1, because if acvl_utils didn't catch this missing dependency with tests or a CI, then maybe it's better to trust that they didn't miss something else in this most recent push and download an earlier version.
Linked issues

coverage: 94.54%. remained the same
when pulling 5459c93857c212be00b5c2130dc27b59796cc579 on mb/depfix
into 7b79f486f731dfa05f9fbfab1a24e4710a652c9b on master.

https://github.com/MIC-DKFZ/nnUNet/issues/2589

@joshuacwnewton maybe you could approve, since I saw you dealt with this similarly in SCT?


chore(main): release 0.14.0

:robot: I have created a release beep boop
0.14.0 (2024-11-18)
Features

Enable other file types (format) copyright checks (#57) (5920070)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.14.0
:sunflower:


[BUG] Uninstall job unable to delete the systembackup and systemrestore cr.

Describe the bug (🐛 if you encounter this issue)
Longhorn-system namespace stuck in terminating state as uninstallation fails for systembackup and systemrestore crs
To Reproduce
Steps to reproduce the behavior:

Install Longhorn, create some systembackup & systemrestore.
Uninstall Longhorn
The systembackup & systemrestore cr don't get deleted.

Expected behavior
All the Longhorn CR should get deleted.
Environment

Longhorn version: v1.4.0-rc2
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): kubectl

Verified in longhorn master head images and v1.4.x head images with test steps
Result Pass
In both master-head and v1.4.x head, after uninstall complete, systemrestores.longhorn.io and systembackups.longhorn.io removed too.

In v1.4.0 master-head, CR systembackups will be deleted by uninstall job but CR systemrestores still kept and caused Longhorn-system namespace stuck in terminating and if execute kubectl delete systemrestores <resotrename> -n longhorn-system the process will stuck too.

In v1.4.0 master-head, CR systembackups will be deleted by uninstall job but CR systemrestores still kept and caused Longhorn-system namespace stuck in terminating and if execute kubectl delete systemrestores <resotrename> -n longhorn-system the process will stuck too.

finalizier? @c3y1huang ?

After remove finalizer in CR systemrestores
finalizers:
  - longhorn.io

The CR systemrestores deleted and nsmespace longhorn-system deleted too

It seems like we didn't delete them in UninstallerController. Why it has not been noticed and reviewed :disappointed: . Well done @chriscchien

@chriscchien It seems I asked before, do we have a uninstall test case in our daily testing?

Yes in https://github.com/longhorn/longhorn/issues/4031, will start work on it

@chriscchien after @c3y1huang moves this to ready-for-testing, besides testing uninstall, please also revalidate system backup & restore (with volume backup) to ensure the new fix w/o any side effect. Thanks.

Verified in longhorn-manager master 07b3f7
Result Pass

Prepare clusters A and clsuter B, each deployed longhorn master-head and have backing image with the same name, these 2 clusters using the same backup store
In cluster A, prepare below volumes and create volume backup then create system backup

Dynamic provision volumes by statefulset, write data into pod mount point
RWX volume and PVC from UI with deployment pod, write data into pod mount point
Volume from backing image by UI, attach to node, write data to /dev/longhorn/volume and calaulate checksum
Encrypted volume by UI, attach to node, write data to /dev/longhorn/volume and calculate checksum

Restore system in cluster B, after restore complete, verified that data were all correct (pod mount point data, checksum of /dev/longhon/volume)
Uninstall longhorn, after uninstall job complete, kubectl get crd | grep longhorn.io get empty result and namespace longhorn-system terminated correctly.

For v1.4.x head verify, image seems not build success so I can still reproduce, will verify once image complete

https://drone-publish.longhorn.io/longhorn/longhorn-manager/1114/1/1 retriggered.

Verified in longhorn-manager v1.4.x 36f30b with steps
Result Pass

Dynamic provisioned volume, RWX volume, Volume created from backing image, encrypted volumes all can be restore from 1 cluster to another cluster, all data kept consistent after system restore.
Uninstall longhorn on those 2 cluster all succeed, all CRD cleaned up (have many kind of volumes exist in cluster and system backup, system restore), namespace terminated succedd


Adding better physics to the default parameters.

The default tip parameters in the wiki, in the common.py and in the default params.ini are basically old and they do not capture the right physics of the most common (Cu-)CO tip.
I would suggest to changing it to:
rProbe [0.,0. 3.0] # (Cu-O distance is really only 3 Ang)
tip 'dz2'
Q -0.1
klat 0.24

What do you think?

Makes sense. But is there any chance that it would break some existing scripts (if it even matters at this point)?

But is there any chance that it would break some existing scripts (if it even matters at this point)?
Quick check from my side:

charge should be maybe dicscussed: since any non-params.ini calculations will automatically want FF_el, also it will affect these tests: _test_vdw.py; I am not sure about these ones: human_eye/test_TipForce.py and human_eye/test_splines.py and human_eye/test_vdwDamping.py
The pyridineDensOverlap example do not have the klat in params.ini
tip is not defined in benzeneBrCl2/params.ini and pyridineDensOverlap/params.ini and PTCDA_single/params.ini and PTCDA_Hartree/params.ini and Graphene_mod/params.ini and Graphene/params.ini and Graphene-spline/params.ini; CoPc-IETS has charge set to 0, so it does not matter.
CorrectionLoopGraphene and Generator do not have params.ini at all, but I do not know, if it takes those parameters into account at all.

Anything else should be OK.


Remove unit-test configuration

This was never used, only one test, and it really broke the layering. So it's not worth the complication.
Checklist
Thank you for your contribution. Please answer the following:

[X] I acknowledge that I am authorized to submit this code under
the terms of the Apache License
[ ] All new public APIs are documented
[ ] All new public functions have tests
[ ] All new public functions have fuzzing tests

Had to resolve configurations.h.in, please re-review when you can.


Added new Curves and KeyAgreements

Hello,
according to TR-03109-1 of the German Federal Office for Information Security we needed  several new curves for our cryptographic operations.
Regards,
Stefan

Thanks for the patch. Merged with some revision. I ditched the KDF as for this purpose the X9.63 one does the job. Have added a session key KDF as well.


Travis CI tests don't run on PRs

See https://github.com/jgallagher/rusqlite/pull/662 -- It actually causes (right now) the rarray tests to fail, but we have way better coverage in travis than on appveyor/github.

It looks like these tests have started failing in the meantime (unrelated to that PR, actually).
Example: cargo test --features "array bundled csvtab series vtab".

The failing test is fixed but we should look into a way to regain coverage there on PRs.
@gwenn: When you have time, thoughts?

It seems that PR #660 is the reason why travis fails.
Because everything was fine until PR #660.

That makes some sense, as "Rc<T> which implements ToSql" became ambiguous. This seems fine to me, as I think generally needing to be explicit in collect() calls is normal.
That said, we should still get the coverage back.

@jgallagher Sorry to disturb you but there is something wrong with Travis CI.
For example, I just merged some changes in #631.
Associated build (1508) is visible in https://travis-ci.org/github/jgallagher/rusqlite/pull_requests .
But not on #631 page !

Fixed now, you can see in https://github.com/rusqlite/rusqlite/pull/712.


feat: take out extra columns from dbt tables

There were extra columns that were preventing the new additional openfield partners from being great. By yeeting these dbt columns, all tables were able to be created (when running dbt pipes locally).
Once this PR is merged and tested in dev, this PR will be able to be merged into prod!

@kanelouise, these changes will change the table schemas, right? What happens when we run this dbt on our existing Openfield datasets that have these columns? Will we need to run with --full-refresh to update the schemas and then run the DAG with refresh_matviews: True to reset the matviews?
Let's also flag this schema change for Partnerships so that they are aware, in case anyone reaches out to ask what happened to the columns. In the event that some partners actually do need this columns, we will probably have to move this dbt to a private repo so that different partners can have different dbt run on their data.

Thanks for this quick review, @emily-flambe and @jitoquinto.
Le sigh, seems like this is not the way to fix this, then. I can update the schema in the GCS folder and openfield schema files so that every Openfield sync has these columns, even if they're empty. Better than yeeting the columns and potentially taking away important data for partners.


Use list for file_dep (fixes #254).

This PR fixes #254 by changing file_dep to a list rather than using a set, ensuring the order of dependencies is preserved.

Thanks.
If my memory is correct I made it a set() instead of list for performance reasons.
If a task has hundreds of file_dep it would be inefficient to check in using a list.
Not sure this still applies... have you checked it?
Please also add an entry on CHANGES, and doc changes (not sure if relevant or where).

I've had a look running the tests on master and the feature branch. There doesn't seem to be much in it, but I appreciate that the number of deps is likely low in the tests. See below for results.
 I use setup.py to generate 5,000 files and then consider the time it takes to execute doit for a task that depends on all 5,000 files.
# setup.py
import os

os.makedirs("inputs", exist_ok=True)
for i in range(5000):
    with open(f"inputs/{i}.txt", "w") as fp:
        fp.write(str(i) * i)

# dodo.py
import os

os.makedirs("inputs", exist_ok=True)
for i in range(5000):
    with open(f"inputs/{i}.txt", "w") as fp:
        fp.write(str(i) * i)

Here's the evaluation.
# git:file_dep-list
$ time (repeat 100 doit)
...
8.15s user 3.18s system 94% cpu 11.962 total

# git:master
$ time (repeat 100 doit)
...
8.19s user 3.19s system 94% cpu 12.044 total

@tillahoffmann sorry for delay. I am planning to dedicate some time for open-source in the last week of this month.


im getting this error please help

There is some sort of error when creating a Desktop shortcut, and I can't really help much with that. You can create the shortcut yourself if you want it. The error won't affect the program in any way


Use new ABI encoder in contract tests

Thanks for making an issue out of the Rocketchat conversation. Will edit the description. This is not really needed for the red eyes milestone though, right? It's something we can do but is not a hard requirements for Red Eyes?

Even if we include it in RedEyes, it can be something we do at a later stage (we should have a testing stage before the release anyway). You can change the milestone if you want.

Issues were solved with https://github.com/raiden-network/raiden-contracts/pull/87
I tested locally today, the contracts version from https://github.com/raiden-network/raiden-contracts/commit/fff8646ebcf2c812f40891c2825e12ed03cc7628 with:
pragma solidity ^0.4.24;
pragma experimental ABIEncoderV2;
pragma experimental "v0.5.0";

And all tests pass.
We already use features from the new ABI encoder. The full switch will be at v0.5.0.
Therefore, I think this can be closed. Please reopen if needed.


why requiring Java JDK 8 & MongoDB 3.2

Why not supporting higher versions as well? :thinking:

These are the latest versions tested, as long as newer versions of Jdk and
MongoDb (Java Client) are probably back compatible you can use them at your
own risk :)
2018-07-13 8:47 GMT+02:00 Ana María Martínez Gómez<EMAIL_ADDRESS>
:

Why not supporting higher versions as well? 🤔
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/P2Pvalue/swellrt/issues/239, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEP6DxroXRv-8q2I_bxzr1iFZ1lxPt8pks5uGEKVgaJpZM4VOYj4
.

A test suite which tests different version could help ensuring they are compatible (too much risk :rofl:)


Enhancement: Blacklist/filter mediathek listings for certain words/strings

...like "Hörfassung", "AD | ", Wetter"

This feature is currently not supported by the MediathekViewWeb-Api.


Fixes #28 Update B2D to v1.13.1

Fixes #28
Artifacts:

https://gitlab.com/gbraad/minishift-b2d-iso/-/jobs/29206639/artifacts/file/public/minishift-b2d.iso
http://artifacts.ci.centos.org/minishift/minishift-b2d-iso/pr/54/

With this PR, another similar PR https://github.com/minishift/minishift-b2d-iso/pull/50 looks invalid.
WDYT @gbraad @hferentschik @LalatenduMohanty @praveenkumar  ?
Can we close #50 ?

@gbraad @budhrg I am fine with this PR as long as we consist about our docker version across the ISO as I mentioned to #50 also.

Was the plan not to have aligned versions of Docker in B2D and CentOS ISO? I seem to recall that we said we will defer upgrading to the latest available version and hence deferring issue #28. Instead we said we align versions. Do I recall this wrong? Have we changed the opinion?

@praveenkumar @gbraad @budhrg - seems we forgot about this and pr #50. Can we get either merge #50 or this modify this pull request in order to upgrade the Docker version and align with what we have in CentOS ISO. After that we should be able to cut a release and make sure to update to the latest version in Minishift.

this modify this pull request in order to upgrade the Docker version and align with what we have in CentOS ISO

#50 align the docker version with that of centos iso. I suggest to pull changes from #50 and add your changes on top of that.

I suggest to pull changes from #50 and add your changes on top of that as additional commit.

+1 Whatever makes sense. Would be nice to get this merged asap, so that we have a full sprint to use the new updated ISO.


Convert the Field Controller PID tuning into the webapp

Also, i was looking at brads web server code, iu think that the webapp could replace the java application. Thoughts?

@acamilo can you tak this one?

@gcl8a said:
I realize it's recreating the filed controller, but a page on the web server, .../motors, could be useful for tuning the motors.
I could see fields for K and then a button to make the wheel spin once or something like that. They don't need to tune to perfection, but at least get rid of the jitters. This would save a lot of uploading test codes -- easily the single biggest time saver of the field controller.

This feature would have a lot in common with a web based o-scope we discussed as well. The scope is something we would like to have for 2001, but would also be a useful feature in the 1001's, perhaps provide the kids with 2 esps and have oen set up as the scope, and the other as the robot.

So, you want a page "motors" where you can enter in parameters. in the firmware, have a function that gets called when someone submits a form on that page.

Yeah, we can work together on the motor interface. Inside the Motor class is a static list of all of the motors, as well as a static field telling you how many there are.
Look at the field controller for litterally what we want.

Ope this file https://github.com/WPIRoboticsEngineering/2001_Field_Controller/blob/2001_Field/src/main/resources/fxml/MainScreen.fxml in SceneBuilder to see the wysiwyg of the UI

I don’t know what all goes into it, but I’d move for something “lightweight” here. In the end, for 1001 we’ll have two motors to control. So you could just have for each motor 3 fields (Kp, Ki, Kd) and a “commit” button that just calls Motor::setGains(). (You could probably get away with one set of gains — in fact that might be a better start.)
it’s trivial to do with the Serial Monitor, so if it’s a lot of work on the server side, we could just use a cable.

On Aug 12, 2020, at 5:41 PM, Kevin Harrington<EMAIL_ADDRESS>wrote:
Ope this file https://github.com/WPIRoboticsEngineering/2001_Field_Controller/blob/2001_Field/src/main/resources/fxml/MainScreen.fxml https://github.com/WPIRoboticsEngineering/2001_Field_Controller/blob/2001_Field/src/main/resources/fxml/MainScreen.fxml in SceneBuilder to see the wysiwyg of the UI
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/WPIRoboticsEngineering/RBE1001Lib/issues/9#issuecomment-673125264, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF5JK5BCELGYFLJVDGQUBLTSAMECNANCNFSM4NPZWTUA.

Graph:
Setpoint
Position
Speed
With a 10 second sampling window
Set:
Setpoint
Gains (for all motors)

So
SetSetpoint
setGains


Master branch has less features than the ros-kinetic package

I wanted to do some changes to the source code and switched from using the deb package to master. However, my ros node depending on ros_type_introspection did not compile anymore.
I took a closer look and noticed that the renamed_values vector doesn't exist anymore in the ROSTypeFlat structure. The class VarNumber doesn't overload the operator double() anymore and buildRosFlatType now requires a fifth parameter max_array_size.
Is there a reason for those changes?

With the new sync, master will be the same as kinetic. I changed the API in a non compatible way. If you look at the unit tests, you will see how the new API is used.
The most noteworthy difference is that renamed_value is a separate vector with use std::string instead of SString.
This resulted in a considerable speed improvement, especially if you reuse the vector multiple times to avoid memory allocation

The operator double () was removed because there are situations in which it causes numerical errors. I want the user to use the method convert() to be more aware about what is going on.

Thanks, it is more clear now. I have done some work on my side to make access to data simpler for my use case (one vector for all data, including strings), not sure about the efficiency though. As it is changing the API again, I won't do a pull request. Or I'll maybe put it in a different feature branch if you want to review it.

Send the PR, I will be happy to review it

Hi @mehditlili,
this is one of those bad/good news.
good news is that based on your suggestions, and the one of another user, I am preparing a PR for the 1.0 version that will introduce the changes we discussed.
https://github.com/facontidavide/ros_type_introspection/pull/11
The bad news is that the API will change, but adapting your code should take you only 5 minutes.


pushItems and pullItems returns 2x the real transfer count

Reproduction steps:

Place down Chest
Put 26 Dirt into slot 1 of Chest
Place down Advanced Turtle facing the Chest
Right click the Advanced Turtle to open the turtle interface
> lua
lua> peripheral.call("front", "pushItems", "front", 1, nil, 2)

The peripheral call returns 52 (transferred items), but the chest only contains 26 Dirt which has now been moved to slot 2. This does not happen with just CC: Tweaked installed alone, but as soon as UnlimitedPeripheralWorks is added the bug occurs.
NOTE: This bug only seems to appear when pushing or pulling items within the same inventory (ex: When wanting to move an item from one slot to another within the same chest), but as far as I can tell it does not seem to occur when transferring items between 2 separate inventories.

Linking CC:T issues

@runi95 which version of UPW and Peripheralium you using? I can't reproduce this behaviour

@SirEdvin Not sure if it matters, but I've been running this on Fabric instead of Forge and I'm encountering this issue when running on:

Minecraft 1.20.1
Fabric loader 0.15.11

With the following mods:

CC:Tweaked 1.111.0
UnlimitedPeripheralWorks 1.4.3
Peripheralium 0.6.15
*Fabric API 0.92.2
*Fabric Language Kotlin 1.11.0
*Forge Config API 8.0.0

*Are required to run these mods on Fabric

I find it very ironic that Fabric API upgrade cause this issue

But of course, the root of this issue was my code :)

Hehe, I definitely feel you! I found it pretty odd too and thought it was a CC:Tweaked issue to begin with. Until I started testing with CC:Tweaked alone.
Still found an oddity in how CC:Tweaked performed, but it wasn't quite the same issue.

Fixed in 1.4.4 release


fix(ngx-jodit-pro): value not changing on reactive form

Changing value via formPatch would not be displayed in editor.
This fix mimics one made almost a year ago to the regular (non-pro) version of this package as I found out during fixing.

Could you please confirm, that this doesn't happen on your main branch?
I was having this issue even before my changes so I payed no attention to it in the PR.
I have tested it again without them and it seems to still be the case.

No need to test, found it, same bug as above at another place.
Could you please bump this into npm after merge?

Unfortunately setting values doesn't work with your changes. Please run the demo app using "npm run start:pro". Now you see both of the editors without a value set. The left editor should have value "Some text" and the right one "Some text in a reactive form." Yes, it works with the main branch.

Did you test the change I proposed in my last comment?

I am sorry. I definitely tried your solution at first and without success. But now it seems to work. Although there are still some errors in console.
I am bemused by the fact that jodit-pro requires different treatment from its free variant. The free variant of your library uses setValue in both places I suggested here, but here it seems combination of both value and element html is needed.
While writing this I tried it again and the errors disappeared... Moreover, after removing your suggestion and returning back to my original PR it worked again flawlessly. I suspect there to be some sort of race condition otherwise I cannot explain...
If you look closely, the "null" text still exists in the editor for a split second. (even after implementing your suggestion)

Yeah, the jodit-pro package is very strange. Support by Jodit seems dead to me, I already tried to contact the devs several times without response. One important problem is e.g. jodit-pro using ESM (see other issue). The documentation is bad, too.
Back to your issue:
I get errors, too. Something about setting value of undefined. It comes from jodit-pro and it seems that the element, Jodit tries to set the value to, is undefined.
Can you please try to wrap the this.jodit.setEditorValue(text);call with try,catch like that:
      .subscribe(([[_, initialized], text]) => {
        if (this.jodit && initialized) {
          this.joditContainer.nativeElement.innerHTML = text;
          try {
            this.jodit.setEditorValue(text);
          } catch (e) {
            // ignore
          }
        }
      });

It's not the most beautiful solution, but for me that works fine, but I don't know if it works for you using reactive forms.
Another way could be to find out if there is any way to find out if the element for the value is defined or not. There is a property (this.jodit.isReady) but I don't know when this property is set to true.

I would appreciate another opinion on this iteration of the solution.
This one awaits the ready promise from jodit. It seems that with this I can come back to my changes without the element HTML.
The .then() is in setter to simply improve readability and show that the function is asynchronous.
Instead of "null" showing for a split second the placeholder now appears before the correct values are set.

@Duke-of-Karamel I just released<EMAIL_ADDRESS>Thank you for your contribution! 🎉


⚠ Bofrost.lu has degraded performance

In 60748e3, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2099 ms

Resolved: Bofrost.lu performance has improved in 76ab164 after 13 minutes.


Use provider ID instead of name when sending events

Relates to #3071
This PR changes any code which creates an EntityInfoWrapper to use Provider ID instead of name. The name is still left as a field in the event for backwards compatibility purposes, and the consumer can still use the name to create the provider instance. However, the name is no longer populated.
Some other refactoring was carried out, specifically moving code from the helper package to more appropriate packages.
Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[x] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[x] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

What's the sequencing on this with the previous PR? Do we need one pushed in production and clearing all the previous messages which only had name before we start this one?

My previous PR was part of yesterday evening's deploy to prod, so this PR is safe to merge.

Did some local verification


java.lang.AssertionError: Unable to create RenderableInstance.

I ran into a new exception today that caused my app to crash, but only has happened this one time. Since I wasn't at home and not connected to Logcat, I don't quite remember all the details and only have this one final stack trace from my logfile:
2022-03-15 15:03:39.500 E/FATAL: A fatal crash caused the app to stop
 java.lang.AssertionError: Unable to create RenderableInstance.
   at com.google.ar.sceneform.rendering.RenderableInternalData.buildInstanceData(RenderableInternalData.java:229)
   at com.google.ar.sceneform.rendering.RenderableInstance.prepareForDraw(RenderableInstance.java:488)
   at com.google.ar.sceneform.rendering.Renderer.updateInstances(Renderer.java:668)
   at com.google.ar.sceneform.rendering.Renderer.render(Renderer.java:314)
   at io.github.sceneview.SceneView.doFrame(SceneView.kt:297)
   at io.github.sceneview.ar.ArSceneView.doFrame(ArSceneView.kt:246)
   at io.github.sceneview.SceneView.doFrame(SceneView.kt:291)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1350)
   at android.view.Choreographer.doCallbacks(Choreographer.java:1149)
   at android.view.Choreographer.doFrame(Choreographer.java:1040)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1333)
   at android.os.Handler.handleCallback(Handler.java:938)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:233)
   at android.app.ActivityThread.main(ActivityThread.java:8068)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)

As far as I remember, I was already using my app for around 5-10 Minutes when it happened and the error (I think) occurred right when placing another 3d model, after having already placed quite a few within the same scene (~15 objects).
I was using the 0.1.0 version of sceneview when the bug happened and was hoping maybe someone had some insights as to what this could be caused by.
On a sidenote that might be related: I am not using ArModelNodes and their loadModel function, but I am loading my 3d models in advance and holding a reference within my code to those renderables and then setting them with ArNode.setModel. Since I have never had any issues with this, I doubt it is the cause, but I figured it could still be relevant to the exception.

Thanks for the report.
It's a Renderable issue.
We still have work to do in order to clean it.

You can follow the development status here: #44


Support for sharded pub/sub

https://redis.io/docs/manual/pubsub/#sharded-pubsub

From 7.0, sharded Pub/Sub is introduced in which shard channels are assigned to slots by the same algorithm used to assign keys to slots.
SSUBSCRIBE, SUNSUBSCRIBE and SPUBLISH are used to implement sharded Pub/Sub.


cf test doesnt work on recieving WA verdict

Steps to reproduce:

Make a custom input test file along with some wrong answer.
Execute the command cf test. The diff in expected output and recieved output is printed.
Rerun cf test. It hangs on compiling.
Try cf test on some other code. It works fine.

This is my compiler command : g++-8 -g -O2 $%file%$.cpp -o $%file%$.out

I can post screencasts if you want.

Deleting the custom input files later makes no difference.

Sorry. My bad. My code had an infinite loop, which prevented the result from being shown.

This gives another suggestion. Can a TLE verdict be given in cf test when it crosses a time limit, say 5 seconds?


When comparing timezones, explicitly use UTC.

If not setting a timezone, the timezone will be timezone naive. However, this will get serialized to a timezone-aware
timezone when being stored as a session object. This causes later comparisons to fail, since
we end up compariong timezone aware to timezone naive objects. Instead, always explicitly create timezone-aware datetimes
Contributor checklist

[x] :tada: This PR closes #497
[ ] :robot: I have added tests, or extended existing tests, to cover any new features or bugs fixed in this PR.
[ ] :book: I have considered adding a new entry in CHANGELOG.md, and added it if should be communicated there.

wrt testing, as far as I can tell there are no tests for the oauth implementation currently. Adding it would require some amount of mocking, I am not sure if that would be considered in scope?

Thanks @mhwaage for the PR of the fix. I managed to reproduce the issue. It worked when I used an old version of Flask (version 1.1.2), but failed when I used the latest version of Flask (version 2.0.1). I will continue testing in the morning to see if the automatic token refresh works properly with the new code. Please be patient :)

Works nicely. Approved :)


Paintbrush no longer picks up textures after using Extra Utilities Builder's Wand

I was building with Mariculture custom cobble blocks, with the intention of painting them with the paintbrush. I decided to use the Extra Utilities Builder's Wand to speed up my build, but found that instead of placing the blocks in my inventory, it placed what looked like vanilla stone blocks, called "unnamed" Mariculture blocks. AFTER that occurred, any paintbrushes I create will no longer pick up textures, but instead will only paint the "unnamed" plain stone.

I should note that I am using the FTB Monster 1.1.2 pack.

So you're using an obsolete pack.

Thank you for responding. I had no idea. I'm new to both FTB and Mariculture and assumed Monster had an up to date version of your mod. I'll look into updating it on our server.

What. Monster is minecraft 1.6.4 and it isn't even using the last version of mariculture for that version of minecraft. It's VERY out of date on all the mods in it.


Guest users should not be able to see the list of all the project users and their roles.

Docker: 1.12.6
Compose: 1.11.1
Harbor: 0.5.0

@lcastellano this is current design, we consider a "guest" in a project has "read" permission, this "read" permission includes reading other members and their roles in the project.
May I know you suggestion?

To me it sounds bad that a guest user can see all the other users. imagine you give a customer pull rights by creating that customer as a guest. One option is to disable the viewing of those details for the guest role. (since that role is purely meant for pulling and updating passwords). Or we create an new role which only has pull rights and can no longer user the web-interface.
I might consider make this change (its pretty trivial) my self if you want to pull it when implemented that would be great. H
Hiding the users / roles and Logs would suffice as well btw still enabling the guest to make password changes.

We would like to use Harbor to distribute our Docker images to our customers. These customers would then have the guest role primarily to be able to pull the images. What we do not want is for them to be able to see all other users (customers) that have access to a project.
Related to the list of users, is the logs of a project. For our use case, we would not want guests to be able to see actions of other users.

Thanks for the valuable feedback!
@mvdbr4nd could you please clarify what is "make password change"  does it mean the guest user can login to UI and change his own password?

Well from a guest perspective i can image you want these type of users to be able to do that. Nevertheless I guess adding a role type that cannot use the UI at all would also solve the issue.  As what MarkvL mentioned it makes sense to be able to create users that can only pull images on certain projects and nothing else.

It sounds like the proposal is to add a new role with permissions that only allow pull access to images and the ability to change password. What about listing images? Perhaps we could call such a role "Guest (Restricted)"?

I think listing images would be useful. I also like the name you suggested, "Guest (Restricted)".

This would still be a useful feature to have.


Detection and Removal of a cycle

I want to contribute to the problem.

@irit2607 don't forget to add the problem statement on the code file


Inject secrets into the services [azuredevops bintray drone jenkins jira nexus npm sonar symfony teamcity wheelmap]

This is a reworking of #3410 based on some feedback @calebcartwright left on that PR.
The goals of injecting the secrets are threefold:

Simplify testing
Be consistent with all of the other config (which is injected)
Encapsulate the sensitive auth-related code in one place so it can be studied and tested thoroughly

Rather than add more code to BaseService to handle authorization logic, it delegates that to an AuthHelper class.
When the server starts, it fetches the credentials from config and injects them into BaseService.register() which passes them to invoke().
In invoke() the service's auth configuration is checked (static get auth(), much like static get route()).
If the auth config is present, an AuthHelper instance is created and attached to the new instance.
Then within the service, the password, basic auth config, or bearer authentication can be accessed via e.g. this.authHelper.basicAuth and passed to this._requestJson() and friends.
Everything is being done very explicitly, so it should be very clear where and how the configured secrets are being used.
Testing different configurations of services can now be done by injecting the config into invoke() in .spec files instead of mocking global state in the service tests as was done before. See the new Jira spec files for a good example of this.

Ref #3393
Need adding in this PR:

[x] Nexus
[x] Symfony

I've deferred a few odds and ends to a later PR:

[ ] Bitbucket. It has two sets of credentials in the same service so I have to think about how to solve that.
[ ] GithubConstellation etc.
[ ] suggest, and various other places in the server where the secrets are used
[ ] Wheelmap service test config check

Warnings

:warning:
This PR modified the server but none of its tests. That's okay so long as it's refactoring existing code.

:warning:
This PR modified service code for azure-devops but not its test code. That's okay so long as it's refactoring existing code.

:warning:
This PR modified service code for bintray but not its test code. That's okay so long as it's refactoring existing code.

:warning:

:books: Remember to ensure any changes to serverSecrets in services/bintray/bintray.service.js are reflected in the server secrets documentation

:warning:

:books: Remember to ensure any changes to serverSecrets in server.js are reflected in the server secrets documentation

:warning:

:books: Remember to ensure any changes to serverSecrets in services/wheelmap/wheelmap.tester.js are reflected in the server secrets documentation

:warning:

:books: Remember to ensure any changes to serverSecrets in services/azure-devops/azure-devops-helpers.js are reflected in the server secrets documentation

:warning:

:books: Remember to ensure any changes to serverSecrets in services/drone/drone-build.service.js are reflected in the server secrets documentation

:warning:

:books: Remember to ensure any changes to serverSecrets in services/wheelmap/wheelmap.service.js are reflected in the server secrets documentation

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS against 4770bb42899171cadd8be5270808dd5f060b5c01

Know this is still a WIP, but I just finished a quick browse through the current set of changes and wanted to say it's looking good!

Thanks for reading I'd like to Nexus and Symfony though I think I'm at a pausing point for today. The rest of this is ready for review, so if this gets merged I can open a new PR with those additional bits.

Side note, I love the new PR feature that keeps track of which files I've viewed. Makes things a lot easier on you when you don't have time to go through everything in one sitting

I'm ready to approve and excited about this change! Are you working on those lint errors already? If not I'll fix and add a commit

That nexus test timeout is unrelated (it's one of more more notoriously slow tests), so i'm going to remove it from the title

Thanks for the review! This was a big one 😄


Convert all formal parameters to named doesn't handle super parameters well

I'm not sure whether there's anything we can reasonably do here, but given the code
class A {
  int a;
  A(this.a);
}

class B extends A {
  B(super.a);
}

If you select the constructor for A and ask to "Convert all formal parameters to named", the parameter "super.a" won't be changed and results in a compilation error.
Selecting the constructor for B and performing the same operation will fix the code, but it isn't clear that the constructor in B should be modified when refactoring the constructor in A.
Performing the refactorings in the other order (converting B first and then A) will also result in compilation errors until both have been converted.

@scheglov In case you have ideas (other than "use a real IDE" 😄 )

Yes, support for constructors, specifically for super formal parameters is not fully ready.
I will look at these when I have more spare time.

https://dart-review.googlesource.com/c/sdk/+/355505 should make sure that we don't suggest partial changes.


Add nodeSelector in all packs defining operating system

This commit adds following nodeSelector with key
beta.kubernetes.io/os to all language packs. With value being linux
for packs that can work on linux OS nodes and value windows for
pack(here csharp) that needs windows OS to run.
Fixes https://github.com/Azure/draft/issues/817

ping @radu-matei