Document consuming project-scoped feed from another project

To consume a project scoped feed from another project you need to add the project Build Service account of the consuming project to the project team group of the project that the feed belongs to.
This took a long time to discover via a support request, so it would be valuable to have this included here.

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

ID: 34f46a54-1fe4-6b64-9479-022f3a06cd70
Version Independent ID: 7f2e7006-865c-5ace-cd85-3b2936db9ffa
Content: Project scoped feeds - Azure Artifacts
Content Source: docs/artifacts/feeds/project-scoped-feeds.md
Product: devops
Technology: devops-artifacts
GitHub Login: @chasewilson
Microsoft Alias: phwilson

@trevorreeves Thank you for the feedback, assigning this to the author for review.

I agree that this process adds additional complexity to sharing artifacts across projects in an organization. The documentation says that it recommends all new feeds to be project-scoped and not organization-scoped, but it doesn't say why. I think our organization will continue to create organization-scoped feeds until we have a better understanding of the Azure DevOps team's architecture goals.
New features should have a pit of success, not a wall of complexity. We are going to use whatever is easier.

In the docs there's now the following: "When connecting to a private project scoped feed from an Azure DevOps pipeline that is in the same organization but in a different project, the project that the feed is scoped to must allow access to the other project's build service. The build service must also be separately added to the feed permissions, regardless of the scope of the feed.". Should this be enough? Maybe screen shots would help? https://docs.microsoft.com/en-us/azure/devops/artifacts/feeds/project-scoped-feeds?view=azure-devops

@trevorreeves Thank you for your feedback. Note added to the article.

Related to this, I think this is still not totally clear where to add the consuming project's build service (or reader) as part of the project owning the feed permissions. For now I got it to work by adding the "consuming project's build service" as a member of the "[MyProject]\Readers" group. But is the "[MyProject]\Project Valid Users" group enough?
Documentation could clearly indicate which permissions group is the minimum requirement here.
Multiple people in my company actually went over this article and still missed that point here and continued to use the org scope build service account in the end.


Omnisharp-roslyn fails to install using WSL: failed setting times/attribs for 44 dir entries

Operation not permitted. See the full log below.
install.log
I tried running WSL as administrator and it didn't work either. May be there needs more instructions on how to make this work better? Or is there something missing in the installation script?

The archive seems to be downloaded, but setting permissions fails and then the server refuses to run. I also tried to manually set g:OmniSharp_server_path to the full path of the extracted OmniSharp.exe, but it didn't work:
Could not run command: C:\Users\sdesaulniers\AppData\Local\omnisharp-vim\omnisharp-roslyn-v1.37.8\OmniSharp.exe -s C:\some_solution_file_of_mine.sln -e utf-8

When running the above command manually in a powershell terminal I see that the program seems to be functional in Windows:
{"Event":"log","Body":{"LogLevel":"INFORMATION","Name":"OmniSharp.MSBuild.ProjectManager","Message":"Adding project 'C:\\some\\project\\file.csproj'"},"Seq":59,"Type":"event"}

Even though the archive is downloaded and extracted in the directory, Vim always pops up with:
The OmniSharp server does not appear to be installed. Would you like to install it?
(Y)es, [N]o:

I'm not sure why it's failing on your system, for some reason the chmod commands is failing, and then the installation stops. Something about your permissions is a bit different to what we've seen before.
The installation script is here: https://github.com/OmniSharp/omnisharp-vim/blob/master/installer/omnisharp-manager.sh
It looks like like 150 is failing, which also means that the script exits before lines 155/156 are executed, so the server remains in the wrong location.
Try renaming the C:\Users\sdesaulniers\AppData\Local\omnisharp-vim\omnisharp-roslyn-v1.37.8 dir to C:\Users\sdesaulniers\AppData\Local\omnisharp-vim\omnisharp-roslyn (remove the version from the end). That puts the server where OmniSharp-vim expects it.
Next, you'll need to find some way of running script line 150 to make the files executable. Although actually, it might only be the OmniSharp.exe fine that needs to be executable, I'm not sure, but it's a good place to start.
Open a wsl terminal and make the file executable:
chmod +x /mnt/c/Users/sdesaulniers/AppData/Local/omnisharp-vim/omnisharp-roslyn/OmniSharp.exe

You can use ls -l on that directory to see the file permissions.

I used the steps described in the following stackoverflow solution in order to solve the issue.
https://stackoverflow.com/questions/46610256/chmod-wsl-bash-doesnt-work
It consists in configuring the following lines into /etc/wsl.conf:
[automount]
options = "metadata"

I hope that my mistake can benefit to someone now that this the solution is found.
I'll close the issue.
Thanks for your response! It hinted me to find the solution.

OK that's great that you found a fix, thanks for reporting it, so others with the same issue can find it.
Interestingly, I never ran into this, and I don't have that option in the /etc/wsl.conf file I used when I used WSL (up until a few weeks ago).

Interestingly, I never ran into this, and I don't have that option in the /etc/wsl.conf file I used when I used WSL (up until a few weeks ago).

Do you have WSL1 or WSL2 ? I'm stuck on an old version of WSL since I can't benefit from a Windows upgrade necessary for WSL2. May be that would explain why.

No, I was also still on WSL1. I did try WSL2 but it was unusably slow for git, the way I was using it.


Update resource-limitations.md

removed a stray parenthesis

Why:
Closes [issue link]

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

Check off the following:

[ ] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

👋 @JohnBreault Thanks so much for opening a PR! I'll get this triaged for review :zap:


feat: get metadata with sharp

Redo https://github.com/unjs/ipx/pull/117

Coming back to this, considering we might make sharp an optional dependency to support other formatters, as well as to keep initial stage (meta detection) pure js and non async, i think makes sense to keep supporting image-meta


NTR: cyclic-di-AMP binding

Please provide as much information as you can:

cyclic-di-AMP binding

Definition (free text)
Binding to cyclic-di-AMP, cyclic dimeric adenosine monophosphate

Reference, in format PMID:#######
(REQUIRED)
PMID:32843560
PMID:36629470

Gene product name and ID to be annotated to this term
c-di-AMP-binding protein CbpB

Parent term(s)
GO:0030551,  GO:0032559

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

This should become a sibling of GO:0035438, cyclic-di-GMP binding. So I'm hoping it will be pretty easy.

[x] I added "cyclic dimeric adenosine monophosphate" as an exact synonym.
[x] Checked parentage in CHEBI

(it is a sib of GO:0035438)

did not autclose?
+[Term]
+id: GO:0180001
+name: cyclic-di-AMP binding
+def: "Binding to a cyclic di-AMP nucleotide." [PMID:32843560, PMID:36629470]
+synonym: "cyclic dimeric adenosine monophosphate binding" EXACT []
+is_a: GO:0030551 ! cyclic nucleotide binding
+is_a: GO:0032559 ! adenyl ribonucleotide binding
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/25203" xsd:string


Stats Endpoint

This PR introduces a stats endpoint. This will likely require a lot of experimentation / refactoring so I'll leave it in WIP until it's clear what other PRs need to be merged before this one.

[x] number of databases
[x] (rough) size of databases

Future work

database level aggregate and rollup metrics
all of the above, over time

Closes #14

I think this is ready to go, but I'll leave in draft until the following are merged, preferably in this order:

[ ] #20
[ ] #19
[ ] #21

The others have been merged, fwiw.

Thanks @Jon-Biz. I'm gonna mark this as ready for review then... :crossed_fingers:

Wonder why CI isn't running :thinking:

There we go. @Jon-Biz one more sanity check?

I'm gonna go ahead and merge and we can fix issues as they arise.


CLOUDP-111961: Added a step to generate 3rd party licenses report

All Submissions:
Added one step for the release process to generate 3rd party licenses report

[x] Have you signed our CLA?

Closed because of https://github.com/mongodb/mongodb-atlas-kubernetes/pull/438


Update Kakariko Gorge Double Clawshot Chest.jsonc

https://www.zeldaspeedruns.com/tp/world/eldin-province#enemy-lja-to-gorge-hp-obsolete and/or https://youtu.be/tSeTqSXyXHk?t=10513
Both enemy LJA's allow for skipping use of the Gale Boomerang as part of CanLJA allowing for logic update to just need sword.

This should work with wooden sword as well, but I have zero way of testing or confirming this personally. I would appreciate if someone able to test this could confirm that an LJA can be done off the wooden sword as well (successfully aiming the LJA is not required to confirm testing that the LJA is doable)

I have this marked on my roadmap as a niche technique and it will be implemented as such when the time comes


New UI on Skills page for enabling / disabling skill and managing allowed callers list

Is your feature request related to a problem? Please describe.
We need to provide users of Composer the ability to manage the following via the UI.

The new IsSkill setting introduced into the SDK, to indicate if a bot should allow itself to be consumed as a skill.
The AllowedCallers list

The runtime changes related to this are currently in PR https://github.com/microsoft/BotFramework-Composer/pull/4086
Describe the solution you'd like
The agreement amongst the team who met to discuss this was that the existing skills page within Composer would be altered to include both the IsSkill toggle and UI to allow a user to manage the Allowed Callers list.
By default the IsSkill toggle will be set to false.  A user should be able to enable this toggle on the skills page, or have this turned on automatically if the user creates a skill manifest.
The Allowed Callers UI should allow a user to indicate all callers should be allowed (this should be the default) or that a specified list of app Ids should be allowed.

A couple quick questions:

are we introducing two new fields in appsettings? isSkill and AllowedCallers?
is there an accompanying runtime issue to consume these new fields?

cc @carlosscastro

@cwhitten Allowed Callers is existing configuration within appsettings.json for C#.  It is an array of strings, either * for all or an array of app IDs for the allowed calling bots. You can see more about this setting at https://docs.microsoft.com/en-us/azure/bot-service/skill-implement-skill?view=azure-bot-service-4.0&tabs=cs#application-configuration.
@carlosscastro can provide details of the new IsSkill setting - this is new all up in SDK this cycle and just completed.

Adding @sangwoohaan for design input

Here is my draft for the non UI part of the skill settings #4086
cc @carlosscastro

@tdurnford This feature doesn't seem to handle the "enforced end of skill dialog" #4157 but for sure it is related to skills. You want to discuss this here? Or should I reopen the issue?

