[Enhancement] Make custom image selector available from Nearby

Description (required)
As the nearby functions needs to be modified and add up a component of buttons
Both Activity and XML files which are corresponding to each other need to be changed and modified
Fixes #4611
What changes did you make and why?
Activity parts
Since the issue is to add up a component of button to provide an extra path towards the custom image selector, what I did is to find and target the two existing buttons that worked in this java file of the nearby activity:
I.First is to add up this button to @BindView to create an object to manage in the methods

II.showFB() to add up a fabCustomGallery

III.Add startAnimation of fabCustomGallery button to expandFABs()

IV.Add hide function to fabCustomGallery button from the method:

V.Add collapse function to fabCustomGallery button when the button is collapse sfrom the method collapseFABs():

VI.Add button click on listener to passInfoToSheet()

XML parts
It is not easy to manually draw the new button and setup design pattern in the Design
Since all the parameters need to be added up which are hidden and unknown(needs to be on trails for a few times to design)
By looking at the XML code:
I.The two existing buttons are setup in each empty view:

So the third extra button need to be included in a new view:

II.The extra floating button need to add up in xml code with different attributes:

Tests performed (required)
Tested on {Pixel 3 XL API 32} with API level {32}.
Screenshots (for UI changes only)
Before:

After:

Need help? See https://support.google.com/android/answer/9075928

Note: Please ensure that you have read CONTRIBUTING.md if this is your first pull request.

student review, it seems to be ok on my side

student review, it seems to be ok on my side

Thanks, Jack. gonna do the test and try to figure out how to run and pass CI

Hi @Eric-peng111 , have you tested this on the prodDebug build variant, all the way up to a successful upload? If you have, it would be great to have a video of it. In particular, I'm concerned about whether the autofill of caption, description, categories etc that usually occur with a Nearby upload, would still apply to a custom upload.

yes , currently working on it. Truly as @nicolas-raoul said: it gonna take a while to fix this issue

@nicolas-raoul could this PR be closed, as the issue #4611 has already been solved by #5655?


Update error message with clickable link.

Thanks!

@unixchad would you mind submitting a quick PR for canary as well?

canary PR up #2702


fixing the  harness-common minor version in chart.yaml

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Remove dim and resolve the resulting problems

Removes dim as a field of DiagEuclideanMetric and DenseEuclideanMetric in favour of just using getproperty methods. This introduces some ambiguities, so we have to go with the following interface for construction:
UnitEuclideanMetric{Float64}(D)
DiagEuclideanMetric(::AbstractVector)
DenseEuclideanMetric(::AbstractMatrix)

and we've dropped the construct-with-element-from-space interface, which was really only a convenience thing anyway (as I understand it).

Latest commits:

remove element types from the AbstractMetrics, as they don't appear to have been necessary, and caused interface problems further down the line.
fix an issue in rand_momentum(::AbstractRNG, ::DiagEuclideanMetric) whereby the _temp variable was being returned, and causes a bug. The fact that it works at the minute was purely a consequence of the _temp field being initialised to contain zeros.

As a consequence of the above, we have the following interface for metric construction:
UnitEuclideanMetric(D)
DiagEuclideanMetric(::AbstractVector)
DenseEuclideanMetric(::AbstractMatrix)

The only difference relate to the above is that we no longer need the type parameter to construct UnitEuclideanMetric.
@xukai92 this is really for review now.

Current break seems to only happen on 1.0 and may well be related to this. Beyond that, I have literally no idea what might be happening.

I see. Then I will ignore the check and review first.

@xukai92 just resolved some small issues.

Have you check type stability after the changes?

By which I mean run @code_warntype for sample() function.

Have you check type stability after the changes?

Yes, appears to be fine.

Yes, appears to be fine.

Awesome!

Right, I've created the default methods. We get Float64s by default, but the user can of course provide a matrix explicitly if this isn't the desired behaviour.

Great work! Thanks!

I'll merge it when CI passes.


OCI-CommitmentDiscountId

Not applicable.
Comment:

The OCI Universal Credit annual commitment model typically involves a discretionary discount percentage, categorized as a negotiated discount rather than a commitment-based discount.


Added ember+ ENUM type

While working with Riedel Mediornet I had to add the ENUM type to the module to be able to control various parameters. Currently it's just an integer input field, no enum representation.

Sorry for not seeing this earlier


Don't publish CACHE_MISS tag in buildScanPluginPerformanceTest

Context
Because it doesn't depend on compileAll task.

Thanks @wolfs !


Create Chemistry Diagnostic Table

New feature type
New table and/or analytic calculation
What is this new feature?
Evaluate chemistry mean values of select species.
Example of the old chemistry table is attached.

Assistance required?
Yes, I will need some assistance before making a PR
Extra info
chemistry diagnostic

Here is a progress report on the Chemistry tables so far:
https://project.cgd.ucar.edu/projects/ADF/chem-diags/tables/html_table/amwg_table_Chemistry.html


Python3 prerequisites error

Describe the bug
A clear and concise description of what the bug is.
During setup on a new Ubuntu Server 20.04 install, I encountered some errors.
Command or context you are trying to run
For manual.py include the full command, for integrated commands please include relavent logs from those programs (IE for postSonarr.py please include relevant Sonarr logs)
python3 -m pip install -r /home/<account>/mp4_automator/setup/requirements.txt -r /home/<account>/mp4_automator/setup/requirements-qbittorrent.txt
During the install of the requirements using PIP, these errors are present.

ERROR: cleanit 0.4.4 has requirement chardet>=4.0.0, but you'll have chardet 3.0.4 which is incompatible.
ERROR: cleanit 0.4.4 has requirement click>=7.1.2, but you'll have click 7.0 which is incompatible.

System Information

OS: Ubuntu 20.04
Python version Python 3.8.10

Expected behavior
A clear and concise description of what you expected to happen.
Install prerequisites without error
Additional context
Add any other context about the problem here.
Not sure if these can be safely ignored or if they may want to be added to the list at those specified versions or not. Just an FYI! :)

This is an intended pip error when you have already a package installed that is a requirement for one of the items you're installing but not in line with the required versions
I believe including --upgrade in your parameters will give pip permission to update those dependencies to the required versions
If not you can manually upgrade the relevant packages using pip install --upgrade <package>


Just a question

Hi 👋🏻
I came across your repo in search of a multi-process PHP container. And yours looks like what I need.
Just curious why you chose to use runit as the init process instead of s6 or monit for example?
(personally never done stuff with runit before)
Maybe if the reason is interesting enough, you could add that to your very complete readme (I love it!)

Hi @MarcHagen
Thank you for reaching out and for your kind words about the repository and its README!
Regarding your question about why I chose to use runit as the init process instead of s6 or monit, here's an explanation of the differences and the rationale behind this choice.
Differences between runit, s6, and monit:

runit:

Lightweight and Fast: runit is known for being lightweight and fast with a very low memory footprint.
Simple Configuration: It has a straightforward and simple configuration syntax, which makes it easy to use and maintain.
Process Supervision: runit provides reliable process supervision and ensures that services are restarted if they crash.

s6:

Modular Design: s6 is highly modular, allowing you to pick and choose the components you need.
Complexity: While powerful, s6 can be more complex to configure and manage due to its modular nature.
Extensibility: It provides a lot of extensibility and can handle more complex setups with ease.

monit:

Monitoring and Managing: monit is primarily designed for monitoring and managing processes, files, directories, and devices on a Unix system.
Configuration: It has a more complex configuration and is generally used for monitoring system performance and status.
Web Interface: monit includes a web interface for easy management and monitoring, which might be overkill for simple container use cases.

Reason for Choosing runit:
I opted for runit due to its simplicity and efficiency. In the context of a Docker container where we want to keep things lightweight and ensure reliable service supervision, runit offers an excellent balance of features and ease of use. Additionally, its low memory footprint is particularly advantageous in containerized environments.
The original TrafeX version of the repository uses supervisor, which is written in Python. While supervisor is robust and widely used, I wanted to maintain a fork that uses runit to provide an alternative that might better suit certain use cases where a lightweight and simple init system is preferable.
For more context, you can refer to this PR I did on the original repo, which discusses the transition from supervisor to runit and the benefits associated with this change.
If you have any suggestions or would like to improve the README, feel free to send a PR. I would be happy to merge it. Thanks!
Best regards,
Ernesto


Rpc Basic Auth

Adds basic auth to RPC.
Also, I would suggest to change plugin name to something more generic, RpcSecurity, RpcConfig, RpcExtender ...

I changed the plugin name to RpcSecurity. Please test it.

Tested and working fine 👍


ES import with typescript results in Could not resolve "pdf-lib"

What were you trying to do?
I'm simply trying to import "pdf-lib" for usage in a figma plugin.
How did you attempt to do it?
import { PDFDocument } from "pdf-lib";
What actually happened?
ts outputs Could not resolve "pdf-lib"
What did you expect to happen?
a clean import
How can we reproduce the issue?
tsconfig.json
{
  "compilerOptions": {
   "esModuleInterop": true,
    "isolatedModules": true,
    "jsx": "react",
    "jsxFactory": "h",
    "lib": ["DOM", "ES2020"],
    "module": "ES2020",
    "moduleResolution": "Node",
    "strict": true,
    "typeRoots": ["node_modules/@figma", "node_modules/@types"],
    "paths": {
      "@/*": ["./src/*"]
    },
    "target": "es2017"
  },
  "include": ["src/**/*.ts", "src/**/*.tsx"]
}

Version
latest
What environment are you running pdf-lib in?
Browser
Checklist

[X] My report includes a Short, Self Contained, Correct (Compilable) Example.
[X] I have attached all PDFs, images, and other files needed to run my SSCCE.

Additional Notes
No response

this was an issue related to esbuild and its "platform" parameter.
setting mainFields for esbuild buildOptions to
mainFields: ["module", "main", "browser"],
fixed the issue.
save to close this.


Prevent heap OOB read in TFLite's gather_nd.cc.

Passing negative indices is illegal but there was a missing check so that resulted in OOB accesses.
PiperOrigin-RevId: 387208551
Change-Id: I6b7a8a62d3e7c13a16d81619e5bc23ae2cdbc7fd

This is the same as #51014


fix(app): show InfoScreen under RunPreview for a run canceled before start

Closes RQA-2717
Overview
Show a 'Run was never started' InfoScreen under RunPreview for a terminal run that was never started (has 0 commands)
Test Plan

Begin protocol setup
Cancel run before starting
Verify that 'Run was never started' info screen shows

Changelog

