Issues with Implementation and Replicating Paper Results

Hi there! I am working on a PyTorch implementation of SLIDE. I'm currently trying to compare its performance against SLIDE. I'm faced with a few doubts/issues while evaluating SLIDE, and need clarifications for the same.

I'm unable to replicate the accuracy vs iteration plot for Delicious 200K dataset using the paramters Simhash, K=9, L=50 mentioned in the paper (plot attached). I also observe that SLIDE's accuracy seems to worsen beyond a certain point. What could be the reasons for these?

I observe a few inconsistencies in the implementations of WTA and DWTA hashes.

https://github.com/keroro824/HashingDeepLearning/blob/3cebe6f99a5454bef6f241dea804e07e0d075484/SLIDE/LSH.cpp#L82
The hashes are combined as index += h<<((_K-1-j)(int)floor(log(binsize))); But, if the hashes are to simply be concatenated, shouldn't it instead be index += h<<((_K-1-j)(int)ceil(log2(binsize))); However, for binsize = 8, I also observe that shifting by floor(log(binsize)) = 2 bits gives better convergence than shifting by ceil(log2(binsize)) = 3 bits. Is this intentional? Why is this the case?

There appears to be a bug in WTA hash . https://github.com/keroro824/HashingDeepLearning/blob/3cebe6f99a5454bef6f241dea804e07e0d075484/SLIDE/WtaHash.cpp#L57

What is the reason behind using simhash for Delicious 200K and DWTA hash for Amazon 670K?
The paper had mentioned extension of SLIDE to convolution as a future direction. Has there been any progress along this line?

@its-sandy
Dear Mr. its-dandy,
I want ask you why you are work on PyTorch, and I want ask you if you get the same result in paper or not. I try to run the code along time and always give me Killed.
Also, Are you found weight and savedweight files because I can't find it.
I very need to run the code .


fix: rename struct and deprecated the old name

SSHKeyPair is way too long and unnecessary

Feel free to undo my commit if it's not helpful, just renamed the other references of SSHKeyPair

Feel free to undo my commit if it's not helpful, just renamed the other references of SSHKeyPair

Thanks!


Swap out JSON.mapping for JSON::Serializable.

Fixes #2
I noticed that #1 also fixes this, but that PR seems to add a lot of additional stuff. This is more geared for breaking out just that part to allow the shard to compile with the latest Crystal.

@jwoertink thank you for submitting this PR


Fix #261

The formSubmitting event handlers are called synchronously, and apparently in the order which they were subscribed to the event. By adding an event handler to the formSubmitting event for each property added to a fieldset (after the property itself has been added), we can make sure that Archetype gets "the last say" in the formSubmitting event handler chain. This allows us to broadcast our own event archetypeFormSubmitting to all the Archetype properties, so they in turn can update their model.value if need be, before the entire Archetype is submitted.
PLEASE NOTE
I am submitting this only halfway tested - some family stuff is going to keep me busy for a while, so I thought I'd submit it now for someone else to test, rather than sit on it until I could complete testing it myself.
Off the top of my head I can think of a few things that need to be tested:

Validation - specially for mandatory member pickers, but also validation in general.
Multiple Archetypes on one content type - is the new event isolated to each Archetype, because it will be broadcast for each of the.
Nested Archetypes (same potential issue as in the last point).

:+1: Thanks @kjac I'll give it a whirl :)

Whelp, so far so good, as you can see in the screenshot I've tested the following:

Standalone Member Group Picker
Single Archetype with MGP
Nested Archetype with MGP
Multiple Archetypes on same tab
Multiple Archetypes on different tabs

Still need to check validation.

Ok validation has some issues.  When I tick the Required box, it's hit and miss on whether the validation is picked up.