@ltwlf I’ll go ahead and reopen the other issue. Thanks for pointing that out.

@sangwoohaan do we have completed designs for this?

@sangwoohaan do we have completed designs for this?

Removing from the milestone. Missing UX

This looks like something I can handle writing, but not until we have a solid and nailed-down UI for it.

I merged a PR a few weeks that added the allowed callers list and the is skill toggle. However, it looks like it got removed in the latest Settings page changes. Note, we no longer need the is skill toggle since the adaptive runtime no longer uses that setting.
https://github.com/microsoft/BotFramework-Composer/pull/6522
https://github.com/microsoft/BotFramework-Composer/pull/6620
https://github.com/microsoft/BotFramework-Composer/pull/6622


libs.crypto_utils: add functions

To load an X.509 certificate from DER-encoded certificate data, and convert between DER-encoded and PEM-encoded certificate data.
New functions:

load_der_x509_cert
x509_cert_der_to_pem
x509_cert_pem_to_der

Codecov Report

Merging #36 into develop will increase coverage by 1.1%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           develop      #36     +/-   ##
==========================================
+ Coverage    70.86%   71.97%   +1.1%
==========================================
  Files           16       16
  Lines          738      760     +22
  Branches        96       99      +3
==========================================
+ Hits           523      547     +24
+ Misses         177      175      -2
  Partials        38       38

Impacted Files
Coverage Δ

cl_sii/libs/crypto_utils.py
100% <100%> (ø)
:arrow_up:

cl_sii/libs/encoding_utils.py
82.6% <0%> (+8.69%)
: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 fd79fa3...ee0d803. Read the comment docs.


Sync eng/common directory with azure-sdk-tools for PR 8602

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/8602  See eng/common workflow

Failures are unrelated to the PR now. Failing to build due to missing dependencies.

/check-enforcer override


Generate both up and down variants.

Right now, the CLI does only generate the up variant. This could be achieved by using the same mechanism as sqlx: the -r flag.

I'm interested in this idea, but I'm not familiarized on how sqlx-cli distinguishes between an up and a down migration. Could you give me an example?

If I recall correctly, diesel creates a directory for each migration, with an up.sql and a down.sql file. That approach could work, but it wouldn't be compatible with sqlx AFAIK.

sqlx does generate these as well. You have to specify the -r parameter though. See the help screen of the normal sqlx CLI.

It should now support down migrations using models generate -r


Add additional template

Is your feature request related to a problem? Please describe.
It's not a problem, just a proposal / a suggestion.
Describe the solution you'd like
A Contribution
Describe alternatives you've considered
Maybe submit other templates but for approval
Additional context
that would be all..thank you..

Hi have a basic template I would like to contribute, could you assign it to me? or could I just fork it and contribute anyway?
?

I just sent the pull request, it has a detail overview of the work I have done, do check and let me know if there's an issue


Bug: Overlay settings are not enabled when extension is installed for the first time

Description:
Currently overlay settings are not enabled by default  once extension is installed.
Steps to Replicate:

Open chrome extension go to overlay settings.
Settings are disabled by default, enable the button.
Select any color, the overlay with that color should appear in the website but it is not displayed.
Now refresh the current page, your overlay with chosen color will appear now.

Expected Behaviour:
The overlay settings should be enabled once extension is installed and by default the overlay should be visible to the user.

not reproducable


MRS Design

User Statement
As a Software Engineer, I would like access to a series of documents describing the architecture of the Music Recommendation System so that I can effectively construct the required system.
Engineering Response
We will assess the requirements of the system and build an architecture to meet those requirements. We will express this system architecture in a series of documents and make them available to the team.
Technical Breakout
Acceptance Criteria

[ ] MRS Feature Selection ticket completed
[ ] System architecture meets requirements
[ ] System architecture expressed in design documents
[ ] Design documents made available to the team

The recommendation system design phase has concluded. Resolving this issue.


Added simple attic watch store example

This is a simple but working systemd service to upload the contents of the local buildbox-nix store to an attic cache, for use my other machines/nodes.

I added some suggestions above. I have not tested them yet. Could you try to apply them in your setup? Thanks!

The CI error I can address later myself.

Yes that works now for me 👍🏻

Looks like attic-client is now in nixpkgs. So I just replaced the attic flake with that as it saves the user some rebuilds.

@mergify queue

Looks like attic-client is now in nixpkgs. So I just replaced the attic flake with that as it saves the user some rebuilds.

Okay with me, with the mental note that it may cause version mismatches if the flake module is used to configure the main attic service.
#, inputs  is no longer required with the removal of the flake.

The module also seems to use the server provided by nixpkgs from the looks of it: https://github.com/zhaofengli/attic/blob/717cc95983cdc357bc347d70be20ced21f935843/flake.nix#L183
So that should be reasonable in sync.


Swift 4 support

Hello! Here's a quick change that makes it Swift 4 compatible. Would it be possible to create a new Swift 4 branch?

Hey guys, could you take a look on this branch? It would be nice to have it updated to Swift 4

Fixed!


Fix bug in trainer caused by parallelize and optimizer creation order

What does this PR do?

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Problem with Redux

Hello I am trying to use this library with Redux, but I have to click two times on the color in order to get it displayed (I try with CirclePicker), but the action is dispatched on the first click as expected.
How can I get the good color displayed on the first click ? And why does it work at the second one ?
I call it like
<CirclePicker                                 style={{"margin":"0 auto"}}                                 onChangeComplete={createCategoryColor}                             />
And the method called simply does
createCategoryColor(color, event){         const { dispatch } = this.props;         dispatch(selectColorCreate(color.hex));     }
Do you have any idea please ? This lib is really nice !

You have to pass down the color from redux into the component:
<CirclePicker color={reduxColorVar} style={{"margin":"0 auto"}} onChangeComplete={createCategoryColor} />

Going to close this. Please re-open if it's still an issue!

I'm having problems using one of the react-color color pickers, as well.
When I use the picker in the form like this:

the 'submit' function doesn't pick up the value...
When I make a custom field like this:
colorSlider = ({ input, label, meta: { touched, error } }) => (

{label}
<SliderPicker {...input} />
{error}

)
and declare a Field:

Then the value is picked up by 'submit', but the color picker acts up and doesn't let me select colors in the same way that the normal component works... What am I doing wrong?

Are you talking about Submit in a form? React color currently doesnt work in a form natively, you have to get the state from its onChange callback.

Ok, I tried this as well:

 				{label} 				<SliderPicker onChange={ 						(color) => { 							props.change(fieldName, color.hex) 						} 				} /> 				<Field name={fieldName} component="hidden" />

redux form still captures the value. but the SliderPicker is still acting up. I can't select some colors and the sliding doesn't seem to work at all, rather you need to click on the spectrum to change the color. When I click on another field, the slider returns to the initial color.

Others seem to work fine, it must be a more specific problem with the SliderPicker. I haven't tested with others like it though.

You also have to pass the active color down into the component:

  {label}
  <SliderPicker color={ FIELD_NAME_HEX_COLOR_VAR } onChange={ (color) => { props.change(fieldName, color.hex) } } />
  <Field name={fieldName} component="hidden" />

That worked great @casesandberg and @efdor - thanks!

Hi @casesandberg the problem is still there as I have to click two times on the color in order to get it displayed.
`const colorSlider = ({
input,
label,
meta: {
touched,
error
},
...custom
}) => (

<BlockPicker {...input} {...custom}/>

 )`
<Field                                         color={item.value}                                         triangle="hide"                                         colors={['#000', '#ff0000']}                                         item={item}                                         name={item.key}                                         component={colorSlider}/>


Spread scheduling keeps assigning containers to same node (bug?)

I'm trying to start multiple instances of a (self-built) image in a Swarm cluster of three nodes (including master) with an overlay network. Starting a first instance with a published port succeeds, while any other attempt to start an instance fails with:
docker: Error response from daemon: Unable to find a node that satisfies the following conditions
[port 49152 (Bridge mode)]
[image==footstep (soft=false)].
See 'docker run --help'.

I'm starting containers as follows:
docker run --name foot-ef7239f7-8865-4edc-ac29-491b30f8b983 -it -p 49152:49152 footstep /bin/bash
Further, if I start an instance without published port it assigns the container to the same node as the first container although this does not conform with the spread scheduling.
Even if I try to "overwrite" the (hard) image affinity, it fails:
docker run --name foot-ef7239f7-8865-4edc-ac29-491b30f8b983 -it -p 49152:49152 -e affinity:image==~footstep footstep /bin/bash
docker: Error response from daemon: Unable to find a node that satisfies the following conditions
[port 49152 (Bridge mode)]
[image==footstep (soft=true) image==footstep (soft=false)].
See 'docker run --help'.

I'm using Docker version 1.11.1, build 5604cbe and docker-machine version 0.7.0, build a650a40 with VirtualBox driver, and consul for key-value store in the overlay network.
Any ideas what's wrong? Pleas let me know if you need more information.
docker info
Containers: 6
 Running: 6
 Paused: 0
 Stopped: 0
Images: 6
Server Version: swarm/1.2.0
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 3
 footstep-1: <IP_ADDRESS>:2376
  └ Status: Healthy
  └ Containers: 1
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 1.021 GiB
  └ Labels: executiondriver=, kernelversion=4.1.19-boot2docker, operatingsystem=Boot2Docker 1.11.0 (TCL 7.0); HEAD : 32ee7e9 - Wed Apr 13 20:06:49 UTC 2016, provider=virtualbox, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-04-28T09:40:19Z
  └ ServerVersion: 1.11.0
 footstep-2: <IP_ADDRESS>:2376
  └ Status: Healthy
  └ Containers: 3
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 1.021 GiB
  └ Labels: executiondriver=, kernelversion=4.1.19-boot2docker, operatingsystem=Boot2Docker 1.11.0 (TCL 7.0); HEAD : 32ee7e9 - Wed Apr 13 20:06:49 UTC 2016, provider=virtualbox, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-04-28T09:40:05Z
  └ ServerVersion: 1.11.0
 footstep-swarm: <IP_ADDRESS>:2376
  └ Status: Healthy
  └ Containers: 2
  └ Reserved CPUs: 0 / 1
  └ Reserved Memory: 0 B / 1.021 GiB
  └ Labels: executiondriver=, kernelversion=4.1.19-boot2docker, operatingsystem=Boot2Docker 1.11.0 (TCL 7.0); HEAD : 32ee7e9 - Wed Apr 13 20:06:49 UTC 2016, provider=virtualbox, storagedriver=aufs
  └ Error: (none)
  └ UpdatedAt: 2016-04-28T09:39:25Z
  └ ServerVersion: 1.11.0
