Bower install gives unable to find a suitable version for jquery

I'm installing AdminLTE using this documentation: https://adminlte.io/docs/2.4/installation.
Runnnig the following commands:
$ npm install bower
$ ./node_modules/.bin/bower install admin-lte

gives the following output:
Unable to find a suitable version for jquery, please choose one by typing one of the numbers below:
    1) jquery#^2.0 which resolved to 2.2.4 and is required by bootstrap-timepicker#0.5.2
    2) jquery#>=1.7 which resolved to 3.2.1 and is required by datatables.net#1.10.16, datatables.net-bs#2.1.1, inputmask#3.3.8
    3) jquery#1.9.1 - 3 which resolved to 3.2.1 and is required by bootstrap#3.3.7, bootstrap-daterangepicker#2.1.25
    4) jquery#>= 1.2.6 which resolved to 3.2.1 and is required by Flot#0.8.3
    5) jquery#^3.2.1 which resolved to 3.2.1 and is required by admin-lte#2.4.0
    6) jquery#>=1.7.1 <4.0.0 which resolved to 3.2.1 and is required by bootstrap-datepicker#1.7.1
    7) jquery#>=1.10 which resolved to 3.2.1 and is required by bootstrap-colorpicker#2.5.1
    8) jquery#>=1.7.0 which resolved to 3.2.1 and is required by jquery-knob#1.2.13
    9) jquery#>= 2.1.0 which resolved to 3.2.1 and is required by morris.js#0.5.1
    10) jquery#>=1.8 which resolved to 3.2.1 and is required by ion.rangeSlider#2.2.0
    11) jquery#>=1.6 which resolved to 3.2.1 and is required by jquery-ui#1.11.4
    12) jquery#2 - 3 which resolved to 3.2.1 and is required by fullcalendar#3.5.1

Prefix the choice with ! to persist it to bower.json

? Answer

I don't think that this is supposed to happen.

As line number 5 suggests, AdminLTE depends on jQuery version 3 or above.
Thanks for pointing out the issue. We added more information to the documentation about this.

Hello i have this error "ECONFLICT Unable to find suitable version for jquery", any update?


Replay button does not clear game state

The replay button in the end doesn't seem to clear game state.

Well, the functionality is unfinished. I'm taking the existing bits out and closing this.


Something Like "nth()" Syntax?

Hi, I am aware of the ":nth-child()" syntax, but I don't think that will help me here.
Suppose I have these elements:

The parent(s) of these elements have totally random classes that reset and are unselectable, thus preventing me from using nth-child. So, how can I instruct it to click on the second div?

click('div.derp:nth-child(2)')


Ability to configure cli parameters of sub-linters

My repository uses build-tags for certain sub-packages. To lint these packages, I need to provide unused a set of -tags. There's currently no hook for users to override the cli args used by the metalinter when executing the sub-linters.