I think I found the solution (though @kjac did all the work :))...
If you add an MGP (that is required) item then save; then remove it; then save; it passes validation.
If we replace the validation line to listen to Kenn's new event, validation seems to work properly:
https://github.com/imulus/Archetype/blob/master/app/directives/archetypeproperty.js#L89
I propose we change from formSubmitting to archetypeFormSubmitting for validation.  I noticed the new event fires a couple of extra times when we do so, but not 100's of times.  I think the screenshot generated 18 events.
Reason it works with the new event is because validation was originally firing on the same event that MGP is setting it's model which causes model confusion.
Anyway...
Looks good to go if we change that event :+1:
I would like @Nicholas-Westby to give it a shot if possible.
This also probably fixes an old issue (#105 reported by @aussieinseattle).
Thanks @kjac and good luck with your family issue. #h5yr

@kgiszewski Will see if I can try it in the morning. Do you have some code committed that I can compile (maybe in another branch or something)?

@Nicholas-Westby you can download the source branch (submit-watcher) from my fork.

@Nicholas-Westby this is how I checkout pull requests: https://gist.github.com/piscisaureus/3342247

Add this line to your .git/config in your Archetype root directory: fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
Run git fetch origin (from your Archetype directory)
Run git checkout pr/262

This will get you on a branch named pr/262 locally.
You'd then have to build it by running grunt from the CLI.  This will run all of the build tasks and create a new set of files in /dist (Archetype root folder).  You'll then copy this stuff to an Umbraco install for testing.

If you get an error saying it can't find grunt you'll need to make sure you have node.js installed locally and type npm install from the Archetype root afterwards.  https://nodejs.org/download/

To make things easier you can just run grunt watch --target="c:\dev\myUmbracoDevFolder" and it'll copy any changes you make to an Umbraco install.  This is great for development or tweaking PR's.

@kgiszewski Seems to be working. Here's what I did to test:

Cloned Kenn's fork, and switched to his "submit-watcher" branch.
Changed event to "archetypeFormSubmitting" on this line: https://github.com/kjac/Archetype/blob/submit-watcher/app/directives/archetypeproperty.js#L89
Reapplied a custom performance enhancement to the JavaScript I've been using on my projects.
Ran npm install to get all the Node stuff.
Ran grunt.
Copied the updated files in "dist" to my website.
Removed my temporary workaround in \Umbraco\Js\umbraco.controllers.js.
Cleared App_Data\TEMP, cleared browser cache, rebuilt my solution, and ran it.

I did a few tests removing and adding member groups in my archetype consisting of a member group picker. All seemed to work as expected. I didn't happen to have any nested archetypes with a member group picker to test on though.
By the way, thanks for that tip regarding setting the target in the grunt command line. Could come in useful for some other stuff I'm working on. :+1:

Awesome!  @tomfulton came up with the grunt integrations.
I'm gonna give it a few more days (or until @kjac is back) before I merge and release.  Thanks for testing.

@kgiszewski https://github.com/kgiszewski awesome. One thing that's worth
looking into: for performance considerations, maybe it's possible after all
fieldsets have loaded, to unsubscribe all watchers but the last one from
the formSubmitting event?
On Apr 6, 2015 5:57 PM, "Kevin Giszewski"<EMAIL_ADDRESS>wrote:

Awesome! @tomfulton https://github.com/tomfulton came up with the grunt
integrations.
I'm gonna give it a few more days (or until @kjac
https://github.com/kjac is back) before I merge and release. Thanks for
testing.
—
Reply to this email directly or view it on GitHub
https://github.com/imulus/Archetype/pull/262#issuecomment-90123046.

In regards to performance, it may also be useful to use try $scope.$emit("archetypeFormSubmitting") rather than $scope.$broadcast("archetypeFormSubmitting"). You might also cancel the event if you don't want it traversing to ancestor scopes (though, that may complicate the implementation, so attempt that at your own risk).

:+1: Good work everyone.  We may need to address performance if it becomes an issue.

Whooooo awesome :-D
On Apr 15, 2015 9:36 PM, "Kevin Giszewski"<EMAIL_ADDRESS>wrote:

[image: :+1:] Good work everyone. We may need to address performance if
it becomes an issue.
—
Reply to this email directly or view it on GitHub
https://github.com/imulus/Archetype/pull/262#issuecomment-93542241.


fix header rendering when exporting csv with multiple header rows

fix header rendering when exporting csv with multiple header rows (#80)
referenced:
https://datatables.net/forums/discussion/22592/export-multiple-row-headers

Thanks for the PR! I'm actually in the process of replacing TableTools, so I'm not sure if this change will make it into a production release. However, I'll review it properly when I get a little bit of time after the work I'm currently doing.

Hi,
Maybe dt.nTHead instead dt.aoHeader?
javascript dt.aoHeader[rowIdx][colIdx].cell.innerText
Best regards,

Hello,
Hist Issue is corrected?
How I export 2 headers lines?
Tkx,


Uncaught Error: spawn /Users/Brett/Downloads/Atom.app/Contents/Frameworks/Atom Helper.app/Content...

[Enter steps to reproduce below:]

...
...

Atom Version: 1.5.4
System: Mac OS X 10.11
Thrown From: Atom Core
Stack Trace
Uncaught Error: spawn /Users/Brett/Downloads/Atom.app/Contents/Frameworks/Atom Helper.app/Contents/MacOS/Atom Helper ENOENT
At events.js:141

Error: spawn /Users/Brett/Downloads/Atom.app/Contents/Frameworks/Atom Helper.app/Contents/MacOS/Atom Helper ENOENT
    at exports._errnoException (util.js:837:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at doNTCallback2 (node.js:441:9)
    at process._tickCallback (node.js:355:17)
    at EventEmitter.ipc.sendSync (/Users/Brett/Downloads/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/ipc.js:21:31)
    at BrowserWindow.Object.defineProperty.get [as loadSettings] (/Users/Brett/Downloads/Atom.app/Contents/Resources/atom.asar/renderer/api/lib/remote.js:160:27)
    at Object.windowState (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/window-load-settings-helpers.js:17:39)
    at Object.stringify (native)
    at exports.setWindowLoadSettings (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/window-load-settings-helpers.js:27:52)
    at ApplicationDelegate.module.exports.ApplicationDelegate.setRepresentedDirectoryPaths (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:172:14)
    at /Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:844:44
    at Function.module.exports.Emitter.simpleDispatch (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
    at Emitter.module.exports.Emitter.emit (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/node_modules/event-kit/lib/emitter.js:125:28)
    at Project.module.exports.Project.addPath (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/project.js:255:29)
    at /Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/atom-environment.js:869:41
    at EventEmitter.<anonymous> (/Users/Brett/Downloads/Atom.app/Contents/Resources/app.asar/src/application-delegate.js:30:16)
    at emitOne (events.js:77:13)
    at EventEmitter.emit (events.js:169:7)

Commands
  8x -3:08.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -3:02.6.0 core:move-down (atom-text-editor.editor.is-focused)
     -3:01.8.0 core:move-left (atom-text-editor.editor.is-focused)
  2x -2:55 editor:newline (atom-text-editor.editor.is-focused)
     -2:27.8.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
     -2:27.4.0 core:select-up (atom-text-editor.editor.is-focused)
  2x -2:26.6.0 core:backspace (atom-text-editor.editor.is-focused)
     -2:24.4.0 editor:select-to-first-character-of-line (atom-text-editor.editor.is-focused)
  2x -2:24.1.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -2:19.6.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -2:03.3.0 core:backspace (atom-text-editor.editor.is-focused)
  4x -2:01.6.0 core:move-down (atom-text-editor.editor.is-focused)
     -2:00.5.0 core:move-up (atom-text-editor.editor.is-focused)
     -1:59.7.0 editor:newline (atom-text-editor.editor.is-focused)
     -1:41.3.0 core:save (atom-text-editor.editor.is-focused)
     -0:05.5.0 application:add-project-folder (ol.tree-view.full-menu.list-tree.has-collapsable-children.focusable-panel)

Config
{}

Installed Packages
# User
No installed packages

# Dev
No dev packages

This is a duplicate of #10774 - feel free to subscribe there for updates.


Change font directory

You can change the default path sources of material to follow the pattern of other libraries such as font-awesome for example?
The current path of the variable is ../font/, change to ../fonts/
Leaving this default path, it becomes easier for the gulp work together with other libraries.
_variables.scss (https://github.com/Dogfalo/materialize/blob/master/sass/components/_variables.scss)
/* 9. Fonts
========================================================================== */
$roboto-font-path: "../font/roboto/" !default;
$icons-font-path: "../font/material-design-icons/" !default;

Fixed in a1ca0a997efb692a27fcfa85a7cc5277b24c0e57


Incoming request headers are not sent intact to the downstream

We don't find in the downstream request the non-sensitive headers sent to Spring Cloud Gateway.

Can you please provide more information? There are many tests that show headers flowing downstream. Please be more specific.

Please check this repository : https://github.com/gdrouet/spring-cloud-gateway-issue-117
Launch a HTTP server that prints received headers with node index.js.
When you run the Spring Boot application, requests will be routed to it (on port 3000).
If you run  curl -i http://localhost:8080 -H 'X-Foo: Foo', the response does not contain X-Foo header, meaning the NodeJs application did not received this header from the gateway.
It works with a workaround. To see it, uncomment this line: https://github.com/gdrouet/spring-cloud-gateway-issue-117/blob/master/src/main/java/com/github/gdrouet/Issue117.java#L30

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Improve performance of path smoothing

When applying path smoothing, we need to calculate the output of the parent node. Previously this was calculated repeatedly for each potential split feature, but it's more efficient to just do it once per node. See comment here: https://github.com/microsoft/LightGBM/pull/3384/files/6d03633cdf41f7fd68118cdee7f169cac8b88eb0#r487355787
I also fixed a small bug: I was using leaf_split->leaf_index() == 0 to test whether we are splitting the root node, but this is incorrect, now using tree->num_leaves() == 1.

@btrotta Could you please resolve conflicts?


Set Language Info from CLI

By default, the language is set as English US.
For those of us that are outside of the US, is there a way to set the language from the CLI, assuming we know the language / sub_lang hex codes ?
Currently, the locale code is hardcoded in [rcedit.rc] (https://github.com/atom/rcedit/blob/master/src/rcedit.rc#L49)
BLOCK "VarFileInfo"
BEGIN
    VALUE "Translation", 0x409, 1200
END

Where 0x0409 == 1033 == en_us   and 1200 == <IP_ADDRESS> version.
SetVersionString() is only exposing the1200 part (i.e. the version) in main.cc, but there is the an extended version of the function SetVersionString() in [rescle.cc] (https://github.com/atom/rcedit/blob/master/src/rescle.cc#L159-L201).
Please allow us to pass locale codes from CLI (in hex or decimal or en_au format doesn't matter).
If there is already a way to do this, please explain. Thanks !

cc @zcbenz

Any progress so far?

Still waiting @nurtext ....
If my c++ skills were better I'd fix it myself and submit a PR.
Here is a simple node script that I knocked up that achieves the same thing if you're desperate: https://github.com/electron-userland/electron-builder/issues/672
I agree that it would be much better to fix here though!

Thanks @dharders, already seen the script. Curious how you implemented it in your build workflow. Any tips? Appreciate it!

The script was more a proof of concept, called after build but before code signing. Nothing special, just used as a gulp task / npm script.
That being said, I no longer use it as I'm using electron-builder with NSIS and it automatically handles it for me. However, only the installer has the correct language but the runtime still has English US, hence why I'm still waiting for this issue to be resolved.

no news on this?
It seems NSIS has the option to set language but not the portable target

Any progress so far?

You can use peresed.exe to apply a new .res by Python module pe_tools before signing the .exe


Add Mythic Beasts DNSAPI Component

Description:
This adds a dns component to automatically update your domain at mythic beasts on IP changes.
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#7446
Example entry for configuration.yaml (if applicable):
mythicbeastsdns:
  host: hostname
  domain: your.domain
  password: APIKEYFORMYTHICBEASTS

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

I've made the above changes, any chance of a re-review please @fabaff

Shouldn't the API communication here be extracted to separate package?
https://developers.home-assistant.io/docs/en/creating_component_code_review.html#4-communication-with-devices-services

I've done the above, but the tests are still mocking the API.
Should I:

Leave the tests as they are
Replace them with mock calls to the library that just 'return true' and 'return false'
Delete the tests entirely

I believe this is now good to go :grin:


gutter icons only on js and jsx files

Hello, for some reason the icons to start the tests are only displayed in .js and .jsx files. My setup looks like this:
vite.config.js:
test: {     globals: true,   },
tsconfig.json:
"compilerOptions": { "types": [ "vitest/globals"] }, "include": [     "src",     "node_modules/vitest/globals.d.ts"   ]

@Kaiser-Nico could share your demo example on GitHub?  and I will take a look.  Thanks.

I can second @Kaiser-Nico. Gutter Icons only appear on *.test.js(x) files.

Vitest Runner plugin does not check the file name pattern, and just check method call of "test", "it", "describe" from Vitest.

Any screenshot or example repo?

Hi!
I had the same problem, and your last answer, linux-china, helped me to fix it, thank you very much!
In my project, we switched from jest to vitest.
Now, jest is removed from the devDependencies. Anyway, during npm install for example @types/jest is installed (resolved as co dependency or something). And going in the editor from the "describe" method call to its definition leads still to @types/jest . So PhpStorm is really convinced, that i want to use jests descibe, not that of vitest.
A working fix is to add import {descibe} from 'vitest' in the test file .
Thats how i do it now. Unfortunately, i have to put it in every test file again and again. Would be sensful to tell PhpStorm that its by default the vitest-describe. Any hint how to do that would be appreciated. :)

@nika-d  could you share the simple project on github?  and I could take a look.

Hi @linux-china !
Thanks a lot for your quick reply, and sorry for the late answer. I had to coordinate with colleagues to publish the code here.
Please find the repo here: https://github.com/nika-d/LLP-Frontend
Additionally, here is my .idea-Folder : idea.zip
Maybe the issue is connected to workspace or something...?
The suggested fix with postinstall is a good idea! Thanks for that, too 🙂
And if you dont have time for further investigation here - its totally fine! I mean, its a bit clumsy, but working.

In your test code,  describe is a global function, and you should add test: { globals: true}, according to https://vitest.dev/config/#globals    It's hard to let IDE to pare or execute all code to get Vitest configuration.
Change your vitest.config.js as following:
·```javascript
import {extractFromSvelteConfig} from 'vitest-svelte-kit'
import {defineConfig} from 'vitest/config'
export default defineConfig({
...extractFromSvelteConfig(),
test: {
globals: true,
},
})

Reopen your project, and vitest test icons will be available as following:

![image](https://user-images.githubusercontent.com/46711/180034765-2886ecf7-5a44-43f9-b6e0-3bdb648a7264.png)


Add support for XML schema facets and documentation

While working closely with quite a few enterprise customers implementing ESBs/BPMs I realized the quality bar for xml schemas is constantly rising. It is no longer acceptable to have xml schema with no documentation and xsd facets.
One open source implementation supporting xsd facets can be found here: http://www.infosys.tuwien.ac.at/staff/hummer/tools/jaxb-facets.html but unfortunately it is not maintained as part of JAXB.
There are many good reasons to keep on using Java 1st approach for schema generation and it better not be neglected and supply such fundamental capabilities.
More relevant links:
http://jaxb.java.net/guide/Generating_Schema_that_you_want.html
http://java.net/projects/jaxb/lists/users/archive/2007-06/message/36
Environment
all platforms; java se 7
Affected Versions
[2.2.3]

Hi guys, just a reminder this is still a nice to have in 2018. I can't believe that this still hasn't been fixed even after so many years the patch was contributed. What remains to be done so that this happens as it looks like @whummer wants to contribute his code, did he ever signed the OCA?

+1 would love to see this still nice to have I was struggling through how to do this today

@jahhulbert  Think so. I think we need to check as probably this is now under jakarta umbrella.


Add some error messages for the developer when .service.js is malformed

When loading .service.js files which don’t contain services, such as when the export is forgotten, print helpful error messages. This will only occur during development; the unit tests will catch these problems well before code reaches the server.

Messages

:book:

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

  Generated by :no_entry_sign: dangerJS

This doesn't feel like a high priority for an automated test, though I see where you're coming from. If it seems important to you, I'll do it. Or if you feel like tackling the tests, go for it!

@chris48s What do you think about merging this? The existing files should prevent regression on the existing use cases, and we could manually test if this code ever gets touched again. It's kind of a pain to test and I feel like the time could be better spent elsewhere.
(This is having just spent a couple hours writing tests for #2021 because I want to get that merged…)

I don't mind merging it without tests if its a complete pain, but either way we should fix those two cases noted in the review where we're not throwing on malformed exports.
That said, having had another look I do have an idea for how to write tests for this. Let me have a quick go at it.. I'm happy to pick it up and push some commits to this branch (if I can write to it) or open a new PR to take it over the line..

Awesome! You should be able to write to the branch.

The new commit I've pushed covers every case I can think of. Does that seem reasonable?

Looks awesome! I can’t :+1: this since it’s my PR. Would you like to merge?


QWRC RN

As the QWRC RN is an alias, this should be recorded in the borehole alias table, i.e.:

borehole_alias = QWRC RN number
borehole_alias_source = QWRC RN
borehole_alias_reason = Historical number for water bores from the Queensland Water Resource Commission (or something similar).

Thoughts?

Is it an alias? It's an attribute linking the well/water bore across to the water bore database. The numbers aren't historical as far as I know. They're still the current numbers.

As displayed in GeoResGlobe

Bore name
Type
Subtype
QWRC RN

MARMADUA 1
WATER
SUPPLY BORE
22354

I'm fine QWRC RN being an alias as it fits the definition of "an alternative name or label that refers to an item, and can be used to locate or access it". But can we simply change the field to QWRC_RN, or display it as such if the alias_source = QWRC_RN? For the borehole_alias_reason, I would just change it to Registration number for water bores from the Queensland Water Resource Commission. and remove the historical/temporal limitation.

@KellyVance - yes, on display this can show the QWRC_RN.
alias_reason looks good to me.

Do we want people using it to locate or access? It's just storing the link point for someone to be able to go and find more information in a different unlinked database.
Should it be 'Waterbore RN', rather than QWRC? Since it seems like the QWRC ended in 1992 http://www.archivessearch.qld.gov.au/search/AgencyDetails.aspx?AgencyId=1675


Derive from ConfigurationSection (replace IConfigurationSectionHandler )

IConfigurationSectionHandler is deprecated in .NET Framework 2.0 and above. But, because it is used internally, it has been kept.
...
In .NET Framework version 2.0 and above, you must instead derive from the ConfigurationSection class to implement the related configuration section handler.

From: https://msdn.microsoft.com/de-de/library/system.configuration.iconfigurationsectionhandler(v=vs.110).aspx

English version ;)
https://msdn.microsoft.com/en-us//library/system.configuration.iconfigurationsectionhandler(v=vs.110).aspx

Maybe related http://raph.es/blog/2011/05/manually-caching-configuration-sections-to-avoid-the-.net-4-bug/

fixed by https://github.com/NLog/NLog/pull/3355


high cpu usage

hello,
I was using opencv to do some processing on live webcam image and then send the video to a webpage. But I am seeing really high CPU usage. i limited thread count to 1.
is there any solution for this?
My environment is:
Intel N100 alder lake cpu with 4GB RAM
ubuntu24.04
gcc-14

Hi @hrshovon , thank you for raising the issue.
Currently I'm not in a condition to have my own personal computer. I will take a look on the high CPU usage once I have my own machine. I hope you can understand.
Thank you.


Add IBM watsonx.ai as a new LLM provider (WatsonxLLM)

Description: added IBM watsonx.ai as a new LLM provider (WatsonxLLM)
Dependencies: ibm-watson-machine-learning,
Tag maintainer: @baskaryan, @hwchase17,
Twitter handle: details in comment below.

Please make sure your PR is passing linting and testing before submitting. Run make format, make lint and make test to check this locally. ✅
If you're adding a new integration, please include:

a test for the integration, preferably unit tests that do not rely on network access ❌ ,
an example notebook showing its use. It lives in docs/extras directory. ❌ => docs/docs/integrations/llms/watsonxllm.ipynb

I'm also not sure what the procedure is for integration tests. I have tested locally with my api key.

@MateuszOssGit the PR looks good. We can proceed with the community.
I'll ping folks from watsonx.ai product team (Eric Saleh) to provide some content for twitter handle.

@baskaryan would you mind sharing guidelines for integrations tests, also if there's anything else that you think should be done before merging?

@baskaryan @eyurtsev Could you please verify the code again?

@baskaryan  @eyurtsev  Could you please verify the code again?


Build error with compileSdkVersion 31

Hello, my project uses api level 31 with rn version 0.67.4
    ext {
        buildToolsVersion = "31.0.0"
        minSdkVersion = 21
        compileSdkVersion = 31
        targetSdkVersion = 31
        ndkVersion = "22.1.7171670"
    }

I get an error when building
A problem occurred configuring project ':react-native-mmkv'.
> com.android.builder.errors.EvalIssueException: Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

If I understand correctly, now in the rn-mmkv project uses api level 30
Mmkv_compileSdkVersion=30
Mmkv_buildToolsVersion=30.0.2
Mmkv_targetSdkVersion=30
android.useAndroidX=true

Could you help me solve this problem? Please!

com.android.builder.errors.EvalIssueException: Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

Try to uninstall SDK 31 and reinstall from SDK manager

same issue. already have been tried to reinstall but not working

This can help https://www.youtube.com/watch?v=iL-o8IJhwSQ&list=PLQhQEGkwKZUrempLnmxjt7ZCZJu1W3p2i&index=16

using sdk31 but not working. anybody same iussue?

Hey! Sorry I cannot reproduce the issue here and it has been inactive for a while.
I am going over issues right now and want to keep the repo clean - so I'm closing this for now, if anyone can post a reproduceable example here I can re-open and take a look :)


Minor edits

Reference Issues/PRs
What does this implement/fix? Explain your changes.

Test system modified
README.md updated

Any other comments?

Codecov Report

Merging #119 (d298cf0) into dev (b6558c5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               dev      #119   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          386       386
  Branches        59        59
=========================================
  Hits           386       386

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 b6558c5...d298cf0. Read the comment docs.


OCPBUGS-23306: Add annotation to CSI driver Pod preventing eviction from the cluster-autoscaler

/lgtm

/test e2e-vsphere-ovn-upgrade

/test e2e-vsphere-ovn-upgrade

/cherry-pick release-4.15

/test e2e-vsphere-ovn-upgrade

/override ci/prow/e2e-vsphere-ovn-upgrade
ci/prow/e2e-vsphere-ovn-upgrade is perma-failing, see how it failed in NOOP PR https://github.com/openshift/vmware-vsphere-csi-driver-operator/pull/199.

/cherry-pick release-4.14


Is there any speed test against Pytorch Memory and GMLake?

Great work guys! I wonder if there is any speed test between using P-M and G-M under use cases like LLM training with LR (LoRa + Recomputation), without heavy cpu-gpu memory transmission.
My concern is your proposed G-M technique might slow down the training process, as I cannot find any proof it might not since your work has not published yet.

First of all, thank you for your interest in our work. In fact, we conducted speed tests and found that our performance is the same as P-M. In our tests, except for the memory-efficient strategy which includes zero-offload test cases, all other test cases use lora+recomputing without zero offload.
Our tests are designed to meet the requirements of large model training configurations. More detailed explanations will be provided in our paper. Of course, you can also use the examples from the docker image we released, which run the opt-1.3b model. You can find that our method without any performance degradation. The slight decrease in performance only occurs in the initial steps when performing stitching operations, but once all possible block combinations are stitched, the performance will be consistent with PyTorch.
For a more detailed explanation, please stay tuned for our upcoming paper.


Cant see subdictionaries while debugging

Godot version
v3.5.rc5.official [ae6059793]
System information
manjaro linux
Issue description
When I try to look the subvalues of a dictionary, especifically dictionary inside dictionary!
https://user-images.githubusercontent.com/58845030/177542186-e8cea80d-4025-4513-a8d0-4fc78b7a029a.mp4
Steps to reproduce

Create a script
Create a dictionary -> var dict := {}
under the ready function, create a subdictionary -> dict["test"] = {number=1}
place a breakpoint
try to look at the value in the editor

Minimal reproduction project
N/a

Sounds like a duplicate of #25375, but it's supposed to be fixed by #60737 in 3.5, CC @kleonc.

Steps to reproduce
* Create a script
* Create a dictionary -> `var dict := {}`
* under the ready function, create a subdictionary -> `dict["test"] = {number=1}`
* place a breakpoint
* try to look at the value in the editor

This works just fine:

It seems like Resources within the dictionaries are the culprint here:

In the inspector it fails:

In the debugger it works just fine though:


Inspect validation

@viferga
I have added the new updates on the master branch with the  ensureDeploymentsExist

I don't know why but many tests are failing, you should review them, otherwise we cannot merge this. I'm setting this PR as a draft until it passes the tests.

@viferga
I think they are failing because of the secrets. workflows on a pull requests doesn't have access to the secrets. when i run it on my forked repo it passes the tests that doesn't require plans such as login, inspect, etc.

It sees the secrets in my forked repo

but it doesn't see them on the pr workflow

I think that's the problem. what do you see?

I have added extra validation at the login with email and password flags. if the email and password are empty. the CLI asks for login with the auth choices (token or email). it doesn't consider them as invalid credentials so it doesn't throw an error to catch it and fail the login test. so i added a check on the info messages if it includes login successful or not.

@diaabadr I re-run the tests by doing a small change in the code, and they failed. You can review now and solve the issues if you want, meanwhile I am going to leave this PR as a draft.


Target Encoding for regression task?

Is it possible to use Target Encoding for regression task?

Hmm, it might run, but I'm not sure that it will give you results that work out as you'd like. Worth a shot, if it does work it's not intentional but comment back here, it'd be cool.

Looks like it works without throwing exception, but quality is less then my naive way of mean encoding even without k-fold, smoothing, etc.


Allow modern gym environment usage

Motivation and Context

It solves #64 and #460 by updating the gym interface to one that is backward and forward compatible. This should remove the need to pin gym versions.

How Has This Been Tested

Locally by ensuring that all the new import paths work. Everything from the top level __init__ packages is pretty stable between versions so just using those imports works across modern versions.

Types of changes

refactoring / dependency upgrade
Bug fix (non-breaking change which fixes an issue)

Checklist

[X] My code follows the code style of this project.
[X] I have read the CONTRIBUTING document.
[X] I have completed my CLA (see CONTRIBUTING)
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

Fixes #498 #460 #64 #497


Add more features related to metric collection

As discussed in #156, there are more metric related requirements to consider in Armeria.

It is necessary to add client-induced failure metrics like timeouts or circuit breaker.
Service and Client may need different sets of metrics. Good to consider having separate interfaces.
Armeria currently does not provide a way for a user to define what success/failure is. It's hard-coded - >= 400. Should Armeria determine if an invocation was successful or not? Is it the responsibility of the monitoring system? If Armeria should, should it be customizable? (e.g. if we add HBase/Redis client/server in the future, they will use different code values.)

Now that we have RequestLog,

A user can determine the cause of the failure from the type of the exception returned by log.requestCause() or log.responseCause(). If timed out, it will be TimeoutException. If circuit is open, it will be FailFastException.
We keep everything in RequestLog but we have separate set of methods for requests and responses.
This is not solved yet because it's done by DropwizardMetricCollector.

Given that we are given with enough information, we can start looking into this issue again.


add settings to clangd server

Language server
clangd
Requested feature
I want to be able to set several path of compile_commands.json.
Example:
clangd --compile-commands-path="linux/build;linux_2/build"
I spent 3 hours understanding how to pass several paths of compile_commands.json to clangd language server.
And failed dramatically...
Please, consider.
Other clients which have this feature
No response

This is not a support channe;.

What are you talking about?


This file was generated by an older version of protoc

Hi!
Running Ubuntu 16.04 and Gazebo7. All works ok but then i installed cartographer-ros.
It installs protoc 3.4.1. Cartographer is built successfully, but my project failed with :
  In file included from /usr/include/gazebo7/gazebo/msgs/MessageTypes.hh:91:0,
                from /usr/include/gazebo7/gazebo/msgs/msgs.hh:24,
                from /usr/include/gazebo7/gazebo/physics/Entity.hh:28,
                from /usr/include/gazebo7/gazebo/physics/Model.hh:32,
                from /home/thesis/gazebo_animate_pose/animate_pose.cc:4:
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
/usr/include/gazebo7/gazebo/msgs/wrench_stamped.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

I understand that problem not in cartographer, but i believe you can help. Does cartographer can be build with older protoc? How to remove new and install old protoc? Or maybe any other ways i should check? How to work simultaneously with gazebo and cartographer if they require different protocs?
I tried to install gazebo from source to build it with new protoc, but it failed too.
Many thanks!

Have you tried cleaning your build tree?

This error message should appear when the protobuf compiler version during build time and the protobuf library version during runtime differ.
Protoc is the protobuf compiler used during build. In theory, you could have multiple versions installed, but it would be hard to manage.
Cartographer requires protobuf version >= 3.
Since, in your case, Gazebo requires protobuf library version 3.4.1, it will be easiest to uninstall all other versions, and fully clean and re-build cartographer(_ros).
Also, it is not necessary to install cartographer(_ros) in the system, so I see no reason why it should break other software (Gazebo).

Thanks for the answer.
I understand the problem.
Maybe i was not so clear, but vice verse - cartographer during installation installing protobuf 3.4.1 but gazebo was built with 2.6.1. In my project i use some message-files from gazebo (depends on it) and when i build my project - it fails.
Cartographer was built successfully and it is not break anything and as you said it should not be installed, but cartographer force to install protobuf>=3. And protobuf >=3 is breaking work with gazebo. As i installed gazebo by apt (not from source) - i can not rebuild gazebo with new protobuf. When i tried to install gazebo from source and build with new protobuf - it failed too (but here i could make something wrong).
The problem is that if i have to work with protobuf>=3 - i can't work with gazebo, if i will not install protobuf=>3 - i can't work with cartographer. The question - do you know how to manage work with too protobufs or can suggest any workaround (rebuild gazebo or install cartographer with protobuf<=3). And can you suggest right way of uninstalling protobuf and installing an old one?
ps. For now i manually downloaded protobuf 2.6.1 sources and installed it over protobuf 3.4.1 and seems my project is working with gazebo as before. It is because cartographer is not so necessary part in my project for now, but how to work with cartographer?

The least intrusive solution does not require any changes to system packages.

Install protobuf compiler and (static) library 3.x not into the system but somewhere else.
Configure cmake for cartographer[_ros] to use protobuf compiler 3.x and link the according static lib.
If you create an application that links cartographer it needs to link the same protobuf library version.

Thanks! It can be the solution.
I installed protobuf to custom dir, but how to use it in catkin_make_isolated ?
Am i on the right way?
https://gist.github.com/l1va/630043c4a23e6b3f5c73c088ba6b62d5
What is wrong?

Guys?

Is a detailed step-by-step start-to-finish resolution to this issue available? I have tried using kdaun's script  https://gist.github.com/kdaun/51b7d19bbcd5e0798c8415cd093078fb
but I am still getting this error and am unable to compile cartographer while Protobuf2.6.1 is installed, despite protobuf3.4.1 being in my workspace from the above script. Instructions on what to change would be greatly appreciated!

The script doesn't work for me either. I also tried to install the protobuf 3.5.1 with a different prefix and then prepend this location to my PATH and LD_LIBRARY_PATH variables. It didn't work either.

Firstly - to return broken 2.6:
To do it download release from here(https://github.com/protocolbuffers/protobuf/releases/tag/v2.6.1 ) , unzip it and do inside the dir:
./configure && make && make check && sudo make install

And how to install localy. I do it like that :
https://gist.github.com/l1va/630043c4a23e6b3f5c73c088ba6b62d5
And after installing cartographer you have to use next command to build after changes in your project:
catkin_make_isolated --install --use-ninja -DCATKIN_ENABLE_TESTING=false
source install_isolated/setup.bash

Did anyone figure out a way to use google_cartographer_ros and Gazebo together.
I tried kdaun's script but it didn't work for me - fails during catkin_make_isolated --install --use-ninja \   -DCMAKE_PREFIX_PATH="${PWD}/install_isolated;${PWD}/protobuf/install;${CMAKE_PREFIX_PATH}"?
I then tried to build cartographer_ros (with local protobuf 3 install) and my other packages (with system protobuf 2) in separate catkin_wss via overlaying. However, (depending on how I did the overlay) either Gazebo or cartographer_ros would break when I tried to run them - due to Protobuf errors.
I uninstalled Gazebo binaries, installed system protobuf 3, and installed Gazebo from source. However the Gazebo build breaks when I do this.

@josephcoombe Try Ubuntu 18.04 :-)

I have worked with @kdaun to improve the installation of a current protobuf3 when installing with ROS.
Starting from his local protobuf install script we came up with an approach using CMake's ExternalProject to allow cartographer to have it's own protobuf in ${catkin_workspace}/devel/opt/protobuf3_local without any manual installation step.
I have compiled some instructions on how to have cartographer and voxblox (which uses the system protobuf) in the same workspace.
This is tested and works on Ubuntu 16.04 as well as 18.04.
This is the relevant additon to the CMakeLists.txt. Maybe this would be worth including into the upstream makefile (only for catkin builds, of course)?

i am  confused by the problem ，in my project  with protobuf of 2.6.1. After making the so file, when i use it ,there will be such errors:error:
#error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
if I  in the source file, by #if 0 ，to stop version detection，it will be ok. But，i know it is not a good way to solve it.  And if if i use the newer version of protobuf, it also the same erro.

Hello, Is there a script or example for cartographer (without ros) installation. I have installed protobuf 3.4.1 in a manually specified path.  And I modify the CMakelist.txt of cartographer according to the answear.
After cmake .. -G Ninja
protobuf3.4.1 can be found
-- Protobuf version : 3.4.1
-- Protobuf include path : /home/wang/CLionProjects/lidar_slam/L6/cartographer/protobuf/install/include
-- Protobuf libraries : /home/wang/CLionProjects/lidar_slam/L6/cartographer/protobuf/install/lib/libprotobuf.a
-- Protobuf compiler libraries : /home/wang/CLionProjects/lidar_slam/L6/cartographer/protobuf/install/lib/libprotoc.a
-- Protobuf lite libraries : /home/wang/CLionProjects/lidar_slam/L6/cartographer/protobuf/install/lib/libprotobuf-lite.a

But  when ninja
Cartographer still use protobuf2.6.1, output like below:
In file included from /usr/local/include/google/protobuf/generated_message_table_driven.h:35:0,
                 from ./cartographer/mapping/proto/trajectory_node_data.pb.h:25,
                 from ../cartographer/mapping/trajectory_node.h:26,
                 from ../cartographer/mapping/trajectory_node_test.cc:17:
/usr/local/include/google/protobuf/map_entry_lite.h: At global scope:
/usr/local/include/google/protobuf/map_entry_lite.h:532:26: error: ‘MapEntry’ in namespace ‘google::protobuf::internal::internal’ does not name a type
   friend class internal::MapEntry;

Could you please provide some advice?

Is this still an issue with newer Ubuntu releases? Because on Ubuntu 18 & 20 there is no need to install a custom Protobuf version for Cartographer, it works totally fine with the protobuf version from the official package archives (installed via apt or rosdep). This is also what is used in the CI Docker script now (change).

I have updated the compilation instructions. Now it should work fine if you follow the instructions on a clean Ubuntu / ROS: https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html

For future reference, in case of having to remove cartographer's older system wide protoc/protobuf install, one could check out osrf/gazebo#2496


Generator should build composable filters for models

The problem
Dart's type safety creates friction around cleanly declaring query filters within Flutter code and then applying them within Serverpod endpoints. Even models with modest field counts contain many possible sets of filters a Flutter app could conceivably request, the totality of which is laborious to properly support. Of course, dedicated methods which only take fixed filters can be written, but that only passes the friction to the Flutter app translate a dynamic situation into the correct endpoint method to call.
Proposed solution
Ideally, Serverpod/Flutter apps would use a simple class to represent desired filters which can be serialized back and forth between clients and servers. Of course, the full scope of these filters would be tedious to write by hand; so I propose that serverpod generate should produce them.
Proposed API
Imagine the following Serverpod model:
class: Object
fields:
  body: String
  rating: int
  createdAt: DateTime

It would be nice if the client and server shared another class, ObjectFilter, which might inherit from abstract classes like this:
/// Parent class for all filtering logic shared between the client and server.
abstract class Filter<T extends SerializableObject> { // soon to be `T extends Model`
  /// Applies this [Filter] to already-loaded collections of objects. Useful for filtering cached results.
  bool predicate(T obj);

  /// Converts this [Filter] into an [Expression] able to modify a database query.
  Expression expression(ObjectTable t);

  Expression and(Filter other) => this.expression & other.expression;

  Expression or(Filter other) => this.expression | other.expression;
}

enum BooleanLogic { and, or }

class ComboFilter<T extends SerializableObject> extends Filter<T> {
  ComboFilter(this.children, this.logic);

  final List<Filter<T>> children;
  final BooleanLogic logic;

  @override
  bool predicate(T obj) => switch (logic) {
        BooleanLogic.or => children.any((filter) => filter.predicate(obj)),
        BooleanLogic.and => children.every((filter) => filter.predicate(obj))
      };

  @override
  Expression expression(Table t) {
    assert(children.isNotEmpty);
    return children.combine();
  }
}

// Probably also have simple `OrFilter` and `AndFilter` classes which streamline using `ComboFilter`.

/// Provides automated way to fold multiple filters, including combination filters with different
/// boolean logic, into a single [Expression].
extension FilterList on List<Filter> {
  @override
  Expression combine() {
    Expression? e;
    for (final Filter<T> filter in children) {
      if (e == null) {
        e = filter.expression;
      } else {
        e = switch(logic) {
          BooleanLogic.and => e & filter.expression,
          BooleanLogic.or => e | filter.expression,
        };
      }
    }
    return e!;
  }
}

And which itself might look like this:
/// Generated [Filter] subclass specific to the [Object] model.
abstract class ObjectFilter extends Filter<Object> {
  /// This part could take a handful of different shapes
  ObjectFilter.id({
    int? greaterThan,
    int? lessThan,
    int? equalTo,
    int? etc etc,
  }) = _ObjectFilterId;

  ObjectFilter.body({
    String? contains,
    String? startsWith,
    String? etc etc,
  }) = _ObjectFilterBody;

  ObjectFilter.rating({
    int? greaterThan,
    int? lessThan,
    int? equalTo,
    int? etc etc,
  }) = _ObjectFilterRating;

  ObjectFilter.createdAt({
    ...
  }) = _ObjectFilterCreatedAt;
}

Which would all allow writing methods client calls and server endpoints like this:
// in Flutter
final objectFilters = [
  ComboFilter(
    children: [
      ObjectFIlter.id(greaterThan: 10),
      ObjectFilter.createdAt(lessThan: someDateTime),
    ],
    logic: BooleanLogic.or,
  );
];
client.object.get(filters);

// on server
Future<List<Post>> list(Session session, List<ObjectFilter>? filters) =>
  Post.db.find(session, where: filters?.combine());

There are countless improvements to be made on these chicken scratches, including streamlining the API for composing filters and thinking through how this would look for relationships - but I think DX improvements here would really help Serverpod :smile:
Related to #2001.

Cool ideas! I can see the handiness of such a feature, my initial gut reaction is questions about security. It seems a little risky to always allow any filters to be applied to an arbitrary table. If we would open up that possibility there probably needs to be a way to restrict which filters can be applied and by whom.
For example, an order table where you only should be able to see your own orders (unless you are an admin), or another scenario where you should not be able to filter by a "removedAt" date time column.
So the question becomes how to make this easy to secure and hard to leak data by mistake while providing this abstraction. On the top of my head, I have no clean ideas, but this is probably solvable.

Great points, and I think it'd be the job of the endpoint to enforce those sort of business rules.
My snippet at the end hand-waves away that category of concern, but I think they could be solved with a combination of adding required filters,
// on server
Future<List<Post>> list(Session session, List<ObjectFilter>? filters) {
  // assume null scenario is handled
  filters.add(PostFilter.owner(equals: session.user));
  return Post.db.find(session, where: filters?.combine());
}

and removing illegal filters, which is less clear in this pattern.
One option could be to configure filter creation in the same model.spy.yaml file, indicating that some filters are serverOnly. It would be important that such serverOnly filters cannot be deserialized, which I think would be enough to prevent a malicious client from spoofing plausible but illegal filters.
For example, maybe this would update the model definition to
class: Object
fields:
  owner: User, filter=serverOnly
  body: String
  rating: int
  createdAt: DateTime

which would not only not prevent an ObjectOwnerFilter class from being created in the client package, but would also not instruct the server-side code how to deserialize one. This should prevent the server endpoint from needing to worry about removing illegal filters.
Of course, I'm sure there are countless edge cases 😬

Another thought: an additional value of structured filters could be runtime warnings when database fields without indexes are used in WHERE clauses. That could be quite valuable :)


sys-libs/glibc: update to patchlevel 2.37-rc5

Sync to upstream 2.37-rc5 and apply Flatcar specific patches.
Closes https://github.com/flatcar/Flatcar/issues/1179.

Can you please add changelog/security/2023-09-22-glibc-2.37-r5.md to have the following:
- glibc ([CVE-2023-4527](https://nvd.nist.gov/vuln/detail/CVE-2023-4527), [CVE-2023-4806](https://nvd.nist.gov/vuln/detail/CVE-2023-4806))

Can you please add changelog/security/2023-09-22-glibc-2.37-r5.md to have the following:
- glibc ([CVE-2023-4527](https://nvd.nist.gov/vuln/detail/CVE-2023-4527), [CVE-2023-4806](https://nvd.nist.gov/vuln/detail/CVE-2023-4806))

Good catch @dongsupark , added. Sorry for missing this one, should have been obvious.

Merging since it got a LGTM from @krnowak so we have it in the nightly.


Account for static mut in missing unsafe diagnostic

Accessing or modifying a static mut is an unsafe operation. The "missing unsafe" diagnostic now tracks this.

bors r+


add data_first helper

data_first is like data_get but get array of keys and return the target that match to first key and not null
this may be useful when we have array and want to get the target but if target was null take another one for example
$array = ['user' => [
    'name' => 'milad', 'username' => 'mnr73', 'phone' => '+98913xxxxxxx'],
];

$title = data_first($array, ['user.name', 'user.username', 'user.phone'], 'profile');

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Refactor outbound authentication with custom providers and handlers

Purpose
This PR provides the capability of custom authentication providers and handlers engagement for outbound authentication. The current design of HTTP outbound authentication is not extensible. Also, it creates cyclic dependencies, in future (ex: When adding JWKs support). And the user cannot attach a custom provider and handler because the authentication mechanisms and their related logic are tightly coupled with the http_secure_client of Ballerina.
This is a similar approach done at refactoring inbound authentication with custom providers and handlers by https://github.com/ballerina-platform/ballerina-lang/pull/15056.
Refer the email discussion @ ballerina-dev [1] for more information.
[1] https://groups.google.com/d/msg/ballerina-dev/OvlUscsjT-I/VmTTBg-DBAAJ
Fixes #15487
Approach

ballerina/auth module provides an abstract object named OutboundAuthProvider, which is responsible for the following 2 actions:

generateToken() - Generate the token that is used to authenticate with the external endpoint
inspect(map<anydata> data) - Inspect the received map of data from outbound authentication

auth:OutboundBasicAuthProvider, jwt:OutboundJwtAuthProvider and oauth2:OutboundOAuth2Provider are implementations of the auth:OutboundAuthProvider for different authentication mechanisms.

ballerina/http module provides an abstract object named OutboundAuthnHandler, which is responsible for the following 2 actions:

prepare(http:Request req) - Prepare the HTTP request for outbound authentication
inspect(http:Request req, http:Response resp) - Inspect the received HTTP request and response from outbound authentication

http:BasicAuthHandler and http:BearerAuthHandler are implementations of the http:OutboundAuthHandler for different use cases.

If a user wants to engage a custom authentication logic, it is needed to write an outbound custom auth provider and outbound custom auth handler as follows. Or else already implemented handlers and providers can be used.
Outbound Custom Auth Provider
import ballerina/auth;

public type OutboundCustomAuthProvider object {

    *auth:OutboundAuthProvider;

    public function generateToken() returns string|error {
        // Logic related to generating the tokens for outbound authentication
    }

    public function inspect(map<anydata> data) returns string|error? {
        // Logic related to inspect the provided the tokens for outbound authentication
    }
}

Outbound Custom Auth Handler
import ballerina/auth;
import ballerina/http;

public type OutboundCustomAuthHandler object {

    *http:OutboundAuthHandler;

    public auth:OutboundAuthProvider authProvider;

    public function __init(auth:OutboundAuthProvider authProvider) {
        self.authProvider = authProvider;
    }

    public function prepare(Request req) returns Request|error {
        // Logic related to preparing the provided HTTP request for outbound authentication
    }

    public function inspect(Request req, Response resp) returns Request|error? {
        // Logic related to inspection of received HTTP request and response from outbound authentication
    }
};

Samples
Sample 1 - Outbound authentication with Basic Auth
import ballerina/auth;
import ballerina/http;

auth:OutboundBasicAuthProvider basicAuthProvider = new({ username: "tom", password: "123" });
http:BasicAuthHandler basicAuthHandler = new(basicAuthProvider);

http:Client nyseEP = new("https://localhost:9090", config = {
    auth: {
        authHandler: basicAuthHandler
    }
});

Sample 2 - Outbound authentication with JWT Auth
import ballerina/http;
import ballerina/jwt;

jwt:OutboundJwtAuthProvider jwtAuthProvider = new({
    inferredJwtIssuerConfig: {
        issuer: "ballerina",
        audience: ["ballerina"],
        keyAlias: "ballerina",
        keyPassword: "ballerina",
        keyStore: {
            path: "${ballerina.home}/bre/security/ballerinaKeystore.p12",
            password: "ballerina"
        }
    }
});
http:BearerAuthHandler jwtAuthHandler = new(jwtAuthProvider);

http:Client nyseEP = new("https://localhost:9090", config = {
    auth: {
        authHandler: jwtAuthHandler
    }
});

Sample 3 - Outbound authentication with OAuth2
import ballerina/http;
import ballerina/oauth2;

oauth2:OAuth2AuthConfig oauth2Config = {
    grantType: http:CLIENT_CREDENTIALS_GRANT,
    config: {
        tokenUrl: "https://localhost:9196/oauth2/token",
        clientId: "3MVG9YDQS5WtC11paU",
        clientSecret: "92053723741"
    }
};
oauth2:OutboundOAuth2Provider oauth2Provider = new(oauth2Config);
http:BearerAuthHeaderHandler oauth2Handler = new(oauth2Provider);

http:Client nyseEP = new("https://localhost:9090", config = {
    auth: {
        authHandler: oauth2Handler
    }
});

Sample 4 - Outbound authentication with Custom Auth
This is a sample program which handles authentication with authorization with a custom header.
sample.bal
import ballerina/http;

OutboundCustomAuthProvider customAuthProvider = new;
OutboundCustomAuthHandler customAuthHandler = new(customAuthProvider);

http:Client nyseEP = new("https://localhost:9090", config = {
    auth: {
        authHandler: customAuthHandler
    }
});

outbound_custom_auth_provider.bal
import ballerina/auth;

public type OutboundCustomAuthProvider object {

    *auth:OutboundAuthProvider;

    public function generateToken() returns string|error {
        return "sUA4M8A!k7pU";
    }

    public function inspect(map<anydata> data) returns string|error? {
        return ();
    }
}

outbound_custom_auth_handler.bal
import ballerina/auth;
import ballerina/http;

public type OutboundCustomAuthHandler object {

    *http:OutboundAuthHandler;

    public auth:OutboundAuthProvider authProvider;

    public function __init(auth:OutboundAuthProvider authProvider) {
        self.authProvider = authProvider;
    }

    public function prepare(Request req) returns Request|error {
        string token = chekc self.authProvider.generateToken();
        req.addHeader("Authorization", token);
        return req;
    }

    public function inspect(Request req, Response resp) returns Request|error? {
        self.authProvider.inspect(new);
    }
};

Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[x] Integration Tests
[x] Ballerina By Example Tests

[x] Increased Test Coverage
[x] Added necessary documentation

[x] API documentation
[x] Module documentation in Module.md files
[x] Ballerina By Examples

Codecov Report

Merging #15696 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master   #15696      +/-   ##
============================================
+ Coverage      6.93%       7%   +0.06%
- Complexity     1785     1795      +10
============================================
  Files          1378     1378
  Lines         70470    70470
  Branches       9060     9060
============================================
+ Hits           4890     4935      +45
+ Misses        65068    65018      -50
- Partials        512      517       +5

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/org/ballerinalang/net/http/BHttpUtil.java
10.11% <0%> (+4.28%)
17% <0%> (+7%)
:arrow_up:

.../http/nativeimpl/request/GetEntityWithoutBody.java
100% <0%> (+50%)
3% <0%> (+1%)
:arrow_up:

...nalang/net/http/clientendpoint/InitGlobalPool.java
100% <0%> (+53.84%)
3% <0%> (+1%)
:arrow_up:

...g/net/http/nativeimpl/request/CreateNewEntity.java
100% <0%> (+60%)
3% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


Do we need delete the "softmax" before using sparse_categorical_crossentrop?

As we all know, the softmax activation layer output the same filters with the input.
I am doing the segmentation tasks.
For example, use the voc FCN, the  second-last is (none, nb_classes=21, w, h)
after the softmax, it output the same (none, nb_classes=21, w, h),
So the y_pred =(21,w,h),but the y_ture =(1,w,h) ,if I don't want to  one-hot every dot in my label, I think the "sparse_categorical_crossentrop" works.
However, when I check the loss function, I found that it bases on this "tf.nn.sparse_softmax_cross_entropy_with_logits" (tf backend), it has the softmax function.
So, should I delete the softmax before I using  it?

I tried to delete it， then it did not fit. So it means we need the softmax layer.
But why?

sparse_categorical_crossentropy loss has from_logits argument, and it is False in  default.
https://github.com/fchollet/keras/blob/master/keras/backend/theano_backend.py#L1505


Upgrade generic-names

The latest version is a bit smaller and has less dependencies.
<EMAIL_ADDRESS>https://packagephobia.com/result?p=generic-names

cc @madyankin


New blank map after zoom in shows map data not yet available

Restarting browser eliminated issue, but shouldn't happen:
see http://www.box.net/shared/ma9gcj2tsvor5p3kdymv

Looks as if the zoom level went in farther than the base map can handle.  Can you please explain how to reproduce this bug?  Which tool you used to zoom, whether you switched tools, etc.  I can't reproduce it using the slider or my mouse wheel.

Hmm. I'd used a two mouse-wheel (actually two finger gesture on OS X)
to zoom. But now that I've logged out I can't reproduce. Maybe there
is a race condition?
On Fri, Oct 14, 2011 at 10:56 AM, Andrew Jennings
<EMAIL_ADDRESS>wrote:

Looks as if the zoom level went in farther than the base map can handle.  Can you please explain how to reproduce this bug?  Which tool you used to zoom, whether you switched tools, etc.  I can't reproduce it using the slider or my mouse wheel.
--
Reply to this email directly or view it on GitHub:
https://github.com/PublicMapping/DistrictBuilder/issues/185#issuecomment-2407498

--

Micah Altman, Ph.D. http://redistricting.info           Twitter: @drmaltman
Senior Research Scientist, Institute for Quantitative Social Science, Harvard U.
Archival Director, Henry A. Murray Archive;
"Entia non sunt multiplicanda sine necessitate" - Dr. Invincibilis
(Corollary, "Ad indicia spectate.")

Not reproducible.


First fix for login with mail

Waiting for merge request: https://github.com/ahivert/tgtg-python/pull/122

Hey @goegol  thanks a lot for this PR!
Unfortunately the upstream module is still broken, as it's currently not possible to get crendentials ... So I prefer to wait and see how this will be fixed before merging your PR!

Hey @goegol , I updated the module so I won't use your PR, but thanks a lot for it! Feel free to open new ones if you have other suggested changes :)


Running "flutter pub get" in quizzler-flutter... Takes forever

Steps to Reproduce

... git clone https://github.com/londonappbrewery/quizzler-flutter.git
... Click Packages get

Upgrading flutter solved the issue


[FEATURE] Adding a Contributors list to this website

Description
The website does not have a section dedicated to the contributors who contributed in this website/ GitHub repository. I would like to add a webpage having the names of all the contributors who contributed to the repository.
Screenshots
No response
Additional information
No response

@Sch476 No need for now


Update nixpkgs to fix issue with Coq derivation.


⛏  use system print function

看到你在 v2ex 这个讨论 上说会调用浏览器打印方法，但实际上你放的是个链接，这个 pr 里调用了 window.print 方法，而且用 id 指定了打印的内容，虽然我看你 css 上已经针对 print 做 media query 了，但如果页面里还有没有匹配到的元素还得添加样式规则

I recommend that one shall always produce PDF on his/her own and this may remain the default behavior. Consider that a visitor may simply use Command-P when he/she would like to print or create his/her own PDF; then the pre-produced PDF can be a good complementary which allows the carefully designed visual details (e.g. typography) to be preserved.
Additionally, please use English instead for a better international communication environment; nonetheless, I appreciate your kindness.


Volunteer Activity Tracking

Easy entering and Reviewing of data on volunteers
historical data/report review of volunteers
tracking of members who also volunteer
track volunteer activity over time/timeline of activiites

I think this can be closed and will likely be covered when we get into more advanced reporting features, simply by being able to select visit type.


Bits for base address 0x41580, frame 35

Following 8 bits reported as missing for Litex:

{ unknown_bit = "004015a3_56_1", unknown_segment = "0x00401580", unknown_segbit = "35_1793" }
{ unknown_bit = "004015a3_60_1", unknown_segment = "0x00401580", unknown_segbit = "35_1921" }
{ unknown_bit = "004015a3_68_1", unknown_segment = "0x00401580", unknown_segbit = "35_2177" }
{ unknown_bit = "004015a3_72_1", unknown_segment = "0x00401580", unknown_segbit = "35_2305" }
{ unknown_bit = "004015a3_80_1", unknown_segment = "0x00401580", unknown_segbit = "35_2561" }
{ unknown_bit = "004015a3_84_1", unknown_segment = "0x00401580", unknown_segbit = "35_2689" }
{ unknown_bit = "004015a3_92_1", unknown_segment = "0x00401580", unknown_segbit = "35_2945" }
{ unknown_bit = "004015a3_96_1", unknown_segment = "0x00401580", unknown_segbit = "35_3073" }

are solved by:

LIOB33.IOB_Y1.35_33 35_33

The bit seems to be IDELAY related

@mkurc-ant Could you have a look?

@tmichalak The 35_33 bit correlates negatively with IDELAY_Y1.IDELAY_VALUE[4] meaning that it should be cleared when the feature is set.
The fuzzer for IDELAY has already been merged, but there is an pending update by litghost https://github.com/SymbiFlow/prjxray/pull/957

Solved with #957


edison - spi read error

Issue reading from spi returns  a copy of the content of the write buffer in the read buffer, though the data on receive line is different.
Please refer https://software.intel.com/en-us/forums/topic/537676 for more info.

Not enough information here to look at. Like what arfoll mentioned.  No code fragment to look at?
Is it related to this thread? https://communities.intel.com/thread/58728

Closed due to lack of information.


Hello Enrico :smile: I see some good repo here :eyes:

This could be of your interest https://books.google.dz/books/about/Competitive_Programming_in_Python.html?id=JA0FEAAAQBAJ&printsec=frontcover&source=kp_read_button&hl=en&redir_esc=y#v=onepage&q&f=false

Hi @SadmiB,
just doing some gym, good habits always starts at the beginning of the year :sunglasses:
Thanks for the book suggestion, I didn't know that one.
I have found Competitive Programmer's Handbook by Laaksonen really useful, but is for C++, and I will stick to python for now, so thanks a lot!


[Error/Question] Parsing error loading recipe - unknown item / Disable All The Ores ?

Hej there,
just creating a new modpack, I really enjoying the idea what this mod does!
While joining/creating a world, there is always the same error:
Parsing error loading recipe botany_pots_ore_planting:crops/alltheores/copper_ore
com.google.gson.JsonSyntaxException: Unknown item 'alltheores:copper_ingot'

There are plenty errors, everyone seems the fault with "all the ores".
What have I tried yet?

Just Minecraft, Forge, Botany Pots, Botany Pots Ore Planting: Errors in log, Minecraft works fine
same setting with the mod All The Ores: Erros sometimes appear, Minecraft works mostly fine
Full Modpack without ATO: Errors  in log, Minecraft works fine
Full Modpack with ATO included: Errors and Minecraft crashing.

My question:
I do not want to use ATO.
Is there a config where to disable the thing with all the ores?
Or is there an easy way to fix it myself, e.g. an instruction/tutorial I have overseen?
What versions do i use?
Minecraft Vanilla 1.20.1
Forge 1.20.1 - 47.2.16
Botany Pots 1.20.1 - 13.0.18
BPOP Botany Pots Ore Planting - 7.4.0+1.20.1
Thank you very much for your time!
If you need more information, please tell me.

Hmm. At present, there is no way to ban the ore of a certain Mod. If your Minecraft can run normally, please ignore these errors.

Alright, thanks for the response. Minecraft works normally, it is just mad that client and server logs keep spamming errors during start and joining a world. Ignoring should be fine, then.


Add Entity.getOptional() to replace multiple private methods

This refactoring reduces code duplication and is also a preparation for my next PR related to auditing

@amirz - FYI


plasma5: 5.13.4 -> 5.13.5

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Looks ok.
@grahamcofborg build plasma5

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: plasma5
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Timed out, unknown build status on x86_64-linux (full log)
Attempted: plasma5
Partial log (click to expand)
building of '/nix/store/m0z2svm2w2yzjw94wkpr9xbg50r9c1ch-kwin-5.13.5.drv' timed out after 3600 seconds
cannot build derivation '/nix/store/86k71jll26n1yg3wvh4vmx3rk6ca3khz-plasma-workspace-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/z7sz9b5vj796lb8ni8v8hnsgj9m8kyv6-kde-cli-tools-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/bfgmq037g3bll331q500d2dmc81jfk3d-kdeplasma-addons-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/cas7fdna7ixm0sd6pdscc2crmn69d16c-khotkeys-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/wyh7x11dmlsjcvxh1pdsr9j4jajdzjgf-plasma-desktop-5.13.5.drv': 2 dependencies couldn't be built
cannot build derivation '/nix/store/fggq82z67dk8vr5ihwy0r4s6p8fvvm6m-powerdevil-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/486bdcd2h5pb54hjvdws2y4nhhcqzvmf-systemsettings-5.13.5.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/nxrmnm6r0pw8xqfb96wfkqvyi5l4qyc2-kmenuedit-5.13.5.drv': 1 dependencies couldn't be built
error: build of '/nix/store/486bdcd2h5pb54hjvdws2y4nhhcqzvmf-systemsettings-5.13.5.drv', '/nix/store/86k71jll26n1yg3wvh4vmx3rk6ca3khz-plasma-workspace-5.13.5.drv', '/nix/store/bfgmq037g3bll331q500d2dmc81jfk3d-kdeplasma-addons-5.13.5.drv', '/nix/store/cas7fdna7ixm0sd6pdscc2crmn69d16c-khotkeys-5.13.5.drv', '/nix/store/fggq82z67dk8vr5ihwy0r4s6p8fvvm6m-powerdevil-5.13.5.drv', '/nix/store/m0z2svm2w2yzjw94wkpr9xbg50r9c1ch-kwin-5.13.5.drv', '/nix/store/nxrmnm6r0pw8xqfb96wfkqvyi5l4qyc2-kmenuedit-5.13.5.drv', '/nix/store/wyh7x11dmlsjcvxh1pdsr9j4jajdzjgf-plasma-desktop-5.13.5.drv', '/nix/store/z7sz9b5vj796lb8ni8v8hnsgj9m8kyv6-kde-cli-tools-5.13.5.drv' failed

Success on aarch64-linux (full log)
Attempted: plasma5
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5
shrinking /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5/bin/kmenuedit
shrinking /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5/lib/libkdeinit5_kmenuedit.so
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5/lib  /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5/bin
patching script interpreter paths in /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5
checking for references to /build in /nix/store/jw8ypz13lgfikphxml7sw63isxy3czvq-kmenuedit-5.13.5...
postPatchMkspecs
postPatchMkspecs

Thanks!


External comment 14

Issue description
Describe your issue in detail here
External comment 14
Definition Of Ready (DoR)
This issue can be worked on if

[x] a developer is assigned
[x] the issue is labeled
[x] the issue is assigned to the current sprint
[x] the issue is estimated
[x] a meaningful title has been set
[x] the issue is described in detail

Commented: https://github.com/CUMGroup/AMOGUS/discussions/103#discussioncomment-5791424


Cannot create proxy with a non-object as target or handler when running prisma.count()

Bug description
Just upgraded to 5.1.0, and after adjusting the Array shortcut breaking change, I have run the testing suite and this test fails, I'm not quite sure how to debug this.
Any help or question is appreciated and I would love to help.
 FAIL  src/controllers/v1/users.controller.test.ts > Users > Search > should search
TypeError: Cannot create proxy with a non-object as target or handler
 ❯ xe ../../packages/prisma-client/client/runtime/library.js:26:5353
 ❯ Ds ../../packages/prisma-client/client/runtime/library.js:112:2696
 ❯ visitor ../../packages/prisma-client/client/runtime/library.js:112:3823
 ❯ $r ../../packages/prisma-client/client/runtime/library.js:112:3062
 ❯ Is ../../packages/prisma-client/client/runtime/library.js:112:3751
 ❯ l ../../packages/prisma-client/client/runtime/library.js:126:10330
 ❯ search src/controllers/v1/users.controller.ts:149:17
    147|     : { name: Prisma.SortOrder.asc };
    148|
    149|   const count = await prisma.user.count();

Our User schema is quite big so it's complicated to share.
I'm using Postgres, Node 18.13.0, Typescript 5.0.4 and a PNPM monorepo if it helps.
How to reproduce

Expected behavior
No response
Prisma information

// Add your schema.prisma

// Add your code using Prisma Client

Environment & setup

OS: Macosx
Database: Postgresql
Node.js version: 18.13.0

Prisma Version
5.1.0

Yes, exactly

The previous version I was of Prisma its: 4.15.0, and Vitest I'm using 0.34.1 (latest) but tried with 0.32.0 and got the same error

The error message also mentions : { name: Prisma.SortOrder.asc };, while the code you shared does not. Might that be relevant?
Can you maybe isolate the schema and code into its own, standalone project so you can see if you can reproduce it? Sharing that project with us would be perfect for us to reproduce, understand and hopefully fix.

The error message also mentions : { name: Prisma.SortOrder.asc };, while the code you shared does not. Might that be relevant?
Can you maybe isolate the schema and code into its own, standalone project so you can see if you can reproduce it? Sharing that project with us would be perfect for us to reproduce, understand and hopefully fix.

I'll try to isolate but it's a large repo so it's a bit complex, but will try for sure.
About the Prisma.SortOrder.asc, was not relevant tried with the code I've pasted here and got the same error.

Got it guys!

Reopening, since it is an actual bug in 5.1. Even though there is a workaround for it (thank you for providing it, @semoal ), we need to fix it.

Fix released in 5.1.1


Couldn't connect to server in android applicaion

Hi everyone,
Can you help me with this to troubleshoot the issue. From web it is working properly , I am using traefik as reverse proxy and it has a valid ssl certificate.
Thanks in advance anyone also facing same issue or resolved please guide me.

Hi @amolvishwakarma, thanks for the report! Could you please provide more detail about what it looks like when you see the problem? For example, a screenshot would be helpful.

I can able to do login from web application and it shows valid ssl but not working from zulip desktop app and android devices not tested in ios , please check below screenshot
# Web login screenshot
![image](https://user-images.githubusercontent.com/57523705/133959210-575c0b54-c068-45d7-9df1-0c2344d0868b.png)

# Desktop screenshot
![image](https://user-images.githubusercontent.com/57523705/133959184-f8bf3b7a-4ae6-4d7e-ae50-752ddfde6a63.png)

# Android screenshot
![Screenshot (Sep 20, 2021 10_42_47 AM)](https://user-images.githubusercontent.com/57523705/133959316-b100f67c-c308-4382-92ab-587fb89c8ae0.png)

If you need any other details please let me know @chrisbobbe

Hi @chrisbobbe ,
The issue is resolved tested in ssl-labs where it is showing letsencrypt as well as traefik default certificate.
So I added the same label of traefik in zulip container to use the valid ssl rather than traefik default certificate in my docker-compose.yml file.
labels:
- "traefik.enable=true"
- "traefik.http.routers.zulip.rule=Host(`example.com`) && PathPrefix(`/`)"
- "traefik.http.routers.zulip.entrypoints=websecure"
- "traefik.http.routers.zulip.tls=true"
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"


Update harness-feature-flag-faqs.md

Added 1 FAQ for FF
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ x] Feature
[ ] Maintenance/Chore

@deepanshuHarness Kindly review and approve

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Error building the plugin

hi
I was trying to follow these instructions to build plugin:
Install go 1.5 and docker.
Install godep.
Clone the project.
Restore go dependencies:
$ godep restore
Build the binary and image:
$ make all
I get following error in "make all" step:
CGO_ENABLED=0 go build  -o authz-broker -a -installsuffix cgo ./broker/main.go
broker/main.go:8:2: cannot find package "github.com/twistlock/authz/authz" in any of:
/usr/local/go/src/github.com/twistlock/authz/authz (from $GOROOT)
/home/sreeni/authz/src/github.com/twistlock/authz/authz (from $GOPATH)
broker/main.go:9:2: cannot find package "github.com/twistlock/authz/core" in any of:
/usr/local/go/src/github.com/twistlock/authz/core (from $GOROOT)
/home/sreeni/authz/src/github.com/twistlock/authz/core (from $GOPATH)
make: *** [binary] Error 1
Any ideas?
I dont see "twistlock" directory under github.com.
thanks
Sreenivas

Dear Sreenivas,
Your go environment isn't properly set. Please follow all the instructions
at https://golang.org/doc/install#install
Thank you for trying AuthZ,
Yossi

hi Yossi
Thanks for the quick response.
I was able to try out the GO sample programs as specified in https://golang.org/doc/code.html with no issues. I have GO 1.5 installed.
I tried 2 options:
cloning the authz project into my go workspace directory which was specified as GOPATH.
cloning the authz project into a directory and making that as GOPATH.
In both cases, I hit same issue as mentioned below.
1 question:
In Godeps.json, I dont see twistlock mentioned. is that expected? I am new to GO, its possible that I am missing something basic.
When I did "godep restore" before "make all", I got this error:
godep: Dep (github.com/docker/go-connections/tlsconfig) restored, but was unable to load it with error:
Package (golang.org/x/sys/unix) not found
godep: Error checking some deps.

it did seem to complete except the error above.

Thanks
Sreenivas

sorry, I meant to say, In both options, I hit same issue in "make all":
CGO_ENABLED=0 go build -o authz-broker -a -installsuffix cgo ./broker/main.go
broker/main.go:8:2: cannot find package "github.com/twistlock/authz/authz" in any of:
/usr/local/go/src/github.com/twistlock/authz/authz (from $GOROOT)
/home/sreeni/authz/src/github.com/twistlock/authz/authz (from $GOPATH)
broker/main.go:9:2: cannot find package "github.com/twistlock/authz/core" in any of:
/usr/local/go/src/github.com/twistlock/authz/core (from $GOROOT)
/home/sreeni/authz/src/github.com/twistlock/authz/core (from $GOPATH)
make: *** [binary] Error 1
thanks
Sreenivas

@smakam you need to either go get xxxx the project or clone it from this path:/usr/local/go/src/github.com/twistlock

@liron-l
Thanks for your response. It fixed my issue with "go get" and I was able to successfully build twistlock/authz-broker container.
I tried to start the plugin and daemon like below:
docker run -d  --restart=always -v /var/lib/authz-broker/policy.json:/var/lib/authz-broker/policy.json -v /run/docker/plugins/:/run/docker/plugins twistlock/authz-broker
sudo docker daemon --authorization-plugin=authz-broker  &
I created this policy in /var/lib/authz-broker/policy.json. Initially, "policy.json" was a directory and authz plugin complained about it. I create this file "policy.json" in /var/lib/authz-broker with content below.
{"name":"policy_1","users":["sreeni"],"actions":["*"]}
I get this error, looks like its not able to find policy.
$ docker ps
ERRO[0312] AuthZRequest for GET /v1.22/containers/json returned error: authorization denied by plugin authz-broker: no policy applied (user: '' action: 'container_list')
ERRO[0312] Handler for GET /v1.22/containers/json returned error: authorization denied by plugin authz-broker: no policy applied (user: '' action: 'container_list')
Error response from daemon: authorization denied by plugin authz-broker: no policy applied (user: '' action: 'container_list')
Not clear if I am missing something else here:
1 question below, this could be related to my issue:
Does authz plugin and docker daemon run in same node? Since authz plugin is itself started as docker container, not clear how it works. If they can run in different node, how do we specify where the plugin runs?
Thanks
Sreenivas

Hi @smakam, plugins must run on the same node as the docker daemon. This is docker plugin design.
Re authorization, currently all rules must have empty user (since you docker currently doesn't know to identify user).
This support is coming in docker 1.11.

Hi @liron-l
Thanks again, with empty user, policy works fine.
1 thing that i found weird:
to get a read-only container policy working, I first started docker daemon with authorization plugin, started authz plugin container and then restarted docker daemon with authorization plugin enabled. Since authz docker container had restart enabled, that authz container got started and then the read-only container policy worked fine.
I kind of found it weird to have a container policy being  controlled by another container.. I guess with multi-user support, this authz plugin container will be started by privileged user?
Thanks
Sreenivas

authz should be used when you run the daemon via HTTP/S.
If you can access the docker socket, it means you are root and essentially can do whatever you want (and among other things, just remove the authz flag).
That is, flow should be:

Admin configure the system with auhz (via service or container)
Admin opens docker HTTP/S ports.
External users are authenticated and authorized.

ok, thanks @liron-l
I will go ahead and close the issue.
Sreenivas

Hi @liron-l
When you mentioned that currently all rules must have empty user, then we can only have 1 POLICY for the time being right?.
"Re authorization, currently all rules must have empty user (since you docker currently doesn't know to identify user). This support is coming in docker 1.11."
For these example currently it is not valid..
Alice can run all Docker commands: {"name":"policy_1","users":["alice"],"actions":[""]}
All users can run all Docker commands: {"name":"policy_2","users":[""],"actions":["*"]}
Alice and Bob can create new containers: {"name":"policy_3","users":["alice","bob"],"actions":["container_create"]}

Hi
I have the same question, I am using debian OS. I installed go1.10.2 and godep tooles.
how I can clone the project because i got error when I write gith clone https://github.com/twistlock/authz
so could you help me please?

@alobaidan git issues are not in the scope of this project; suggest you check stackoverflow

thank you for your response. so could you please provide the full command for go get xxxx to install twistlock

All commands to build the project are described in the wiki.


Types passed to callback

What is the type of the second parameter passed to the callback? Is it a String or a Number? The current implementation is passing neither — it's passing a mathematical value k there.

Array methods seem to mostly pass numbers, so it seems like the spec could wrap it in 𝔽().

It's supposed to be a number like Array.p.map. It seems I missed the F() call, will fix.


Add translations for Declarative Config for Bahasa Indonesia

This PR addresses #13929.

/assign @girikuncoro

Overall it's good on my side, however it's seems like you forgot to put the _index.md

Please add _index.md so the link can be referenced as Bahasa Indonesia instead of EN
https://deploy-preview-14030--kubernetes-io-master-staging.netlify.com/id/docs/

Hmm I wonder why the directory still listed as EN 🤔

/retest

/lgtm
/approve


venv_backend new options and choices

Changelog (let me know if I should commit it in the changelog file):

New global option nox.options.default_venv_backend to set the default backend. Fixes #315
New global option nox.options.force_venv_backend to temporarily force the backend. The commandline version of this option will probably be used more frequently than the noxfile one, but thanks to the great generic option mechanism built in nox, I got both for the same price :) . Fixes #317
Added possibility to declare a "no backend / passthrough" venv with venv_backend='none'. Fixes #301

I updated the doc accordingly.

Finally all set and ready for review :) @theacodes @sethmlarson

Thanks @theacodes for the review, and thanks for merging !


Typescript compilations errors

It fails when trying to load uuid module.
ERROR in /Users/alex/Web Dev/Node/shredderjs/lib/api/models/rule.ts
(2,18): error TS2307: Cannot find module 'uuid'.

Ref:
https://github.com/Microsoft/TypeScript/issues/2709
Also, Object.assign does not work in IE, so we should polyfill it, though I'm not sure how to get Typescript to eat that.
https://github.com/Microsoft/TypeScript/issues/3889

Closed as we decided not to continue with typescript.


[BUG] Can't load packages

Describe the bug
Upon opening the Mod Manager, the packages fail to load, show an infinite spinning circle.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
Packages to load in after opening.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Windows 10
Version 1.0.2

Additional context
MM worked fine one day, and wouldn't load packages the next. Thunderstore is not the issue, as it was up at the time. Uninstalling and reinstalling didn't fix the issue. Trying to import a profile leads to an error "packages not loaded".

Turns out someone uploaded a mod that with a dependency that they didn't also upload and the mod manager really didn't like that. Fix coming shortly


Add PHP 8.1 and 8.2 version tests

Changed log

Adding the PHP 8.1 and PHP 8.2 versions test in the GitHub workflows.

It seems that it will be failed when running the composer cs:check with the PHP 8.0 version.
It will be successful when running the composer cs:check with the PHP 8.1+ versions.
When running the cs:check command with the PHP 8.0 version, the result messages are  as follows:
localadmin@clickhouse02:~/basepath$ php -v
PHP 8.1.23 (cli) (built: Sep  2 2023 06:58:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.23, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.23, Copyright (c), by Zend Technologies
localadmin@clickhouse02:~/basepath$ php ~/composer.phar cs:check
> php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php
PHP CS Fixer 3.25.1 Crank Cake by Fabien Potencier and Dariusz Ruminski.
PHP runtime: 8.1.23
Loaded config default from ".cs.php".
......                                                                                6 / 6 (100%)
Legend: .-no changes, F-fixed, S-skipped (cached or empty file), I-invalid file syntax (file ignored), E-error

Found 0 of 6 files that can be fixed in 0.267 seconds, 14.000 MB memory used

When running the cs:check command with the PHP 8.1 version, the result messages are  as follows:
localadmin@clickhouse02:~/basepath$ php -v
PHP 8.0.30 (cli) (built: Sep  2 2023 08:04:32) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
localadmin@clickhouse02:~/basepath$
localadmin@clickhouse02:~/basepath$
localadmin@clickhouse02:~/basepath$ php ~/composer.phar cs:check
> php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php
PHP Parse error:  syntax error, unexpected token ")" in /home/localadmin/basepath/vendor/symfony/event-dispatcher/EventDispatcher.php on line 260
Script php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php handling the cs:check event returned with error code 255
localadmin@clickhouse02:~/basepath$

When I found the commit, it seems that the better way is to remove the PHP 8.0 test in the GitHub action workflow.


Add support for container security context

Closes #291

@rjkernick Could you please review

@rjkernick Could you please re-trigger the failed check again, it seems there was a problem with the test environment.


some refactors and inheritance refactors

Description:  Some unnecessary class in the inheritance now removed. And minor refactors.

A failed test has nothing to do with the changes I have submitted. I don't know the exact reason but the log shows ERROR: InvocationError for command '/home/travis/build/vintasoftware/drf-rw-serializers/.tox/quality/bin/prospector' (exited with code 1) something like this.

@arneec I've ignored the pylint rule that was making the build break. Please update your branch.

finally all tests have passed :)


Tutorial for amending a commit

This branch contains a new additional material for amending commits with git

@Ijebusoma, Awesome stuff.
Merging