Plugins:
 Volume:
 Network:
Kernel Version: 4.1.19-boot2docker
Operating System: linux
Architecture: amd64
CPUs: 3
Total Memory: 3.064 GiB
Name: 09cdfc578b0e
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support

docker network ls
NETWORK ID          NAME                    DRIVER
df699cc1da14        footpath                overlay
429208c9f4f9        footstep-1/bridge       bridge
1198215e32c1        footstep-1/host         host
0c6dd77896d2        footstep-1/none         null
fee7277389ce        footstep-2/bridge       bridge
86c05863cdc8        footstep-2/host         host
baf881a5c76c        footstep-2/none         null
af498afc0639        footstep-swarm/bridge   bridge
b22d300a7f6c        footstep-swarm/host     host
eb58cd250d87        footstep-swarm/none     null

docker-machine ls
NAME                ACTIVE      DRIVER       STATE     URL                         SWARM                     DOCKER    ERRORS
footstep-1          -           virtualbox   Running   tcp://<IP_ADDRESS>:2376   footstep-swarm            v1.11.0
footstep-2          -           virtualbox   Running   tcp://<IP_ADDRESS>:2376   footstep-swarm            v1.11.0
footstep-keystore   -           virtualbox   Running   tcp://<IP_ADDRESS>:2376                             v1.11.0
footstep-swarm      * (swarm)   virtualbox   Running   tcp://<IP_ADDRESS>:2376   footstep-swarm (master)   v1.11.0

For the sake of completeness, I'm not sure about the standard behavior of Docker Swarm about the way it handles and distributes images. It seemed - since building the image worked perfectly - that it does spreading of images out of the box, but that was the problem: I'm now using a private registry v2 and start all nodes of the swarm with --insecure-registry option and now spread scheduling works as expected. I'm closing the issue because I solved it with the docker-distribution tool (registry v2) and since this issue didn't get any response either.
I would still appreciate a statement or a reference from the maintainers about the expected bevhavior of building images with Docker Swarm. Thanks in advance.


Feed doesn't show the latest chapter

Manga: https://mangadex.org/title/d8323b7b-9a7a-462b-90f0-2759fed52511/hokkaido-gals-are-super-adorable

i believe this may be because only 10 feeds are fetched, but they are not fetched by release date but unsorted.

Yep, seems like the feed was unsorted and because of that some chapters would appear and some would not.

this latest commit 2c9359ad5dabbab583253eff3dac5d95458f43e2 created a crash:
Traceback (most recent call last):
  File "/srv/local/mangadex-rss/main.py", line 258, in <module>
    main()
  File "/srv/local/mangadex-rss/main.py", line 187, in main
    for entry in get_unread_manga(cache):
  File "/srv/local/mangadex-rss/main.py", line 100, in get_unread_manga
    chapter_no = parse_chapter_to_tup(update["attributes"]["chapter"])
  File "/srv/local/mangadex-rss/main.py", line 77, in parse_chapter_to_tup
    return (int(txt),)
ValueError: invalid literal for int() with base 10: '30e'

no crash if using previous commit 417c80457bf82be5cd502758b7930571d19f9b4d (but no real latest)

Interesting, have you cleared the cache.bin and rss.xml file before running against the latest commit?
I can see that the error is being thrown on the generation of the feed it should be generally be thrown first at the fetch of the data from the api.

oops, nevermind, I was misreading my own code

Ok, now, can you please rerun the code with the latest changes, please remember to clear cache.bin and rss,xml

moving to #6 (i should really follow the "1 ticket per issue" rule)


MRTCore will also search for [modulename].pri for unpackaged app

For unpackaged app, the tool will build the resource file as [modulename].pri. It's not straightforward to update build tool. Change the runtime behavior to also look up [modulename].pri for unpackaged app.
MrtCoreUnpackagedTest only runs in command line, as the test adapter launches te.processhost.exe from nuget cache folder, thus we cannot copy manifest and pri file there.

One question: in the wapproj case, will resources.pri exist alongside <csproj/vcxproj name>.pri? (resources.pri is a merge of <csproj/vcxproj name>.pri and other stuff) Assuming it does, if there is an issue generating resources.pri, our code will now succeed (it'll fall back to <csproj/vcxproj name>.pri). Don't we want it to fail instead?

if merge fails, the build would break
for packaged app, we will not use [project name].pri.

In reply to: 840038734

Regarding #2 above, with wapproj-less packaged apps, we do want to use .pri, don't we? There won't be a resources.pri in that case, no?

In reply to: 840038734

for any packaged app (wap or not), the resource file needs to be resources.pri. If it's not, we need to make that happen, or the app may have issue with system MRT.
I think 2 is correct.

In reply to: 840116910


check for expected use of typeof operator

I typed this javascript code:
if (someVariable === 'function') {
...
}

I expected to check to make sure that someVariable was a function, then execute the code in the condition. I of course, forgot the typeof operator. And obviously, the above is valid javascript code, so no error was thrown.
Jshint could look for standard usages of typeof - and see if there were typical typos around them, like the above, and alert about them.
The obvious problem is that the above is valid javascript - I could actually be trying to detect the string 'function', but its not likely.

That's definitively lint.


Refactor Public API

Hello! :wave:
Re-opening a PR for issue #219.

Refactor public API to support a default config middleware and the ability to configure the middleware. This is more in line with other middlewares.
Move current API to createPromise function
Default export a function with default configuration

Default API:
import thunk from 'redux-thunk';
import promise from 'redux-promise-middleware';
import logger from 'redux-logger';

const store = createStore(reducers, null, applyMiddleware(
  thunk,
  promise,
  logger,
));

Custom middleware API:
import thunk from 'redux-thunk';
import { createPromise } from 'redux-promise-middleware';
import { createLogger } from 'redux-logger';

const store = createStore(reducers, null, applyMiddleware(
  thunk,
  createPromise(myConfigObject),
  createLogger(myLoggerConfigObject),
));

Thanks! I will take a look this weekend.


Cron route metadata property

Cron binding route
Please, add the ability to specify route property in metadata component configuration. In this way, we can specify a complex endpoint (i.e.: api/v1/foo/cron) instead of the name
Release Note

RELEASE NOTE:

See here: https://docs.dapr.io/developing-applications/building-blocks/bindings/howto-triggers/#specifying-a-custom-route.


Running /advancedbackups start gives limited feedback

I ran /advancedbackups start and the only output it gave was Starting backup. It would be nice for it to at the very least report when it finishes.

Initial plan was to implement it as part of #23, but I have just thought of a better way I think so I'll look into that tonight

Resolved in 30c74e0. Will wait until next update to publish

Thaaank you

Will wait until next update to publish

Next update of what? 😅

Will wait until next update to publish

Next update of what? 😅

Meant I'd release one update with all these issues fixed at once, rather than pushing an update just for the command change haha


use go 1.13

as title

@sapk seems golangci-lint fails, and the reports contain incorrect information. I will look into this more.

You need to update go.mod by upgrading the first line to enable 1.13 libs.

why?

@lafriks I need to find the link but I remember that the std lib are also versionned now and that go compiler will use the one specified in go.mod

From https://golang.org/doc/go1.13

If your code uses modules and your go.mod files specifies a language version, be sure it is set to at least 1.13 to get access to these language changes. You can do this by editing the go.mod file directly, or you can run go mod edit -go=1.13.

But I have also seen that some suggest to declare the minimal go version supported. This seems logic since it should be the lowest required std libs. I don't know go internal to say what is the best.
On a sidenote, I hope we can use new error methods soon.

From https://golang.org/doc/go1.13

If your code uses modules and your go.mod files specifies a language version, be sure it is set to at least 1.13 to get access to these language changes. You can do this by editing the go.mod file directly, or you can run go mod edit -go=1.13.

But I have also seen that some suggest to declare the minimal go version supported. This seems logic since it should be the lowest required std libs. I don't know go internal to say what is the best.
On a sidenote, I hope we can use new error methods soon.

I should more carefully read release notes :D Thanks for pointing out to this ;)

@lafriks go module is a good point providing a standard and more secure deps management but they are few quirks to get around and I also don't get some.

Currently blocked on: https://github.com/golangci/golangci-lint/issues/663

Currently blocked on: golangci/golangci-lint#663

Just in case, that issue was marked as duplicate of golangci/golangci-lint#659

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@10dfb44). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master   #8088   +/-   ##
========================================
  Coverage          ?   41.8%
========================================
  Files             ?     482
  Lines             ?   64557
  Branches          ?       0
========================================
  Hits              ?   26990
  Misses            ?   34097
  Partials          ?    3470

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 10dfb44...2f05d70. Read the comment docs.

deps have been upgraded and build now passes. In addition to golangci-lint, I also update swagger.
Please review :)


Connecting to an HTTP auth provider

Preface: I know next to nothing about Ruby, so this could quite simply be a configuration issue i"m running into.
In trying to configure a GitLab instance to use OIDC against a Keycloak server I ran into issues with SSL_connect
OpenIDConnect::Discovery::DiscoveryFailed (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol):
This was odd because none of the URLs I had used in my configuration were set to use HTTPS... they were all HTTP.
I eventually traced it down to OpenIDConnect::Discovery::Provider::Config::Resource
SWD.url_builder defaults to URI::HTTPS if it's not set explicitly. It would seem that the url_builder should switch based on uri.scheme.
I did a brutal hack to store off uri.scheme in initialize and then switched on the scheme to set SWD.url_builder to URI::HTTP as necessary just as a proof of concept and the auth stuff works.
If there's a way to configure this without hacking the code up, please lmk.

@vfazio
I encounter issue when config the gitlab to use external keycloak.
I want to disable the https verify too.
I did a brutal hack to store off uri.scheme in initialize and then switched on the scheme to set SWD.url_builder to URI::HTTP

can you point out how to modify the code ?

Discovery endpoint must be a https uri.
I'm supporting http uri only for dev envs.
It's better to make your IdP https.