Happy to provide a patch if you're good with the following approach:
(1) add a field of cliOverrides from linterName -> Args(additionalmap[string]string` in this struct https://github.com/alecthomas/gometalinter/blob/master/config.go#L16)
(2) pipe that to linter constructors to override the command.

apologies for the noise, dupe of #275

I believe you could also set tags on a specific linter by using a config which includes something like this:
"linters": {
  "unused": "unused -tags tagone,tagtwo:PATH:LINE:COL:MESSAGE"
}

I guess that is similar to what you proposed, but it lets you override the command and the pattern used to parse output as well.

@dnephin cheers! that got me thinking about an easier way. Posted #336 to address, please take a look.


PostProcessor - issues with large images?

I'm running Umbraco 7.4.3 in Azure with ImageProcessor 4.5.3. Recently, I've decided to install PostProcessor (v1.1.0) for some improved performance (who wouldn't want that right?). At first it worked great, I could notice the size of some images to shrink a lot and there didn't seem to be any issues.
However, quite recently, I've seen some errors in the logs, which look like that:

ERROR Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred
System.IO.IOException: The process cannot access the file 'D:\local\Temp\tmp9523.jpg' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at ImageProcessor.Web.Plugins.PostProcessor.PostProcessor.PostProcessImage(MemoryStream stream, String extension)
at ImageProcessor.Web.Plugins.PostProcessor.ApplicationEvents.PostProcess(Object sender, PostProcessingEventArgs e)
at ImageProcessor.Web.HttpModules.ImageProcessingModule.d__b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar)
at System.Web.HttpApplication.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar)

Did some digging and it seems this only happen with rather big images, however, size doesn't seem to be the only factor. The image it's always breaking on is 6.9MB. I've uploaded some other big images to check it out, it didn't break for other ones around 7MB, but it did break for anything close to 10MB. Those were all jpgs. Any idea on this and how to fix it?

Hi @Slowacki
I had a look at what was happening and it turns out the problem was the following.
When postprocessing image files I put a limit of 5 seconds on the optimizers to do their thing and return the stream. If the optimizer was taking too long (large jpegs) then the process running the embedded optimizer was not disposed of properly (as I was returning early) so it wasn't releasing the file. This fix should handle that.
I've padded out the code with another coupld of safety nets also.
I'll get a new release out asap.
Cheers
James


Use str.format for more understandable code

I went through and replaced most instances of string concatenation with string formatting, which creates a better style and more readable code. For example:
Before:
my_reply += "[**" + app.name + "**](" + app.link + ") by " + app.author + " | "
After:
my_reply += "[**{}**]({}) by {} | ".format(app.name, app.link, app.author)
Before:
my_reply = "You requested more than " + str(Config.maxAppsPerComment) + " apps. I will only link to the first " + str(Config.maxAppsPerComment) + " apps.\n\n" + my_reply
After:
my_reply = "You requested more than {0} apps. I will only link to the first {0} apps.\n\n".format(Config.maxAppsPerComment) + my_reply

Thanks for the PR, really appreciate it. I agree it is much better with format.


Added text captions and pause action when share sheet launched

Added support for text captions with images and pause when launch Share Sheet

New methods added Share(media, text) and Share(Image, text) - allows prefined captions to be added to media (I didn't notice that you previously removed this before making the patch!). This is super-useful when we want to insert URLs for twitter sharing etc.
Calls UnityPause when share sheet launched, and unpause when closed
Removed the  [PHPhotoLibrary requestAuthorization] command as causes major issues on iOS9. Seems to run fine without this request

Overall this looks pretty good. I'm crafting an entirely new API, so I won't merge this (see #49). One interesting question I have is on the decision to pause Unity engine. Why?

Great to know about the new API with text support. We didn't want the game running in the background while share sheet popped up, so preferred using UnityPause when anything system-level is running (we've done the same with email, webview etc). Might be adding as an option?

Ah I guess that's fair. I'll make this the default behaviour.


BLD: switch bluesky dep to bluesky-base

This avoids pulling in additional optional sub-dependencies by default. For example, this prevents bluesky-kafka from automatically pulling in matplotlib and pyside6 as a sub-dependency.

Checklist

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

@conda-forge-admin, please rerender

I'm going to satisfy that conda-forge linter notice while I'm here, I hope that's OK


[5.5] Add a new line after the @json blade directive

This pull request adds a new line after the JSON encoding of the @json blade directive.
We've experienced a bug when using the @json blade directive in the following scenario:
<script>
  var foo = @json($foo)
  var bar = 2
</script>

The above output will return something like this:
<script>
  var foo = {"id": 1}    var bar = 2
</script>

Obviously, we get a syntax error with that output. Adding a new line at the end of @json fixes this problem and will return the following output:
<script>
  var foo = {"id": 1}
  var bar = 2
</script>

Is this really specific to the @json directive? What if I have actual inline json? Wouldn't it be more reasonable to change so that the regex (or whatever does it) doesn't match/consume the newlines after the end parantheses?

What if I'm passing it inside a method that has other params? I won't want a new line in this case.

We may want to update the docs to show putting a semi-colon after the json directive

Good points. Totally overlooked those scenarios. This won't happen with a semicolon but we've just recently switched to following StandardJS so no semicolons for us supposedly. I wonder why the new line is getting removed after declaring the blade directive in this scenario though.
var foo = @json($foo)
var bar = 2

currently doing this to go around no semicolons:
var foo = @json($foo)

var bar = 2

Ah, the good old newline eating.
I've sent a PR to the docs with a note that explains (and warns about) this behavior. Oh, and it adds the semicolon.


fix method ambiguity for sum, prod, etc.

fix issue #62

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.92%. Comparing base (d35abf8) to head (51527cc).

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #64      +/-   ##
==========================================
- Coverage   92.93%   92.92%   -0.01%
==========================================
  Files          20       20
  Lines        2971     2969       -2
==========================================
- Hits         2761     2759       -2
  Misses        210      210

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Error on start

I get an error on server load: https://hastebin.com/emagebofoc.bash
My main.omgc file: https://hastebin.com/ikiyabasul.pl
My database works perfectly with other plugins!
I did all you said here: http://omgpi.tk/docs/

Interested in version you are running OMGPI on. There was a change specific to one library (org.bukkit.craftbukkit.libs.joptsimple.internal.Strings) in 1.12, i will have to put it in OMGPI itself if that is the case.

Ignore the question, i notice that your version is 1.9.x with further inspection of the code. I will fix this shortly.

Check 1.0.1 if that may fix your problem and close issue if it did.

Database works good now.
But the problems with your plugin are:

this error on first load if there aren't any plugins: https://hastebin.com/ajucohibiv.bash (just add an error message like "there is no plugins yet")
I must create myself the /games directory (an auto-create may be good)
the main.omgc file is displayed like that: https://hastebin.com/jofadeduro.diff at the first start
I must create myself the /maps/mapname/map.omgc directory and file and I got this error: https://hastebin.com/urayenaqal.md and my map.omgc file is auto-filed with that: https://hastebin.com/nikumubido.diff
I think that's all for now :D
Sorry for my bad english :/

Always ready to help. Will look into all possible bugs and fix them.

Ok, thank you, your plugin will be awesome! :D

There was no problem with map.omgc. The plugin did not add optional settings to mapfig, which are shown in the docs. Make sure you setup your map for your game properly. The errors were unrelated, but i will fix those anyway. (They were about kitfigs)
The table is infact simply not required. The Docs state, that game creator that makes games for OMGPI should tell how to create a table, or give file to import the table into your database.
Check release 1.0.2 to see if errors disappear.

If plugin did not fix those errors, add displayItem: '{id:stone,Count:1,tag:{display:{Name:"Default"}}}' to Default.kit on your own.

Do you have skype?
If you have, add me: live:benoit.db2000
I have some errors that I need to be explained.
I could show you my problems on screen sharing.

Please use GitHub issues or SpigotMC OMGPI discussion to report bugs and issues.

Your plugin works good now but can you add an auto-create to /maps/defaultmap/map.omgc directory because I get this error: https://hastebin.com/xeviluwusa.css
I get this error when a mob shoot to me in skywars waiting area: https://hastebin.com/yiyuziyibu.bash
I get this error: https://hastebin.com/rofewomupa.md when I tested your Map setup here: http://omgpi.tk/docs/mapfig (column problem probably due to the website)
Why I get a null pointer here?: https://hastebin.com/leqatoteta.md ("Loading game null...")
And after tested your sjywars plugin, when I killed the last people, the game didn't stop, I used this in game.omgc: https://hastebin.com/wevaziyagi.bash and this in map.omgc: https://hastebin.com/taxisopedu.diff but I left the Default.kit empty.

"Loading game null..." is a normal behaviour of OMGPI, meaning it loads random game instead of pre-set one.
YAML error caused by wrong formatting, use YAML Online parser. Problem there caused by colon in a string, do something like - '{stuffhere}'.
Notice the mapfig given in docs is not a proper mapfig: you have to create one yourself. That only shows an example with values that would probably cause errors.
Mob shooting must be fixed in 1.0.3. I would recommend having mob spawning in prelobby (waiting area, as you've called it).
The problem with game not stopping might be due to game not even starting because of the errors of the mapfig. Docs also say that in installation you should create all maps folders yourself.

The game can't stop (I don't know why, I used this config with no error: https://hastebin.com/numireqami.php) and the coins are not saved (no tables in database), maybe because the game don't stop? I don't know.
And the teleportation at the start is so long, the second player is teleported more later that the first.
And please remove the error on console when there isn't map configured: https://hastebin.com/hinaxodazo.css
I get this error, like the shoot before but for the damage: https://hastebin.com/agifuqoyuy.bash

Coins are not supposed to be saved, those are Game Coins meaning they appear only for that game.
All fixed in 1.0.4, except for the problems with mapfig - you got to setup your maps.

Ok all works now good but the start takes always a lot of time.
I don't know how to use kits.
And the rightclick is always buggy, please make it functional in air.

http://omgpi.tk/docs/kits
Right click does not need clicking on blocks.
Starting time is long probably due to your server setup. It works alright on my PC and remote server.

But you said "Right click any block to open "/options" menu." and when I rightclick on air, nothing happen.

Sorry typo, Right click does not need clicking on air now because the inventory is too simple and clicking on air is not that necessary of a feature.

Ok all works fine, I think for the new users, you could add that in Default.kit: https://hastebin.com/ebixulijog.pl and create automatically the /maps directory.
I get this error at the aend of the party: https://hastebin.com/pihejorofi.md
And why am I teleported to the prelobby? Can I be teleported to the hub server with bungeecord for example?
And the game start takes not a lot of time, it's the teleportation between players

Errors appear due to how minecraft world system is made. If there was no world session locking (which i would never understand why it was added) the errors would not appear.
OMGPI is highly customizable - it is open source, meaning any OMGPI user can change OMGPI source code for their liking and have custom one on their server. The teleportation to prelobby is done similarly to servers like Mineplex.

Important questions:
And the game start takes not a lot of time, it's the teleportation between players
And also, how can I do chest refill for the skywars?
And what is the database for? I want the coins can be saved.

For saving coins, you have to have custom games .jars you might code or ask a developer to do.
http://omgpi.tk/docs/loots - chest refilling.
I dont have problem with teleportation between players, as i said, your system might be underpowered.

Ok I now the problem for teleportation, it's my server sorry.
Can you just add a message after a player choosed a kit? there isn't message.

I'll fix GUIs problems tomorrow - only selected items supposed to glow

Ok good, thank you! :D


Column Encryption Setting Enabled not working

SQL Operations Studio Version: sqlops 0.23.6 (8a3011756318a2ded1e6e84332230a2b2bf9c544, 2017-11-06T21:51:43.232Z)
OS Version: Windows_NT x64 10.0.15063

When working with Always Encrypted, I found great you guys created the selection box for the encryption setting but it does not seem to be working at the moment. Has it been implemented yet?
Steps to Reproduce:

Create new connection (to a database with Always Encrypted)
Before clicking Connect, Click the Advanced button
Under Security, click on the "Column Encryption Setting" dropbox and select "Enabled"
Click "OK" and then "Connect"
Run a SELECT statement from a table that has encrypted fields. The encrypted fields will not be decrypted.

The selection box for enabling the Always Encrypted column encryption is wired up and working. The feature is available in the insiders builds and will be generally available in the March release.


Add exiting error code for compute-sanitizer

This PR adds a non-zero exiting code for compute-santizer when it finishes a run and detects a memory leak. Therefore, a test with memory leak will fail as expected.
fix #552

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.25%. Comparing base (555be4e) to head (595be3b).
Report is 5 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #553   +/-   ##
=======================================
  Coverage   92.25%   92.25%
=======================================
  Files          45       45
  Lines        3407     3407
=======================================
  Hits         3143     3143
  Misses        264      264

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update CesiumSunSky directional light intensity

This PR updates CesiumSunSky's Directional light and changes the default intensity from 75,000 lux to 111,000 lux. This is based on the "Bright Sunlight" value from this page - https://en.wikipedia.org/wiki/Daylight. It's a more accurate default value.

Thanks @argallegos


Update to java8 and install graphviz on dev VM

We already use graphviz to generate some diagrams, and I want to generate some more.
We've already updated Java on CI in https://github.com/alphagov/govuk-puppet/pull/7449
cc @kevindew

@MatMoore This will be good to merge now


Environment variables compiled incorrectly in a production build when used in combination with a compare.

Version
3.7.0
Environment info
Environment Info:

  System:
    OS: Windows 10
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  Binaries:
    Node: 10.11.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.13.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 42.17134.1.0
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

Add an environment variable for example VUE_APP_IS_PUBLIC=true in .env.production (or development)
Add somewhere in your code const isPublic = process.env.VUE_APP_IS_PUBLIC === "true";
Do a production build.

What is expected?
The compiled output should be something like: var s = "true" === "true";
What is actually happening?
What you actually see is: var s = !1; (Which is false)

A workaround is to change the variable to something like const isPublic = process.env.VUE_APP_IS_PUBLIC and then check it afterward. It will then compile to: var s = "true"; which is expected.
Could not find any documentation of this so it's probably a bug. This took me a while to find and happened to gave us some unpredicted behavior since we expected the value to be true.
Environment Info is less relevant because we host it in different environments like Azure and IIS.

Can't reproduce this locally, please provide a runnable reproduction in a git repo.

I tried to replicate the problem in a newly created Vue project, however, I also had different results. I forgot to mention the project is made in with the Typescript + Babel template. However, I found some interesting differences in the builds between javascript and typescript. Here's an example:
I added the following method in 'App.vue':
isPublic() {
    // Assume that VUE_APP_SECRET is true.
    var test = process.env.VUE_APP_SECRET === "true";
    console.log("SEARCH_THIS");
}

The typescript result is:
var e=!0;console.log("SEARCH_THIS");
The javascript result is:
var e = "true" === Object({ NODE_ENV: "production", VUE_APP_SECRET: "true", BASE_URL: "/" }).VUE_APP_SECRET;console.log("SEARCH_THIS");
So the Typescript result is intended I think, however, the problem is that I face is that I replace the environment variables after a build. Which is possible in the javascript build but not in the typescript result. My suggestion is to keep both behaviours the same, but I don't know if this it's possible due the typescript dependency.
Also, here is a link of the repo: https://github.com/gilian1993/vue-issue-4015

@gilian1993 Could you also provide a JavaScript example? I can't reproduce this locally.

I'm sorry I think I made a mistake. There is no typescript difference 😅.
However, there is still a significant difference between the following:

var test1 = process.env.VUE_APP_IS_PUBLIC === "true";

Compiles to: var e=!1

var test2 = process.env.VUE_APP_IS_PUBLIC;

Compiles to: var t="true"

Because in the second example, someone could replace the original string value after a build since the original value is used. This is not possible in the first example since the original value is replaced.
Here's a repo of the above: https://github.com/gilian1993/vue-issue-4015-2

I'm not sure if I follow, but that's not a bug:
Webpack DefinePlugin only does simple string replacement and the outcome of this step will be var test1 = "true" === "true".
Since the right-hand side expression is a comparison between two string literals, a JavaScript compressor will certainly pre-evaluate it and turn it into !0.

It might not be a bug, but it can be confusing if you replace environment variables after a release. Let's say that my .env contains VUE_APP_TEST=#{CHANGING_REALEASE_VARIABLE}#. The #{CHANGING_REALEASE_VARIABLE}# is a token variable that will be replaced after a build is done. I want to do this post build because my app is used by different environments while using the same build. In this case, I'm checking for var test1 = process.env.VUE_APP_TEST === "true";. And when building the output will always be false. The workaround would be:
var test1 = process.env.VUE_APP_TEST;
if (test1 === "true") {
....more code

Which is in my opinion kinda confusing, because I expected that process.env.VUE_APP_TEST === "true" would be replaced by "#{CHANGING_REALEASE_VARIABLE}#" === "true" after reading https://cli.vuejs.org/guide/mode-and-env.html#using-env-variables-in-client-side-code. Which tells me that During build, process.env.VUE_APP_SECRET will be replaced by the corresponding value. In the case of VUE_APP_SECRET=secret, it will be replaced by "secret". Which is not the case in this scenario.
I'm not saying that this is a bug, but it could be really confusing in this scenario. Maybe add a little note in https://cli.vuejs.org/guide/mode-and-env.html about this.

Which is not the case in this scenario.

It totally is the case. it works exactly as described.
Your issue is that you try to replace a bit of code that the minifier (not the env variable mechanism) replaced with something smaller (to do its job - minifying your code).
You have to do your replacement before the code is minified, or configure Terser (the minifier) to skip this placeholder (if that's possible).


GraphNode has a wrong left margin in editor plugin only

Godot version
3.5.1stable
System information
windows10
Issue description
When show graphnode in editor plugin, it has a wrong title position which is different with it runs in games.
In editor plugin:

In normal editor or game:

Steps to reproduce
Download any addons with a graphnode editor, assign a custom theme with a graphnode frame theme item on it.
Minimal reproduction project
GraphNodePluginBug.zip

Duplicate of #63256.


Andrei/agora 1650 tenant abstraction contracts factory

The next step in our multi-tenant abstraction journey is complete. The most significant change this time around is that I've replaced references to OptimismContracts with tenant-scoped contract definitions via tenant.contracts.governor, etc. Also, I've swapped out OP-specific implementations (e.g., OptimismGovernorInterface) for generic interfaces like IGovernorContract, ITokenContract. This shift allows us to start programming to interfaces rather than specific implementations.

PR-Codex overview
This PR updates imports related to Tenant to include a nested tenant folder. It also adds new contract interfaces and refactors contract-related code.
Detailed summary

Updated imports for Tenant to include a nested tenant folder
Added new contract interfaces: IAlligatorContract, IGovernorContract, ITokenContract
Refactored contract-related code to use TenantContract class

The following files were skipped due to too many changes: src/app/lib/hooks/useIsOpManager.ts, src/app/delegates/actions.ts, src/components/Proposals/ProposalPage/OPProposalPage/OpManagerDeleteProposal.tsx, src/app/api/common/quorum/getQuorum.ts, src/app/api/common/proposals/getProposals.ts, src/lib/alligatorUtils.ts, src/components/Dialogs/AdvancedDelegateDialog/AdvancedDelegateDialog.tsx, src/app/lib/hooks/useIsAdvancedUser.ts, src/lib/tokenUtils.ts, src/hooks/useAdvancedVoting.tsx, src/components/Admin/ProposalType.tsx, src/app/api/common/delegates/getDelegates.ts, src/components/Dialogs/DelegateDialog/DelegateDialog.tsx, src/components/Dialogs/AdvancedDelegateDialog/useAdvancedDelegation.tsx, src/lib/tenant/tenant.ts, src/components/Admin/GovernorSettings.tsx, src/components/Proposals/ProposalPage/OPProposalApprovalPage/OptionResultsPanel/OptionResultsPanel.tsx, src/components/Proposals/ProposalCreation/SubmitButton.tsx, src/app/api/common/delegations/getDelegations.ts, src/app/api/common/voting-power/getVotingPower.ts, src/lib/tenant/tenantContractFactory.ts, src/lib/contracts/contracts.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Code looks great to me @andreitr, once the indexer is back I will tell you if I find any errors during QA! (probably not)


Ignite 2.0 Tests suite check

For run TC test only, don't merge

Created by mistake, base branch should be not master

Created by mistake, base branch should be not master


For Vault Enterprise we need a way to pass the VAULT_NAMESPACE

For kubernetes auth login, if its enabled only for a specific VAULT NAMESPACE
(as usually what happens when enterprise vault is used), we can pass the following in the deployment spec to retrieve the token. However, in your vault.go you have a call to sys/health, which can only be called from a Root namespace and fails. Please see if there is a way it can be handled or improvised.
# Adding vault namespace to your deployment spec:
env:
 - name: VAULT_NAMESPACE
    value: "myns1"

# Error from sys/health
ERROR	backend.vault	could not get health information about vault cluster	{"vault_url": "https://myvault:8200", "vault_engine": "kv1", "error": "Error making API request.\n\nURL: GET https://myvault:8200/v1/sys/health?drsecondarycode=299&performancestandbycode=299&sealedcode=299&standbycode=299&uninitcode=299\nCode: 404. Errors:\n\n* unsupported path"}
github.com/go-logr/zapr.(*zapLogger).Error
	/go/pkg/mod/github.com/go-logr/zapr@v0.1.0/zapr.go:128
github.com/tuenti/secrets-manager/backend.vaultClient
	/workspace/backend/vault.go:138
github.com/tuenti/secrets-manager/backend.NewBackendClient
	/workspace/backend/backend.go:51
main.main
	/workspace/main.go:98
runtime.main
	/usr/local/go/src/runtime/proc.go:200

Since the vault api and sdk also sources its configuration from the environment variables, there should be no work needed to implement this. The error described here, seem to come from a bug in the api package, updating to api package 1.0.4 did not solve the issue.
Given a time constraint on my side, a plausible workaround was to clone the created client, strip the namespace and make the sys.health call with the cloned api client.
vault.go line 134 we can insert:
vclientHealth, err := vclient.Clone()
if err != nil {
    logger.Error(err, "could not clone the client to perform healthcheck on vault cluster")
    return nil, err
}
vclientHealth. SetNamespace("")
sys := vclientHealth.Sys()
health, err := sys.Health()

Haven't created a PR because I don't know if this solution is up to standards (since is a bit wasteful to create another client just to make the healthcheck), or if it should go directly onto your integration branch, or your release branch (minor release) or both.


Parsing Retrobiocat data model to BioCatHub data model

As soon as a reaction is chosen from retrobiocat, a request is made to BioCatHub containing the retrobiocat model. Following, the data in the model has to be parsed to the BioCatHub Model.
Therefore, the following tasks have to be provided:
[ ] Create a BioCatHub model builder in Pydantic

Pydantic will be used to describe, control and parse the model
[ ] Create a class, which submits the retrobiocat model to the BioCatHub model builder
Data retrieved from the retrobiocat request needs to be deserialised and transferred as attribute to the model builder

 Retrobiocat Model

 BioCatHub Model

Retrobiocat_model = {
    "cofactors": [
        [
            "Amine"
        ],
        [
            "Carbonyl"
        ]
    ],
    "enzyme": "TA",
    "products": [
        "CC(=O)c1ccccc1"
    ],
    "reaction": "Secondary amine deamination",
    "substrates": [
        "CC(N)c1ccccc1"
    ]
}

enzymes = [
            {
        "name": "TA",
        "reactions": [
                        {
                            "name":"Secondary amine deamination",
                            "educts":[
                                {
                                    "name":"",
                                    "role":"substrate",
                                    "smiles":"CC(N)c1ccccc1"
                                },
                                {
                                    "name":"Amine",
                                    "role":"Cofactor",
                                    "smiles":""
                                },
                                {
                                    "name":"Carbonyl",
                                    "role":"Cofactor",
                                    "smiles":""
                                }
                            ],
                            "products":[
                                {
                                    "name":"",
                                    "role":"product",
                                    "smiles":"CC(=O)c1ccccc1"
                                }
                            ]
                        }
                    ]
}

]

Question, how to handle the cofactors in Retrobiocat?

Challenge

In the retrobiocathub model at cofactor, the cofactors are probably separated in "substrate" cofactor and "product" cofactor correct

Model definitions
The BioCatHub model is defined here:
https://github.com/BioCatHub/bch_RetroBioHub/blob/45a9ec940124ed2e3e0ae107bccc7c082bda453e/Models/biocathub_model_pydantic.py#L1-L3
Retrobiocat Model definition can be found here:
Note!


Rewrite merge s2

What does the code in this PR do / what does it improve?

This would solve #526, the idea is to loop over gaps from small ones to large ones and would merge as many as possible.
Now we can put a varying gap threshold for merging based on the area of the merged peak as suggested based on the plot here.

Since the idea centers around looping over gaps instead of time, it's important to keep track of the relation of the gaps. We do this via two lists, one marking the previous gap that's not yet merged, and one marking the next gap that's not yet merged. As show below
0 1 2 3 4 5 6 7 8 9  gap i

- 0 1 2 3 4 5 6 7 8  previous
1 2 3 4 5 6 7 8 9 10 next
              x
- 0 1 2 3 4 5 . 6 8  previous
1 2 3 4 5 6 8 . 9 10 next
      x
- 0 1 . 2 4 5 . 6 8  previous
1 2 4 . 5 6 8 . 9 10 next
          x
- 0 1 . 2 . 4 . 6 8  previous
1 2 4 . 6 . 8 . 9 10 next
        x
- 0 1 . . . 2 . 6 8  previous
1 2 6 . . . 8 . 9 10 next
  x
- . 0 . . . 2 . 6 8  previous
2 . 6 . . . 8 . 9 10 next
x
. . 0 . . . 2 . 6 8  previous
. . 6 . . . 8 . 9 10 next

@zhut19 , I retested it for simulation https://xe1t-wiki.lngs.infn.it/doku.php?id=xenon:j_angevaare:cluster_and_classification_finetuning#pre-release_performance_and_2_fold_example and the result still looks stellar. Thanks!


dotnet 4.7 WPF crash when Wacom drivers present

This was encountered with SyncTrayzor 1.1.16 on 2 machines running Windows 7 Home/Pro; a third machine without Wacom tablet drivers works fine.
The dotnet update was the only update installed between reboots and SyncTrayzor stopped working immediately after the update on the two machines with Wacom Bamboo tablet installed (whether tablet was physically connected or not).
Logs/Crash reports are here: https://github.com/canton7/SyncTrayzor/issues/377
Deactivating Tablet PC functionality in Windows didn't help, so it really must be an issue with .NET 4.7 and the Wacom drivers.

I was able to trace this down to the Wacom drivers. For some reasons the installed version was still at 5.2.4-6 while the latest one available from the web is 5.3.5-3. Updating solved the issue.
Sorry for making a fuss.


Fix _ViewLifeCycleHandler._tryGetNavigationParams proceeding in getting params if not annotated with navigatable

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Throws invalid operation exception when reading a view model not annotated
Expected Behavior
No exception
Steps To Reproduce
No response
Exceptions (if any)
No response
Anything else?
No response

To be fixed by https://github.com/ERNI-Academy/starterkit-mobile-application-flutter/commit/07639a6048adc0482b6d79ffbce88b06039af415


Update quill-jdbc, quill-jdbc-zio to 3.16.2

Updates

io.getquill:quill-jdbc
io.getquill:quill-jdbc-zio

from 3.10.0 to 3.16.2.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.getquill" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #279.


Bionic Reading

Please add Bionic reading support.

We've discussed adding Bionic Reading support in the past and have decided not to add it at this time.  There aren't any scientific studies (that we know of) that show that Bionic Reading does in fact aid in reading comprehension.  We want some hard science before adding it to NNW.


added Word recall challenger

Word recall challenger and #4819

Close #4819

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have created a helpful and easy to understand README.md

@MohitGupta121 @TusharKesarwani sir kindly review and merge this PR


More sprites

Adding the rest of the sprites. Right now tall sprites are squished in the gallery but I'll fix that later.
@jwunderl @ChaseMor FYI: don't take a dependency on the ordering of these sprites in the UI. I'm probably going to do a second pass and fix up the names/ordering at some point but it'll require some pxt-core work.

awesome, thanks!

...and here's falling duck: https://arcade.makecode.com/86383-38337-63501-37482

This makes me so happy! :blush:

Are all the assets integrated with this change?

Yep


Fix: Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated

@BrainMaestro can we get a stable tag for 3.0 with these fixes please?

Great, thank you! I don't mind the alpha since we are using this repo on many projects right now, I just want it to be up to date tag-wise 👍

@BrainMaestro any update on the tag?

Hello,
@ZejdCicak Thank for fixing this issue.
@BrainMaestro We need this fix too on our project because we now have php 8.2 installed too. Do you have any update on the tag?


fix: use correct function call in jotai wrapper example

Hey @mrousavy , thanks for the awesome library!
I just have a small change, which corrects the jotai wrapper example to use the correct function call in respect to the imports from jotai/utils
Thanks!

Thanks! LGTM


None has no attribute usable can still pop up with AnnularSpectra definition

This error has been plaguing me for a while. This time I suspect that it is specifically happening because not all annuli for a particular ObsID-inst of a particular annular spectra are having spectra generated.
You would expect this to throw an error which would mean we never got to the spectrum generation stage, but instead we get the warning that I put in place for this eventuality:
"An annular spectrum component (ra234.89125_dec-83.59222222_ri0.024166658764440446_ro0.030208323455550558_grpTrue_mincnt5) for<PHONE_NUMBER>mos2 has not been generated properly, contact the development team if a SAS error is not shown."
I suspect that something is going funky with this ObsID-inst combination because it is a small window mode MOS pointing - though why that means we don't get a proper error I do not know

I will do two things for this - first AnnularSpectra will not require that each annulus has an entry for  each ObsID inst combo associated with the AnnularSpectra. Honestly this is just a good idea in general I think (hopefully it won't break anything downstream).
Secondly,  I think that the warning can be made more useful - maybe by printing the stdout and stderr. It would be unsightly but much more useful debugging.

I think I'm also going to add a try except to the reading in step - to ensure that redeclaring samples can actually go ahead in times like these


Inconsistent indentation behavior for tree like model list view's search results

As ...
Ozzie - Operator
I want ...
Prefixes & locations on the global search pages (i.e. /search/?q=XXXX) to not show indentations without a parent item.
Additionally, child prefixes should not show indentation with no parent prefix shown (i.e. on /ipam/prefixes/XXXXX/prefixes/).
These items were fixed for other pages in #5475 / #4811
So that ...
The view of prefixes/locations doesn't look wonky and confusingly indented under the wrong parent items.
I know this is done when...

I search for a prefix or location using the All Objects search and there is no indentation for a prefix/location when the parent prefix/location isn't shown in the search results

I look under the child prefixes tab under a prefix and indentation starts at the root level of indentation for any child prefixes.

Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[X] DCIM
[X] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Apps (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[X] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
I don't believe so
External Dependencies
No response

As mentioned in Slack, there are some items missed in fix #5475 / #4811 for indentation of fields in the UI.
Search on a page like prefixes seems to be fixed by the above items (i.e. /ipam/prefixes/?q=XXXX) and things are not indented.
Prefixes & locations on the global search pages (i.e. /search/?q=XXXX) still show indentations without a parent item.
Additionally, child prefixes also show indentation with no parent prefix shown (i.e. on /ipam/prefixes/XXXXX/prefixes/).
Related to this, when serching within prefixes/location pages (e.g. /ipam/prefixes/?q=XXXX), there is no indentation when both a parent prefix and child prefix are returned .  It would seem like it would be expected to be shown indented under the parent when both are visible.  Same for locations.
It seems like the indentation was fully removed when filtered although it really only "needs" to be fully removed when sorting.
When filtering, ideally the indentation would be maintained.  It would just be normalized so if the parent object was filtered out, then the child object shown is not indented/indented one level less.  But if parent and child are both returned with filter applied and no sorting is done, then it should show the appropriate indentation.

Indentation issues also for Prefixes list under a VLAN (i.e. /ipam/vlans/XXXX)


Strings translation support

Since we usually work on projects that support multiple languages, I would like to create a plan for implementing internationalization. It would be ideal to store all strings in a strings.js file and devise a strategy for translating them. Perhaps we can achieve this by passing strings as prop to the form and adjusting the code accordingly. @robmarshall maybe you have a better idea?
I would like to work on it as soon as possible as it is quite importnat feature for us

Perhaps we can achieve this by passing strings as prop to the form and adjusting the code accordingly.
I think this may be the best thing to do at the moment. I already have concerns that helper messages are unable to be edited.
For example, if I wanted "This is an invalid phone number" to be "Oops - check your digits" - this is currently not possible.
What are your thoughts on:
If there was a "helpersText" object that the user could overwrite all or some messages. Which would then be merged with the internal error string file.
e.g.
helperText: {
    required: 'Should be included',
   pattern: {
      email: 'This is wrong',
  }
}

Merged with our base strings:
errors: {
    general:
      "There was a problem with your submission. Errors have been highlighted below.",
    leastOneField: "At least one field must be filled out.",
    unknownError: "An unknown error occured.",
    required: "This field is required.",
    pattern: {
      email:
        "The email address entered is invalid, please check the formatting (e.g. email@domain.com).",
      phone: "This is an invalid phone number.",
      default: "The format seems to be wrong.",
    },
    maxChar: {
      front: "Need more than",
      back: "characters.",
    },
  }

Would be:
errors: {
  general:
    "There was a problem with your submission. Errors have been highlighted below.",
  leastOneField: "At least one field must be filled out.",
  unknownError: "An unknown error occured.",
  required: 'Should be included',
  pattern: {
    email: "This is wrong",
    phone: "This is an invalid phone number.",
    default: "The format seems to be wrong.",
  },
  maxChar: {
    front: "Need more than",
    back: "characters.",
  },
}

Then users can handle their own translations by passing in different strings depending on the what is needed.
We could provide a documented example of how to do this, but would rather not include translations within the package,

this can be close within this pr: https://github.com/robmarshall/next-gravity-forms/pull/18


hard-coded values in the code is not a viable long term solution

The code example contains simple hard-coded values.
How would you handle a list of certificate issuers and subjects? That list would be subject to changes when new clients are added.

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

ID: 51769134-4b97-0a48-3031-cbcea10ca714
Version Independent ID: dc70bd8c-54be-1592-2137-aed9cae0094b
Content: Secure APIs using client certificate authentication in API Management - Azure API Management
Content Source: articles/api-management/api-management-howto-mutual-certificates-for-clients.md
Service: api-management
GitHub Login: @vladvino
Microsoft Alias: apimpm

Hello @Corendiel - Thank you for your feedback! We will review and update as appropriate.

@Corendiel You can leverage Named Values here along with policy expressions. For example, you could maintain a comma separated list of values to accept and then use a condition like this
"{{AllowedSubjects}}".Split(',').Contains(context.Request.Certificate.SubjectName.Name)

@PramodValavala-MSFT , I found this other page
https://docs.microsoft.com/en-us/azure/api-management/api-management-access-restriction-policies#validate-client-certificate
It's a much nicer way of doing it. That How to article should probably feature only that solution or at least mention it.

@Corendiel Yes. The newer policy is nicer. It would still require updating the policy document unlike the named value which is separate. Either way is a valid approach.
You right about this doc including a sample with the new policy.  Thanks for bringing this up! We have assigned this issue to the content author to review and update accordingly.

#assign:@dlepow

Thanks for providing feedback that helps improve our documentation, and we apologize for delays in responding to you. This issue has been resolved with updates to the article here and we are closing the issue.
#please-close


Feature request: FzfLua resume (like CocListResume)

Thanks for the great plugin.
I think it would be useful to have a command like CocListResume to reopen the picker that was executed just before.
It would be nice to be able to restore the input state as currently implemented in file_resume and live_grep_resume.

Anything specific you're missing, I would assume most of the functionality revolves around files/searches, between files_resume, grep_last and live_grep_resume most of it is covered, the LSP part could probably use that.

Yes, it would be useful for things like references.
I prefer to have a single command that I can use with the thought of "I want to execute the previous operation again" (although in reality, I'm probably mapping it).

Added with the last commit, require a tiny bit of refactoring but turned out better than I expected, can even resume custom implemtations if done right :-)
Try it out and let me know?

Amazing!!
It's exactly what I was looking for. Thank you very much!

Just fixed a tiny issue of the typed query being saved between different providers, for exmaple, open files, type a query, open grep and then open resume - the typed query from files would be entered into the grep prompt.
Let me know if you find any other issues?

So far, it's working without any problems. I'll let you know if I have any problems.


Swagger validation - validate against correct response model

Right now we validate errors against the 2xx model which is not correct.

Actually, no, that's not true, user error.


getShippingMethods and getPaymentMethods

could it be implemented that all available shipping and payment methods could be retrieved?

I will have a look at it.

As you can see when you call the index of available actions/endpoints
Woocommerce::get('')

there's nothing to retrieve the available payment methods.
For the shipping methods there are good news. You simply call
Woocommerce::get('products/shipping_classes')


Can clone & push private repository when using apache proxy

Hi. I've created an instance of Gogs on a subdomain in apache, using a proxy in the VirtualHost, but it allows anyone to clone, and push to a private repository.
Setting it up using example.com:3000 results in an authentication check, but using the proxy, and git.example.com simply allows all access.
The web interface works as expected, and stops access to the repo, its just the command line.
In my apache config, I have (as per @Unknwon suggestion at https://github.com/gogits/gogs/issues/158):
<VirtualHost *:80>
ServerName git.example.com
ProxyPass / http://<IP_ADDRESS>:3000/
</VirtualHost>

and my Gogs URL settings are:
DOMAIN = git.example.com
ROOT_URL = http://git.example.com/

I am using the latest binary release version of Gogs - <IP_ADDRESS>7
Apache is version - Apache/2.4.7 (Ubuntu)

but it allows anyone to clone, and push to a private repository.

What are the steps to reproduce this on your server?

It is over HTTP.
After creating a private repo on my Gogs instance, I run git clone http://git.example.com/arctican/test.git from a completely separate machine, and it clones it without asking for username/password. I can then make changes, and upload to the repository using git push.

Thanks.
Have you tried another machine?

Yes, I tried to clone from my brother's machine, with the same result.

Would you be possible to do tests directly use http://localhost:3000 without Apache?

Sure.
I SSH'd into the machine and stopped apache.
Running git clone http://localhost:3000/arctican/test.git successfully asks for a password.

OK... there is no chance anyone could bypass authorization and pull/push through HTTP.
Any chance you have saved user/pass info in git config for the domain?

Sorry, you are correct. It appears to have stored my git username/password. I created a new user on my machine, and it asked for the username/password.
However, I don't know why my brother's machine allowed a clone. He has never used git so it can't have stored anything in the past. I possibly changed the apache config between testing his machine and creating this issue, and it was incorrectly set up before. I will test his machine again in the morning, but I feel this can be closed.
Thanks for your help.

However, I don't know why my brother's machine allowed a clone. He has never used git so it can't have stored anything in the past. I possibly changed the apache config between testing his machine and creating this issue, and it was incorrectly set up before. I will test his machine again in the morning, but I feel this can be closed.

Maybe you tested with a public repository? :trollface:

Same issue. Anyone can clone/push public or private repository over HTTP without asking for username and password.


ENH: add top-level bluesky-related callbacks module (with uid publisher)

See [https://github.com/NSLS-II/bluesky/issues/220] for details
Made a bit more generic from my HXN implementation as EpicsSignal shouldn't be necessary. Added in some EPICS database notes.

Some analysis-related and realtime scan viewer things - it's the start of our data pipeline until we come up with a standardized solution.
I use it in conjunction with this as I mentioned in the other issue. The base class monitors the uid signal and notifies those subscribed; the sub-classes of it grab info from mds or distill the run start document into a few parameters we want to know about for each scan at the HXN.

:beers:


Update tag line from check how well you are doing in hacktober to open source immersion alternative

Looks like this issue has been fixed by these PRs
#7 #8

Nice Catch @stephenjude, this has been partially fulfilled  but we still have some instances of hacktober in the codebase

Oh, just found out. Let me work on it.

Fixed with #10


Add all the tests

Testing all i18n functions WordPress_Code_Extractor supports would be great.
Perhaps we can borrow something from https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/blob/615323e260492c6192bda208d390dab7158aa937/WordPress/Sniffs/WP/I18nSniff.php as well.


Update Copyright

As the project has garnered new contributors, and the year is now 2021, the copyright needs an update on the source code to:
/*
 * Copyright 2021 Plume Authors
 *

 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *

 * http://www.apache.org/licenses/LICENSE-2.0
 *

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

This line should be placed above the package line under all files in plume/src/main/kotlin/**.kt.

Present in v0.4.1


Arrow Background is incorrect

Hi :)
I got this intermittently before, now it is constant https://github.com/nvim-neo-tree/neo-tree.nvim/issues/32

other icons seem fine.
When I got it intermittently, a second PackerCompile would confusingly make it go away (I would think that would be deterministic). Now it is sticking around

Is your theme is applied via packer? If it is, then maybe the highlight groups are affected by the order in which plugins are setup.
The highlight group being used for this is NeoTreeDirectoryIcon, which will default to linking to TabLineSel if that group exists and has a background or foreground set. Can you check what the value is with :hi NeoTreeDirectoryIcon?
This will set it to the default value that I use:
:hi NeoTreeDirectoryIcon guibg=NONE guifg=#73cef4

Also, are you on 1.x or main?

Is your theme is applied via packer?
yup

I tried changing the order, but maybe I screwed it up. I am using https://github.com/navarasu/onedark.nvim

:hi NeoTreeDirectoryIcon guibg=NONE guifg=#73cef4

that fixes it :)

Also, are you on 1.x or main?

1.x

OK, you'll want to set that highlight group somewhere in your config. Maybe TabLineSel was a bad choice to link to!
In the next release, I'll just set it to the setting I gave you instead of trying to link to something.


RATIS-1267. Fix ratis examples after supporting streaming

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
What is the link to the Apache JIRA
(Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. RATIS-XXXX. Fix a typo in YYY.)
Please replace this section with the link to the Apache JIRA)
How was this patch tested?
(Please explain how this patch was tested. Ex: unit tests, manual tests)
(If this patch involves UI changes, please attach a screen-shot; otherwise, remove this)

@ferhui , thanks a lot for working on this.  We should make Streaming port optional for these examples since they are not using Streaming.

@szetszwo Thanks for review!
New commits:

datastream port is optional
fix client argument


Upon first install of PowerShellGet v3, there is no repository registered and getting bad error message

Installed PSGetv3 beta-1
Using any cmdlet includig get-PSResourceRepository returns:
PS> Find-PSResource manage

Find-PSResource: Was not able to successfully find xml

PS>
Get-PSResourceRepository
Get-PSResourceRepository: Was not able to successfully find xml

Running Register-PSResourceRepository -PSGallery fixed the issue.  Seems like if there are no repositories registered, we should prompt if the user wants to register PSGallery.

Addressed with release of 3.0.0-beta2


Feature: permission to schedule query

We had a problem on Redshift where people were scheduling really expensive queries and slowing down our whole cluster. This allows us to whitelist particular users with the ability to schedule queries.

Thanks!


[Bug]: Selecting Questions in Contact Profiles

Describe the issue
Our customer noticed that questions can be selected in contact profiles. If you select a question, an error message appears.

We would suggest you to implement the attached code so that the field is not editable beforehand.

This is how you can avoid unneccesary clicks for the customer. Could you please integrate this into the Business Central standard? The Microsoft support team asked me to post this here. Thank you very much!
Expected behavior
The field should not be editable for questions.
Steps to reproduce
Open the Contact Card.
Open the Contact Profiles.
Select a Question.
Additional context
No response
I will provide a fix for a bug

[X] I will provide a fix for a bug

I'm afraid support misinformed you 😟 I will talk to support about that.
This repository is only for extensibility requests or pull requests towards the 1st party Business Central apps.
But since your request is very fair and you've already provided a solution, I will address the issue for the upcoming major release. But going forward, please don't use this repository for bug reports.
Thank you for your bug report!


Crud features

Added 3 new triggers

GroupCreated
GroupUpdated
GroupDeleted

Added 5 new actions

Create a Group
Update a Group
Archive a Group
Delete a Group
Get GroupTypes (internal)

Please check the following conditions for your PR.

[x] apiDefinition.swagger.json is validated using paconn validate command.
[x] apiProperties.json has a valid brand color. Invalid brand colors are #007ee5 and #ffffff.

About the conflicts within the pipeline.
The issues are about "breaking changes with existing flows".
Our customers are aware of the possible breaking changes.
We will guide them through this update.


Keep initialisation code in the init method

A lot of elements have been using setParent or addChild to do in initialisation code.
This was because element parents and children were not set until after the init method had ran.
This has now been fixed.

Init is now still called when the element is first instantiated. ready() is now called when everything to do with that element is ready.


Create CI/CD branch and add badges to README

Create CI/CD branch and add badges to README

Merged pull request #6 from AlexandrovLab/travis


Publish a list of readily-procurable CF-savvy vendors for professional services

In order to reduce the market research that customers must perform to find Cloud Foundry-savvy vendor services, the cloud.gov website should include a list of readily-procured vendors with a link to additional information.

CF.org integrator list
Thread about things customers want vendors to emphasize
RFI respondents
Initial cut, with eLibrary references
eLibrary entries to cross-reference for URLs

We should definitely get @MCHopson to review the PR when it's ready!


[dashboard] GPU limits are not taken into account

In the dashboard if I specify a number of GPU for my master/worker, this is not taken into account at the creation and pods will have no resource limits.

This needs to happen first: https://github.com/kubeflow/tf-operator/issues/450

Hi, @wbuchwalter Do you think we need a separated repo for dashboard, such as kubeflow/tf-dashboard.
@jlewi WDYT?

@ScorpioCPH We have some discussions in #389 . I think we could create a repo for the dashboard.

@gaocegege Good!

@wbuchwalter Should this be P2 or P1? P1 means it will get done by our 0.2 release which is end of June.

Removing this from the  0.2 release because it doesn't look like its going to make the cut at this point.


Relative and absolute path of the same file open from SCM(Git) compare

VSCode Version: 1.44.2
OS Version: Windows_NT x64 10.0.18363

Steps to Reproduce:

Click on 'Explorer' and open any file
Modify file and save
Click on 'Source Control' and open modified file
Click on the 'Open File' icon in the SCM changes list

Does this issue occur when all extensions are disabled?: Yes
After all steps are completed and if the issue has been replicated, there should be 3 tabs open:

Relative path to file (from steps 1 and 2)
Working Tree tab. Its using Absolute path. (from step 3)
Absolute path to file (from step 4)

The issue is that there is a relative and absolute path of the same file opened. I believe VS Code should regain focus on the relative path tab after step 4 .

And today, with no known changes to my system that would effect this issue, I'm not able to replicate the issue.

Great to know, closing this.


Admin "new stuff" email

In case I miss something. @mrmwiebe Do you want to receive this too? Just a simple email every week that lists new Winnitrons, games, etc. The way I wrote this here it will only send to me, but I could easily change it to send to all admin users, for example.

Sure!  Sign me up. :)


[SRVKE-1324] Remove matchExpression from webhook definition

See https://github.com/openshift-knative/serverless-operator/pull/1755 and
https://issues.redhat.com/browse/SRVKE-1324 for more details.
Signed-off-by: Pierangelo Di Pilato<EMAIL_ADDRESS>

/lgtm
/approve


CURRENT_MAX_PRECOMPILE_ADDRESS does not include keccak256 precompile

I'm referring to the Constants:
address constant ECRECOVER_SYSTEM_CONTRACT = address(0x01);
address constant SHA256_SYSTEM_CONTRACT = address(0x02);

/// @dev The current maximum deployed precompile address.
/// Note: currently only two precompiles are deployed:
/// 0x01 - ecrecover
/// 0x02 - sha256
/// Important! So the constant should be updated if more precompiles are deployed.
uint256 constant CURRENT_MAX_PRECOMPILE_ADDRESS = uint256(uint160(SHA256_SYSTEM_CONTRACT));

I might be confused, but shouldn't this be 3 contracts? The keccak256 precompile is deployed at the address 0x0000000000000000000000000000000000008010 if am not wrong.

Hey @pcaversaccio, thanks for looking into the code!
We want to distinguish all the EVM precompiles (ecrecover/sha256/RIPEMD-160/...) and zkSync-specific ones (only keccak256 at the moment). The idea behind this is that EVM precompiles are guaranteed to have zero code size and the zkSync specific does not really need to hold this invariant.

Reference of place where constant is used:

https://github.com/matter-labs/era-system-contracts/blob/main/contracts/AccountCodeStorage.sol#L131

The idea behind this is that EVM precompiles are guaranteed to have zero code size

Are you sure this is enforced in the clients? Check for instance create I don't see how it would revert if I would deploy via an account nonce and address that leads to the 0x01 address for instance (would appreciate if you could point me to the code, where such a revert is enforced). The same reasoning applies to Create2.
So if I understand it correctly, in theory, there is the possibility to deploy a contract to 0x0000000000000000000000000000000000008010 (i.e. keccak256)? What's the underlying reason for not enforcing the similar EVM behavior?

The contract deployer is a contract that is responsible for all create/create2 calls. Here is the place which prevents users from deploying on the system contracts zone (still a very unlikely event).

https://github.com/matter-labs/era-system-contracts/blob/main/contracts/ContractDeployer.sol#L260

Oh I see, that makes sense. But the remaining question is whether this behavior is enforced by the clients on Ethereum. See above my links to the Geth implementations.

Fully agree, I just wanted to challenge your statement: "The idea behind this is that EVM precompiles are guaranteed to have zero code size"
=> This is actually a probabilistic statement that holds P-a.s. (and let's hope it won't ever be broken) and is not enforced by the EVM implementations on Ethereum.
For the sake of documentation (for anyone reading this issue), the second bullet point refers to this:

A non-existent account in EIP-1052 refers to an address that does not adhere to EIP-55 correct?

"The idea behind this is that EVM precompiles are guaranteed to have zero code size"
=> This is actually a probabilistic statement that holds P-a.s. (and let's hope it won't ever be broken) and is not enforced by the EVM implementations on Ethereum.

Agree, it is a probabilistic statement. However, I would still stick to the current invariant enforcement.

A non-existent account in EIP-1052 refers to an address that does not adhere to EIP-55 correct?

Don't understand how the non-existent account relates to the EIP-55 (address checksum). Could you please elaborate?

Agree, it is a probabilistic statement. However, I would still stick to the current invariant enforcement.
Yes, fully agreed. So even the black swan event couldn't happen :)

Don't understand how the non-existent account relates to the EIP-55 (address checksum). Could you please elaborate?
Actually, I was confused - I wanted to refer to EIP-161. So is my understanding of the following correct on zkSync:

An account is considered empty when it has no code and zero nonce and zero balance.

But what's your understanding of a non-existent account on zkSync? As stated in EIP-158 "Whenever the EVM checks if an account exists, emptiness is treated as equivalent to nonexistence"; so I don't see any difference anymore. Or in other words, using the following condition:
extcodehash(precompile_address) == 0 || extcodehash(precompile_address) == keccak256("")

When is the first condition true?

@vladbochok a quick reminder about my question above

Evm

AGREE


Image File uploading to server

File upload library: multer

it is express middleware.
it support to sending multipart/form-data format.

File resizing library: graphicsmagick

it support to make thumbnail, image resizing, blur, etc

Here it is sample source code.
http://webframeworks.kr/tutorials/expressjs/expressjs_file_upload/
server architecture
http://engineering.vcnc.co.kr/2016/05/ondemand-image-resizing/

Or we can save the data as data url(base64 encoded) to database. :)

I checked to save Base64 encoded image file in database.
It normally not used this flow.
Because Base64 encoding increases the storage requirement by 33% over a raw binary format. It also increases the amount of data that must be read from persistent storage, which is still generally the largest bottleneck in computing. It's generally faster to read less bytes and encode them on the fly.
in case of 600KB under image size, it is faster than file transfer. but our scenario, usually 3~4MB or bigger image file will be transferred.
I think it is inefficient. How about your opinion? @romandev


More permissive Gateway

The new acceptConn rules are detailed in the commit message of 3c6b222. Another important change is that only outbound connections will count towards the wellConnectedThreshold.
This latter change may be a problem, now that I think of it. The reason is that port-forwarded nodes are a scarce resource, and we don't want to overwhelm them with connections. Perhaps 3-5 outgoing connections would be healthier.

upnp should make peers more available, we have that implemented now. Thus far, nobody has complained that they aren't able to get to 8 peers (unless they are stuck at 0), and in 99% of cases you get 8 outbound peers before you ever get your first inbound peer anyway.
Even 8 seems weak to me, and I think it's only worth keeping it that low to minimize total network overhead while our broadcasting + routing algorithms are naive.

https://github.com/bitcoin/bitcoin/pull/6014
long discussion on why more outbound connections is bad

8 seems weak from a what-if-they-are-all-evil perspective, not a how-fast-and-efficiently-will-this-block-propagate perspective.
Many people would suggest that networking is the weakest link in Bitcoin. It's not an easy thing to fix though.
Right now I think the average long running peer does end up with like 40 connections (assuming ports forwarded).

Bitcoin also has stronger sybil defenses such as banning nodes on the same /24

Looks good to me except I'm not sure that 3 seconds is long enough for the acceptInterval.

The common case (where kicking becomes relevant) is going to be 8 outbound connections and 120 inbound connections. At maximum churn (1 new inbound connection every 3 seconds), the average connection duration for an inbound peer is 3 seconds * 83 connections = 4 minutes (assuming my math is correct: (119/120)^83 < 0.5)
Longer acceptIntervals are annoying because they significantly slow down testing.


Question: mesos-consul interaction with marathon folder

Marathon framework recently introduced folders to group application.
The effect on mesos task is to prefix the task name by the name of the prefix and an underscore. For instance:
/my/group/application

will have tasks named:
my_group_application.16836b3f-d40e-11e5-b006-c4346bb5c9dc

Consul recommends to use dns compatible names which does not include underscores.
What would be you recommendation to cope with those names?
Could we consider a way to rewrite task names to replace underscores ?

mesos-consul currently strips '_'s from the task name.
my_group_application.16836b3f-d40e-11e5-b006-c4346bb5c9dc

would be registered as
mygroupapplication.16836b3f-d40e-11e5-b006-c4346bb5c9dc

I'm not sure what else we can do. It would be nice to register it as /my/group/application in Consul but the service API doesn't support grouping.

thanks for your response.
I think service name would make more sense if the underscore was replaced by an hyphen. It would reflect the hierarchy that marathon users are trying to define.
What do you think?
Maybe we could have this as an option?

@ChrisAubuchon would you accept a PR to replace _ by -  instead of blank ?
Would you prefer to have the replacement character passed as an option and default to blank ?

Sure. I don't have a preference to be honest. It'd be nice if consul had service groups though.

Sadly, I though mesos-consul used the task ID to name the service and just discovered it uses the tasks name.
In the case of marathon, task name are completely different when using a folder
The application /my_group/application in marathon will be named application.my_group.
I need to find another patch.

The behavior is challenged in mesosphere/marathon#3163

I've implemented a patch to use the taskID instead of the taskName to name services.
https://github.com/criteo-forks/mesos-consul/commit/1ff7a6b1f5aac637d46a526e1fd1a1fdb45c11da
However I thinks this is very specific (will help only marathon users and might break other frameworks users).
@ChrisAubuchon coudl you reopen this issue ? I would be glad to take your input on this.


Allow typescript dependency in peerDependencies

My package.json looks like this. The api-client package a local yarn workspace package in this case. Typescript is supplied via a root package.json file in a parent directory and is available this way.
This MR allows these kinds of setups without throwing an error:
{
  "name": "api-client",
  "private": true,
  "scripts": {...},
  "devDependencies": {
    "@hey-api/openapi-ts": "0.43.2",
    "js-cookie": "3.0.5"
  },
  "peerDependencies": {
    "axios": ">=1.6.5",
    "typescript": ">=5.4.5"
  }
}

Should be fixed now 👍

This is fixed in v0.44.0, thanks @Maggi64!


How to make a simple prediction on a single image after training?

I have trained a model. The code saves the .pth file in a directory. But I am having trouble trying to simply load the model and predict a single image. The code only saves the Discriminator.

I achieved single-image predictions by instantiating an instance of the simplenet class. Subsequently, I loaded the Discriminator from the saved .pth file and assigned it to the simplenet instance. Following this, I applied the necessary torch transformations to the image and called the simplenet._predict function to obtain the score for the image.

I achieved single-image predictions by instantiating an instance of the simplenet class. Subsequently, I loaded the Discriminator from the saved .pth file and assigned it to the simplenet instance. Following this, I applied the necessary torch transformations to the image and called the simplenet._predict function to obtain the score for the image.

Hello @felipebattist ,
I am trying to do a similar thing, could you explain how did you turn your image into something like test_data please?

Hi, can you show me your code? I also encountered this problem


Curated some MONDO-MeSH mappings (sumir)

Hi I have curated 4 mappings. Kindly let me know if there are any errors. Thanks

@cthoyt Thank you


Scientific Computing with Python: Probability Calculator: improving problem statement

Describe your problem and how to reproduce it:
The unit tests for the probability calculator are broken and cannot be passed with an actual solution for the project.
The test for test_prob_experiment performs two tests.  The other similarly requires six balls (2 yellow, 3 blue, 1 test) but draws 20.
The unit test in question:

def test_prob_experiment(self):
    hat = prob_calculator.Hat(blue=3,red=2,green=6)
    probability = prob_calculator.experiment(hat=hat, expected_balls={"blue":2,"green":1}, num_balls_drawn=4, num_experiments=1000)
    actual = probability
    expected = 0.272
    self.assertAlmostEqual(actual, expected, delta = 0.01, msg = 'Expected experiment method to return a different probability.')
    hat = prob_calculator.Hat(yellow=5,red=1,green=3,blue=9,test=1)
    probability = prob_calculator.experiment(hat=hat, expected_balls={"yellow":2,"blue":3,"test":1}, num_balls_drawn=20, num_experiments=100)
    actual = probability
    expected = 1.0
    self.assertAlmostEqual(actual, expected, delta = 0.01, msg = 'Expected experiment method to return a different probability.')`

Add a Link to the page with the problem:
https://repl.it/github/freeCodeCamp/boilerplate-probability-calculator
Tell us about your browser and operating system:

Browser Name: Firefox
Browser Version: 84.0.1(64 bit)
Operating System: Win10 home 64 bit v2004

If possible, add a screenshot here (you can drag and drop, png, jpg, gif, etc. in this box):

Could you be more specific why this makes tests broken? Experiment is supposed to determine probability of drawing specific balls - expected_balls - from the hat  when drawing num_balls_drawn balls from it. This doesn't seem to be incorrect.

In combination with the problem statement section describing expected_balls:
* `expected_balls`: An object indicating the exact group of balls to attempt to draw from the hat for the experiment. For example, to determine the probability of drawing 2 blue balls and 1 red ball from the hat, set `expected_balls` to `{"blue":2, "red":1}`

'Exact group' indicates expected_balls is not a subset - that expected_balls and the result are identical.
So either the tests are broken, or the problem statement doesn't align with the intent.

Would you have suggestions how wording can be improved here to avoid such confusion?

Sure - how about:

expected_balls: An object indicating a set or subset of balls to attempt to draw from the hat for the experiment. For example, to determine the probability of drawing at least 2 blue balls and at least 1 red ball from the hat, set expected_balls to {"blue":2, "red":1}

Hello there,
Thank you, for taking the time to open this. However, I am closing this issue as stale. That is, I have not seen this confusion come up on the forum, nor elsewhere on the platform.
Personally, see no issue in the wording of the user story. This is one clause: "exact group of balls to attempt to draw" - the group is referring to the group you draw, and therefore should be exact. It is not referring to the hat set.
If you are still unsure, I recommend opening a topic on the forum.


Add Loading flag in data package

As with comment on that line, we would want to think through how we handle stateful loading before we proceed here.  We could also elect not to do this with hooks in the more library/specific code and document there, or let folks manage that state themselves


Move AAS Web UI to own repo

Moves the BaSyx AAS Web UI to it's own GitHub repository

@netomi I need some help here. As suggested in a previous PR where we added a new repo using otterdog, you advised to set default_workflow_permissions: "read" and set write permission per workflow.
I am trying to do exactly this in this PR but the workflow is not getting triggered. I double checked that the reason is not in the on: part of the workflow. I also added
permissions:
  contents: write

right beneath the on: block. Do you have an idea why the workflow is not being triggered/executed?


NMS.GEN.DEPL.004 - Maintain deployment status of services for each state

The NMS system shall maintain deployment status for each service (Deployed/Not-deployed) for each state.
If any incoming request is received for a service from a state that is Not-deployed in that state, then appropriate error message shall be played (e.g. Service Not Available in the state) in standard Hindi.
Deployment state of service shall not influence the data upload procedures mentioned in Data & Language Management section for MA, MK and KK (i.e. FLW and beneficiary data upload for a given state shall be allowed even if the service is not deployed in the state).

New entity DeployedService with fields:
Service
State
If no entry in table, assume not deployed
Check this table from all getUser APIs and when user's language gets set
Could live in region module (or potentially a new module, but region might make more sense)

I started work on this, but I wasn't able to finish it before I had to head out.  You can pick it up from my branch (https://github.com/motech-implementations/mim/tree/%23134) or start over.
While working on it I noticed a couple of things:

The API tests are out of control, specifically in regards to data creation.
The API layer for get user and maybe set language needs to be refactored.  The rules are a little complex and the order items are loaded can vary based on what needs to be checked.  For example we do a couple of state based checks (whitelist and service deployment).  We can get an FLWs state three ways (they can have it associated with them if they come from MCTS, The circle they are calling from may be associated with a single state or the language location code associated with them.)
There was a third but I forget it.


After updating to v4.0.29 there are zero values.

This error originated from a custom integration.
Logger: custom_components.solcast_solar.solcastapi
Source: custom_components/solcast_solar/solcastapi.py:189
integration: Solcast PV Forecast (documentation, issues)
First occurred: 3:26:15 PM (1 occurrences)
Last logged: 3:26:15 PM
SOLCAST - sites_data Exception error: Traceback (most recent call last): File "/config/custom_components/solcast_solar/solcastapi.py", line 181, in sites_data raise Exception(f"SOLCAST - HTTP sites_data error: Solcast Error gathering rooftop sites data") Exception: SOLCAST - HTTP sites_data error: Solcast Error gathering rooftop sites data

This error originated from a custom integration.
Logger: custom_components.solcast_solar.solcastapi
Source: custom_components/solcast_solar/solcastapi.py:180
integration: Solcast PV Forecast (documentation, issues)
First occurred: 3:26:15 PM (1 occurrences)
Last logged: 3:26:15 PM
SOLCAST - Solcast integration did not start correctly, as rooftop sites data is needed. Suggestion: Restart the integration

This error originated from a custom integration.
Logger: custom_components.solcast_solar.solcastapi
Source: custom_components/solcast_solar/solcastapi.py:177
integration: Solcast PV Forecast (documentation, issues)
First occurred: 3:26:15 PM (1 occurrences)
Last logged: 3:26:15 PM
SOLCAST - sites_data Solcast.com http status Error 429 - Gathering rooftop sites data

As the log says. Restart the integration... I tried to make this very clear in the log... Clearly I have failed, and maybe it should be in capital letters.
This error is being caused because the sites data cannot be gathered from Solcast, @matomatusov. If the sites data cannot be gathered then the integration cannot start. This is being caused because the Solcast API is busy, and you have a hobbiest account. It is no fault of this integration, which has, in this case, reported the situation perfectly.
Once a successful gather is done then this issue should never be seen again for you, because the sites data will then be cached. On 429 failures in future the integration will revert to what's in the cache.
Restart the integration or HA.

Further, @matomatusov, from the readme...

Thanks for the explanation and information. And great that you took over the project.
I had to restart a few times.

Solcast is getting a bit feisty with the "go away, we're busy" 429 responses these days, @matomatusov.
My greatest hope at the moment is that the retries and caching that I have included make this a thing of the past.
Incorporated is caching of sites data, current usage data, and an equal-to-solcast feistly back-off retry mechanism for forecast GETs that seems to have done the trick for early testers.
It may be that I need to build in an equally feisty retry for sites data so that souls like you don't even hit the issue. I've considered it, but that would probably well slow down the integration start up.
Cheers!


”Dudașu”, ”Erghevița”, ”Poroina”, ”Valea Copcii” are listed in the drop-down menu

Description:
When user writes ”Dudașu”, ”Erghevița”, ”Poroina”, ”Valea Copcii” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Dudașu"

Expected results
The location appears in the drop-down menu as "Sat Dudașu, MEHEDINȚI (Șimian)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Erghevița"

Expected results
The location appears in the drop-down menu as "Sat Erghevița, MEHEDINȚI (Șimian)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Poroina"

Expected results
The location appears in the drop-down menu as "Sat Poroina, MEHEDINȚI (Șimian)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Valea Copcii"

Expected results
The location appears in the drop-down menu as "Sat Valea Copcii, MEHEDINȚI (Șimian)".


[KED-2253] Fix pipeline selector flicker when switching pipelines

Description
This PR resolves an issue that arose as of #296, which introduced a loading flicker when switching pipeline with async-loaded data, because the pipeline would momentarily disappear then reappear:

To address this issue, I've implemented the following changes:

Don't hide the pipeline selector when loading asynchronously. Now, if loading async, the selector will be visible at all times, even when empty.
Change the default pipeline selector text to 'Default'. This makes the loading effect more pleasant.
Hide the graph (via opacity) when switching pipeline. Now, instead of resetting the entire pipeline, a new action toggles the opacity on the graph container, so that we don't need to rerender everything in the meantime. This should be less disruptive and more performant, but it required adding a new action.
Set the pipeline selector to 'disabled' when there are no pipelines in the dataset.

Development notes
The only icky thing is that the action to hide the graph needs to be toggled on in the pipeline loading action, and toggled off in the graph calculation selector, otherwise it will be shown before it's ready. However I don't foresee this being a problem.
The disabled state for the pipeline selector is a superficial change that only applies to mouse, not keyboard. I'll need to fix this properly in a subsequent update to Kedro-UI.
QA notes
Set to async loading mode (i.e. data=json), and toggle between pipelines. The selector should stay put, and the graph should hide while the new pipeline loads.
Checklist

[ ] Read the contributing guidelines
[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[ ] Added tests to cover my changes

Legal notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Thanks for addressing the layout issues, sorry for any confusion I didn't realise there were multiple cases of this with different causes earlier on, looks good to merge now I think!


Addressing points raised in detektJvmMain task

Removed "exception as control flow" in KLoggerNameResolver.unwrapCompanionClass(); Consolidated MDC cleanup code in KotlinLoggingMDC

@oshai Is there something I need to fix in the PR so that the Greetings task doesn't produce the error message Error: Resource not accessible by integration?

I think it's related to this issue, I will just ignore it.

I will review it as soon as I have some time.

Thanks!


Issue 510 ssh version

Codecov Report

Merging #5 into stickler will decrease coverage by 7.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           stickler       #5      +/-   ##
============================================
- Coverage     80.36%   73.35%   -7.01%
============================================
  Files            21       20       -1
  Lines          3621     3513     -108
============================================
- Hits           2910     2577     -333
- Misses          711      936     +225

Flag
Coverage Δ

#aux
?

#base
?

#dhcp
?

#many
?

#modules
?

#topo
73.35% <ø> (ø)

Impacted Files
Coverage Δ

daq/__init__.py
0.00% <0.00%> (-100.00%)
:arrow_down:

daq/docker_test.py
77.23% <0.00%> (-20.33%)
:arrow_down:

daq/host.py
80.21% <0.00%> (-11.14%)
:arrow_down:

daq/runner.py
77.98% <0.00%> (-10.26%)
:arrow_down:

daq/dhcp_monitor.py
90.78% <0.00%> (-9.22%)
:arrow_down:

daq/report.py
92.22% <0.00%> (-7.78%)
:arrow_down:

daq/faucet_event_client.py
84.96% <0.00%> (-7.19%)
:arrow_down:

daq/stream_monitor.py
80.83% <0.00%> (-6.67%)
:arrow_down:

daq/gateway.py
88.58% <0.00%> (-5.98%)
:arrow_down:

daq/configurator.py
85.59% <0.00%> (-5.09%)
:arrow_down:

... and 3 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 bf7840a...32ded33. Read the comment docs.


community: add Dappier retriever

Add a retriever to interact with Dappier APIs with an example notebook.
The retriever can be invoked with:
from langchain_community.retrievers import DappierRetriever

retriever = DappierRetriever(data_model_id="dm_01jagy9nqaeer9hxx8z1sk1jx6", k=5)

retriever.invoke("latest tech news")

To retrieve 5 documents related to latest news in the tech sector. The included notebook also includes deeper details about controlling filters such as selecting a data model, number of documents to return, site domain reference, minimum articles from the reference domain, and search algorithm, as well as including the retriever in a chain.

Hello, thanks for this.
Would you be interested in implementing this via a separate integration package (e.g., langchain-dappier)? We've written a walkthrough on this process here:
https://python.langchain.com/docs/contributing/how_to/integrations/
We are encouraging contributors of LangChain integrations to go this route. This way we don't have to be in the loop for reviews, you're able to properly integration test the model, and you have control over versioning.
Docs would continue to be maintained in the langchain repo.
Let me know what you think!

Sure, thanks! I feel this is a cleaner and better way to do things.


test to update

Changes proposed in this pull request

Change to name of response in bruno to delete error in Validation GRAPHQL

Context

Checklist

[ ] Related issues linked using fixes #number
[ X] Tests added/updated
[ ] Documentation added
[ ] Make sure that all checks pass
[ X] Bruno collection updated

@dianaOneOut36 make sure to merge in main into your branch

merged in original branch


STM32 Timer interrupt is invoked twice

Hello.
I encountered a strange bug when testing timers on STM32F103C8T6 (Blue Pill). I'm not sure what caused the bug. However, since I could not reproduce it with stm32f1xx-hal crate (without embassy), I thought it would be reasonable not to exclude embassy as a potential cause.
The bug:
I configure the timer TIM3 (while apparently not being used by embassy) to generate an interrupt at a constant rate (once a second), a regular task.
But after I ran the program on the MCU I found that the interrupt is actually called two times (one right after the other) instead of one, at the configured rate (once a second).
Here is the interrupt code:
static mut OUTPUT: Option<Output<'static, embassy_stm32::peripherals::PA1>> = None;
static mut COUNTER: u32 = 0;

#[embassy_stm32::interrupt]
fn TIM3() {
    unsafe {
        COUNTER = (COUNTER + 1) % 4;
    }

    let output = unsafe { OUTPUT.as_mut().unwrap() };
    output.toggle();

    pac::TIM3.sr().modify(|w| w.set_uif(false));
}

The interrupt is configured to be invoked once a second.
Later in the main  there is a loop that outputs value of COUNTER once per 250ms (faster that the configured frequency of the timer):
    loop {
        defmt::info!("COUNTER: {}", unsafe { COUNTER });
        Timer::after(Duration::from_millis(250)).await;
    }

If the interrupt actually was called once per second, I would expect the output to be (incrementing by 1):
└─ src/main.rs:57
0.500842 INFO COUNTER: 1
└─ src/main.rs:57
0.751171 INFO COUNTER: 1
└─ src/main.rs:57
1.001500 INFO COUNTER: 2
└─ src/main.rs:57
1.251829 INFO COUNTER: 2
└─ src/main.rs:57
1.502158 INFO COUNTER: 2
└─ src/main.rs:57
1.752487 INFO COUNTER: 2
└─ src/main.rs:57
2.002816 INFO COUNTER: 3
└─ src/main.rs:57
2.253145 INFO COUNTER: 3
└─ src/main.rs:57
2.503474 INFO COUNTER: 3
└─ src/main.rs:57
2.753803 INFO COUNTER: 3
└─ src/main.rs:57
3.004132 INFO COUNTER: 0

But instead, the output is incrementing by 2:
─ src/main.rs:56
6.258209 INFO COUNTER: 2
└─ src/main.rs:56
6.508538 INFO COUNTER: 2
└─ src/main.rs:56
6.758867 INFO COUNTER: 2
└─ src/main.rs:56
7.009196 INFO COUNTER: 0
└─ src/main.rs:56
7.259508 INFO COUNTER: 0
└─ src/main.rs:56
7.509820 INFO COUNTER: 0
└─ src/main.rs:56
7.760132 INFO COUNTER: 0
└─ src/main.rs:56
8.010444 INFO COUNTER: 2
└─ src/main.rs:56
8.260773 INFO COUNTER: 2
└─ src/main.rs:56
8.511102 INFO COUNTER: 2
└─ src/main.rs:56
8.761431 INFO COUNTER: 2
└─ src/main.rs:56

I discovered the bug when I found that I could not set the output pin high by using toggle method, it always stayed low.
It makes sense why that happened if the interrupt is called twice.
The exact project that causes the bug is in this repo.
You can just clone it and run with DEFMT_LOG=info cargo embed debug.
I confirmed that the bug happens also on my another MCU STM32F103C6T6A. The only difference between it and the blue pill is the Flash and RAM size, but, anyway.
If anybody have a STM32, does it happen to you as well?
What could be the problem? Why the timer interrupt might be called twice?

using static mut like that is UB. Can you try to reproduce it with AtomicU32 / critical_section::Mutex? Just to rule it out.

using static mut like that is UB. Can you try to reproduce it with AtomicU32 / critical_section::Mutex? Just to rule it out.

Well.. Now it works. However, many sorts of changes to the code "fix" the bug:

Disabling LTO optimization o codegen-units=1
Doubling the line "pac::TIM3.sr().modify(|w| w.set_uif(false));"
Placing the line "pac::TIM3.sr().modify(|w| w.set_uif(false));" before "output.toggle()"
Changing COUNTER=(COUNTER+1)%4 to COUNTER += 1. In the disassembly view I see that the rust compiler adds an overflow check for later case.

The COUNTER is not the primary issue. I used it only to deduce that the interrupt was probably called multiple times and to illustrate the problem here.
The primary problem was with the toggle call on an output pin.
I've rewritten the code a little bit so it doesn't use static memory at all. Now toggling the pin is done with PAC.
#[embassy_stm32::interrupt]
fn TIM3() {
    // defmt::info!("TIM3");

    let odr = pac::GPIOA.odr().read().odr(1);
    if odr == pac::gpio::vals::Odr::LOW {
        // Set high
        pac::GPIOA.bsrr().write(|w| w.set_bs(1, true));
    } else {
        // Set low
        pac::GPIOA.bsrr().write(|w| w.set_br(1, true));
    }

    pac::TIM3.sr().modify(|w| w.set_uif(false));
}

Even now, the interrupt doesn't toggle the output pin. Or it does, but then immediately toggles it back. It is probably the case, but I can't confirm this, my cheap oscilloscope doesn't have enough resolution to capture toggle this fast.
However, uncommenting the defmt::info line fixes the problem and the pin begins to alternate as expected.
The changed code is here (branch v2).

Doubling the line "pac::TIM3.sr().modify(|w| w.set_uif(false));"
Placing the line "pac::TIM3.sr().modify(|w| w.set_uif(false));" before "output.toggle()"

Wild guess: The timer runs from a slower clock and the interrupt flag takes multiple cycles to clear. The ISR returns before the flag is cleared and NVIC sees it as active, re-entering the ISR.
Did you have the exact same clock setup when you used the stm32f1xx-hal crate (without embassy)?

Did you have the exact same clock setup when you used the stm32f1xx-hal crate (without embassy)?

Indeed, I've rewritten the code to use stm32f1xx-hal literally line by line, and the problem persists. So, the issue is not with embassy :smile:
The code:
#![no_std]
#![no_main]

use cortex_m::peripheral::NVIC;
use cortex_m_rt::entry;
use defmt_rtt as _;
use panic_probe as _;
use stm32f1xx_hal::{
    pac::{self, interrupt},
    prelude::*,
};

#[interrupt]
fn TIM3() {
    // defmt::info!("TIM3 interrupt!");

    // Toggle PA1 output pin
    let gpioa = unsafe { &*pac::GPIOA::ptr() };
    let high = gpioa.odr.read().odr1().is_high();
    if high {
        // Set low
        gpioa.bsrr.write(|w| w.br1().set_bit());
    } else {
        // Set high
        gpioa.bsrr.write(|w| w.bs1().set_bit());
    }

    let tim3 = unsafe { &*pac::TIM3::ptr() };
    tim3.sr.write(|w| w.uif().clear_bit());
}

#[entry]
fn main() -> ! {
    defmt::info!("Start!");

    let cp = cortex_m::Peripherals::take().unwrap();
    let dp = pac::Peripherals::take().unwrap();

    // Configure clock
    let mut flash = dp.FLASH.constrain();
    let rcc = dp.RCC.constrain();

    let clocks = rcc.cfgr.freeze(&mut flash.acr);

    let rcc = unsafe { &*pac::RCC::ptr() };

    // Enable GPIOA
    rcc.apb2enr.modify(|_, w| w.iopaen().set_bit());

    // Configure PA1 as push-pull output.
    let gpioa = unsafe { &*pac::GPIOA::ptr() };
    gpioa.crl.modify(|_, w| {
        w.mode1().output();
        w.cnf1().push_pull();
        w
    });
    // Set PA1 low.
    gpioa.bsrr.write(|w| w.br1().set_bit());

    // Enable the TIM3 timer interrupt once a second.
    rcc.apb1enr.modify(|_, w| w.tim3en().set_bit());
    let tim3 = unsafe { &*pac::TIM3::ptr() };
    tim3.dier.write(|w| w.uie().set_bit());
    tim3.psc.write(|w| w.psc().variant(62500 - 1));
    tim3.arr.write(|w| w.arr().variant(128 - 1));
    tim3.cr1.write(|w| w.cen().set_bit());

    unsafe {
        NVIC::unmask(interrupt::TIM3);
    }

    loop {}
}

And again, uncommenting the defmt::info! line "fixes" the bug.
Also I found that adding the following code TWICE (adding it once doesn't help) anywhere before tim3.sr.write(|w| w.uif().clear_bit()); fixes the problem.
    if gpioa.crl.read().mode1().is_input() {
        unreachable!();
    }

Or, adding the same code ONCE after the tim3.sr.write(|w| w.uif().clear_bit()) fixes the problem as well.
Resetting the UIF bit in the beginning of the interrupt seems to always help.
However, in the reference manual for STM32F1 I could not find any restrictions on when to reset the UIF bit.
I found multiple threads asking about the same problem, and it looks like your guess is correct.

The timer runs from a slower clock and the interrupt flag takes multiple cycles to clear. The ISR returns before the flag is cleared and NVIC sees it as active, re-entering the ISR.

https://community.st.com/t5/stm32-mcus-products/tim2-interrupt-fires-twice-when-optimize-speed-is-set/td-p/393273
https://stackoverflow.com/questions/73841669/stm32-double-interrupt
https://community.arm.com/support-forums/f/keil-forum/27967/external-irq-called-twice-depending-on-optimization-level
"Clear the interrupt flag as early as possible in your ISR. That way you increase your chance of the interrupt flag actually having been cleared before leaving the ISR. Otherwise you might catch the same interrupt again, which explains the "twice as high" values. To be on the safe side you might also want to consider inserting a synchronization barrier (DSB) before leaving the ISR to ensure that memory accesses are guaranteed to have completed"

wow, what a fun issue! :sweat_smile: Glad you figured it out.