show appropriate info screen if no commands exist on the run (consistent with parameters tab)
fallback to analysis commands while commands from runs/{runId}/commandsAsPreSerializedList are loading so we don't get weird json as a step

Review requests
auth js
Risk assessment
low

@shlokamin @koji I just pushed a commit to better address fallback logic. There was an issue that after a run is made terminal, we read from the run commands rather than analysis commands, but for a moment, those run commands are null. Rather than fall back to analysis commands during the null reading, I think we should fallback to "Loading data..." as we do at protocol setup for consistency and reduced confusion.
https://github.com/Opentrons/opentrons/assets/47604184/727046ed-8c0f-4ef8-818e-e59c13be00fb

updated behavior. TODO: fix the run canceled banner flickering. unrelated to this component.
https://github.com/Opentrons/opentrons/assets/47604184/6f6050da-1545-44b3-aff7-4860791bbce5


Cant remove webpack/node_modules in Windows: path to long.

:information_source: This is not a Webpack bug, its a NPM + Windows issue. But its good (for both users and developers) to be aware of this:
The webpack/node_modules folder is to deep, windows cant remove it!
This is easily reproduced by cloning https://github.com/webpack/react-starter to a path with a length like / such as C:\ProjectsGit\CLONE\My-Clone-Of-React-Starter\.
Impact
You cant remove the folder in Windows, so doing a new / fresh npm install got harder.
I wonder what the impact is on Webpack. Does it function properly regardless?
Solution
None except avoiding Windows. I hope that Webpack devs can keep dependencies minimal (always a good idea) and NPM devs lower the odds of this problem recurring.
Workaround
is not easy, and in my case i could not. Unable to remove it;

using command prompt,
custom js code, or
rifram module, or
powershell.

I abandoned the folder and continued development elsewhere. Next time i'll try this prune with empty dependencies trick which i found out about later.

removing node_modules/webpack form windows explorer raises the issue, but
npm remove webpack works like a charm.

npm 3 wil flatten the dep tree on the file system, so this shouldn't be an issue
http://blog.npmjs.org/post/110924823920/npm-weekly-5

I know...
Closing as it's not related to webpack.

Install RimRaf:
npm install rimraf -g
Go the project directory and delete the node_modules folder with:
rimraf node_modules

I have added few lines inside package.json:
` "scripts": {
"clean": "rmdir /s /q node_modules",

"reinstall": "npm run clean && npm install",

"rebuild": "npm run clean && npm install && rmdir /s /q dist && npm run build --prod",

....

}`
If you want to remove the package use this -  rimraf node_modules or rm -rf  node_modules.
Reinstall the pacakge -  npm install.
It works fine ;) :)


interactivity added in landing page

#6 landing page elements made clickable
#5 Not sure but i guess this is resolved now.
Mobile view

if everything is fine, please close the issues. If not then let me know about the same. Also if you want to increase opacity only on smaller screen then change on line 18, opacity-30 sm:opacity-10

Awesome work on the PR there @Chiranjeev-droid, will keep that in mind while merging #4, thanks for the heads up ✨


Add a flag to set OOMScore of cri-containerd

Similar with containerd, we should add a flag to set OOMScore for cri-containerd.
The default value should be -999.

I will  do

@yanxuean Thanks!


Consider support for nested Navigators across ChildViews

I have a hacked PageRoute that has super primitive support for nested navigation stacks. The below code shows the idea, but it's based on an older Flutter API.
class HeroSubPageRoute extends HeroPageRoute {
  final NavigatorState parentNavigator;
  NavigatorState childNavigator;

  HeroSubPageRoute(
      {this.parentNavigator,
      WidgetBuilder builder,
      NamedRouteSettings settings,
      HeroController heroController})
      : super(
            settings: settings,
            heroController: heroController,
            builder: builder) {}

  Duration get transitionDuration => const Duration(milliseconds: 1500);

  @override
  WidgetBuilder get builder {
    return (BuildContext context) {
      childNavigator = Navigator.of(context);
      return super.builder(context);
    };
  }

  @override
  void didPush(OverlayState overlay, OverlayEntry insertionPoint) {
   super.didPush(overlay, insertionPoint);
    parentNavigator.push(new StateRoute(onPop: () {
      childNavigator?.pop();
    }));
  }
}

Would it be reasonable for Flutter provide a more complete way to nest Navigators? Would it be reasonable to make this work across ChildViews?
/cc @abarth @ianloic

Can you elaborate on what the use case is?

Yes. I have a parent that contains a ChildView. Each has their own Navigator. The catch is that I'd like this to work with the Android system back button. I can have them both handle the input event. But what I'd like (in the simplest case) is a way to make the back button pop the child Navigator until it's empty and then start popping the parent.

so you mean nested navigators across processes, not nested navigators within the same process?

Yes

Ah, ok. I think this is really a Mozart thing then. We'd participate in a nav protocol if there was one, but my understanding is that there isn't one yet. @j9brown, are you tracking that anywhere?

cc @j9brown see above

The protocols which drive navigation will likely need to be defined at a
higher level than Mozart itself, probably at the level of Stories and
Modules.
We haven't done any implementation in this area yet.
On Wed, Oct 26, 2016, 11:37 AM Ian Hickson<EMAIL_ADDRESS>wrote:

cc @j9brown https://github.com/j9brown see above
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/3032#issuecomment-256438800,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGPhG4BFqbZzOq_fDtVHAD1Ji7qAlHzks5q353ygaJpZM4H9O7l
.

@HansMuller is this on the radar at all? Curious if this needs a different milestone.

I don't think we need to track this in this issue tracker.  If this is needed for Fuchsia, it will come up again in that context.


Expose the Dart PostObject API to custom embedders.

For reference, the proposal is to expose the PostObject functionality currently in ///third_party/dart/runtime/include/dart_native_api.h via a stable extension to the Flutter Embedder API.
Additions to the stable Flutter Embedder API need to unlock a critical use case and need the assurance that the underlying functionality is based on stable foundations. While it can be argued that either platform channels or dart:ffi can achieve similar results, neither one of those mechanisms have the same relaxed threading restrictions as the PostObject API. The API has also been stable in the Dart VM for many years. For this reason, this seems like a good addition to the Embedder API.
xref b/145982720

This has been patched in https://github.com/flutter/engine/pull/14477


Reconcile NanoClock in GAX with Clock in google-cloud-java

NanoClock operates on nanoseconds and Clock operates on milliseconds, but I don't think there's a need to have two distinct classes.

Merged to upstream. Closing.


Can not install/uninstall any app including uncover. Tried deleting uncover and it removed profile but still on springboard

Describe the bug
Can not install/uninstall any app including uncover. Tried deleting uncover and it removed profile but still on springboard. Can not install a new one.
To Reproduce
Do not know how it happened
Screenshots
If applicable, add screenshots to help explain your problem.
Device (please complete the following information):

iOS Version: 12.1
iOS Device: iPhone 6
unc0ver Version: b46

Place an "x" between the brackets if true:

[ ] this is a bug others will be able to reproduce
[ ] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[IDK] this issue is present after a rootfs restore
[X] this issue is present on the latest version of unc0ver

Logs
If applicable, add logs or error messages here.

Run uicache, the app has been uninstalled but the icon is still there

How do I do that?
On Thu, Mar 21, 2019 at 4:29 PM Un4givenPG<EMAIL_ADDRESS>wrote:

Run uicache, the app has been uninstalled but the icon is still there
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pwn20wndstuff/Undecimus/issues/829#issuecomment-475409773,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AuhTSJV1BcI5JNuIorWdXUiy8Dmx3_g8ks5vY_msgaJpZM4cAuvC
.

--
Thanks,
Tom

Run uicache, the app has been uninstalled but the icon is still there

I think he uninstalled unc0ver and now can't run uicache

Yes but it’s stoll on my home screen
On Fri, Mar 22, 2019 at 10:43 AM Seth Stephens<EMAIL_ADDRESS>wrote:

Run uicache, the app has been uninstalled but the icon is still there
I think he uninstalled unc0ver and now can't run uicache
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pwn20wndstuff/Undecimus/issues/829#issuecomment-475670894,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AuhTSPIQJZXriRmk9qNz9dd7TmUvJTJyks5vZPo0gaJpZM4cAuvC
.

--
Thanks,
Tom


Add book in author schema 28

Summary of change
You can find all books of a specific author.
Related issue
Closes #28
Pull request checklist
Please keep this checklist in & ensure you have done the following:

[x] Read, understood and adhered to our contributing document.

[x] Ensure that you were first assigned to a relevant issue before creating this pull request
[x] Ensure code changes pass all tests

[x] Read, understood and adhered to our style guide. A lot of our code reviews are spent on ensuring compliance with our style guide, so it would save a lot of time if this was adhered to from the outset.

[x] Filled in the summary, context (if applicable) and related issue section. Replace the square brackets and its placeholder content with your contents. For an example, see any merged in pull request