@vfazio
hi,
this is my dev envs.
I am just doing some prototype. so http is better for prototype

@lixiran
I think i did something like:
          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            @scheme = uri.scheme
            attr_missing!
          end

          def endpoint
            case scheme
            when "http"
              SWD.url_builder = URI::HTTP
            else
              SWD.url_builder = URI::HTTPS
            end
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

But it's been a while.
For your specific case where you're running into SSL errors due to a self-signed cert it's a bit more complicated. It's likely due to HTTPClient's default configuration for HTTPS connections.
for self signed certs, the ssl_config.verify_mode needs to be set to OpenSSL::SSL::VERIFY_NONE
You'll likely need to double check reference along the chain of openid-connect, rack-oauth2, swd, and webfinger.

I'm supporting http uri only for dev envs.
What does that mean exactly? I'm having the same issue and the patch from @vfazio works for me as well (s/case scheme/case @scheme/) but i'd love to get rid of that.
How do i specify my setup as "dev env" ?

I suggest this monkey patch. it is thread-safe and does not require changing global attribute.
Module.new do
  ### Monkey patch to keep the desired scheme of the issuer instead forcing it into https

  attr_reader :scheme

  def initialize(uri)
    @scheme = uri.scheme
    super
  end

  def endpoint
    URI::Generic.build(scheme: scheme, host: host, port: port, path: path)
  rescue URI::Error => e
    raise SWD::Exception.new(e.message)
  end

  prepend_features(::OpenIDConnect::Discovery::Provider::Config::Resource)
end

Discovery endpoint must be a https uri.
I'm supporting http uri only for dev envs.
It's better to make your IdP https.

@nov is it possible to use http via some configuration or is a patch like what @mikz suggests required?

@lixiran
I think i did something like:
          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            @scheme = uri.scheme
            attr_missing!
          end

          def endpoint
            case scheme
            when "http"
              SWD.url_builder = URI::HTTP
            else
              SWD.url_builder = URI::HTTPS
            end
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

But it's been a while.
For your specific case where you're running into SSL errors due to a self-signed cert it's a bit more complicated. It's likely due to HTTPClient's default configuration for HTTPS connections.
for self signed certs, the ssl_config.verify_mode needs to be set to OpenSSL::SSL::VERIFY_NONE
You'll likely need to double check reference along the chain of openid-connect, rack-oauth2, swd, and webfinger.

module OpenIDConnect
  module Discovery
module OpenIDConnect
  module Discovery
    module Provider
      class Config
        class Resource < SWD::Resource
          undef_required_attributes :principal, :service
module OpenIDConnect
  module Discovery
    module Provider
      class Config
        class Resource < SWD::Resource
          undef_required_attributes :principal, :service

          class Expired < SWD::Resource::Expired; end

          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            @scheme = uri.scheme
            attr_missing!
          end

          def endpoint
            case scheme
            when "http"
              SWD.url_builder = URI::HTTP
            else
              SWD.url_builder = URI::HTTPS
            end
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

          private

          def to_response_object(hash)
            Response.new(hash)
          end

          def cache_key
            md5 = Digest::MD5.hexdigest host
            "swd:resource:opneid-conf:#{md6}"
          end
        end
      end
    end
  end
end

unknown local name ? help me, I don't understand ruby, I am just trying to setup gitlab

@lixiran
I think i did something like:
          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            @scheme = uri.scheme
            attr_missing!
          end

          def endpoint
            case scheme
            when "http"
              SWD.url_builder = URI::HTTP
            else
              SWD.url_builder = URI::HTTPS
            end
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

But it's been a while.
For your specific case where you're running into SSL errors due to a self-signed cert it's a bit more complicated. It's likely due to HTTPClient's default configuration for HTTPS connections.
for self signed certs, the ssl_config.verify_mode needs to be set to OpenSSL::SSL::VERIFY_NONE
You'll likely need to double check reference along the chain of openid-connect, rack-oauth2, swd, and webfinger.

module OpenIDConnect
  module Discovery
module OpenIDConnect
  module Discovery
    module Provider
      class Config
        class Resource < SWD::Resource
          undef_required_attributes :principal, :service
module OpenIDConnect
  module Discovery
    module Provider
      class Config
        class Resource < SWD::Resource
          undef_required_attributes :principal, :service

          class Expired < SWD::Resource::Expired; end

          def initialize(uri)
            @host = uri.host
            @port = uri.port unless [80, 443].include?(uri.port)
            @path = File.join uri.path, '.well-known/openid-configuration'
            @scheme = uri.scheme
            attr_missing!
          end

          def endpoint
            case scheme
            when "http"
              SWD.url_builder = URI::HTTP
            else
              SWD.url_builder = URI::HTTPS
            end
            SWD.url_builder.build [nil, host, port, path, nil, nil]
          rescue URI::Error => e
            raise SWD::Exception.new(e.message)
          end

          private

          def to_response_object(hash)
            Response.new(hash)
          end

          def cache_key
            md5 = Digest::MD5.hexdigest host
            "swd:resource:opneid-conf:#{md6}"
          end
        end
      end
    end
  end
end

unknown local name ? help me, I don't understand ruby, I am just trying to setup gitlab

change the case scheme to case @scheme

Discovery endpoint must be a https uri. I'm supporting http uri only for dev envs.
It's better to make your IdP https.

There is no support for http even in dev though, is there? It's always https.
Any plans to actually support this? I'd be happy to open a PR. It's impractical setting up https on my local dev IdP.
Appreciate all your work on these gems!


Fix typo in editor_log.h

I had this in a branch made 2 years ago and it still holds up, so yeah, sure, why not.

Superseded by #99799.


Tests failing on Linux

System: Endeavour os, kernel 5.18.11-arch1-1
Cmake version: 3.23.2
Commit: 5ee2f2c16250a6529108e6a6fff89e0f147502d2
Following steps at Build section
git clone https://github.com/lifting-bits/sleigh.git
cd sleigh
# Configure CMake
cmake -B build -S .
# Build SLEIGH
cmake --build build -j

results in compilation failure
Expected behavior:
Tests passed without error messages and failures
Actual behavior:
Tests failing with the following message:
Consolidate compiler generated dependencies of target sla
[ 41%] Built target sla
/usr/include/c++/12.1.0/bits/stl_vector.h:1206: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::front() [with _Tp = cmGccStyleDependency; _Alloc = std::allocator<cmGccStyleDependency>; reference = cmGccStyleDependency&]: Assertion 'this->empty()' failed.
make[2]: *** [CMakeFiles/decomp.dir/build.make:1421: CMakeFiles/decomp.dir/depend] Aborted (core dumped)
make[1]: *** [CMakeFiles/Makefile2:1217: CMakeFiles/decomp.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 41%] Linking CXX executable ghidra_test_dbg
[ 55%] Built target ghidra_test_dbg
make: *** [Makefile:146: all] Error 2

However, I am not expirienced user of cmake, so maybe there is some error from my side

Hmmm. Your error message indicates there's an issue in the standard c++ header stl_vector.h at line 1206 and there doesn't seem to be any sort of traceback to a location in Ghidra/sleigh files other than the error message comes during decomp target 🤔
Can you try running without parallelism, increase the verbosity, and paste the failing line, please:
cmake --build build --verbose

Honestly, I'm at a bit of a loss to figure this out. It almost seems like an issue with CMake itself?
Does running the following command produce the error?
cd /home/jus/git/sleigh/build && \
  /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/jus/git/sleigh /home/jus/git/sleigh /home/jus/git/sleigh/build /home/jus/git/sleigh/build /home/jus/git/sleigh/build/CMakeFiles/decomp.dir/DependInfo.cmake --color=

if so, then afaik, it's not a compiler error with the sleigh source code but an assertion error when running CMake. You could try maybe getting a stacktrace with gdb?
cd /home/jus/git/sleigh/build && \
  gdb --args /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/jus/git/sleigh /home/jus/git/sleigh /home/jus/git/sleigh/build /home/jus/git/sleigh/build /home/jus/git/sleigh/build/CMakeFiles/decomp.dir/DependInfo.cmake --color=

It builds in CI on Ubuntu and Mac, and I can also build on Fedora 36, so it might just be an Endeavour OS issue 😕

Yes

(further debugging is difficult because when I switch to f 4 gdb hangs...)
Probalby I could try disabling CXX assertions?

Probalby I could try disabling CXX assertions?

Yeah, I would try that. I'm really not sure what's causing the issue, and I don't think it's anything I'm able to fix in the code for this project, unfortunately.


Proposed API change

This version of lintsampler has a streamlined interface that more closely matches Pythonic patterns. At the simplest, we can now do something like draw 6 samples from a box:
>>> x = np.linspace(10,20,2)
>>> y = np.linspace(100,200,2)
>>> z = np.linspace(1000,2000,2)
>>> def rndmpdf(X): return np.random.uniform(size=X.shape[0])
>>> LS = LintSampler(rndmpdf,cells=(x,y,z)).sample(6)
array([[  12.63103673,<PHONE_NUMBER> , 1716.6187807 ],
       [  14.67375968,<PHONE_NUMBER>4, 1557.59629547],
       [  11.47055697,<PHONE_NUMBER>8, 1592.18260186],
       [  12.41780309,<PHONE_NUMBER>1, 1436.39525998],
       [  13.44764381,<PHONE_NUMBER>6, 1880.55963378],
       [  18.5522151 ,<PHONE_NUMBER>3, 1558.85620176]])

which entails constructing a probability density function (here built as a vectorised input to numpy.random.uniform), and defining the cell, before calling for a number of samples (here, 6).
The wrapper class makes both the special case of a grid and the more flexible case of a set of cells fall under one call structure.

It would also be nice to implement the flexibility option for the pdf input, such that the pdf function doesn't need to be vectorised.

The new support for non-vectorised pdfs (which is now the default) means that a minimal example to draw from a 3d prism looks like:
import numpy as np
from lintsampler import LintSampler

x = np.linspace(10,20,2)
y = np.linspace(100,200,2)
z = np.linspace(1000,2000,2)

# default: a pdf that takes the same number of arguments as dimensions
def rndmpdf_nonvec(x,y,z):
    return np.random.uniform()

LintSampler(rndmpdf_nonvec,cells=(x,y,z)).sample()