[x] Created a branch that has a descriptive name (what your branch is for in a few words and includes the issue number at the end, e.g. test-reading-goal-123

[x] Set this pull request to 'draft' if you are still working on it

[x] Resolved any merge conflicts

For any of the optional checkboxes (e.g. the screenshots one), still check it if it does not apply.
If in doubt, get in touch with us via our Slack workspace or by creating a new Q&A discussion on GitHub

Thanks for working on this! Could you please resolve the conflict in query.graphqls?

@nikole24 Does this work for you on localhost:8080/playground? It doesn't for me. I get back an empty list

yes it works.

Oops, my bad. I was missing the dot after the 'K' in 'J.K.'


fix typo in readme.

Description of your changes

Checklist

I have:

[x] Run make reviewable to ensure this PR is ready for review.
[x] Ensured this PR contains a neat, self documenting set of commits.
[x] Updated any relevant documentation, examples, or release notes.
[x] Updated the dependencies in app.yaml to include any new role permissions.
[x] Updated the package resources documentation to include any new managed resources or classes.

make reviewable
git commit -s

@hasheddan thx,  it's ok for me.


Mac App v2.3.2 cannot use custom sounds

This app runs well on the default sounds category but, in my system, doesn't do well on custom sounds that has config.json.
Some cases are:

It can read custom single file sounds like Gateron Blacks
It can't  read custom multiple file sounds, like Razer Blackwidow By Akira and Steelseries Apex by Akira
It is however able to map the config.json file from both the sample sound from point 2 to their respective keys in the Editor. But the mapped key from the editor cannot be used as the sound file as of this version of the app
The main app always seen as "Loading..." (indefinitely, even after closing-reopening the app) and not "Mechvibes" anymore after importing those multi-filed soundpacks

The device I used was an m1pro (arm) laptop.

We've identified this issue and intend to fix it within the next week or two in v2.3.3
To be clear, you can use custom sounds in the latest version, but your custom soundpacks cannot have key definitions with missing sound files.
eg. If the pack you're using says to use example.mp3 when you press "F" on your keyboard, but example.mp3 doesn't exist in the soundpack, the pack won't work.


PrintVTK issues

Hello,
I created the following function to save the solution and the mesh in VTK format.
void SaveVTK(ParMesh *pmesh, ParGridFunction *pgrid_f, int vtk_int)
{
    std::ostringstream oss;
    std::string vtkfilename, vtufilename;
    int nnn;
    int myid;
    MPI_Comm_rank(pmesh->GetComm(), &myid);

    oss << setfill('0') << setw(6) << myid;
    vtkfilename = "VTK/solutionVTK." + oss.str() + ".1.vtk";
    cout << vtkfilename << endl << flush;
    nnn = vtkfilename.length();
    char char_array1[nnn+1];

    strcpy(char_array1, vtkfilename.c_str());
    ofstream sol_ofs1(char_array1);
    sol_ofs1.precision(8);
    pmesh->PrintVTK(sol_ofs1, vtk_int);
    pgrid_f->SaveVTK(sol_ofs1,"solution ", vtk_int);
}

I tried it with ex1p.cpp and had no issues. When I tried it with ex14p.cpp, it could not create the files. I added SaveVTK(pmesh, &x, 1); to the very end, and  the code died in Mesh::PrintVTK(std::ostream &os, int ref, int field_data) when inside if (Dim > 1) it tried to execute GetElementColoring(coloring, el0). I went further and found that the error is in the line of if (colors[k] == -2), since somehow k is larger than the size of colors.
Here is what I tried
make ex14p && mpirun -np 2 ./ex14p -m ../data/inline-quad.mesh
I did not have any issues when running on one core.
The code produced the output when I commented out the line a->AddInteriorFaceIntegrator(new DGDiffusionIntegrator(one, sigma, kappa));. I know the code gave useless results, but I thought it was worth mentioning.
Also, I am not sure if this is the best way to save the VTK output. I am almost sure that it is not the ideal way.
Any advice is appreciated.
Best,
Tamas

Thanks, it solved it!


Delete Command Not Functioning as Per User Guide

The delete n/NAME command is not functioning as described in the user guide. When multiple clients have the same name (e.g., Alfred Lim and Alfred Tan), the command returns "No person with that name found" instead of performing the deletion or suggesting further action

Steps to Reproduce:

Add two clients with the same first name (e.g., Alfred Lim and Alfred Tan).
Use the command delete n/Alfred.
The app returns "No person with that name found.

Suggested Improvement:
If multiple persons with the same name exist, the app should display a more specific message like:
"Multiple clients with the same name found. Please use delete by ID instead

The issue here isn't that the returned message is wrong, but that the delete command currently searches for an exact (case-insensitive) match with the name provided.
https://github.com/user-attachments/assets/6949ae52-b621-4ddc-a6fb-743eb6992c95
We could try updating it to allow for word matches instead (so as long as the name query matches a word in the person's name, i.e. first/middle/last name, it gets counted as a match).
I would mainly suggest we update the user guide to reflect what values the NAME parameter can take, and how it matches the query to the list of names since it is not clear upon reading how the matching is done.

Yes we can update the delete section in the user guide


Calculate declaration limit on GET employee

Calculate and show declaration limit on GET employee in the same way it is calculated on approve declaration

have agreed that  declaration_limit and declaration_count should be deprecated with the limits v3 introducing


August release Normalization

Everything is as expected. I am bypassing branch protection and merging this PR, so I can start the release process.


Region section is not correctly handled when "#endregion" is set in a string variable inside the region

Tested versions
Godot 4.3 dev 4 (probably previous versions as well)
System information
Manjaro Linux (DE: Cinnamon v6.0.4) 64 bits (but probably all systems)
Issue description
When using the comment regions in a script, if a string inside a region contains "#endregion" alone on a single line, it triggers the region's end prematurely and then messes the region feature.
Steps to reproduce
Copy the following code inside a script and try to fold the region TEST (comments are only there to explain the behavior):
#region TEST
# This region should be folded up to the EOF comment
func test() -> void:
	# Dummy content
	var testing : String = ""
	# To trigger the region's end, the string must be the first thing on the line, with or without tabs in front
	# Single quoted or literal strings does the same effect
	testing += """
#endregion
"""
	# Some more content which will not be folded with the region!
	var new_var : int = 3
# The real end of the region, when folding TEST we should not see any of the test() method content
#endregion
# EOF comment

The result is a partially folded region (see screenshots below).
Unfolded region:

Actual folded region:

Expected result:

Minimal reproduction project (MRP)
Not necessary.

I tested more in depth and if the string is for example "#region REGION_NAME", the corresponding region is created as well.
In short: if the string contains "#region" or "#endregion" it is interpreted as a real region keyword, where it should not be treated at all. Hope this helps.

Looks like the editor doesn't take into account language syntax, only comment delimiters. CC @jmb462 @Paulb23

Hi, I'm new here, can I be assigned to this issue? Or is it already assigned to someone else?

@RafaelRain18 Feel free to start working on it. We usually prefer not to assign issues. Your comment is enough to inform other contributors of your intention. If you need help, you can ask in the Godot Contributors Chat. Thanks!


GitHub Docs: love it or hate it? We want to hear from you!

Hello, wonderful OS Docs community! 👋
If you have a few minutes, please check out this discussion! We are in need of your feedback regarding your experience using our technical documentation ✨
Any thoughts or insights you have to share are welcome 💛 thank you in advance!

Hello, wonderful OS Docs community! 👋
If you have a few minutes, please check out this discussion! We are in need of your feedback regarding your experience using our technical documentation ✨
Any thoughts or insights you have to share are welcome 💛 thank you in advance!

Hello, wonderful OS Docs community! 👋
If you have a few minutes, please check out this discussion! We are in need of your feedback regarding your experience using our technical documentation ✨
Any thoughts or insights you have to share are welcome 💛 thank you in advance!

main:devcontainer/devcontainer.md

So so

Github is a good platform for business, development and innovation.

lublu

Hi

Please amend your Research Program Terms to explicitly mark Confidential Information as such, rather than blacklisting my will to participate.


Add algorithm to calculate a JA4 fingerprint

This is the beginning of a new experimental ja4_fingerprint plugin. This is just the part of the algorithm described by the JA4 specification that doesn't depend on OpenSSL. This includes thorough unit tests. I intend to do the plugin and OpenSSL logic in a separate PR with AuTests.

A strategic issue involved here is whether we need to reduce per-transaction memory allocation/deallocation.  Are we assuming that newer allocators with per-thread arenas make it a non-issue?
In a Yahoo internal plugin, I am using thread_local instances of this class to reduce memory allocation/deallocation:
class GrowBuf
{
public:
  explicit GrowBuf(unsigned capacity = 0)
  {
    _v.reserve(capacity);
  }

  unsigned size() const { return _size; }

  const unsigned char * data() const { return _v.data(); }

  void clear() { _size = 0; }

  void push_back(unsigned char b)
  {
    if (_size < _v.size()) {
      _v[_size++] = b;
    } else {
      _v.push_back(b);
      ++_size;
    }
  }

  // No copy/move.
  GrowBuf(GrowBuf const &) = delete;
  GrowBuf & operator = (GrowBuf const &) = delete;

private:
  std::vector<unsigned char> _v;
  unsigned _size{0};
};

I do want to reserve bytes for the strings in some cases because I know exactly how long they will be, so I'm glad you reminded me of that. For the other allocations, I would be hesitant to make any modifications to optimize allocations without benchmarking, and I'd prefer to do it in a separate PR.

The test Alternate_S_to_L_remove_S segfaulted on OSX.

[approve ci osx]

Thanks for making the contribution.  A suggestion if you're developing this plugin further in the future: perhaps it's worthwhile to use a struct to hold a JA4 signature, with its multiple fields of fixed length strings.  This should allow you to allocate all of those fixed length fields in one allocation and fill it out without additional allocations.


series_expand for OperatorPlus doesn't work as intended

The following code does not work as intended:
k = sympy.symbols("k", positive=True)
a = Destroy(hs="1")
X = 1 + k*a + k**2 a*a
A,B,C = X.series_expand(k,0,2)

After this code is run, A == X and B == C == ZeroOperator. The correct behavior should be A == IdentityOperator, B == a, and C == a*a. In particular, this is causing issues with prepare_adiabatic_limit, producing incorrect expressions for the limit operators.
I'm not sure if this issue also occurs with other subclasses of Operator; I've only tracked it down to OperatorPlus thus far.

Brief notes while debugging (mainly collecting links to relevant commits):

The bug seems to originate from ScalarTimesOperator._series_expand, but may also ultimately be due to something in the operator ordering module.
95837c0 broke ScalarTimesOperator.series_expand, at least for operators like k * a and k ** 2 * a * a, raising an AttributeError originating in the operating ordering module, specifically in the instantiation of a FullCommutativeHSOrder object.
c0089b4 removed the exception and introduced the current erroneous behavior.


[Feature Request] An SMTVFix.ini field to enforce specific Screen Resolutions

Your P3RFix allows to set a specific screen resolution for P3R under "Custom Resolution", and I think it'd be nice if SMT5Fix could get an equivalent to that.
Specially because the game loves to change its resolution on its own from 1600x900 to 1440x1080 whenever I boot it up, lel.

You can use the console command r.setres to set a resolution if you want. For example, r.setres 1920x1200w would set it to 1920x1200 windowed.


Filesystem not showing all folders

Godot version
4.1.1
System information
Windows 11
Issue description
I have an images folder and FileSystem in Godot has hidden it. Cannot recreate a folder named Images and cannot navigate to the folder by entering the path directly. The folder is available in the windows explorer but not in godot - so I cannot use my images folder. I considered moving it but I do not want to set up ALL my images again and all my references. Its a bit frustrating.
I have tried reloading the project and now im out of ideas.

Steps to reproduce
I do not know what happened. The images were there one moment and hidden the next. I have no way to reproduce. Im sorry. But I did strip my project almost entirely, reload it several times and ensure the bug was still happening, and have uploaded it in the "Minimal reproduction project" field.
Load the project, check in both windows explorer and godot, they will not match.
Minimal reproduction project
Bug Log for github.zip
Load the project, check in both windows explorer and godot, they will not match.

Its worth mentioning that I have been using my script as a floating window. I notice weird things sometimes because of this(like collision shape anchors disappearing). I do not think its related but sometimes any details help. :) Lemme know if you need more details. I love godot and would love to help whereever possible.

Hello. It's because you have file named «.gdignore» in «Images» directory. This file literally tell Godot ignore this folder. Just delete this file.

Thanks. It came with a plugin and I didnt realize it was even there. Youre entirely right.

I appreciate your help.

This also happens if there's a project.godot file in a directory!
I'm writing that for other readers who might land on this issue report, trying to solve this problem. I had a copy of my project.godot file that landed in a directory because of a drag-and-drop failure that I had completely failed to notice and, yes, landed here.


Build an in-vm context require implementation

jest-runtime currently does a large number of things and it isn't clear any more what it's responsibilities are. It implements require for contexts, keeps the state of mocks, transforms scripts and does a number of other things.
To make Jest work in multiple environments (browsers etc.), the require implementation and mock state need to be abstracted away so that they can be run inside the context rather than outside. Next to expect and jest-mock, this would also bring Jest's powerful mocking system to the browser or other places.
Rough ideas for anyone who'd like to tackle this:

[ ] Split all of jest-runtime's mock state out of jest-runtime into a standalone class.
[ ] Split the require implementation into a separate module, which uses the mock state.
[ ] Bring this require implementation and jest-runtime together: there'll be a hook, like jest.require(…) that will go to jest-runtime to resolve the module, transform the file, and then eval the code.

I think this could work :)