But the call also works to use a vectorised pdf, for performance, if the vectorizedpdf flag is set:
def rndmpdf(X):
    return np.random.uniform(size=X.shape[0])

LintSampler(rndmpdf,cells=(x,y,z),vectorizedpdf=True).sample()


protobuf-net

Unable to install protobuf-net on VS2012 - 'protobuf-net' already has a dependency defined for 'NETStandard.Library'.

Can you try this

Seems to be installed but same issue:
PM> Install-Package protobuf-net -Version <IP_ADDRESS>8
'protobuf-net <IP_ADDRESS>8' already installed.
GygaxVisu already has a reference to 'protobuf-net <IP_ADDRESS>8'

Warning	2	This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\SharpDX.2.6.3\build\SharpDX.targets.	C:\Users\admins\Documents\VS-projects\Gygax-master\GygaxVisu\GygaxVisu.csproj	338	5	GygaxVisu

Ok, seems I need .NET 4.5.2 after all.


Click the prevButton will jump 2 slide

bug
Swiper Version: 4.2.0
Platform/Target and Browser Versions: ALL
Live Link or JSFiddle/Codepen or website with isssue: https://jsfiddle.net/hiluluke/wpt5pdvh/10/

What you did
Going to the last slider and then click the prevButton.
Expected Behavior
Just jump one slider
Actual Behavior
skip one slide, jump 2 slide
How this happens
When you set the slide's width is not 100% of the swiper wrapper and set the slidesPerView to auto.
Related link
https://github.com/nolimits4web/swiper/pull/2198
https://github.com/nolimits4web/swiper/issues/2003

chrome has the same problem Is there a solution?


(experience) need some ui changes

(experience) need some major UI changes for multiple roles and corporate experiences

made a changes in the CTA for better user experiences


Fix rendering of children

Description
Since the canvas state isn't saved at the correct place the children weren't rendered properly.
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:
If something is unclear, please submit the PR anyways and ask about what you thought was unclear.

[x] This branch is based on the latest master
[x] I have added an entry under [next] in CHANGELOG.md
[x] I have formatted my code with flutter format
[x] I have made corresponding changes to the documentation
[x] I have added examples for new features in doc/examples
[x] The continuous integration (CI) is passing

I wonder if we can have an example which showcases this, what do you think?

I wonder if we can have an example which showcases this, what do you think?

Added an example in #579


Any one uses anaconda (in ubuntu) with phonopy?

I tried to build supercell with phonopy but got a error like this:

I guess it is an error caused by python-dev, has anyone has experience on this?

Rerun the command with an strace.  Looks like an unimplemented syscall.

Not enough info here to reproduce. Please provide repro instructions and repopen.


replace wtf-is with metaboss

Since the wtf-is binary is deprecated larry should use metaboss instead to always have the latest error codes.
Also made /wtf-is hidden by default to avoid clutter in the chat.
Caution: make sure that the metaboss binary is installed when deploying to the server.

Do we really need to do an exec call for what is essentially a lookup table?
I think embedding the wtf_errors.rs file by transpiling it to typescript will be much faster.
https://github.com/samuelvanderwaal/metaboss/blob/82b527cffbd8536cd77de342620cdf6caee51f5d/src/wtf_errors.rs

Hey,
Yes it would be the safer and faster solution.
The solution that we have now is just the simplest implementation wise and since wtf-is is deprecated switching to metaboss was the easiest solution for implementation.
If you find a way to properly read and parse the error structs feel free to let me know or create a PR for it.
Thank you!

@MarkSackerberg
Here's a rough POC, please let me know your thoughts.
https://github.com/KartikSoneji/larry-discord-bot/tree/feat-in-built-error-map

Hey @KartikSoneji ,
First of all, thank you! Having something like this built in instead of a binary makes more sense from my point of view.
What i can tell after 1 or two test runs though is that i cannot see a speed improvement, so at least this part sems not to be the case.
BUT: If we implement a gated update function that is callable through discord by the community champions etc. i think we would have a great improvement since we would not have to trigger the internal devs and poke them until they update the metaboss / wtf-is version.
My only "fear" is that we might have to modify the regex if sam does larger changes to the metaboss repo.
From my point of view building and finishing your proposal would absolutely make sense nevertheless! I like it way more than mine.


Fix issue #6637: Comment Section in the shifting detail page is stretching the page.

Proposed Changes

Fixes #6637
What Does This PR Do?
This PR fixes issue #6637 by changing the DEFAULT_PER_PAGE_LIMIT from 14 to 5. by this change only 5 comments are shown per page.

@ohcnetwork/care-fe-code-reviewers
Testing:
Verified locally by adding multiple comments in shifting detail page.
Tested in Chrome.
Impact:
No breaking changes expected.
Screenshots:

Summary by CodeRabbit

New Features

Updated pagination default to display 5 items per page instead of 14 when no specific limit is set.

Bug Fixes

Improved pagination behavior for better user experience with fewer items displayed per page.