Could you also extract jest object out of runtime? Including the type information.
I've just build small jest mocks validator, and have to copypaste jest object from jest sources to make js/ts/flow validation work. Not quite happy about it.


Compatible with local 8xH100 instead of cloud?

Hello.
I have access to a local 8x H100 GPU cluster and want to try the Tinylama pretraining tutorial.
Is this supported? or do i have utilize cloud GPUS?
Thanks

If you have all the dependencies installed, that should be supported. You can check out the tutorials/pretrain_tinyllama.md tutorial in this repo. Let us know what results you get, I'd be curious.

is this the documentaiton that can help me set this up?
https://lightning.ai/docs/pytorch/stable/clouds/cluster_expert.html.
or is there any other documentation suggesting how?

@michaellin99999 On a single H100 node you don't need to set anything up. You can just run the script (granted you follwed the tutorial preparation steps) and it will  use all GPUs by default.
If you have a cluster of multiple H100 nodes, the steps will depend on your cluster setup. Most likely you have SLURM. Then follow the SLURM guide here: https://lightning.ai/docs/fabric/stable/fundamentals/launch.html#launch-on-a-cluster
otherwise follow the "bare bones cluster" guide on that same page.

Thank you!


Support MS Dynamics API

New issue for this problem as requested: https://github.com/odata2ts/odata2ts/issues/251#issuecomment-2315336375
When generating types for an MS Dynamics endpoint odata2ts throws the following error:
Loaded config file:  odata2ts.config.ts
---------------------------
Starting generation process. Service name "dynamics"
Found metadata file at:  ./$metadata.xml
Reading metadata from file: ./$metadata.xml
Error while running the program NotImplementedError: Unexpected! Inserting syntax kind of InterfaceDeclaration, but ExpressionStatement was inserted.
    at getRangeWithoutCommentsFromArray (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:917:23)
    at insertIntoBracesOrSourceFileWithGetChildren (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:2523:12)
    at SourceFile._insertChildren (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:11489:20)
    at SourceFile.insertInterfaces (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:11301:25)
    at SourceFile.addInterfaces (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:11295:25)
    at SourceFile.addInterface (C:\Users\erik.kers\repositories\Privat\dynamics-metadata\node_modules\ts-morph\dist\ts-morph.js:11292:25)
    at ModelGenerator.generateModel (file:///C:/Users/erik.kers/repositories/Privat/dynamics-metadata/node_modules/@odata2ts/odata2ts/lib/generator/ModelGenerator.js:93:24)
    at file:///C:/Users/erik.kers/repositories/Privat/dynamics-metadata/node_modules/@odata2ts/odata2ts/lib/generator/ModelGenerator.js:50:18
    at Array.map (<anonymous>)
    at ModelGenerator.generateEntityTypeModels (file:///C:/Users/erik.kers/repositories/Privat/dynamics-metadata/node_modules/@odata2ts/odata2ts/lib/generator/ModelGenerator.js:43:48)

Tried all the different emit modes, always the same error:

Error while running the program NotImplementedError: Unexpected! Inserting syntax kind of InterfaceDeclaration, but ExpressionStatement was inserted.

Ok, back to this beast. A lot of work already went into fixing bugs and edge cases presented by the Dynamics API in light of issue #251. However, one edge case is left and there's also some required configuration:
services: {
    dynamics: {
      serviceName: "dynamics",
      source: "./$metadata.xml",
      output: "generated/dynamics",
      bundledFileGeneration: false, // <= REQUIRED
      allowRenaming: true, // <= REQUIRED
      byTypeAndName: [
        {
          type: TypeModel.ComplexType,
          name: "Solution",
          mappedName: "SolutionCT",  // <= also REQUIRED
        },
      ],
    },
  }

Explanation:

bundledFileGeneration: false

absoluteley required as the output is simply to massive to bundle that into three files
generates separate files per artefact and provides a folder hierarchy
this was the primary undertaking in #251
will probably become the default in v1

allowRenaming: true

there are names which contain a hyphen, e.g. cat_Sendin-appnotification
this breaks the produced TS/JS and was the root problem of the mentioned error
you could also fix this by using byTypeAndName and replacing dashes by regexps

the byTypeAndName part: the model contains an EntityType called solution and a ComplexType called Solution
this is an absolute edge case and I would vote for calling this an instance of bad API design
you have to resolve this name clash manually for now

Resulting odata2ts Issues

odata2ts shouldn't break that badly: the error message is simply misleading
there is this one edge case where names of entities within the EDMX model only differ in regards to

the first letter
and actually only its casing

Next Steps

Doesn't seem to work with EmitModes.js_dts
Is the generated stuff compilable?

debug: true
a lot of memory needed

So after a lot of more testing, this is how it works:

You first generate TS with odata2ts using the config below
You compile to JS & dts by yourself

by default or if debug:false you're good to go, I think
if debug: true then you need to give tsc a lot of memory, e.g. npx --node-options="--max-old-space-size=14000" tsc

and yes, on my machine I needed 14GB of memory

I've updated the example repo of @erik-kers and this config works in my tests:
import { ConfigFileOptions, EmitModes, TypeModel } from "@odata2ts/odata2ts";

export default {
  emitMode: EmitModes.ts,
  services: {
    dynamics: {
      serviceName: "dynamics",
      source: "./$metadata.xml",
      output: "generated/dynamics",
      // absolutely needed when confronted with huge EDMX files!
      bundledFileGeneration: false,
      byTypeAndName: [
        /**
         * There's an EntityTpe with name "solution" and a ComplexType with name "Solution".
         * This edge case is not handled correctly by odata2ts for now.
         *
         * Workaround: Rename one of those names which only differ in casing of the first letter.
         */
        {
          type: TypeModel.ComplexType,
          name: "Solution",
          mappedName: "SolutionCT",
        },
        /**
         * A hyphen won't work as part of a valid class name.
         * odata2ts should throw a proper error message here, but currently doesn't.
         *
         * Workaround: Rename offending names without usage of the hyphen
         */
        {
          type: TypeModel.OperationImportType,
          name: "cat_Sendin-appnotification",
          mappedName: "cat_Sendin_appnotification",
        },
        {
          type: TypeModel.OperationType,
          name: "cat_Sendin-appnotification",
          mappedName: "cat_Sendin_appnotification",
        },
        /**
         * Reserved words like "import" won't work.
         * odata2ts should throw a proper error message here, but currently doesn't.
         *
         * Workaround: Rename offending names
         */
        {
          type: TypeModel.EntityType,
          name: "import",
          mappedName: "importType",
        },
        {
          type: TypeModel.EntityType,
          name: "package",
          mappedName: "packageType",
        },
      ],
    },
  },
} satisfies ConfigFileOptions;

I would really appreciate if one of you guys can confirm that this is also working for you.

Hi @KODIKAS-NL & @erik-kers,
any chance to try it out?

Hi @KODIKAS-NL & @erik-kers, any chance to try it out?

Hi @texttechne thanks for your work!
Yes, it works now in my case!
I only used it to generate the types for now, haven't used the full generated client yet.

Hi @KODIKAS-NL ,
ok, so much for the first step. Thanks for trying it out!
However, I would really appreciate any tests of the full OData client against the API. And I would love to hear about experiments with bundling: Is it enough to use the TS artefacts and let your bundler do the rest? Does it pull in all artefacts, so that you are forced to transpile the generated artefacts first? ....


Some webtorrent connections hang the node with EPIPE

I just got this. Same issue I guess. Program crashes.
[error] Connection timed out. (<IP_ADDRESS>:2301)
[debug] Refilling peers (7/8).
[debug] Connecting to <IP_ADDRESS>:2301.
[debug] Received headers packet with 1 items (<IP_ADDRESS>:2301).
[debug] Received 1 headers from peer (<IP_ADDRESS>:2301).
[info] Added inbound peer (<IP_ADDRESS>:59778).
[debug] Ignoring leech: too many inbound (<IP_ADDRESS>).
[debug] Ignoring leech: too many inbound (<IP_ADDRESS>).
[debug] Ignoring leech: too many inbound (<IP_ADDRESS>).
[debug] Ignoring leech: too many inbound (<IP_ADDRESS>).
[debug] Peer has not responded to ping (<IP_ADDRESS>:57394).
[error] Connection timed out. (<IP_ADDRESS>:2301)
[error] Connection timed out. (<IP_ADDRESS>:2301)
[error] Connection timed out. (<IP_ADDRESS>:2301)
[debug] Error: write EPIPE
    at exports._errnoException (util.js:1022:11)
    at WriteWrap.afterWrite [as oncomplete] (net.js:804:14)
[error] write EPIPE


Deployment of targets with MSBuild

In dev14, MSBuild was machine-global and had a defined machine-global place for extensions (targets and task assemblies). This allowed MSBuild to deliver the core targets and tasks (and the engine), and other SDKs to augment its surface area by copying files to a known location.
In the future, MSBuild won't require installation and you might have many copies of it on your machine. But projects will continue to refer to properties like $(MSBuildToolsPath) and $(MSBuildExtensionsPath), which will be resolved relative to the currently-in-use copy of MSBuild. Those projects will fail to load or build if the targets files they need are missing.
To some degree, this will be alleviated by referring to SDKs via NuGet package. But MSBuild must have enough targets to know how to handle NuGet references.
Currently, MSBuild handles this for our bootstrapped build by restoring several NuGet packages that contain MSBuild logic and copying it to the right places in our output. But that kind of manual reconstruction is a high bar to clear for an MSBuild consumer--it'd be vastly better if you could just depend on a package that delivered everything you needed.
Questions:

Ownership of the metapackage that contains the engine + specific targets
Combinations (you should be able to say "get me a copy of MSBuild that can build C# and F# projects")
Can we somehow point to a VS installation, where all of these things will be solved by the VS packaging system?

Can we somehow point to a VS installation, where all of these things will be solved by the VS packaging system?

That doesn't help with x-plat we would need to have a story that isn't that for them and I think we should try to have the same story if possible.

Definitely DO NOT consider VS is around. Think about Windows Container for build bot purpose.
Also I have a related question, not sure to raise a separate issue though: does the current release of Opened MSBuild include all those targets? If not, how does one grab those targets, e.g. for people to build for IIS Express, where to grab the WebApplications target? ( I see there is one on NuGet: https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets/, is this allowed/encouraged? ) Another would be the current version Portable targets, which does not even have a downloadable link on MSDN ( only on VS ISO ).

@xied75 As you noticed, right now there's no uniform place to get targets. That should improve in the Dev15 timeframe, but it's important to note that Microsoft is not committing to packaging targets for everything (as much as I might personally love that). Building some project types will probably still require installation of Visual Studio with the appropriate install options checked.
As @weshaggard points out, that cannot be the case for the sorts of things that we support building cross-platform, like .NET Core apps and libraries. Targets from that should come from official public packages and we should provide a nice all-up way to get a build environment that includes MSBuild + targets. Ideally more and more things move to this model over time.

@rainersigwald Thanks for the reply. Cross platform is important but I'm more concerned on Container, to insist to install VS inside container only for 2 or 3 tiny target files sounds bizarre, as of today, we can install multiple versions of NETFX with msi, install msbuild tooling with msi, but not some of the targets, and the whole build chain collapse. Even the Windows team finally understood what's facing them and come out the Nano Server, I can't imaging the VS team will go backwards and insist for us to waste 8GB disk space while the Nano is only couple of hundreds MB.
Besides, the container does not offer us Visual, so what to Visual for?
Can't we get those Targets to have an independent life? ( I thought this is what you mean in the thread ), can this work be Open Source? So that we can come up a plan and make it work.
p.s. Better to ask explicitly: are those Targets covered by MIT license as msbuild?

My assumption is that dotnet CLI would ship with a variant of deployed MSBuild, so users can use that on x-plat. Out of the box it is C#. In the past it had certain extensions to bring down F# and VB support.

@xied75 An install-free experience is a worthy goal, and one that I support. But as always, the default future is "status quo", so installation requirements will continue to exist until they're changed. That is not a primary focus of  current work. There's work to make Visual Studio installation faster and smaller, and work around cross-platform .NET development, which is package-based.
This repo provides the MSBuild core engine and tasks, and the most basic of targets. Files in this repo are governed by this repo's license.
Layered on top of MSBuild are various SDKs that have different levels of installation and licensing requirements. Some are open source, some remain proprietary parts of Visual Studio, and some are entirely third-party. If you'd like to influence the direction of the Microsoft SDKs, your best bet is probably the usual support channels and UserVoice.

There's work to make Visual Studio installation faster and smaller, and work around cross-platform .NET development, which is package-based.

Ah, so that is why the new installer is based on Node.js? :)

I feel like perhaps this issue is more what my comment in #1461 was about, so bumping this. Feels like something that should be resolved.
Is there any solution going forward for things that are not SDKs and/or Nuget Packages?

For VS 2017/MSBuild 15.1:

This repo contains core targets.
This repo's targets are redistributed in the Runtime package: #1039.
When invoked, MSBuild finds targets using the mechanisms described in #1461.
https://github.com/dotnet/sdk/ contains the .NET Core SDK which is cross-platform.
Visual Studio and the dotnet CLI assemble the SDK and NuGet (and things like the compilers) into a known folder structure.
VS also (conditional on what checkboxes you tick in the installer) installs other targets.
Other means can continue to be used to install targets to machine-global locations.

In the future, the plan is for the experience to be smoother with Sdk acquisition. That should mean just having the MSBuild core assemblies + an SDK resolver will be sufficient to bootstrap and build projects.


Support for context timeout/deadline for requests in underlying HTTP client

Is your feature request related to a problem? Please describe.
The default behavior for whenever a request is made is using http.NewRequest (from here) which will use the default HTTP clients timeout (from here). This will block the caller and force them to wait until the request either fulfills or times out.
Describe the solution you'd like
Support passing in a context throughout different request types, e.g.:
ctx, cancelFunc := context.WithDeadline(context.Background(), someTime)
client.GetDocumentAsStream(ctx, s.NewGetDocumentOptions(someDatabaseName, someID))

By supporting this, the request can be canceled so that the caller isn't blocked by the library if they have their own timeout they need to support.

I think we would want to avoid a change that would modify the signature of generated operation methods (e.g. GetDocumentAsStream() in the example above).  So, instead of adding the new Context argument to each operation method, perhaps we could do one of the following:

Add a new field to each operation's "options" model struct so that the Context argument/option is handled just like the "Headers" field that allows the caller to set custom headers for a particular operation invocation.
Allow the client context to be set on the service instance and then used on each subsequent operation invoked using that service instance.

#1 would make sense if a Context is more closely related to a particular request.
#2 might make sense if a particular Context would typically be re-used for multiple operation invocations using a particular service instance.
I think I'm leaning toward #1.   Comments?

I think we would want to avoid a change that would modify the signature of generated operation methods

I agree with this sentiment. However, the Go docs for Context suggest that it shouldn't be stored in a struct:

Do not store Contexts inside a struct type; instead, pass a Context explicitly to each function that needs it. The Context should be the first parameter, typically named ctx

So I think perhaps the Go way to do this would be to either generate the additional functions with the Context parameter or to split the request/response such that the Request.WithContext was accessible to the caller.
However, I do think the option 1 approach of having the Context more closely related to a particular request is the right one rather than having it associated with the service instance.

Status:
PR (https://github.com/IBM/go-sdk-core/pull/79) has been opened for the required changes in the Go core.
This adds support for setting a Context instance on the RequestBuilder struct so that it will be propagated to the http.Request instance that is eventually created by the RequestBuilder.Build() method.

@ricellis @alexsniffin
Uh oh...  my code change in the Go core to use the http.NewRequestWithContext() method failed to build due to the fact that the go core build currently uses 1.12 as the minimum version of Go, whereas the NewRequestWithContext() method was added in Go v 1.13.
This means that I'll need to do the following in order to complete this feature:

Declare a new major version (v5) of the Go core which supports Go 1.13+, and deprecate the v4 major version.
The new version of the SDK generator that includes the changes needed for this feature will need to prereq the new v5 Go core.   This would not mean, however, that a new major version of the SDK generator is required since the changes to the generated code will not constitute a breaking change for SDK users.

Before I do the steps above, I just wanted to double-check that the Cloudant team will, in fact, be able to consume these changes.  IOW, would you be able to upgrade your minimum Go version to be 1.13+ as well?   I suppose if you have not yet delivered a GA version of your SDK, that would be relatively easy to do.  Otherwise it's a little more complicated :)

I guess you can disregard my last post above.   Just checked the cloudant go-sdk and you already list 1.13 as the min version of Go :)

Declare a new major version (v5) of the Go core which supports Go 1.13+

I wish semver were a little more clear about this type of breaking dependency change, it says:
What should I do if I update my own dependencies without changing the public API?

That would be considered compatible since it does not affect the public API. Software that explicitly depends on the same dependencies as your package should have their own dependency specifications and the author will notice any conflicts.

Obviously someone taking the package update with an old version of Go would get breaks, my reading of that semver is that the expectation is that they should have their own minimum Go dependency declared and notice a conflict.

Just checked the cloudant go-sdk and you already list 1.13 as the min version

Indeed we do, but we're still in a pre 1.x position where we could make API changes to do the right thing.

Unless there is a strong objection to option 1, I think I'd prefer that option simply due to the fact that it would mean less disruption to our existing approach in Go generation.

Given that the major drawback of the other approaches (either splitting the request build/execute or adding parallel functions with a context arg) is introducing breaking API changes that would cause a major release then surely if the Go language bump causes a new major anyway I think we should reconsider whether taking this easier option is actually really any easier. Rather than rushing into a change here, perhaps we could consider gathering some more Go user feedback about what is a better API?

Let me clarify...
The change in the Go core to require go 1.13+ (was go 1.12+) would cause a new major version of the Go core (v5), not the SDK generator (it's debatable whether the official semver rules would cause us to create a new core major version for a dependency upgrade, but our normal practice when upgrading minimum requirements for a core library is to declare a new major version to make it clear that something significant has changed, even if the core's "API" has not been changed in a breaking way).
We will deliver a new minor version of the SDK generator with the changes for this feature, and that new version will require the new v5.0.0 version of the Go core, but the SDK generator itself will not be generating new code that causes a breaking change.  We typically try to avoid breaking changes in generated SDK code if at all possible.
So, I don't think this new revelation (need to take Go core to 5.0.0) really changes much in terms of our decision making as to how to implement the Context change.
Here's a more concrete example based on work I've done so far (Go core changes are finished, SDK generator changes are still in-progress but mostly finished).

The "options" struct for an operation will have a new field, like this:

type MyOperationOptions struct {
        ...

	// An optional context.Context that will be associated with the http.Request
	// used to invoke the operation.  This can be used to specify a timeout/deadline,
	// or to cancel an in-flight request.
	requestContext *context.Context
}

// SetRequestContext : Sets a context.Context instance to be used when invoking requests
func (options *ExerciseAuthOptions) SetRequestContext(param context.Context) *ExerciseAuthOptions {
	options.requestContext = &param
	return options
}

// GetRequestContext : Gets the context.Context instance
func (options *ExerciseAuthOptions) GetRequestContext() *context.Context {
	return options.requestContext
}

Here's an example of using a Context with an operation:

        ctx, _ := context.WithTimeout(context.Background(), 30 * time.Second)
        myOperationOptions := NewMyOperationOptions(<required parameters>)
        myOperationOptions.SetRequestContext(ctx)

        result, response, err := myService.MyOperation(myOperationOptions)

I've tested out this approach by hand-editing some generated unit tests and it all seems to work fine.

Status:
I've re-worked the Go core changes to avoid a new major version.   I've also re-worked my SDK generator changes to use the dual-method approach.   I'll use one of the cloudant operations to demonstrate how that works.
For the "getServerInformation" operation, we'll continue to generate the "GetServerInformation()" method with the same signature that it had before.   The difference is that it is now just a wrapper around the new method "GetServerInformationWithContext()", like this:
func (ibmCloudant *IbmCloudantV0) GetServerInformation(getServerInformationOptions *GetServerInformationOptions) (result *ServerInformation, response *core.DetailedResponse, err error) {
	return ibmCloudant.GetServerInformationWithContext(context.Background(), getServerInformationOptions)
}

func (ibmCloudant *IbmCloudantV0) GetServerInformationWithContext(ctx context.Context, getServerInformationOptions *GetServerInformationOptions) (result *ServerInformation, response *core.DetailedResponse, err error) {
	err = core.ValidateStruct(getServerInformationOptions, "getServerInformationOptions")
	if err != nil {
		return
	}

	builder := core.NewRequestBuilder(core.GET)
	builder = builder.WithContext(ctx)

        ...

}

In addition, for any operation that returns any sort of response, the generated unit tests will include an additional "timeout" test where the "XXXWithContext()" method is used with a "timeout"-based Context instance.
I think I actually like this dual-method approach better than the "options model field" approach.  I think I know what the Cloudant team's preference will be :)

:tada: This issue has been resolved in version 4.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

This issue is now complete.   The required go core changes are in go core v 4.7.0, and the changes in the Go generator are in v 3.15.0.


node_modules.tar.gz missing?

Hello,
when following the guideline i get an error message after deploying to azure app services.
Please have a look on the attached logs.
What can i do for solving this issue?
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
2020-08-13T07:20:34.486954994Z   _____
2020-08-13T07:20:34.486986796Z   /  _  \ __________ _________   ____
2020-08-13T07:20:34.486992296Z  /  /\  ___   /  |  _  __ _/ __ \
2020-08-13T07:20:34.486996397Z /    |    /    /|  |  /|  | /\  /
2020-08-13T07:20:34.487000097Z _|__  /_____ _/ ||    ___  >
2020-08-13T07:20:34.487004097Z         /      /                  /
2020-08-13T07:20:34.487007797Z A P P   S E R V I C E   O N   L I N U X
2020-08-13T07:20:34.487011398Z
2020-08-13T07:20:34.487014698Z Documentation: http://aka.ms/webapp-linux
2020-08-13T07:20:34.487018098Z NodeJS quickstart: https://aka.ms/node-qs
2020-08-13T07:20:34.487021598Z NodeJS Version : v10.19.0
2020-08-13T07:20:34.487024999Z Note: Any data outside '/home' is not persisted
2020-08-13T07:20:34.487028599Z
2020-08-13T07:20:35.228031311Z Found build manifest file at '/home/site/wwwroot/oryx-manifest.toml'. Deserializing it...
2020-08-13T07:20:35.230085855Z Build Operation ID: |p2MDwwc757s=.7fecfc40_
2020-08-13T07:20:36.521336590Z Writing output script to '/opt/startup/startup.sh'
2020-08-13T07:20:37.198599928Z Running #!/bin/sh
2020-08-13T07:20:37.198935252Z
2020-08-13T07:20:37.198944052Z # Enter the source directory to make sure the script runs where the user expects
2020-08-13T07:20:37.198948653Z cd "/home/site/wwwroot"
2020-08-13T07:20:37.198952553Z
2020-08-13T07:20:37.198956353Z export NODE_PATH=$(npm root --quiet -g):$NODE_PATH
2020-08-13T07:20:37.199196170Z if [ -z "$PORT" ]; then
2020-08-13T07:20:37.199203470Z 		export PORT=8080
2020-08-13T07:20:37.199207871Z fi
2020-08-13T07:20:37.199211371Z
2020-08-13T07:20:37.199427186Z echo Found tar.gz based node_modules.
2020-08-13T07:20:37.199434487Z extractionCommand="tar -xzf node_modules.tar.gz -C /node_modules"
2020-08-13T07:20:37.199438687Z echo "Removing existing modules directory from root..."
2020-08-13T07:20:37.199442587Z rm -fr /node_modules
2020-08-13T07:20:37.200493961Z mkdir -p /node_modules
2020-08-13T07:20:37.200504262Z echo Extracting modules...
2020-08-13T07:20:37.200508462Z $extractionCommand
2020-08-13T07:20:37.201458729Z export NODE_PATH="/node_modules":$NODE_PATH
2020-08-13T07:20:37.201469730Z export PATH=/node_modules/.bin:$PATH
2020-08-13T07:20:37.201473930Z if [ -d node_modules ]; then
2020-08-13T07:20:37.201477630Z     mv -f node_modules _del_node_modules || true
2020-08-13T07:20:37.201481630Z fi
2020-08-13T07:20:37.201485131Z
2020-08-13T07:20:37.207878079Z if [ -d /node_modules ]; then
2020-08-13T07:20:37.207905281Z     ln -sfn /node_modules ./node_modules
2020-08-13T07:20:37.207910082Z fi
2020-08-13T07:20:37.207913582Z
2020-08-13T07:20:37.208191201Z echo "Done."
2020-08-13T07:20:37.208354313Z pm2 start --no-daemon /opt/startup/default-static-site.js
2020-08-13T07:20:38.893478889Z Found tar.gz based node_modules.
2020-08-13T07:20:38.899765435Z Removing existing modules directory from root...
2020-08-13T07:20:38.939535950Z Extracting modules...
2020-08-13T07:20:38.990510160Z tar (child): node_modules.tar.gz: Cannot open: No such file or directory
2020-08-13T07:20:38.991139704Z tar (child): Error is not recoverable: exiting now
2020-08-13T07:20:39.007081833Z tar: Child returned status 2
2020-08-13T07:20:39.007099134Z tar: Error is not recoverable: exiting now
2020-08-13T07:20:39.020012148Z Done.
'''''''''''''''''''''''''''''''''''''''''''''''''
Yours Nils

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

ID: d4ce9745-5765-dae3-2d5b-2a24cfd787bb
Version Independent ID: 8d21fd6b-15a4-dc2a-c8c2-fc0e04c15f7f
Content: Tutorial: Node.js app with MongoDB - Azure App Service
Content Source: articles/app-service/tutorial-nodejs-mongodb-app.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@ndeusch Thanks for the feedback! We are currently investigating and will update you shortly.

I have the exact same issue

@ndeusch @michael-mansour Could you please send an email to AzCommunity[at]Microsoft[dot]com referencing this issue, we would like to work closer with you on this matter.

Just checking if you have chance to see above response. Looking forward for the email, We will now close this issue here.

@michael-mansour If you are still facing this issue. Could you please check if Site files were in another folder when deploying? If so, try putting the Site files in the root folder when deploying.


Update Meta “authors”

Automatically generated by Netlify CMS

👷 Deploy Preview for superb-sawine-40c5c7 processing.

Name
Link

🔨 Latest commit
b3063d871d3c1816bdebdddf086f3e503cf3f10f

🔍 Latest deploy log
https://app.netlify.com/sites/superb-sawine-40c5c7/deploys/6298418d1305c40009ea39aa


BUG with docker installation and config file

Hello,
I've found a problem when installing bcbio-nextgen within docker.
In bcbio/pipeline/config_utils.load_system_config, the variable config_file is set to point to the merged file in the work directory.
The problem is that the same variable is then used to get the configuration directory for galaxy loc files in bcbio/pipeline/run_info.setup_directories. But, now the variable contains the work directory, and not the install one, therefore the loc files cannot be read, and I get the error:
ValueError: Could not find reference genome file hg38 samtools
Here is the "problematic" code.
In bcbio/pipeline/config_utils.load_system_config:
_if docker_config:
assert work_dir is not None, "Need working directory to merge docker config"
config_file = os.path.join(work_dir, "%s-merged%s" % os.path.splitext(os.path.basename(config_file)))
config = merge_system_configs(config, docker_config, config_file)
In  bcbio/pipeline/run_info.setup_directories:
_def setup_directories(work_dir, fc_dir, config, config_file):
fastq_dir, galaxy_dir, config_dir = get_full_paths(flowcell.get_fastq_dir(fc_dir)
if fc_dir else None,
config, config_file)

Paolo;
Sorry about the issues. Could you provide a bit more detail about how you are installing and running bcbio inside Docker? We have a pre-built docker image containing bcbio:
https://hub.docker.com/r/bcbio/bcbio/
and a separate interface to run this, which manages the inside/outside Docker parts and mounts in the reference data:
https://github.com/chapmanb/bcbio-nextgen-vm
Are you running with these, or doing something differently? Understanding your process will help us understand how best to avoid the issue you're running into. Thanks much.

Dear Brad,
here is my procedure.

Build an image from the docker file https://github.com/chapmanb/bcbio-nextgen/blob/master/Dockerfile#L5
docker build -t sib-pc6:5000/bcbio:v2016.10.05.test ./

Run a container from the built image + reference data container to add the reference files
docker run -it --volumes-from reference.GRh38.2016.13.05 --name bcbio_install sib-pc6:5000/bcbio:v2016.10.05.test /bin/bash

In the container, I've installed the reference genome:
bcbio_nextgen.py upgrade --data --genomes hg38 --aligners bwa

Run a container with the work directory in the volume /data:
docker run -it --volumes-from reference.GRh38.2016.13.05 -v $PWD:/data --name bcbio_test sib-pc6:5000/bcbio:v2016.10.05.test /bin/bash

Run a test (the Standard pipeline for aligning a single fastq file with bwa).
root@1c879736bc3d:/data# bcbio_nextgen.py test.yaml -t local -n 8
Here is the yaml file
`details:

algorithm:
aligner: bwa
analysis: Standard
description: test-PD12354b
files: [PD12354b.fastq]
genome_build: hg38
fc_date: '2016-05-19'
fc_name: test
upload:
dir: ../final`

The test fails:
[2016-05-20T08:27Z] System YAML configuration: /data/bcbio_system-merged.yaml [2016-05-20T08:27Z] Resource requests: bwa, sambamba, samtools; memory: 2.00, 2.00; cores: 16, 16, 16 [2016-05-20T08:27Z] Configuring 1 jobs to run, using 8 cores each with 16.1g of memory reserved for each job [2016-05-20T08:27Z] Timing: organize samples [2016-05-20T08:27Z] multiprocessing: organize_samples [2016-05-20T08:27Z] Using input YAML configuration: /data/test.yaml [2016-05-20T08:27Z] Checking sample YAML configuration: /data/test.yaml [2016-05-20T08:27Z] Downloading hg38 samtools from AWS Traceback (most recent call last):   File "/usr/local/bin/bcbio_nextgen.py", line 226, in <module>     main(**kwargs)   File "/usr/local/bin/bcbio_nextgen.py", line 43, in main     run_main(**kwargs)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 47, in run_main     fc_dir, run_info_yaml)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 91, in _run_toplevel     for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 218, in standardpipeline     [x[0]["description"] for x in samples]]])   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel     return run_multicore(fn, items, config, parallel=parallel)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore     for data in joblib.Parallel(parallel["num_jobs"])(joblib.delayed(fn)(x) for x in items):   File "/bcbio-data/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 800, in __call__     while self.dispatch_one_batch(iterator):   File "/bcbio-data/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 658, in dispatch_one_batch     self._dispatch(tasks)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 566, in _dispatch     job = ImmediateComputeBatch(batch)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 180, in __init__     self.results = batch()   File "/bcbio-data/anaconda/lib/python2.7/site-packages/joblib/parallel.py", line 72, in __call__     return [func(*args, **kwargs) for func, args, kwargs in self.items]   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/utils.py", line 51, in wrapper     return apply(f, *args, **kwargs)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/distributed/multitasks.py", line 287, in organize_samples     return run_info.organize(*args)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/run_info.py", line 65, in organize     item = add_reference_resources(item, remote_retriever)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/run_info.py", line 162, in add_reference_resources     data["reference"] = genome.get_refs(data["genome_build"], aligner, data["dirs"]["galaxy"], data)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/genome.py", line 207, in get_refs     galaxy_config, data)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/genome.py", line 159, in _get_ref_from_galaxy_loc     cur_ref = download_prepped_genome(genome_build, data, name, need_remap)   File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/genome.py", line 278, in download_prepped_genome     raise ValueError("Could not find reference genome file %s %s" % (genome_build, name)) ValueError: Could not find reference genome file hg38 samtools
I've checked the .loc files:
root@1c879736bc3d:/bcbio-data/galaxy# grep -r "hg38" *  tool-data/gatk_sorted_picard_index.loc:hg38	hg38	Human (hg38) full	/bcbio-data/genomes/Hsapiens/hg38/seq/hg38.fa tool-data/sam_fa_indices.loc:index	hg38	/bcbio-data/genomes/Hsapiens/hg38/seq/hg38.fa tool-data/bwa_index.loc:hg38	hg38	Human (hg38) full	/bcbio-data/genomes/Hsapiens/hg38/bwa/hg38.fa tool-data/picard_index.loc:hg38	hg38	Human (hg38) full	/bcbio-data/genomes/Hsapiens/hg38/seq/hg38.fa
I've added some print in the code to have a hint on the problem, and I've seen that config_file points to /data/bcbio_system-merged.yaml instead of /bcbio-data/config/bcbio_system.yaml. Therefore config_dir and galaxy_dir are set to /data and the .loc files are not found.
Here is the output with the print commands:
root@1c879736bc3d:/data# bcbio_nextgen.py test.yaml -t local -n 8 config {'galaxy_config': 'universe_wsgi.ini', 'algorithm': {}, 'resources': {'sailfish': {'cores': 16, 'memory': '1g'}, 'samtools': {'cores': 16, 'memory': '2G'}, 'star': {'cores': 16, 'memory': '2g'}, 'stringtie': {'cores': 16, 'memory': '1g'}, 'hisat2': {'cores': 16, 'memory': '2G'}, 'miraligner': {'jvm_opts': ['-Xms750m', '-Xmx4500m']}, 'picard': {'jvm_opts': ['-Xms750m', '-Xmx3500m']}, 'oncofuse': {'jvm_opts': ['-Xms750m', '-Xmx2000m']}, 'express': {'memory': '8g'}, 'seqcluster': {'memory': '8g'}, 'vardict': {'jvm_opts': ['-Xms750m', '-Xmx3000m']}, 'bwa': {'cores': 16, 'cmd': 'bwa'}, 'default': {'cores': 16, 'jvm_opts': ['-Xms750m', '-Xmx2000m'], 'memory': '2G'}, 'macs2': {'cores': 1, 'memory': '8g'}, 'dexseq': {'memory': '10g'}, 'gatk': {'jvm_opts': ['-Xms500m', '-Xmx3500m']}, 'snpeff': {'jvm_opts': ['-Xms750m', '-Xmx6g']}, 'snap': {'cores': 16, 'memory': '4G'}, 'cufflinks': {'cores': 16, 'memory': '3g'}, 'wham': {'memory': '3500m'}, 'qualimap': {'memory': '4g'}}, 'bcbio_system': '/data/bcbio_system-merged.yaml'} config_file /data/bcbio_system-merged.yaml CONFIG_DIR /data CONFIG GET universe_wsgi.ini GALAXY DIR /data [2016-05-20T08:27Z] System YAML configuration: /data/bcbio_system-merged.yaml [2016-05-20T08:27Z] Resource requests: bwa, sambamba, samtools; memory: 2.00, 2.00; cores: 16, 16, 16 [2016-05-20T08:27Z] Configuring 1 jobs to run, using 8 cores each with 16.1g of memory reserved for each job [2016-05-20T08:27Z] Timing: organize samples [2016-05-20T08:27Z] multiprocessing: organize_samples [2016-05-20T08:27Z] Using input YAML configuration: /data/test.yaml [2016-05-20T08:27Z] Checking sample YAML configuration: /data/test.yaml [2016-05-20T08:27Z] Downloading hg38 samtools from AWS Traceback (most recent call last):

Brad,
Thanks for you help, and sorry for bothering you.
I've also a (maybe) related issue.
If the bcbio_system.yaml file is present only in the "docker" config directory (it is moved there in the dockerfile) and not in the galaxy directory, I get the error:
root@41775e50af93:/data# bcbio_nextgen.py test.yaml -t local -n 8
Traceback (most recent call last):
  File "/usr/local/bin/bcbio_nextgen.py", line 226, in <module>
    main(**kwargs)
  File "/usr/local/bin/bcbio_nextgen.py", line 43, in main
    run_main(**kwargs)
  File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/main.py", line 37, in run_main
    config, config_file = config_utils.load_system_config(config_file, workdir)
  File "/bcbio-data/anaconda/lib/python2.7/site-packages/bcbio/pipeline/config_utils.py", line 67, in load_system_config
    (config_file, os.path.join(base_dir, "galaxy")))
ValueError: Could not find input system configuration file bcbio_system.yaml, including inside standard directory /bcbio-data/galaxy

It seems to me that when config_utils.load_system_config() is called from pipeline/main.run_main, it should be called with the parameter allow_missing set to True, am I wrong?

Paolo;
Thanks for all the details. If you use the bcbio Dockerfile it assumes you're running with the bcbio_vm.py wrapper scripts (or a Common Workflow Language tool). bcbio_vm.py handles merging an external bcbio_system.yaml file (so you can edit cores/memory) with the internal bcbio_system.yaml (so you can have pointers to directories like GATK jar installations in the container). That's why it's getting confused with the system configurations when you run with your method.
I believe the fix is as easy as getting rid of the lines in the Docker file that move the configuration to the "internal" Docker location under config, instead of galaxy:
mv /bcbio-data/galaxy/bcbio_system.yaml /bcbio-data/config && \
    rmdir /bcbio-data/galaxy && \
    ln -s /mnt/biodata/galaxy /bcbio-data/galaxy && \