@ayushsaini7717 Please do not take up issues that are already assigned. If there's been no activity, make sure to clarify that first and get the issue assigned to you before opening a PR.
Plus, this doesn't address the issue, we don't want to restrict to 5 per page (and even with just 5, there's a ton of white space on the right side).


HDDS-9194. Implement cleanup service for MultipartInfoTable

What changes were proposed in this pull request?
Cleanup service to clean up expired MPUs that are not successfully completed / aborted.
Some notable information:

The code structure is similar to the implementation of the OpenKeyCleanupService.
The Request/Response is similar to the S3MultipartUploadAbortRequest/Response, but unlike normal abort, the request will not fail if the MPU open key does not exist in the openKeyTable (e.g previously deleted in the previous openKeyCleanupService)
The MPU cleanup service has ozone.om.open.mpu.parts.cleanup.limit.per.task which limit the maximum number of MPU parts to delete rounded up to the nearest MPU (to prevent issues where MPUs that have parts more than ozone.om.open.mpu.parts.cleanup.limit.per.task never going to be deleted).
For each run, Map<OmBucketInfo, List<OmMultipartAbortInfo>> is created which contains the batch information to abort the expired MPUs, grouped by bucket for more efficient locking.
Logic regarding multipart abort response is refactored to AbstractS3MultipartAbortResponse to accomodate the batched approach of the cleanup service.

Since OmMultipartAbortInfo contains bucket layout information to handle cases that MPUs belongs to multiple buckets with different layout, AbstractS3MultipartAbortResponse and the subclasses will get the bucket layout from OmMultipartAbortInfo#getBucketLayout instead of OmKeyResponse#getBucketLayout

We will skip MPU cleanup if the underlying bucket does not exist

HDDS-9318 will enforce that bucket cannot be deleted before all the MPUs under the bucket are completed/aborted/cleaned up

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9194
How was this patch tested?
Unit tests.

Clean CI run: https://github.com/ivandika3/ozone/actions/runs/6237422589

@kaijchen @errose28 Could you take a look if you have time?

@ashishkumar50 @SaketaChalamchala please take a look

@kaijchen Thank you for the review.


Docker 1.7.1 unable to start first time with pre configured docker storage option

HI!
I've used to suppress docker warning about loopdevices on centos7 vm by adding
--storage-opt dm.no_warn_on_loop_devices=true to docker-storage
docker is unable to start:
Aug 25 09:00:02 dev docker[23825]: time="2015-08-25T09:00:02+01:00" level=error msg="WARNING: No --storage-opt dm.thinpooldev specified, using loopback; this configuration is strongly discouraged for production use"
It work only if I start docker with no any docker-storage option 1st time, once docker was started with no option it's no more fails when I'm adding docker-storage option.
docker 1.7.1
Os centos 7.1

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

All that mess was fixed with docker 1.8.0. If you install from our repositories, you'll get a dynamically linked binary that works just fine.


UDP drop packet on a Teensy 4.1 when the web server is opened or refreshed in a browser.

I am using the NativeEthernet library on a Teensy 4.1 to run a web server while also sending UDP packets. When the web server is opened or refreshed in a browser, I observe significant packet loss in my UDP communication. The issue becomes more apparent when there is simultaneous traffic on both TCP (HTTP server) and UDP channels.
I suspect this is an issue with how the library handles simultaneous UDP and TCP connections. I would appreciate any insights or potential fixes for this problem.

Can anyone help me !


Installed your plugin, will cause the collapse of the sketch, too much memory footprint

sketch Version 3.4.2 (15848)

Maybe it is sketch‘s  problem

I can't reproduce the crash. Did it happen only once?

I am so sorry,At last I found it was sketch's problem....., When I delete the plugin , The sketch stop work again..


fix(crd): fix missing spec descriptor for flightRecorder

Fixes #420
Fix flightRecorder missing spec descriptor.

@ebaron any suggestions?

Any other suggestions I should be working on @ebaron?


How to import data from conceptnet into superscript/mongodb

I know conceptnet by reading Creating a Chat Bot (rob), other issues and maybe in the wiki. I don't if there's any feature to import the facts data (600k facts) into chatbot & how to use it or I need to do it by myself?
Thank you!

Even I am looking to do the same( Rob's blog on medium)


zuul to gateway conversion question

I want to convert Netflix - zuul to Spring - cloud - gateway, In zuul I'm using request context for modifying the response body and request body in pre filter. But in spring - cloud-gateway I'm facing issues with exchange in global filter as I can't able to use request context. Please suggest me how can I proceed with it. My requirement is if access token is not valid or expired I have to give access-forbidden message as output in filter itself without routing to any service.

facing same issue... so following...

What issues are you facing?
The easiest approach would probably be:

Create a global filter (see https://cloud.spring.io/spring-cloud-gateway/multi/multi__global_filters.html#_global_filters)
Create a  ReactiveJwtDecoder (e.g. NimbusReactiveJwtDecoder)
Parse authorization header and validate JWT

Otherwise https://github.com/spring-projects/spring-security/blob/main/web/src/main/java/org/springframework/security/web/server/authentication/AuthenticationWebFilter.java migth be worth looking at.

@saitejachintalapudi This can also be achieved using OAuth2 Resource server along with SCG. With this, all the filters will be auto-configured and based on your requirement, you can customize the validations or error handling etc. I have written an article depicting the same if you are interested -
Spring Cloud Gateway — API Access Control with JWT

same issue...

Sorry for the late reply. Spring Security should be the thing parsing JWT and configured to reject requests. It is pluggable if needed.


Add UntypedMetricFamily to prometheus_client.core

I thought this one was missing from prometheus_client.core, so that's why I propose to add it. But their may be a reason why it wasn't added in the first place.

It's more that noone has asked. Can you add a unittest please?

sure, I'll have a look.

I hope that covers it.

Thanks!


Mori Tiang

Mori Tiang created by<EMAIL_ADDRESS>on 2021-12-28 15:54:35

<EMAIL_ADDRESS>replied, In the song Tsukihi Ua Nangarete Mo, Tem Obakerbau wrote "Ullebengelel, e ochedengei, le keleng di mori tiang."  Yoichi Rengiil tells me that "mori tiang" means "at this very moment" or "this instant," and is distinct from chelechang in that "mori tiang" means one moment in time while "chelechang" could be today (the whole day).  He used another example sentence to illustrate:  "Kau me ngak a di mori tiang e kede mokebii."  You can hear a recording of Tsukihi below, with the phrase starting at 3:04.  https://hellaholler.com/ouchacha/mp3/044.mp3

Wouldn't mori tiang just be mo er itiang in this context?

adi moritiang...singing and talking are the same...there is no pause between each words.
a di mo er tiang becomes dimoritiang. If you listen to songs with mor tiang, there will be an strong emphasis on an "i" before tiang. i dont know why but in older generation, that was like their stamp, my thoughts.

= a di mo er itiang

tial=tia el
tia-tiang, dont know why but we do love our 'ng's'
(i)tiang was used alot in the older generation, I'll leave it for others to share their thoughts.

So I think this satisfies the explanation from Yoichi that it means this very instance because the i- prefix emphasizes tiang. However, TIANG means HERE and does not mean NOW. Can TIANG also mean NOW or does the song actually mean HERE or is this this another word?

Now-chelechang
Chelechang eakdi mo er tiang el melmesumech. Now, right this moment/here/instance, I say goodbye.

I think tia(ng) can mean this in a wide variety of ways, this thing, this place, this moment/time, etc.

Yes tiang means HERE or THIS. Tiang el basio, subong, kukau, cheldecheduch,
etc for "This". And when it means "here" it would be, for example: A
ongdibel a di mor ngii er tiang.
However, in that song, and in conversations, when you say ng di mor itiang,
then it's referring to THIS very instant or right now.
On Tue, Oct 18, 2022, 5:23 PM ChrisPerrette @.***>
wrote:

I think tia(ng) can mean this in a wide variety of ways, this thing,
this place, this moment/time, etc.
—
Reply to this email directly, view it on GitHub
https://github.com/tekinged/missing/issues/347#issuecomment-1283129307,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXYSPXTY5WBTZUBDKTCO63TWD4WPPANCNFSM6AAAAAARHT3HPQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


VANILLA cpu dispatch and cross-compilation basics

Description
These patches mainly address adding a basic framework for cross-compilation.  A nice side-benefit is to support runtime CPU dispatch to vanilla implementations, with most layers able to avoid 'unimplemented' or 'skipped'.  Many layers were modified so as to disentangle the optional (but default) jit features from the pure C/C++ component.

Support cpu dispatch to DNNL_MAX_CPU_ISA=VANILLA, to run only reference (or ref gemm) impls.
Basic infrastructure for cmake toolchain builds to support cross-compilation of VANILLA to non-x86 systems.  This adjusts a few layers to removes entanglements between jit and non-jit code.
The default build for any DNNL_CPU (or CMAKE_SYSTEM_PROCESSOR) is DNNL_ISA=FULL.
A VANILLA build indicates what ISAs can be removed by cmake -DDNNL_ISA=VANILLA.
The VANILLA build becomes close to cross-platform by removing xbyak and jit source files from the library. This provides an entry point for supporting the DNNL API on non-x86 chipsets.  Since DNNL comes with a decent reference gemm, a cross-compiled VANILLA libdnnl.so runs through tests fairly quickly.
You will still need to provide a cmake/mycpu.cmake toolchain, make other cmake adjustments for cross-compiler flags. Then (barring compiler bugs) all examples and gtests should at least run (**)

Fixes # (634) enhancement, closed, not-a-bug

reducer ref impl is always made available for non-x86-jit builds (SIMPLE_IMPL automatically set)
Also master was missing a refresh of generate_mkldnn_debug.py about a week ago.
Some doc/ mkldnn:: broken links were changed to dnnl::

Checklist
All Submissions

[X] Do all unit and benchdnn tests (make test and make test_benchdnn_*)
pass locally?

examples, gtests, and benchdnn tested for FULL and VANILLA, examples and gtests look OK running CPU dispatch to VANILLA

[X] Have you formatted the code using clang-format?

Well, a few days ago.

[ ] DNNL_CPU_EXTERNAL_GEMM=MKL was not tested.  Please review and test. (old cmake parms ought to still work)

I did try out DNNL_CPU_EXTERNAL_GEMM=CBLAS

New features

[ ] Have you added relevant tests?

test_isa_* were modified.
Perhaps a cpu-dispatch-to-vanilla can verify that a few info strings no longer contain a "jit" substring?

[X] Have you provided motivation for adding a new feature?
Here it is:  libdnnl is a very-well thought out API.  Wouldn't it be great to cross-compile it for non-x86 CPUs?  Especially now that it comes with a reference gemm implementation that is quite decent -- in certain cases im2col-gemm using dnnl reference gemm even beat "hand-coded intrinsics" direct convolutions on my non-x86 systems, for example.
Oh. to automate running 'make test_benchdnn_FOO' for performance (e.g.), you can now pass some BENCHDNN_ARGS from the environment (see tests/benchdnn/CMakeLists.txt)
Oh, I got confused too often between "all" and "any" (flip-flopping several times). Since "vanilla", "any" and "all" are now OK for any target CPU, the "all" was changed to "full" (docs adjusted).

is the dispatch doc change to "FULL" ok? My justification is that having both ANY and ALL led to confusion.

Bug fixes

[ ] Have you added relevant regression tests?

Existing regression tests are fine.

[ ] Have you included information on how to reproduce the issue (either in a
github issue or in this PR)?

(**) Some new features are not in this patch -- it is already quite large:

Did not include a DNNL_ENABLE_BFLOAT16=0 to remove bfloat16 from VANILLA/non-x86 builds

removing bfloat16 support "makes sense" for VANILLA build, but touched 79 files :(

DNNL_VERBOSE=EXTRA comments don't exactly match the code, because I removed the ugly and long "create" wrapper that reports about skipped or unimplemented impls.  I thought it good to first consider whether the new INSTANCE[_ISA] macros are acceptable.
For now DNNL_ENABLE_RNN=0 for VANILLA, because it will need a larger patch -- it looks like the only missing piece is a ref impl is for post-ops, and there are some existing ref post-ops that might be good starting points. DNNL_ENABLE_RNN really should disappear completely.  It is ugly.

Remarks

While all tests pass, please try to imagine whether there are some subtleties where jit allows some init() feature that is not supported by the reference impl.  If this happens, the init() function might differ in ways not covered by existing tests.  (For example, in other branches that remove bfloat16 support from libdnnl (not here) the init() functions for sure were impacted).
Performance improvements are not addressed.  On the other hand, dispatch to VANILLA shows a majority of gtest times on par or better than with AVX2 + jit creation times.

Obvious pain points easily noticable with CPU dispatch to VANILLA are:

ref GEMM a bit slower (expected),
many int8 operations are way slower than my default AVX2
lrn ref impl loops likely yield vector length 5 for usual case (try changing order)

changed tests/benchdnn/CMakeLists.tx to allow passing args (like performance mode) to make test_benchdnn_... ... but running all of them in performance mode takes a long time.

consistency.hpp I use regularly to find out why init() functions declined their invitations.  To not cause slowdown, default verbosity builds use old code "as is". This is ugly, and not maintainable in long term.  I'd like to verify assembly output and find macros that provably have zero impact on default builds.  I suppose this could be a separate PR, or you could ask me to fix it after merge
I guess I'd like src/cpu/gemm/ to move towards a somewhat-standalone API.  One of the gtests has some copy-paste of function declarations, and missing bool 'capability' functions.  Remove comments after having thought about them for a few seconds.
git logs ... I might not have been able to convince github to ignore a year or so of irrelevant log entries in my very old fork.

Hi @kruus,
Thanks for the PR! It is big, reeeeally big 😱
There are multiple different changes incorporated in it, including the public API / library behavior. I think we should split the PR in a set of such, where each PR will be dedicated to a particular feature. This way it would be easier to review, provide feedback, and adjust the changes.
After a quick look through I have some high-level comments:

As many frameworks (and probably other piece of software) rely on DNNL we want to preserve API and behavior backward compatibility as much as possible. The breaking is only allowed if the previous behavior was buggy.

In particular, the build system should not change the existing variable. It could add new, however.

The API changes (new functionality, new VERBOSE level, new ISAs, replacing all with full, etc) should be first explicitly agreed with the team. We use RFC, but given that you already have a code, we could have a discussion in the corresponding PR. However, the PR should be dedicated to this particular change so that the discussion is focused on the topic.
The patch contains a lot of debug code, such as commented out code+ //#warning "DNNL_TARGET_X86_JIT is TRUE"

or- #include "jit_generator.hpp"
+ //#include "jit_generator.hpp"

This should be cleaned up.
There should not be any changes to  tests/mkldnn_compat/* as this directory exists specifically to test that we don't break backward-compatibility in terms of CMake-building and C/C++ API for those who continue using MKL-DNN (i.e. haven't migrated to DNNL yet).

Thanks for comments. I will address these.

Are RFCs submitted as issues?
OK, I'll remove and submit a bunch of smaller RFCs, since there is absolutely no way for CPU dispatch to VANILLA without some public header changes, and clear definition of the semantics.
changed back to ALL, VANILLA and ANY throughout.
removed debug and intermediate caps, simplifying the cmake target options a lot.
tests/mkldnnn_compat/ has no modifications for default build.  The change is cause by trying to commit a smaller PR

the VANILLA build cannot support rnn without a larger PR to provide a non-jit rnn impl
this affects all tests and examples, which should still "pass", and has no effect on the full build.

Between tiny-PRs, I don't see a way to avoid temporary ugliness, unfortunately.

BTW, the automated PR testing is fantastic.

Are RFCs submitted as issues?

Up to you. It could be an issue with a description of the change, or the PR with the corresponding change (and still some description). The issue might be preferable to not waste time on the implementation if it is not accepted. However, if the code is already there it is absolutely oK to bring the code along with the RFC.

Between tiny-PRs, I don't see a way to avoid temporary ugliness, unfortunately.

Assuming that all PRs will get in, this is probably okayish. However, if PR A has some ugliness which is fixed in PR B, but PR B is not accepted we would need to fix the ugliness in PR A :)

BTW, the automated PR testing is fantastic.

Yeah, that is thanks to @sakulish for this nice feature! :)


Integrated with Stripe

Integrated with Stripe and refactored checkout form

made further changes to shopping cart and checkout process


Wrong content disposition header parsing

Duma incorrectly parses content-disposition headers that have quotes in them e.g.
Content-Disposition: inline;filename="photo_LMC_ciel_austral.jpg"

The file created is "photo_LMC_ciel_austral.jpg" instead of photo_LMC_ciel_austral.jpg
example url

fixed in #65


chore: Support Token Provider Mode

What changes are proposed in this pull request?
Support token provider auth mode, auto refresh token while job is running.
How is this patch tested?

[ ] I have written tests (not required for typo or doc fix) and confirmed the proposed feature/bug-fix/change works.

Does this PR change any dependencies?

[ ] No. You can skip this section.
[x] Yes. Make sure the dependencies are resolved correctly, and list changes here.

"com.pauldijou" %% "jwt-core" % "3.0.0",
"org.json" % "json" % "20180130",
Does this PR add a new feature? If so, have you added samples on website?

[x] No. You can skip this section.
[ ] Yes. Make sure you have added samples following below steps.

/azp run

/azp run

Codecov Report
Attention: 107 lines in your changes are missing coverage. Please review.

Comparison is base (7771c96) 86.26% compared to head (ffa21ac) 6.83%.
Report is 3 commits behind head on master.

Files
Patch %
Lines

...crosoft/azure/synapse/ml/fabric/FabricClient.scala
0.00%
71 Missing :warning:

...t/azure/synapse/ml/fabric/OpenAITokenLibrary.scala
0.00%
35 Missing :warning:

.../microsoft/azure/synapse/ml/fabric/RESTUtils.scala
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #2160       +/-   ##
==========================================
- Coverage   86.26%   6.83%   -79.43%
==========================================
  Files         312     327       +15
  Lines       16486   17065      +579
  Branches     1456    1511       +55
==========================================
- Hits        14222    1167    -13055
- Misses       2264   15898    +13634

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


Unable to compile with futures-test as dev-dependency

Adding futures-test-preview = "0.3.0-alpha.11" to dev-dependencies causes the following compilation error for me:
error[E0425]: cannot find function `block_on` in module `futures_executor`
  --> ~/.cargo/registry/src/github.com-1ecc6299db9ec823/futures-test-preview-0.3.0-alpha.11/src/future/mod.rs:79:44
   |
79 |         thread::spawn(|| futures_executor::block_on(self));
   |                                            ^^^^^^^^ not found in `futures_executor`

error: aborting due to previous error

I think this is the case because by default it doesn't enable the std features in futures-executor, see https://github.com/rust-lang-nursery/futures-rs/blob/71c59479b538380567907b115ec71799eb03b88d/futures-test/Cargo.toml#L20
Which means block_on isn't available, see https://github.com/rust-lang-nursery/futures-rs/blob/71c59479b538380567907b115ec71799eb03b88d/futures-executor/src/lib.rs#L14-L15
I assume the fix is as simple as enabling the std feature on future-executor by default, but I don't what other things that would cause.

The reason this is passing on CI is because it's not included in the --no-default-features build, also even if it was https://github.com/rust-lang-nursery/futures-rs/blob/71c59479b538380567907b115ec71799eb03b88d/futures-test/Cargo.toml#L24 would enable the std feature even when building via cargo build --manifest-path futures-test/Cargo.toml --no-default-features (https://github.com/rust-lang/cargo/issues/4866 is the most relevant issue I think).


Add honeypot

Just for those annoying bots

My current thoughts:
I already have a honeypot on kentcdodds.com/login. It has been effective. Lots of honeypot implementations involve display: none !important as an inline style. I think this is too low-hanging fruit for bot writers to not handle. So instead, we'll implement a custom CSS class that would probably not be handled by default. And for similar reasons, instead of display: none it will use opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1; with a tabindex="-1" and autocomplete="nope" on the field. We'll want to also test it with screen readers to ensure those fields are not reachable by assistive technologies.
We'll build out a simple component/server-util combo to make doing this as easy as possible and then implement it on all publicly accessible forms.
To be clear, the objective of a honeypot is not to avoid a targeted attack, but to general attacks. So it doesn't have to be very sophisticated.
Any ideas or suggestions are welcome.

I think we'll probably use @apply sr-only for our class name actually. I don't want to use the class name sr-only itself because bots may have encoded that into their functionality already.
Another thought is I want to make certain screen readers won't read any of the content. I'm pretty sure that tabindex="-1" will do it, but I'm not positive of this...

You might find this helpful:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-hidden

Thanks for the suggestion @EisenbergEffect. I wonder if spam bots are sophisticated enough to ignore fields that have that attribute though.

Yeah, I'm not sure. And it's probably not exactly what you want anyways since it's not supposed to be used on interactive elements. But I thought I'd drop the link here just in case that or some of its related links were helpful. FYI I don't think you'll solve the accessibility tree issue by just setting tebindex="-1". That will remove the element from the keyboard navigation flow but shouldn't remove it from the accessibility tree.

getComputedStyle is pretty easy to use to find any given element's own styling and thus width/height would be easy to check for if it's 0 - just as easy as checking for display.
You might consider using a parent element that can force it to be invisible but the input element itself doesn't have any unique styling. The downside there would be if they did all of the checks on the input ancestors, but this is starting to get closer to targetted attack.
By nature though, you're developing a pattern that won't be seen as a "targeted" attack (unique to your implementation), it will become a general attack for epic-stack users. So, the closer you can come to something dynamic, the better (probably later problem to make it more sophisticated).

Thanks @sean-roberts,
I wish I had a sense for what spam bots actually do. I have a pretty basic honeypot on my own site and it takes care of a lot of my spam. I doubt these tools actually run a real browser and evaluate enough of the page to actually run getComputedStyle, so I don't think that's necessary.

I loved this implementation of https://github.com/spatie/laravel-honeypot
Easy to use, just drop the component and thats it.
Lots of uses cases covered and new strategies to trick bots like intercepting requests submitted faster than the encrypted timestamp set by you.

That looks great! Do you know of any deployed example implementation I can look at? I'm not very good at understanding php code 😅

Hi @kentcdodds,
No need for php knowledge here.
I think the blade template shows it good. It's basically the same what you suggested.
But instead of setting the input itself display none and aria-*, it is wrapped into a div which does it.
https://github.com/spatie/laravel-honeypot/blob/main/resources/views/honeypotFormFields.blade.php

Looks like at the HTML it renders two inputs like this
<div
  id={`${nameFieldName}_wrap`}
  style={{ display: "none" }}
  aria-hidden="true"
>
  <input
    id={nameFieldName}
    name={nameFieldName}
    type="text"
    defaultValue=""
    autoComplete="off"
    tabindex="-1"
  />
  <input
    name={validFromFieldName}
    type="text"
    value={encryptedValidFrom}
    autoComplete="off"
    tabindex="-1"
  />
</div>

There's a Honeypot with a nameFieldName which based on a config (randomize_name_field_name) it can either return name_field_name value from the config or use that combined with a random string (${configValue}_${randomString}).
There's an enabled config to let you enabled/disabled this package.
There's also a valid_from_field_name config used for the second input, and a amount_of_seconds config used to calculate Date.now() + amount_of_seconds and determine how long this will be valid.
This validFrom value is later encrypted on another method encryptedValidFrom and that's used as the value of the second input.
There's then some kind of middleware (ProtectAgainstSpam) that ignores any non POST request, and if it's POST it will check the body using the SpamProtection class.
The SpamProtection class has a check method, it will bail out if the enabled config is false.
If enabled it will get the request body and read the value of name_field_name. If randomize_name_field_name is enabled it use the name_field_name to find what field of the request body starts with that value, something like this:
function getRandomizedNameFieldName(nameFieldName, formData) {
  for (let key of formData.keys()) {
    if (!key.startsWith(nameFieldName)) continue;
    return key;
  }
}

Once it knows the key, it checks if it needs to validate the honeyput input, this is also configured with the honeypot_fields_required_for_all_forms option, if that's sets to true it will always validate, if it's false it will check if the request body has either the nameFieldName or a validFromFieldName (the timestamp).
Then it checks if the request has nameFieldName, if it doesn't it will throw an SpamException, this will ensure the input is always sent (I imagine to prevent direct POST requests).
Then it will get the actual value, and if it's not empty it will also throw SpamException.
Then if valid_from_timestamp is not configured it will end. If it's configured it will get the validFromFieldName value (previous check if the field exists on the body like before) and parse the encrypted time (default to null if it fails to parse it).
Finally, if there's no time or if the time is in the future it will throw an SpamException.
Going back to the middleware, if a SpamException was thrown, it will dispatch an SpamDetectedEvent with the request data and call the spam responder, the spam responder is class with an empty respond method with the signature (request: Request, next: NextFunction) so I imagine it's a middleware and can be overwritten at the app level.

I'm not sure if it was easy to follow, the code in TS would look something like this
interface Config {
  enabled?: boolean;
  randomize_name_field_name: boolean;
  name_field_name: string;
  valid_from_field_name: string;
  amount_of_seconds: number;
  honeypot_fields_required_for_all_forms: boolean;
}

class SpamError extends Error {}
class TimestampError extends Error {}

class Honeypot {
  constructor(protected config: Config) {}

  unrandomizedNameFieldName() {
    return this.config.name_field_name;
  }

  nameFieldName(): string {
    let nameFieldName = this.unrandomizedNameFieldName();
    if (this.config.randomize_name_field_name) {
      nameFieldName = `${nameFieldName}_${this.randomValue()}`;
    }
  }

  enabled() {
    return this.config.enabled;
  }

  validFromFieldName() {
    return this.config.valid_from_field_name;
  }

  validFrom() {
    return Date.now() + this.config.amount_of_seconds;
  }

  encryptedValidFrom() {
    return this.encrypt(this.validFrom());
  }

  private randomValue() {
    return crypto
      .getRandomValues(new Uint8Array(16))
      .reduce((p, i) => p + (i % 32).toString(32), "");
  }

  private encrypt() {
    // implementation missing
  }
}

class ProtectAgainstSpam {
  constructor(protected spamResponder: SpamResponder) {}

  async handle(request: Request, next: NextFunction) {
    if (request.method !== "POST") {
      return next();
    }

    try {
      SpamProtection.check(await request.formData());
      return next(request);
    } catch (exception) {
      if (exception instanceof SpamError) {
        // dispatch event here
        return this.spamResponder.respond(request, next);
      }
      throw exception; // re-throw unknown exception
    }
  }
}

class SpamResponder {
  respond(request: Request, next: NextFunction) {}
}

class SpamProtection {
  static check(formData: FormData) {
    if (!config("honeypot.enabled")) return;

    let nameFieldName = config("honeypot.name_field_name");

    if (config("honeypot.randomize_name_field_name")) {
      nameFieldName = this.getRandomizedNameFieldName(nameFieldName, formData);
    }

    if (!this.shouldCheckHoneypot(formData, nameFieldName)) return;

    if (!formData.has(nameFieldName)) throw new SpamError();

    let honeypotValue = formData.get(nameFieldName);

    if (honeypotValue !== "") throw new SpamError();

    if (!config("honeypot.valid_from_timestamp")) return;

    let validFrom = formData.get(config("honeypot.valid_from_field_name"));

    if (!validFrom) throw new SpamError();

    let time = null;
    try {
      time = new EncryptedTime(validFrom);
    } catch {}

    if (!time || time.isFuture()) throw new SpamError();
  }

  protected static getRandomizedNameFieldName(
    nameFieldName: string,
    formData: FormData,
  ): string | undefined {
    for (let key of formData.keys()) {
      if (!key.startsWith(nameFieldName)) continue;
      return key;
    }
  }

  protected static shouldCheckHoneypot(
    formData: FormData,
    nameFieldName?: string,
  ): boolean {
    // this config function should access the global app config somehow
    if (config("honeypot.honeypot_fields_required_for_all_forms")) return true;

    return (
      formData.has(nameFieldName) ||
      formData.has(config("honeypot.valid_from_field_name"))
    );
  }
}

class EncryptedTime {
  protected date: Date;

  constructor(protected encryptedTime: string) {
    try {
      this.date = new Date(this.decrypt(encryptedTime));
    } catch {
      throw TimestampError();
    }

    if (!this.isValidTimeStamp(this.date.getTime())) throw TimestampError();
  }

  isFuture() {
    return this.timestamp() > Date.now();
  }

  protected isValidTimeStamp(timestampp: number) {
    if (timestampp <= 0) return false;
    if (timestampp >= Number.MAX_SAFE_INTEGER) return false;
    return true;
  }
}

I think this is it the core of how it works. There's some parts that depends on Laravel things too but this is basically the core.

I could probably add this to Remix Utils itself in the future 🤔

Wow! Thanks for that Sergio! I definitely feel like remix-utils would be a great place for this.

This is done


0.9.0 installation issue

I have a system that have no access to the internet. usually I download the wheel file of tensorflow and install it via file. I'm trying to upgrade tensorflow version with my method but it seem it cant be done. I'm trying to upgrade my tensorflow version from 0.8.0 to 0.9.0.
Environment info
Operating System: Ubuntu 14.04  (CPU version)
Logs or other output that would be helpful
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 742, in install
    **kwargs
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 831, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1032, in move_wheel_files
    isolated=self.isolated,
  File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 348, in move_wheel_files
    assert info_dir, "%s .dist-info directory not found" % req
AssertionError: cpu-tensorflow==0.9.0 .dist-info directory not found

What version of pip/setuptools are you running? Can you check if upgrading
might help? We haven't changed anything in our wheel file so I'm surprised
either way since you were able to install 0.8.
On Wed, Jun 29, 2016 at 18:45 andydavis1<EMAIL_ADDRESS>wrote:

Assigned #3071 https://github.com/tensorflow/tensorflow/issues/3071 to
@martinwicke https://github.com/martinwicke.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/issues/3071#event-708576239,
or mute the thread
https://github.com/notifications/unsubscribe/AAjO_cj9I8VI3HEbugI00_7Hw7uLNLI_ks5qQx_UgaJpZM4I_xw-
.

my pip version is the latest one 8.1.2
as I said before upgrading tensorflow from web cause no problem in my system. But when I'm trying to upgrade it via downloaded wheel file in my offline system, It gives me the error that i mentioned before. I'm surprised too. before this release I had no such problem in upgrading via file.

Can you uninstall 0.8.0 first? I'm wondering whether this is a problem with 0.8.0 instead which surfaces during upgrades. Although I'm just guessing at this point.

Automatically closing due to lack of recent of activity. Please reopen if new information becomes available.


GitHub encourages communication and ongoing review.

Why not directly answering the issues #27?
Have you reproduced all model details? Yes or Not?
Have you really reproduced similar results (e.g., the sample model outputs in Appendix F)? Yes or Not?
As you said GitHub encourages communication and ongoing review, why are you tracking down my real identity and closing the issues, rather than directly answering the questions? Is that how your team treating users' questions?
If you didn't overclaim, please show the reproduced results, rather than closing or deleting the issues.
GitHub is a place to share source codes and encourage open collaboration, but it does not encourage to make fake news.
Chasing the clout is your freedom, but you also have to be respectful to the spirit of open source.
A high school student even knows better than you about how to respect others.

Cherry,
As one of the developers, I would like to express my sympathy if this project makes you feel uncomfortable.
As stated, we reproduced the model architecture and applied a set of parallel strategies to it. As we know, PaLM is a large language model product and the implementation of the model architect is just the first step. We believe our efforts make some beneficial contributions to the community.
We are looking forwards to your technical feedback on the project!

Feieibear, Thanks for your prompt response and I also notice that the latest PR #29 has adjusted the overclaiming statements. I really appreciate your contributions to the community.
Btw, it is a pity for anyone who works with the guy @fastalgo, who has bad diathesis and no respect to others.
Unlike him, you are an excellent and leadership developer.


fix #514

Also ensure that people can remove their own persistent modes via CS AMODE

o wow. thanks for the pr lol


ci: add semantic-prs check for SDK PRs

👀

@aaronsteers it seems to be working! It expects either a semantic PR title to squash into, or semantic commit messages for a merge/rebase 😄

With the new title, tests is passing:

I also added a config file and expanded contributing docs.

I'd like to see this in action here for a week or two before we expand to other repos.

Would be great if we could override the 'more details' link on failure: https://github.com/Ezard/semantic-prs/issues/40

Would be great if we could override the 'more details' link on failure: https://github.com/Ezard/semantic-prs/issues/40

fwiw seems like an easy change to make. Only question is whether the maintainer would take it

Codecov Report

Merging #686 (b210eab) into main (960e2d1) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head b210eab differs from pull request most recent head e44caed. Consider uploading reports for the commit e44caed to get more accurate results

@@           Coverage Diff           @@
##             main     #686   +/-   ##
=======================================
  Coverage   85.07%   85.07%
=======================================
  Files          34       34
  Lines        3370     3370
=======================================
  Hits         2867     2867
  Misses        503      503

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 960e2d1...e44caed. Read the comment docs.


navigation Bar button is too small and it is not at the left edge

I am using LGSideMenuController as it is written in the guide. The problem is the navigation bar buttons look too small. And they are not stuck to the edges of the navigation bar. I have image assets of 64 x 64, 127x 127, 191 x 191. But testing on iPhone 6s Plus they look too small

UINavigationBar is not a part of LGSideMenuController framework. You should google how to change settings of UINavigationBar.


SPARKTA-217 [WEB] Set default property value to Cassandra output

Setting the value for this property to 2 seconds. By default it is in 250 milliseconds which makes the output create a new Cassandra connection in every DStream.
This PR will allow the Cassandra output to reuse a connection.

If the batch window is more than 2 seconds we don't use the same connection. I think that this value could be a mupltiplier of out streamingWindow. In Spark-MongoDb connector I set the default to 180 seconds.

It couldn't be dinamic, this value have to be set in the output configuration. Think from the user point of view using the user interface.
Since the default streaming window is 6 seconds I can set the value of the cassandra property to 10 seconds. And also remark in the documentation that this value should be greater than the streaming window.
What do you think?

+1

:+1:

done! thank you two


fail2ban: install docs to $out/share/doc

Motivation for this change
Currently fail2ban docs are installed to $out/usr/share/doc. This fixes issue #28145.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-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)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

cc maintainers @edolstra @lovek323 @fpletz

Success on aarch64-linux (full log)
Attempted: fail2ban
Partial log (click to expand)
shrinking /nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin/fail2ban-python
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/lib  /nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin
patching script interpreter paths in /nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2
checking for references to /build in /nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2...
wrapping `/nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin/fail2ban-client'...
wrapping `/nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin/fail2ban-regex'...
wrapping `/nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin/fail2ban-server'...
wrapping `/nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2/bin/fail2ban-testcases'...
/nix/store/29qm4zz05bg956xnkq5mvsb6wxq2245z-fail2ban-0.10.2

Success on x86_64-linux (full log)
Attempted: fail2ban
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2
shrinking /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin/fail2ban-python
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/lib  /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin
patching script interpreter paths in /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2
checking for references to /build in /nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2...
wrapping `/nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin/fail2ban-testcases'...
wrapping `/nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin/fail2ban-server'...
wrapping `/nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin/fail2ban-regex'...
wrapping `/nix/store/12rdvybq99jp32ai227d7lrq9fc2aylw-fail2ban-0.10.2/bin/fail2ban-client'...


[Feat]: support mongodb graphql deprecation

we fetch profile data from mongodb using graphql which is gonna be deprecated on march 2025

@decentralauren since this is many months away, where do we keep this ticket?

@L03TJ3 it should stay in backlog but lower on the backlog than other items.

@sirpy is this already resolved? If so can you close it?

@decentralauren I think this can wait for future sprints