Then it'll be a standard bcbio installation and not try to do the merging steps which mess up the resolution in your case. Hope this fixes it for you.

Thank you Brad, it works!
I didn't realize that the dockerfile was written to run together with the bcbio_vm.py wrapper.
I'm thinking about still having the bcbio_system.yaml in a configuration directory like config.system, and a link to it from the galaxy directory. In this way, I can still do separate installation of the tools and the reference data. What do you advice?
In any case, the exercise gave me some insight on the internal work of the scripts :)

Paolo;
Having a symlinked configuration would work without any problems as well, although just not moving to config/bcbio_system.yaml should allow you to separate tools and reference data. The config directory setup is really just to signal that we're inside a Docker container running by bcbio_vm and can merge externally specified memory and core usage information. Glad this got it working for you.


Updated Predis to work with 1.*, not 0.8

I'm not sure if you'll have any use for this or be interested in any of the changes, but these are changes I made to get SncRedisBundle working with Predis 1.0 -- take them or leave them. Tests look to be passing (with two failures that were present before the changes I've made.)

Any news here?

:+1:

:+1:

Hi is there a reason this has not been merged in yet?
I just tried to update to predis 1.0.8 and got
PHP Fatal error:  Class 'Predis\Profile\ServerProfile' not found in vendor/snc/redis-bundle/Snc/RedisBundle/DependencyInjection/SncRedisExtension.php on line 158

Which this pull request appear to fix

There is a second PR, https://github.com/snc/SncRedisBundle/pull/172, to continue with the work from @mattmontgomery.
Unfortunately, this project appears to be discontinued since the owner has not say anything and there is no commits / merges since September from last year :(

Oh I hadn't noticed that. That's a great shame if this is dead :(

I haven't noticed this, too, sorry, #172 got merged.


Fix scan repo keyword and multi delete tag case

Coverage decreased (-23.5%) to 37.175% when pulling 9ac39af1fbff308e300f51be5ed58e0cbb40559d on sigsbee:fixfix into 5edbd0031832c0c9c30b0269a8de72c60d9d3be6 on vmware:master.


content(rules): update events, conditions and fields documentation

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
This PR updates the rules part of the documentation with the following:

Some documentation about the condition language was missing from the Falco website. A brand new stand alone page is added for it in conditions.md
Formatting for the event field pages is changed to be easier to read on the falco website (see cosmetic change in the screenshot below)
A page, supported-events.md is introduced to list the current supported events
The Rules page is updated to reflect recent changes and to link the pages above

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Note that the --markdown options that are used to generate the events and fields list is not available yet in stock Falco. Simple modifications to libs and falco are being submitted to reflect this format.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: lucklypse
To complete the pull request process, please assign fntlnz after the PR has been reviewed.
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @lucklypse! It looks like this is your first PR to falcosecurity/falco-website 🎉

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: lucklypse
To complete the pull request process, please ask for approval from radhikapc after the PR has been reviewed.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Thanks a lot for the review @radhikapc . I addressed your comments, and also added a few lines at the end of the conditions section for operators.

LGTM label has been added.  Git tree hash: 4fe70aa5862085e57c3bded771a8e07ec509d405

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: lucklypse, radhikapc
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [radhikapc]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


docs: update build docs for Windows

Windows snapshots as of 10/28 have SwiftPM in the snapshots and works
to build the models.  Update the docs for build instructions.

Yes, I will try to update the other instructions in a follow up change.


Optionally run on entry

Optionally run the action immediately when entered.
Proposal:
class fixed_scheduler(sched2.scheduler):
    def repeat(self, delay, priority, action, immediate=False, argument=()):
        if immediate:
            self.enter(0, priority, action, argument)

        super().enter(delay, priority, action, argument)

        return action

    def every(self, delay, priority=1, immediate=False):
        return functools.partial(self.repeat, delay, priority, immediate=immediate)

Decided to default it to true. See 4ee4b9beac38e4448e72cb38d1c0269991814507


Multiple fixes and issues adressed

This pr addreses #12  , #11  and #1

@mpcen I dont know if you would be comfortable doing this but would you mind adding me as collab? It seems we are in differnet timezones so it might make it faster to push fixes like the one for #12 (which completely makes the code break). Obviosuly up to you as to how much exactly you want to open up this project, just throwing this out there


Updated it to work on crystal 0.2

Changes:

Tuple : changed to Hash =>

added explicit to_i so that port is passed as integer.

Thank you 👍

hmm, I've already edited them again in vim on ubuntu, so I'm not sure
what's going on here, maybe you can take a look, if you're on linux?
On 3/28/17, Serdar Dogruyol<EMAIL_ADDRESS>wrote:

sdogruyol commented on this pull request.

@@ -1,7 +1,7 @@
-name: fast-http-server
-version: 0.4.0

-authors:

Serdar Dogruyol<EMAIL_ADDRESS>

-license: MIT
+name: fast-http-server
IDK, it's probably your OS / Editor dependent
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/sdogruyol/fast-http-server/pull/8#discussion_r108415076

@Shadowys i'm using OS X

@sdogruyol Okay I've fixed all the line endings

@Shadowys thank you 👍


about panda3d

when i run "python -m metadrive.examples.drive_in_safe_metadrive_env", set use_render=true
the output:
Successfully registered the following environments: ['MetaDrive-validation-v0', 'MetaDrive-10env-v0', 'MetaDrive-100envs-v0', 'MetaDrive-1000envs-v0', 'SafeMetaDrive-validation-v0', 'SafeMetaDrive-10env-v0', 'SafeMetaDrive-100envs-v0', 'SafeMetaDrive-1000envs-v0', 'MARLTollgate-v0', 'MARLBottleneck-v0', 'MARLRoundabout-v0', 'MARLIntersection-v0', 'MARLParkingLot-v0', 'MARLMetaDrive-v0'].
Known pipe types:
glxGraphicsPipe
(1 aux display modules not yet loaded.)

Hi
This is the normal output.
Are there any problems with this script, like invalid keyboard input or no window popping up?
Quanyi

no window popping up

That is weird. Could you provide more information about your platform, like your OS, and GPU?

After I installed carla, metadrive wouldn't pop up the window, I have solved the problem by reinstalling the following packages.
panda3d~=1.10.8",
"panda3d-gltf",
"panda3d-simplepbr",
"pillow",
"pytest",
"opencv-python-headless",


[BUG] too many (unnecessary) requests to the metadata URL

What is the bug?
Whenever there is a write requests (POST, PUT, DELETE) towards the /_plugins/_security/ API each OpenSearch node is requesting a fresh copy of SAML metadata from the IdP.
No matter if it is a role, tenant, user, etc. that gets created/updated/deleted.
Since we have a lot of OpenSearch clusters and we manage the internal user, roles, tenants, etc. for them, there are thousand of requests towards the IdPs metadata.
E.g. if we rotate the passwords for 100 technical user in a cluster with 15 nodes, then 1500 requests get fired towards the same metadata URL.
How can one reproduce the bug?

Use the SAML example setup from here
Bump the OpenSearch version to 1.3.1 and run docker-compose up -d.
Run docker logs -f SAML-IdP to only see the logs of the IdP.

Try it with other requests on the /_plugins/_security/ API.

What is the expected behavior?
A single requests towards the metadata URL, with a cache of 60 minute (?!). Only be invalidated by an update of the metadata URL or update of the IdP config (entity_id, etc) (?!)
Some thoughts
I'm not sure if there has to be a request towards the metadata if a role or rolemapping gets updated. Is this really necessary?
Can the metadata be stored in the cluster somehow, so not every node has to fetch the metadata on its own?
Can we have a proper cache?
RC
I suspect that the "clear cache" method is called, which might invalidate also the metadata cache and therefore causes the requests.
What is your host/environment?

OS: k8s with OpenSearch images
Version: 1.3.1
Plugins: The default ones that are in the docker images.

Thanks for reaching out, @opensearch-project/security Could we have someone look into this?

[Triage] Thank you for filing this. We'll get to this as soon as we can. In the meantime, if we can get as much information as we can it would be very helpful.

In the meantime, if we can get as much information as we can it would be very helpful.

Is there any particular information you would like to see?
Meanwhile I will test the issue with RC of 2.0.

@pc-jedi Thank you for your patience while we looked into this.  I have confirmed this behavior, the SAML metadata endpoint will be refreshed on any configuration change, easiest confirmation is a cache flush, docs.
This is the design of the security configuration index, upon any change, all nodes refresh and rebuild configuration objects associated with the security configuration.  While a more nuanced refresh pattern, this ensures the configuration is always verified. During the SAML initialization process a new http client is created and then metadata is queried, there is no persistent cache and the request is issued.
I briefly looked into how this could be added, but am concerned about our lack of testing in this space where over-caching would be a considerable risk.  While 1,500 requests is no small number, could you help me understand how this is impacting cluster stability or the saml services stability?

I saw that the SamlHTTPMetadataResolver is using the set cache functions iif the extended HTTPMetadataResolver.
Nevertheless, we have 500-5000 clusters in our company, most of them using the internal IdP.
Since IdPs usually have something like an intrusion detection in place, all alarms go off if there are around 100.000 requests per second towards the IdP.
Wouldn't it be possible to only invalidate/request the metadata if the metadata URL changes?
Because I see absolute no reason to request the metadata again for all nodes if there is only a new role introduced.
Besides that we provision new internal tech users on those clusters quite a lot. Thats why the number of changes on the opendistro-security index is high.
Different question, is that considered a "normal" use-case if there is a high frequency of updates to the opendistro-security index? Will this impact performance a lot? How does the "old versions" of that document get cleaned up, because I think you always UPDATE the document, which will leave old version in the file structure, right?

Wouldn't it be possible to only invalidate/request the metadata if the metadata URL changes?

Unfortunately, the architecture of the security configuration, on update a full recreation of all configuration derived objects is performed.  This is an issue because the internal idP shares the same configuration as the security config.  Believe me, I would very much like to fix this problem, but its a large body of work.

Different question, is that considered a "normal" use-case if there is a high frequency of updates to the opendistro-security index? Will this impact performance a lot? How does the "old versions" of that document get cleaned up, because I think you always UPDATE the document, which will leave old version in the file structure, right?

@cliu123 do you have context around the scale capabilities for the internal idP?

Any news here?
We mitigated the issue by having a SAML metadata cache as a separate component in palace. We did this by rewriting the SAML metadata URL so it points to our cache, which is then responding to the OpenSearch nodes.
That is by far not perfect.
Besides changing the SAML metadata URL, we still see some OpenSearch Nodes still trying to connect to the previous URL.
We could not find a clear indication when this happens.
Are only clusters effected that were migrated/upgraded from OpenDistro or does it only happen if the clusters had lots of changes on the .opendistro-security index?

No news on this front, at this point I am inclined to close out this issue by design.  I know this isn't the desired outcome, but it is a reality of the current implementation.  I am open to examine proposals/pull requests to resolve these fundamental issues.


Allow using v3 releases of zend-stdlib and zend-eventmanager

This patch updates the dependency constraints as follows:

PHP allows ^5.5 || ^7.0, putting it in line with other components. That said, I'm aware of PHP 7 differences that currently mean tests do not pass (due to changes in sorting behavior).
zend-stdlib allows ^2.7 || ^3.0
zend-eventmanager allows ^2.6 || ^3.0

These latter two work, due to the fact that the APIs consumed have not changed between releases.
To ensure that the component works against each set of releases, this patch also updates the travis configuration to test against lowest supported verions, a lockfile, and latest versions.

Now that these have run against an LDAP server, I see that either tests need to change, or code needs to change, to allow zend-eventmanager v3 to work. I'm firing up vagrant locally so I can test and resolve.

Before you put too much effort into this: I wanted to tag 2.7 tomorrow which includes the removal of the Zend\StdLib as requirement and uses it only for testing purposes! So perhaps you might want to wait for that (or code against the develop-branch which has that already included!)
Thanks for the PR though as I would have done it otherwise over the weekend!

@heiglandreas Oh! Well, that's good, then! Still need to allow zend-eventmanager v3, though, and I'll get that working in here, and then create a new PR against develop with those changes.
Thanks for the heads-up!

@heiglandreas Okay, last change appears to have things running. I'll create a new PR shortly against the develop branch that incorporates the travis and zend-eventmanager related changes.

Closing in favor of #43.


Add support for partial permutation streams

implements issue #3:
Add support for partial permutation streams
Add docs using Asciidoctor
Add test: PartialPermutationsSpec.groovy
Add example: Vacation.java
As Parital permutations can be reduced down to a specialized combination and permutation problem, there is some code duplication with the Combination/Permutation value suppliers which could be consolidated.
This implementation currently only supports a single hole element, but I believe it can be extended to an arbitrary number of holes with some added complexity.

Great work, @johnhadfield ! Thanks!
I will publish soon a new release containing your contribution (and also the derangements and power set contributions).


feat(PartyType): add a new activity

Summary
Added a new activity
Checklist

[x] If code changes were made, then they have been tested

[x] I have updated the documentation to reflect the changes
[x] I have formatted the code properly by running pdm lint
[x] I have type-checked the code by running pdm pyright

[ ] This PR fixes an issue
[x] This PR adds something new (e.g. new method or parameters)
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

Any update on this?


Type checker fails: RankingIterator is not inherited from the base class

Currently RankingIterator is the only iterator which doesn't inherit from the base BasicDatasetIterator class. This leads to the type checker failure.

Pull request was created in reply to this comment.

Resolved with #302


Move test utils to some common place

Currently some test utils (loggers, randomized objects generators, etc) are spread between multiple packages, and code is duplicated.
New package for test utils should be extracted, and all commons should be moved there.

Covered by https://github.com/rollkit/rollkit/pull/1026