Manage OCI Native Ingress Controller Load balancers

Good afternoon greetings.
I have implemented the OCI Native Ingress Controller successfully, but it is observed that with each rule applied to the ingress resource a new backend set is created in the load balancer. When the backends set limit (16) is reached, how are the load balancers managed? knowing that above there is a DNS that points to the IP of a single load balancer.
Is it a disadvantage of the service?

I have the same problem, I have applications with dozens of microservices, where each microservice is a path, so all together they total much more than 16 routes.
My initial idea is to use Nginx Ingress Controller, however the project for Oracle seems abandoned, I need integration with WAF and there is no sign for them to add it.
Is there any provision for exceeding the limit of 16 backendsets?

I have the same problem, I have applications with dozens of microservices, where each microservice is a path, so all together they total much more than 16 routes.
My initial idea is to use Nginx Ingress Controller, however the project for Oracle seems abandoned, I need integration with WAF and there is no sign for them to add it.
Is there any provision for exceeding the limit of 16 backendsets?

Did you make any SR tickets to Oracle?
I opened an SR and the answer is that they are seeing this limitation with the development team, more than an error it is the administration of these balancers, it seems that the Native solution is not appropriate in terms of growth of services

I have the same problem, I have applications with dozens of microservices, where each microservice is a path, so all together they total much more than 16 routes.
My initial idea is to use Nginx Ingress Controller, however the project for Oracle seems abandoned, I need integration with WAF and there is no sign for them to add it.
Is there any provision for exceeding the limit of 16 backendsets?

Did you make any SR tickets to Oracle?
I opened an SR and the answer is that they are seeing this limitation with the development team, more than an error it is the administration of these balancers, it seems that the Native solution is not appropriate in terms of growth of services

I haven't opened SR yet, I'll be opening it this week. Unfortunately OCI native is not yet a large-scale solution.

I have the same problem, I have applications with dozens of microservices, where each microservice is a path, so all together they total much more than 16 routes.
My initial idea is to use Nginx Ingress Controller, however the project for Oracle seems abandoned, I need integration with WAF and there is no sign for them to add it.
Is there any provision for exceeding the limit of 16 backendsets?

Did you make any SR tickets to Oracle?
I opened an SR and the answer is that they are seeing this limitation with the development team, more than an error it is the administration of these balancers, it seems that the Native solution is not appropriate in terms of growth of services

I haven't opened SR yet, I'll be opening it this week. Unfortunately OCI native is not yet a large-scale solution.

At the moment we are implementing Nginx Ingress. There is an example in the documentation, apparently this Ingress does the task correctly.

The issue with ingress-nginx (at least in my case) is that ingress-nginx doesn't sync my cert-manager certificates with the load balancer, so we can only use ingress-nginx with a TCP Layer Load balancer (L4) and WAF only works at Application layer (L7).
I'm considering using oci-native-ingress-controller (currently blocked by #56) so I can use WAF, but this 16 backends limits is very restraining.

The issue with ingress-nginx (at least in my case) is that ingress-nginx doesn't sync my cert-manager certificates with the load balancer, so we can only use ingress-nginx with a TCP Layer Load balancer (L4) and WAF only works at Application layer (L7). I'm considering using oci-native-ingress-controller (currently blocked by #56) so I can use WAF, but this 16 backends limits is very restraining.

In my case, I have both options running in 2 different Clusters for testing and they are working. I opened an SR to Oracle and we demanded a PM to talk about the OCI Native Ingress Controller, since these limitations, whether technical or administrative, seem very strange to us and they do not have an adequate response for it.
For now, with Ingress Nginx we need to replicate on multiple nodes, by default it only installs on a single node, which is also risky in case of reboot or node failure.

The issue with ingress-nginx (at least in my case) is that ingress-nginx doesn't sync my cert-manager certificates with the load balancer, so we can only use ingress-nginx with a TCP Layer Load balancer (L4) and WAF only works at Application layer (L7). I'm considering using oci-native-ingress-controller (currently blocked by #56) so I can use WAF, but this 16 backends limits is very restraining.

In my case, I have both options running in 2 different Clusters for testing and they are working. I opened an SR to Oracle and we demanded a PM to talk about the OCI Native Ingress Controller, since these limitations, whether technical or administrative, seem very strange to us and they do not have an adequate response for it. For now, with Ingress Nginx we need to replicate on multiple nodes, by default it only installs on a single node, which is also risky in case of reboot or node failure.

For ingress-nginx to deploy on multiple nodes you only have to set it to
    controller:
      kind: DaemonSet

This being the helm value, but you can also change it in the deployment file.
We use ingress-nginx on oracle's load balancer and it works great, until we need things like ip source and WAF, which requires L7 load balancer, and having multiple domains and certificates would only work with oci-native-ingress's capability of syncing certificates. (or maybe I'm dead wrong and missing something)

The issue with ingress-nginx (at least in my case) is that ingress-nginx doesn't sync my cert-manager certificates with the load balancer, so we can only use ingress-nginx with a TCP Layer Load balancer (L4) and WAF only works at Application layer (L7). I'm considering using oci-native-ingress-controller (currently blocked by #56) so I can use WAF, but this 16 backends limits is very restraining.

In my case, I have both options running in 2 different Clusters for testing and they are working. I opened an SR to Oracle and we demanded a PM to talk about the OCI Native Ingress Controller, since these limitations, whether technical or administrative, seem very strange to us and they do not have an adequate response for it. For now, with Ingress Nginx we need to replicate on multiple nodes, by default it only installs on a single node, which is also risky in case of reboot or node failure.

For ingress-nginx to deploy on multiple nodes you only have to set it to
    controller:
      kind: DaemonSet

This being the helm value, but you can also change it in the deployment file.
We use ingress-nginx on oracle's load balancer and it works great, until we need things like ip source and WAF, which requires L7 load balancer, and having multiple domains and certificates would only work with oci-native-ingress's capability of syncing certificates. (or maybe I'm dead wrong and missing something)

Oh, great! thank you!
I will continue to report here the progress I have with Oracle regarding OCI Native Ingress Controller.

Please do, I think this is an incredibly important piece of Oracle's Cloud Infrastructure and it's surprising to have such limitation.

@antoniolago @naguaramaster
You can reach out to CAMS team internally to increase the backendset limit.
Defaults for LB are mentioned here :
https://docs.oracle.com/en-us/iaas/Content/Balance/Concepts/balanceoverview.htm#LimitsResources


improve idiv _min_max

for the cases that the we don't know the exact bounds, we might still know the sign. with this, can remove some resolve for symbolic shapetracker

no kernel changed, it needs to be more complicated than symbolic arange (which we can save a few resolve with this) for the kernel to change


Update protobuf-java to 3.15.4

Updates com.google.protobuf:protobuf-java from 3.14.0 to 3.15.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.protobuf", artifactId = "protobuf-java" } ]

labels: library-update, semver-minor

Superseded by #833.


fix nav bar padding, add more details to cfp page

fixes #41 and addresses some remaining comments from #40

🚢 it!


chore: standardize downloaded model directory structures

This PR:

Makes sure all HF and OCI downloads result in subdirectories for models that follow the same structure as the supplied repository URL (in ilab model downlaod as well as ilab model train on macOS)
moves is_huggingface_repo and is_oci_repo helper functions into their respective classes since they are closely tied to download
updates ilab model list logic to work with the new model directory structure
updates the default model path in the config

(venv) ➜  instructlab ilab model list
All listed models can be found at: /Users/jrao/Library/Caches/instructlab/models
+----------------------------------------------------------------+---------------------+----------+
| Model Name                                                     | Last Modified       | Size     |
+----------------------------------------------------------------+---------------------+----------+
| quay.io/ai-lab/models/granite-7b-lab                           | 2024-07-26 13:44:17 | 12.6 GiB |
| registry.stage.redhat.io/rhelai1/granite-8b-code-base          | 2024-07-26 17:27:52 | 15.0 GiB |
| registry.stage.redhat.io/rhelai1/granite-8b-code-instruct      | 2024-07-26 17:27:52 | 15.0 GiB |
| instructlab/granite-7b-lab-GGUF/granite-7b-lab-Q4_K_M.gguf     | 2024-07-28 18:13:30 | 3.8 GiB  |
| instructlab/granite-7b-lab                                     | 2024-07-28 18:13:30 | 12.6 GiB |
| instructlab/granite-7b-lab/mlx-q                               | 2024-07-28 18:13:30 | 3.7 GiB  |
| instructlab/merlinite-7b-lab-GGUF/merlinite-7b-lab-Q4_K_M.gguf | 2024-07-26 13:31:32 | 4.1 GiB  |
+----------------------------------------------------------------+---------------------+----------+

Issue resolved by this Pull Request:
Resolves #1894
Checklist:

[x] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

not really sure I understand the functional test failure on this one 😕

@jaideepr97 what's the latest on this? Do you need help with the functional tests?

@jaideepr97 what's the latest on this? Do you need help with the functional tests?
thanks for checking @leseb
planning to get back to this today or tomorrow  - I might rework this a bit to also take release versions into account and include it in the directory path so that users are actually able to work with multiple versions of a given model at the same time

that being said this will definitely be a breaking change

@jaideepr97 what's the latest on this? Do you need help with the functional tests?

thanks for checking @leseb planning to get back to this today or tomorrow - I might rework this a bit to also take release versions into account and include it in the directory path so that users are actually able to work with multiple versions of a given model at the same time that being said this will definitely be a breaking change

Ok let me know if I can help or just review when ready!

it would be a downstream requirement though?
On Tue, Oct 15, 2024 at 9:17 AM Jaideep Rao @.***>
wrote:

@.**** commented on this pull request.
In src/instructlab/model/download.py
https://github.com/instructlab/instructlab/pull/1895#discussion_r1801151856
:

@@ -134,6 +208,57 @@ class OCIDownloader(Downloader):
We are leveraging OCI v1.1 for this functionality
"""

def get_metadata(self) -> None:

   self.metadata.version = self.release

   # Check if skopeo is installed and the version is at least 1.9

   check_skopeo_version()

its not really a requirement because it is only needed for OCI downloads,
but folks don't need it if they want to download models from Hugging Face
—
Reply to this email directly, view it on GitHub
https://github.com/instructlab/instructlab/pull/1895#discussion_r1801151856,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGDHQ3CBJHMGA4RVYMADT3Z3UIX3AVCNFSM6AAAAABLSXXB72VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDGNRZGMYTSMZQGQ
.
You are receiving this because you commented.Message ID:
@.***>

it would be a downstream requirement though?

yes, it is - but for RHEL AI we already ship with skopeo out of the box so there's no risk of it not being available
Its usage is also documented


Installers/Distribution

Overview (What and Why)
Why: Current flow is download, extract, and link to /usr/local/bin. It is not user friendly.
What: Implement a user friendly way to auto update the tool is needed.
Idea:
- worth considering packing as .pkg, or .deb (certificate needed)
- also, look into brew, apt distribution
How

[ ] Investigate distribution options
[ ] Produce an analysis doc

Definition of Done
{Write definition of done, how to verify}

[ ] Analysis document with recommended distribution modes published

Open Issues and Blockers

needs investigation, lower prio

With npm now working properly (after ESM update in v3), and the dev container image configured, additional distribution channels would introduce unnecessary overhead. Closing.


Dark theme option?

I see an option for theme support; I don't care so much about open-ended theme support, rather a simple "dark theme" option similar to the chrome dev tools.  re: #44 but that seems to be going nowhere :/

I've implemented a dark theme in my fork: https://github.com/nikrolls/json-formatter/releases/tag/0.7.0

@nikrolls can you put it on store please, easier to manage ty

@RUSshy it is 😁
https://chrome.google.com/webstore/detail/json-formatter/mhimpmpmffogbmmkmajibklelopddmjf

@RUSshy  wow, this is a nice addition to my favorite extension


Make event scanning paged

Currently, the scan method on the adapter loads all events into memory, which works fine for small stores but is not scalable.
Instead, scans at the log, category or stream level should page through the event log with some default but overridable page size.

Resolved by c165e03.


ci: circleci api workflow change

Issue #, if available:
Description of changes:

run amplify api e2e test with flag set to true

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2897 into master will decrease coverage by 1.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2897      +/-   ##
==========================================
- Coverage   63.05%   61.92%   -1.14%
==========================================
  Files         221      221
  Lines       11098    11301     +203
  Branches     2295     2344      +49
==========================================
  Hits         6998     6998
- Misses       3788     3991     +203
  Partials      312      312

Impacted Files
Coverage Δ

...model-plugin/src/visitors/appsync-swift-visitor.ts
0% <0%> (ø)
:arrow_up:

...-model-plugin/src/visitors/appsync-java-visitor.ts
87.9% <0%> (ø)
:arrow_up:

...ackages/amplify-appsync-simulator/src/utils/log.ts

...ync-simulator/src/velocity/util/transform/index.ts

...-appsync-simulator/src/velocity/util/list-utils.ts

...ages/amplify-appsync-simulator/src/schema/index.ts

...amplify-appsync-simulator/src/mqtt-server/index.ts

...mplify-appsync-simulator/src/mqtt-server/client.ts
0% <0%> (ø)

...y-appsync-simulator/src/schema/directives/index.ts
0% <0%> (ø)

...psync-simulator/src/utils/expose-graphql-errors.ts
0% <0%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


Auto ortho keeps crashing xp12

I updated to 0.4.4 but xp12 still crashing....I attached a copy of auto ortho repeating pattern

The AO log is fine its streaming data. You will need to provide the Xplane log.txt file after a crash

Hi, for me it was the plane which caused the error in the end. I also had this situation but it turned out that it happend only when using the JAR A330. The ToLiss A321 for example in exact the same scenario worked just fine. So this seems not to be caused by AO.....

What version of  AO is current for XP12  .0.4.4  or .05.2
Thanks
It's more profitable to listen than talk!
Never squander the treasures of your words!
On Saturday, July 8, 2023 at 12:48:15 AM MST, koch44<EMAIL_ADDRESS>wrote:

Hi, for me it was the plane which caused the error in the end. I also had this situation but it turned out that it happend only when using the JAR A330. The ToLiss A321 for example in exact the same scenario worked just fine. So this seems not to be caused by AO.....
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


All container paths must be absolute?

Since it's not obvious what the working directory inside the container is, I think all container paths in the spec are required to be absolute paths.
It may be possible to determine the working directory be inspecting the container image, but do people think it's worth adding that complexity?
https://github.com/opencontainers/image-spec/blob/master/config.md#properties

Looks like docker run requires volume mounts to be absolute, so that's a pretty good hint that it's ok to require absolute paths
$ docker run -v /tmp/md5-input.txt:input.txt -it alpine
docker: Error response from daemon: invalid bind mount spec "/tmp/md5-input.txt:input.txt": invalid volume specification: '/tmp/md5-input.txt:input.txt': invalid mount config for type "bind": invalid mount path: 'input.txt' mount path must be absolute.

So unless someone objects, I'll add some docs to the spec saying that container paths must be absolute.

I think it'd be good to do this

Done


fix(wgengine): Guard endpoint dispatcher via wrapper

This is an alternative fix for a42a6f27e7a1c6dcdb6738ce1dc3c903b4c7cf98.
Mimics the fix in upstream gvisor: https://github.com/google/gvisor/commit/13d7bf69d8068a0b1939e94bdb9ff08b1cdad913
The motivation is that even though we use a mutex in netstack, we aren't protecting Attach which is invoked elsewhere. There are also a few other uses of linkEP in netstack that weren't protected.

@kylecarbs its only an issue for us because of one of my patches that fixed a goleak issue


Option for generators.toINI to allow duplicate keys (in the form of a list)

Describe the bug
I'd like the generators.toINI function to accept lists and produce duplicate keys, like so:
settings = {
some_key = "b";
another_key = [ "one" "two" "three" ];
};

which would yield:
some_key=b
another_key=one
another_key=two
another_key=three

ping @Infinisil to see if he has any interest in implementing this :heart:

Done in https://github.com/NixOS/nixpkgs/pull/82208 :)


Add IObservableHubProxy example, async server method and use await

Except IObservableHubProxy I've changed CallAsync invocations to use await because I think it is a better way in the most cases.
Also I've added DoSomethingAsync on the server to show that we can use CallAsync on async server methods too.
Closes #4.

Issue #4


⚠ Secret Website 3 has degraded performance

In 250443b, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 4741 ms

Resolved: Secret Website 3 performance has improved in 0e31935 after 8 minutes.


aria-expanded on typeahead input field breaking validation

Bug description:
Aria expanded false cannot be added to form inputs. It's reserved for certain roles, such as a button or a parent UL on a list. Please see the following links that list the roles it can be used on:
https://www.w3.org/WAI/GL/wiki/Using_the_WAI-ARIA_aria-expanded_state_to_mark_expandable_and_collapsible_regions#Description
https://www.w3.org/TR/wai-aria/states_and_properties#aria-expanded
Currently the typeahead is breaking accessibility validation when used. The solution is to remove the attribute from the input field, as it isn't required.
Link to minimally-working plunker that reproduces the issue:
https://plnkr.co/edit/?p=preview
Steps to reproduce the issue:

Right click on any of the input fields
Look for attribute: aria-expanded="false"

OPTIONAL: To check with validation tools

Install Chrome Accessibility Tools: https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en
Open up Chrome Dev Tools > Audits
Check accessibility, then click the run button
Look for [Severe] This element has an unsupported ARIA attribute (6) and it lists each input field as being in error.

Version of Angular, UIBS, and Bootstrap
Angular: 1.5.7
UIBS: 2.5.0
Bootstrap: 3.3.7

aXe-core reports the same violation for the same reason.  That attribute should not be there.

any progress on this issue?

Found this link may be useful: https://www.levelaccess.com/differences-aria-1-0-1-1-changes-rolecombobox/


deferred logging stops at some point for some time

Describe the bug
The application used generates a large amount of logs, especially at certain times (every few ms). At a certain time there is a behavior where the whole logging hangs for a certain time (sometimes 20 minutes, sometimes 2 hours) and nothing is output. It is very difficult to reproduce this behavior, but I have now managed to analyze it a bit more precisely with the debugger. The relevant file is "log_core.c". I was that the log process thread waits "FOREVER" for a semaphore.
line 913:
		if (log_process() == false) {
			if (processed_any) {
				processed_any = false;
				log_backend_notify_all(LOG_BACKEND_EVT_PROCESS_THREAD_DONE, NULL);
			}
			(void)k_sem_take(&log_process_thread_sem, timeout);

whereas cnt had a value of more than 1000.
line 171:
		if (CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD == 1) {
			if (cnt == 0) {
				k_sem_give(&log_process_thread_sem);
			}
		} else {
			if (cnt == 0) {
				k_timer_start(&log_process_thread_timer,
					      K_MSEC(CONFIG_LOG_PROCESS_THREAD_SLEEP_MS),
					      K_NO_WAIT);
			} else if (CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD &&
				   (cnt + 1) == CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD) {
				k_timer_stop(&log_process_thread_timer);
				k_sem_give(&log_process_thread_sem);
			} else {
				/* No action needed. Message processing will be triggered by the
				 * timeout or when number of upcoming messages exceeds the
				 * threshold.
				 */
			}
		}

I manually modified cnt to the value of 10 with the debugger (the same as CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD) and logging continued.
To Reproduce
Not really easily possible but did not try to get the application small once it was clear that the logging system "stopped".
Expected behavior
I at least would expect to see something like message dropped etc .... but not that the logging blocks totally for a long time.
Impact
As the issue is not reproducible at all, it took me a long time to be actually on the pc while the bug occurred being able to attach the debugger to it. This issue is in particular evil as I had to think that the application freezes from time to time.
Logs and console output
Not available
Environment:
zephyr-version:
VERSION_MAJOR = 3
VERSION_MINOR = 5
PATCHLEVEL = 99
VERSION_TWEAK = 0
EXTRAVERSION =
prj.conf
CONFIG_LOG=y
CONFIG_LOG_MODE_DEFERRED=y
CONFIG_LOG_SPEED=n
CONFIG_LOG_BUFFER_SIZE=50000
CONFIG_LOG_PROCESS_THREAD_SLEEP_MS=10

@andreas-chmielewski-gcx is this issue reproducible with the latest Zephyr upstream main branch.

I can not test this easily as we are not using the latest zephyr version but v3.5.99-ncs1-1 (using nrf sdk)

I have same issue with v3.7.0-3885-g7773fe8dd60


[10.1.x] ISPN-11219 update capacity factors doc

https://issues.redhat.com/browse/ISPN-11219

Thanks @oraNod


[flash_ctrl] Correctly handle over-write / over-read scenarios.

Addresses #9496
On reads when read operations are disabled or have finished, error back to the initiating host.

Signed-off-by: Timothy Chen<EMAIL_ADDRESS>

@a-will
@nikola-miladinovic
@alphan
@moidx


LEDs not work

thank your for your sdk.
I add the led commands as you described in a closed issues(https://github.com/Bin4ry/free-dog-sdk/issues/1). The LEDs do not work.
Thanks!

Still not working for me too.

I want to clarify... does this work with the normal unitree SDK? Can you demonstrate this working there? If so it will be easy to debug.

hi,
Maybe the mormal unitree SDK doesn't have the example for the LED.
Unitree gave a SDK for the control of the LED. The LED locates in the Nano computer in the head with the path /home/unitree/Unitree/sdk/faceLightSDK_Nano
(The Chinese link is: https://www.yuque.com/ironfatty/nly1un/cmls8h )
I translate the usage steps with a translate software.
Using the SDK on other boards or on one's own computer
The light strip SDK uses UDP communication mode, making it convenient to control the head LED on other boards through the network. The communication part of the SDK has been written, and the address of the head Nano has also been fixed in it. Therefore, we do not need to handle communication programming. We only need to ensure that the board or computer can ping the head Nano (<IP_ADDRESS>), and the usage method is consistent with using it directly in the head Nano.
Usage:

Set the board or your own computer address to the 123 network segment, and you can ping the head Nano (<IP_ADDRESS>)

Copy the SDK folder to your own board or computer

Modify the library files referenced in the cmake file based on your computer platform

Compile and Run

At 2023-09-18 21:35:15, "MAVProxyUser" @.***> wrote:
I want to clarify... does this work with the normal unitree SDK? Can you demonstrate this working there? If so it will be easy to debug.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Pure _startTokenId()

This implementation assume _startTokenId() will never change but it is specified as only view.
Maybe pure would be appropriate here.

view allows the function to read from immutable variables. One of the test mocks uses that.

I consider that a Solidity bug.
Filed at https://github.com/ethereum/solidity/issues/12829

I get rid of this warning   Function state mutability can be restricted to pure  by making a real query to a variable.
 function _startTokenId() internal view override returns (uint256)
    {
        return _initialId;
    }

@Cainuriel You can just override it as pure and return a constant (e.g. 1).

I thought it was not correct to overwrite the modifiers of a virtual function.  Thanks for ask me.

Some of our users require the function to be view
(e.g. on Upgradeable where an initializer must be used if customizing the return value of _startTokenId()).


How to extend the webdataset to make it into a custom dataset  with getitem function as described below

I have a custom dataset like these where __getitem__ look like this:
def __getitem__ (self,index):
    clip=[ ]
    for i in range(16):
         file_name = list_of_files[index- i]
         file_path = os.path.join(base_path, filename)
         clip.append(Image.open(file_path).convert('RGB'))
     ### further preprocessing which are important
     return clip,label

How can I perform this by extending the web dataset?
Any info or pointers on this would be helpful?
sorry for this naive question, I am new to this.

I'm afraid I don't understand the question. Maybe this helps.
Pytorch has two different kinds of data sets: indexed and iterable. An indexed dataset has a __getitem__ and __len__ method; an iterable dataset has neither. DataLoader works with both iterable and indexed datasets, though it behaves subtly different.
WebDataset implements iterable datasets. WebDataset also avoid you having to mess around with individual files, and it represents processing as pipelines. So, the webdataset equivalent of what you are writing would be something like:
$ tar cf dataset.tar *.jpg

def process_sample(sample):
   ### further important preprocessing
   returns sample

dataset = WebDataset("dataset.tar").decode("rgb").map(process_sample)


Allow to run multiple instances as admin

When I click on my task bar shortcut for VsCode it opens in admin mode (I've configured it under properties).
Now if I want multiple other instances of VsCode to open in admin mode, how to accomplish this?
Because right-click --> new window will not start it in admin mode!

@Legends are you saying no window opens or that window is actually not in admin mode?

It does not start in admin mode when clicking on "New Window".
But now I get this:

And why should I close the other instance?

@Legends got it, this is a known issue. Things work fine if you do File > New Window from the one instance. This issue only shows up when you run a new instance outside of VS Code.
//cc @joaomoreno

ah yes, just tried it, thank for the info!


Add option to customize the nick format

Defaults to  , should be able to put something else. Much like the Timestamp format option

https://github.com/matty-r/urChat/issues/76


[SPARK-17495] [SQL] Support date, timestamp and interval types in Hive hash

What changes were proposed in this pull request?

Timestamp hashing is done as per TimestampWritable.hashCode() in Hive
Interval hashing is done as per HiveIntervalDayTime.hashCode(). Note that there are inherent differences in how Hive and Spark store intervals under the hood which limits the ability to be in completely sync with hive's hashing function. I have explained this in the method doc.
Date type was already supported. This PR adds test for that.

How was this patch tested?
Added unit tests

ok to test

Test build #73459 has started for PR 17062 at commit 332475c.

Test build #73459 has finished for PR 17062 at commit 332475c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73459/
Test FAILed.

Jenkins retest this please

Test build #73472 has started for PR 17062 at commit e050a50.

Test build #73472 has finished for PR 17062 at commit e050a50.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/73472/
Test PASSed.

@gatorsmile : can you please review this PR ?

Updated comments with the corresponding hive queries used to generate the expected outputs.

Will review it tonight. Thanks!

It sounds like no test case covers nanosecond for INTERVAL

Test build #74278 has started for PR 17062 at commit fd0330d.

Test build #74278 has finished for PR 17062 at commit fd0330d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74278/
Test PASSed.

cc @gatorsmile

Test build #74414 has started for PR 17062 at commit 332686a.

I did the same check. The results of Hive 2.0 exactly match the hard-coded values.

@tejasapatil Thanks for your work! Could you add a comment in the hash function? The caller of hash needs to check the validity of input values.
LGTM pending test.

@gatorsmile : Thanks for the review :) Added method doc for hash() with the comment as suggested.

Test build #74416 has started for PR 17062 at commit 8a5f200.

Test build #74414 has finished for PR 17062 at commit 332686a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74414/
Test PASSed.

Merged build finished. Test PASSed.

Test build #74416 has finished for PR 17062 at commit 8a5f200.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74416/
Test PASSed.

Merged build finished. Test PASSed.

Thanks! Merging to master.


throw 404 exception when get non-existing asset

Summary
When ./getAsset on non-existing asset, it should throw 404 exception
Testing Done
unit test
Checklist

[X] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable)

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

Project coverage is 66.16%. Comparing base (8ccc25e) to head (d4d9cef).
Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #480      +/-   ##
============================================
- Coverage     66.35%   66.16%   -0.19%
- Complexity     1523     1527       +4
============================================
  Files           137      137
  Lines          5849     5891      +42
  Branches        642      650       +8
============================================
+ Hits           3881     3898      +17
- Misses         1693     1713      +20
- Partials        275      280       +5

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


document which (generated) artifacts should or shouldn't be committed routinely

never commit

anything that you didn't actually edit
project/
examples/output/
JSON or YAML files from nmdc_schema/
src/schema/mixs.yaml

git status  | grep -v project/ | grep -v examples/output/


Upgrade from Vivado HLS to Vitis HLS v2024.2

To run the tests:
cd examples
make clean
make test
rgrep -i error *.log
— to check if there are any errors ( there are false positives in some of the log files that simply report calc errors from floating point computations but we're looking for actual system errors of which there shouldn't be any).

To run Vitis HLS (csynth) on all HLS components:
cd examples
make clean
make hls
find -wholename "*.proj/solution/solution.log" -exec grep -i 'error:' {} +
-- This scans for "ERROR:" lines in all of the csynth compiled HLS components.  This should return with no output.
p.s. To just get the warm fuzzy that this command works change 'error:' with 'warning:' and rerun.

git commit comments on pull request
Make all csim testbenches self-checking.
fix: fix Makefile HLS compiler flows
Update Makefile to automate HLS project
generation and error handling
improvements

Add USE_VITIS variable to select vitis (USE_VITIS=1 default) or vivado_hls
(USE_VITIS=0)
add spdlog support for debug
auto-generate Tcl script flow using python (provide %.tcl rule fails numerous
hls components)
must enumerate C and CXX hls target files for Tcl support auto-gen flow and only
a subset of files are actually hls
components
fix LD_LIBRARY_PATH and add to compile command ( missing /usr/lib/x86_64-linux-gnu
allow Makefile to process all targets despite failing hls compile
add clean target
add .PRECIOUS: %.bin to allow debug of .bin flow

fix: update .gitignore
Update .gitignore to exclude build artifacts,
virtual environments, and auto-generated
files for cleaner repositories
feat: add semantic-release support
feat: add generate HLS csynth script

include default HLS configuration
add pytest
note: this is used by examples/Makefile

fix: remove examples/tcl script auto-gen'ed now
fix: rename gen_hls_csynth_script.py
Rename gen_vivado_hls_csynth_script.py to gen_hls_csynth_script.py
fix: fix missing call to fir
The firI1/I2/Q1/Q2 filter functions are missing fir implementation.
fix: add M-1 stage butterflies in FFT calc
fft_streaming function missing M-1 butterflies.  Only had 1 butterfly.
fix: correct delay line init with in vals for block FIR
fix: incorrect NUM_TAPS - should be 16
fix: remove spurious ap_int.h include
hls compiler fails with ap_int.h include
fix: broken delay line input var access
input var was accessed as scaler not array.
fix: missing include histogram.h
fix: missing variables i and j declaration
fix: missing hls_stream.h inc & var defines
fix: incorrect include file name
fix: incorrect S define and LB & UB declares
LB & UB are not scalers but arrays.
fix: incorrect S definition
fix: incorrect var / wrong pragma defines
pragmas were referencing non-existent vars
fix: incorrect window var access for printf
feat: add hls component csynth log extract script
To track warnings, errors, performance results of hls book examples add python script to parse hls compiler csynth log files (for both vivado and vitis hls).  The output is a yaml file that reports and plots can be generated.
fix: gitignore auto-gen'ed .dat and .bmp files
feat: add gen_template_report.py
Add script to generate a summary report of all hls component status.  Generate an asciidoc report and use docToolchain to generate a PDF of the report if desired.
fix: resolve semantic-release changelog config
fix: rename .commitlintrc.js to .commitlint.config.js
fix: remove leading dot from commitlint.config.js
fix: use more generic rule with broader application
chore(release): 1.0.0 [skip ci]

add M-1 stage butterflies in FFT calc (c372981)

broken delay line input var access (ae66946)

correct delay line init with in vals for block FIR (a20fa8a)

fix Makefile HLS compiler flows (790d01b)

fix missing call to fir (cce6a75)

gitignore auto-gen'ed .dat and .bmp files (38a11a8)

incorrect include file name (4ba2adc)

incorrect NUM_TAPS - should be 16 (5771214)

incorrect S define and LB & UB declares (3791562)

incorrect S definition (0b8cbdd)

incorrect var / wrong pragma defines (2c017e4)

incorrect window var access for printf (67fb24e)

missing hls_stream.h inc & var defines (79b7e6d)

missing include histogram.h (ef3335e)

missing variables i and j declaration (0362328)

remove examples/tcl script auto-gen'ed now (a96623a)

remove leading dot from commitlint.config.js (11a4071)

remove spurious ap_int.h include (a183982)

rename .commitlintrc.js to .commitlint.config.js (8890542)

rename gen_hls_csynth_script.py (d55fc63)

resolve semantic-release changelog config (d040b9c)

update .gitignore (a67dc13)

use more generic rule with broader application (fe1656e)

add gen_template_report.py (5c7ba32)

add generate HLS csynth script (e08baf6)

add hls component csynth log extract script (5657582)

add semantic-release support (e91efca)

fix: disable body-max-line-length during release
Don't throw error when release message line
length too long.
chore(release): 1.0.1 [skip ci]

disable body-max-line-length during release (3f31e15)

fix: remove spurious commitlint cfg file
Use commitlint.config.js instead
fix: incorrect factor value
Unlike vitis_hls, vivado_hls with an
ARRAY_PARTION factor value set to a value
larger than the array size will throw an error.
vitis_hls, I think, will simply set the factor to the array size.
fix: same named variables - vivado_hls
In vivado_hls, it is illegal (bug) if there are 2
same named loop variables in the same
function even if the local scope is exclusive.
This is not a problem in vitis_hls.
chore(release): 1.0.2 [skip ci]

incorrect factor value (410e644)
remove spurious commitlint cfg file (451ca97)
same named variables - vivado_hls (876016a)

fix: add python requirements.txt for venv setup
To setup python venv on xsjapps (without sudo), run:
python -m venv .venv --without-pip
source .venv/bin/activate
pip install -r requirements.txt
fix: update venv requirements.txt
fix: add more robust support for pdflatex
pdflatex (converts Tex to PDF) is
part of Texlive distribution.
include URL ref to distro and
docker image
chore: remove vestigial comments
style: remove commented out code
Much of the code in this codebase get included
into the HLS book doc itself.
chore(release): 1.0.3 [skip ci]

add more robust support for pdflatex (cc42632)
add python requirements.txt for venv setup (db839ba)
update venv requirements.txt (7346e7a)

fix: add semantic-release support to Makefile
At top Makefile, run
make manual-release
to auto-update CHANGELOG.md and
create new semantic version tag based
on commit message (conventional
commit format).
docs: remove environ specific notes
feat: replace term Vivado with Vitis
See main.tex vivado and VHLS newcommands.
chore(release): 1.1.0 [skip ci]

add semantic-release support to Makefile (c32880a)

replace term Vivado with Vitis (4817cf6)

fix: add synth/impl freq support / rename yml file
Rename hls_log_csynth_data_extract.yml to
hls_log_data_extract.yml
fix: add complex_fir-top.cpp test / use fir() with fir.h
Use fir.c instead of fir11_initial.c
Add fir.h and update fir-top.c to use fir() signature in include file.
fix: initialize variables / remove spurious loop
block_fir output is not all value -1452 just the last one. Modify and only test last output as pass/fail check.
fix: initialize y variable
Should this be a requirement in the testbench instead. spm2_restructured.cpp also initializes and this is an issue when testing on a host platform if default is nonzero.
fix: fix vitis path detection / set CC=gcc / support mixed C/C++ compile
complex_fir-top.cpp test requires mixed C and C++
compilation
fix: uninitialized out[0] and spurious A variable
fix: add fir11_initial.c testbench
update hls_config.ini to include fir11_initial-top.c
fix: add block_mm-top.cpp
This is a merge of blockmatmul_test_init.cpp and
blockmatmul_test.cpp files.  These are both partially complete testbenches but ought not be changed because they are used in the HLS book itself.
fix: increase to ap_fixed<16,2> to increase CORDIC accuracy
With data type of CORDIC at ap_fixed<12,2> the worst case error is over 41%.  With 16 bits, it drops to around 3.1% with cordic.cpp and even lower with
cordic_fixed.cpp
fix: make cordic testbenches self-checking
add self-checking support to cordic-top.cpp and cordic_fixed-top.cpp testbenches
chore(release): 1.1.1 [skip ci]

add block_mm-top.cpp (98085ee)
add complex_fir-top.cpp test / use fir() with fir.h (7cdc9dc)
add fir11_initial.c testbench (f4518a0)
add synth/impl freq support / rename yml file (7477364)
fix vitis path detection / set CC=gcc / support mixed C/C++ compile (5dc07fb)
increase to ap_fixed<16,2> to increase CORDIC accuracy (c1b434f)
initialize variables / remove spurious loop (9879f92)
initialize y variable (34c3d2b)
make cordic testbenches self-checking (4d9f0c8)
uninitialized out[0] and spurious A variable (64b134f)

fix: add self-checking support on prefixsum testbenches
fix: add self-checking support to video_2dfilter-top.c
fix: add support file to generate reference test image
Add C++ programs to support video_2dfilter-top.c
testbench.
The support files, video_2dfilter_opencv.cpp and
compare_images_opencv.cpp, use OpenCV API to
generate an independent golden reference file,
test_20x20_filtered_opencv.bmp
fix: add self-check bench for boundary condition 2d filter
fix: add borderType support to video_2dfilter_opencv.cpp
Add option to specify the cv::borderType when
running video_2dfilter_opencv.cpp so you can
set the way the border gets processed when
running cv::filter2D
chore(release): 1.1.2 [skip ci]

add borderType support to video_2dfilter_opencv.cpp (16a2f5f)
add self-check bench for boundary condition 2d filter (d58e41e)
add self-checking support on prefixsum testbenches (b61ea8e)
add self-checking support to video_2dfilter-top.c (c67a939)
add support file to generate reference test image (a9b9828)

fix: add self-check on video linebuffer variant tbs
fix: clean up semantic-release support
chore(release): 1.1.3 [skip ci]

add self-check on video linebuffer variant tbs (5443703)
clean up semantic-release support (57eb3c6)

fix: clean up Makefile
remove use of test_20x20_border_replicate.bmp file since it's same as test_20x20_filtered_opencv.bmp
chore(release): 1.1.4 [skip ci]

clean up Makefile (f5efc3c)

fix: fix author name and keywords in package.json
chore(release): 1.1.5 [skip ci]

fix author name and keywords in package.json (7f63f66)

fix: remove unnecessary .npmrc
chore(release): 1.1.6 [skip ci]

remove unnecessary .npmrc (35b91d7)

fix: VHLS path to use Vitis HLS v2024.2
Vitis v2024.2 moves the Vitis HLS include path from the Vitis_HLS area to Vitis proper.  Update VHLS env var to correct search path.
fix: clean up makefile and add release branch
chore(release): 1.1.7 [skip ci]

clean up makefile and add release branch (1e4d691)
VHLS path to use Vitis HLS v2024.2 (714d652)

fix: remove npm semantic-release support
fix: add hls tcl runner script
Auto-generate
fix: test with versal @ 500MHz

NOTE: I just rebased the mods to fft.tex on master into this pull request (from 2 weeks ago).
c93483d956f4ebf7b54bd54d9bb3b7b3f3b78850
3abf8e8711e9d98b75c15e5d1fe28ce4534e8799
0d7d0ae11a4d0cd4491efa3c78cb939179326bb4

Commit 95e32fb64aae8d7fd2433918776f2321a92685f5 reflects mods to the Tcl script flow for use with Vitis Unified IDE and uses open_component (new flow) instead of open_project/open_solution (deprecated since it's part of the old Vivado HLS model).  See Chapter 32 of UG1399 v24.2 for additional details.


Da/style 2

Updates ASA Blazor GUI with (mostly) standards compliant CSS styles by utilizing Bootstrap more effectively. There is still some work in progress, so keeping this PR in draft mode for a bit longer.
Other notes:
Adds Monitor page
Removes OAT Components package dep
Also contains fixes for bugs discovered in the testing process, which currently includes:
AnalysesHash SQlite insert bug when a run is completed and results are being stored
Displaying results caused error in Report page
Fix #574

Need to be changed to use real OAT after new OAT is published before merge. Ready for review as last merge for 2.3 beta.


Proper handling of MFAC dict of numgrads

Could shortly describe in your own words what is the issue and how this fixes it?

@dbogunowicz sure. num_grads can be defined in terms of an int or a dict that maps sparsity to num_grads. In the latter case, the check I'm changing fails because it tries to compare an int with a dict. The function I'm replacing it with takes a num_grads argument of int or dict and returns the correct num_grads as an int


[release-4.12] Fix spell check CI

Fix typo for unifed, promethues and decleared and added NotIn, notin to ignore_word_list for spell check CI

/retest

/retest

/override ci/prow/ocs-operator-bundle-e2e-aws


Avoid sorting large stacks in order

When performning task ordering we sort tasks based on the
number of dependents/dependencies they have.  This is critical to
low-memory processing.
However, sometimes individual tasks have millions of dependencies,
for which an n*log(n) sort adds significant overhead.  In these cases
we give up on sorting, and just hope that the tasks are well ordered
naturally (such as is often the case in Python 3.6+ due to sorted
dicts and the natural ordering that exists when constructing common
graphs)
See https://github.com/pangeo-data/pangeo/issues/150#issuecomment-373066066
for a real-world case

[ ] Tests added / passed
[x] Passes flake8 dask
[x] Fully documented, including docs/source/changelog.rst for all changes
and one of the docs/source/*-api.rst files for new API

@jcrist any thoughts or concerns on this?


RadioButton

Refactor RadioButton to use FlexLayout for direction (row or column)
Remove styling which is not needed anymore
Remove icon prop; icon is not customisable anymore
Adapt tests and stories

@alycrys I think there's no example on the spec, but saw on the QA story that the horizontal group label is now above the buttons rather than aligned, may want to check this

Hey @alycrys , I've left some suggested changes in #1336 happy to discuss

status tokens are ready to be consumed :)


Exception in ASGI application while deleting an Image: sqlite3.OperationalError: database is locked

I encountered an exception in the ASGI application while trying to delete an Image. The traceback points to an sqlite3.OperationalError, indicating that the database is locked.
Traceback (most recent call last):
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/uvicorn/protocols/http/h11_impl.py", line 428, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/fastapi/applications.py", line 273, in __call__
    await super().__call__(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/gzip.py", line 24, in __call__
    await responder(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/gzip.py", line 44, in __call__
    await self.app(scope, receive, self.send_with_gzip)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/fastapi/routing.py", line 237, in app
    raw_response = await run_endpoint_function(
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/venv/lib/python3.8/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
    return await dependant.call(**values)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/extensions/sd-webui-infinite-image-browsing/scripts/api.py", line 68, in delete_files
    conn = DataBase.get_conn()
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/extensions/sd-webui-infinite-image-browsing/scripts/db/datamodel.py", line 28, in get_conn
    conn = clz.init()
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/extensions/sd-webui-infinite-image-browsing/scripts/db/datamodel.py", line 36, in init
    Floder.create_table(conn)
  File "/mnt/batch/tasks/shared/LS_root/mounts/clusters/diffusion/code/Users/yaman/stable-diffusion-webui/extensions/sd-webui-infinite-image-browsing/scripts/db/datamodel.py", line 369, in create_table
    cur.execute(
sqlite3.OperationalError: database is locked```

Are you running multiple instances of Stable-diffusion-webui or running the extension separately while Stable-diffusion-webui is already running?

no, I am not running multiple instances of webui.
this happens as soon as i open webui and go to image browser and try to delete any image.

I'm getting the same error. I'm running a single instance of A1111 webui.
Seems to be a DB locking problem with sqlite3. In the console, you find the error sqlite3.OperationalError: database is locked..

I'm getting the same error. I'm running a single instance of A1111 webui. Seems to be a DB locking problem with sqlite3. In the console, you find the error sqlite3.OperationalError: database is locked..

Does this error occur frequently? Under what circumstances does it trigger?

@zanllp Yes, it happens all the time. there are no circumstances. as soon as I start Webui, go to the image browser. try deleting an image. it throws the error

I'm getting the same error. I'm running a single instance of A1111 webui. Seems to be a DB locking problem with sqlite3. In the console, you find the error sqlite3.OperationalError: database is locked..

Does this error occur frequently? Under what circumstances does it trigger?

I'll update the extension and try it. Thanks @zanllp

@zanllp it didn't work. sharing a screencast. if you see in the screencast the initial load of Webui, the database gets locked. then I go to IIB and try deleting an image. it fails with the error database is locked
https://github.com/zanllp/sd-webui-infinite-image-browsing/assets/12144602/519d935f-65d2-4ba4-bad9-9c15c88a9dd6

i have pulled the latest code.

I currently can't locate where the problem is occurring. I can't reproduce this issue myself. Can you delete the iib.db and then reopen sd-webui?

It seems like it has been too long since you received a reply. If you need to continue, please open a new issue or reopen this one.


Feature: options to blur the background rather than remove it.

Seems could be implemented to put the blurred picture as the background of the one with the background removed?

I really want to do it, but it is very complex, so now you can get a transparent video and use final cut pro or others video editors to make it happen.


Work experience - apparently companies must be unique?

People do go back to companies they worked at previously; or in my case I had a consulting stint, paused to work some full-time jobs, then restarted the consulting business.  It appears can neither make multiple entries under one name, nor give multiple date ranges.

This has been fixed in the latest v2.1.0 update :) Thank you for reporting!


Note pooping mode

Add a shooter setpoint which shoots the notes over (and maybe under?) our stage in front of the speaker from any legal area near the middle of the field. See the 1st alliance at Waco.
User Stories

As a driver I want to be able to stockpile notes without needing to aim

As a referee I want to not call fouls on 6328 for launching notes outside the field

Should be avoided:

https://github.com/Mechanical-Advantage/RobotCode2024/assets/10471019/eecf4299-b5ee-494a-9b79-5034533ab2a9

As a Chief Delphi user I would like to go to Einstein

Is this the same button as shoot?

super poop


bump version to v0.2.2

Hi @lvhan028 https://github.com/InternLM/lmdeploy/releases/tag/v0.2.2 missing pip package

Hi @lvhan028 https://github.com/InternLM/lmdeploy/releases/tag/v0.2.2 missing pip package

It's on the way. Only when I tag the version, the release workflow starts to work


Fetch tweets related to external_custom

Tasks performed:

Fetch tweets having hash tags of external_custom

Fixes https://github.com/adoptium/aqa-tests/issues/2785

@llxia Could you please review and merge this so that I can start working on the next issue which will be built upon this code?


[crates] recent_downloads can be null

The API apparently returns null for that key when the crate is so new that it doesn't have any downloads yet.

Warnings

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

Messages

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

  Generated by :no_entry_sign: dangerJS against 58dfd6d9867c19297097185791599d774e370897

Thanks for the PR @obfusk! Did you encounter a badge with an invalid response data message for a specific crate?

Thanks for the PR @obfusk! Did you encounter a badge with an invalid response data message for a specific crate?

Yes. But it's been downloaded by now. I think you can only run into this with a create you've only just created.

I added a test case (and fixed it :sweat_smile:). No idea why the main test is failing now.

Looks like the formatting check is failing. You can fix this by running npm run prettier locally
More info here: https://github.com/badges/shields/blob/master/CONTRIBUTING.md#prettier

Looks like ranger bot is having trouble with this one. @obfusk can you do a rebase so we can get this merged? Thanks!

I think the issue here is the 'maintainers can edit' checkbox wasn't checked, which means if this branch ends up more than one commit behind master we can't update it, neither can the bot, and the branch protection rule won't let us merge it. @obfusk  Try pressing "update branch". That will update it without dismissing the approving review. If the bot doesn't merge it after that, I'll push these commits to another branch and we'll merge from there. Sorry this has been a bit of a pain.


10.0.19044.2006 not support?

i need help guys :1

10.0.19041.1949.zip

need support too

https://github.com/anhkgg/SuperRDP/releases/tag/v<IP_ADDRESS>


Eyes "state" detection (opened/closed)

Hello, and thanks for the lib it's super efficient and easy to use 👍
I was wondering, do you plan to add eyes expression, in the same way you did with the mouth ?
An opening coefficient, or maybe an open/closed boolean ?

Hi,
We will do this, but our training slots are busy for the next 3 months for paid jobs and after we still have some stuffs to train.
Currently Weboji lib includes eyes expressions: https://github.com/jeeliz/jeelizWeboji
But there are some training biases, for example if there are some wrinkles around the eyes the neural net consider that eyes are closed. So eyes opening detection is currently not as robust as mouth opening detection. I have still to work on it.
Best,
Xavier

Thanks for the answer, closing the issue then ;)

Is there any update on this topic? Is eyes state detection possible atm? 👀

Hi,
This topic is more than 4 years old, and eyes open/close is not in Jeeliz Facefilter roadmap anymore.
However this feature is implemented in WebAR.rocks.face ( https://github.com/WebAR-rocks/WebAR.rocks.face ), which has an interface quite close to Jeeliz Facefilter.  You can try this demo (included in WebAR.rocks.face github repo): https://webar.rocks/demos/face/demos/expressionsDetection/
Jeeliz Facefilter will be still maintained and improved regularly to keep optimal compatibility coverage.


Fix #22 (extra lines)

Fix #22

Thanks for the pull request @AliSoftware, for a few reasons I don't like this implementation:

When using a node parser which contains a block you will always have to add individual logic for trimming the CR/LF for consistent behaviour.

This will unintentionally trim CR/LF's on a line where there is both text and a block, given the following example:
The following people are administrators:{% for name in people %}
  - {{ name }}
 {% endfor %}

Where this will now be rendered as:
 The following people are administrators:  - Kyle
   - Katie

It should instead be rendered as:
 The following people are administrators:
   - Kyle
   - Katie

This doesn't correctly handle the whitespace before the block token. Given the following example:

  {% for name in people %}

{{ name }}

  {% endfor %}

In this above example, the two spaces before the for block will be shown on the first li's line, along with the whitespace before the endfor will end up on the line of ul. Which results in the following:

Kyle

Katie

Instead should be rendered as:

Kyle

Katie

To solve this, instead the following rule should be applied:

A block on it's own line should trim leading whitespace and trailing newlines and whitespace. A block with other text or components should not trim anything.

Example 1
1\n
    {%  foo %}\n
2\n

Would result in:
Token.Text("1\n")
Token.Block("foo")
Token.Text("2\n")

Example 2
1\n
    this is awesome:{%  foo %}\n
        - 2\n

Would result in:
Token.Text("1\n")
Token.Text("this is awesome:")
Token.Block("foo")
Token.Text("\n        - 2\n")

Note: The new line at the end of the this is awesome is retained.
Instead of doing this work in the individual parser level, I think this should be moved into the lexer and the lexer should ensure that any text token after a block token doesn't start with CR/LF. While currently this would be difficult to implement due how it's currently implemented. I do have some local changes I'm working on which removes the use of regex for it's own character position to be able to construct source maps to allow the errors to clearly state which part of the template caused them (#28).
Once this change is done, it would be fairly easily to remove all whitespace and trailing new lines for any blocks.
I hope to finish the source maps today and I can make an alternative PR to implement this on-top of the source-map parser inside the lexer itself.

When using a node parser which contains a block you will always have to add individual logic for trimming the CR/LF for consistent behavior.

That was in fact kinda intended, because I think not every Node would want to trim the CRLFs. But I didn't like it either.

A block on it's own line should trim leading whitespace and trailing newlines and whitespace. A block with other text or components should not trim anything.

Totally agree, implementing this rule would be much better.
In the meantime, I'll try to rework #33 to apply guard on the code without the two commits from #32 now that we know we'll not merge them.

That was in fact kinda intended, because I think not every Node would want to trim the CRLFs. But I didn't like it either.

Would you see any problems with my proposed solution where it would unintentionally trim characters that some node's wouldn't like?

Well imagine I create an LowercaseNode that is expected to be used like {% lowercase variable %}.
{% for obj in list %}
== {{ obj.name }} ==
{% lowercase obj.foo %}
{% lowercase obj.bar %}
{% endfor %}

I expect it to be rendered like this:
== Object1 ==
object1foo
object1bar
== Object2 ==
object2foo
object2bar

Isn't there a risk that with your proposed implementation, the CRLFs after every `{% lowercase x %} will be trimmed then?

Note: agreed that lowercase stuff would better be implemented as filters once Stencil support them but in the meantime…
And a more concrete example is the use of {% now %} which is an already existing Node in Stencil and shouldn't trim CRLF imho.
Probably only blocks that expect an end block would expect to trim CRLFs I think. But you can't know that during lexing, can you?

Sorry for not getting to this sooner. Let me have a think on this one and get back to you.

Any updates on this? Is a valid solution stripping the whitespace and newlines only when it's a control flow block (e.g. if and for)

Any updates on this? Is a valid solution stripping the whitespace and newlines only when it's a control flow block (e.g. if and for)

@yonaskolb This is something I'm going to get in before Stencil 1.0.

Thanks for the effort here @AliSoftware. I'd like to go with the alternative design in #92 because this allows the template author to control how it is handled. @AliSoftware Do you have any major concerns with #92?

Add said in https://github.com/kylef/Stencil/pull/85 I'm in agreement with a solution (also seen in other templating languages) of allowing the user to enable lead and tail trimming per tag invocation using {%- and -%} if they want to opt in. Feels more flexible than the other solutions trying to be generic, and in phase with other templating langs 👍

Replaced by #287


feature: Add user data fetched from GitHub

We need to fetch data from GitHub to fill in the user profiles. In the future we will make this content editable by the user.

API endpoint
This data will need to be added to supabase tables
https://api.github.com/users/bdougie
Data needed

Bio
Location (might need GDPR opt-in https://github.com/open-sauced/insights/issues/382)
Website (Blog in the github api)
no email - we do not want to put email
Date the signed up
The pizza emoji will also be add to all early users. Perhaps our first 1k users, but we can figure that out later.

This was completed in the https://github.com/open-sauced/insights/pull/797 merge


Hook up task model to JSON store

As a busy SOC student, I can keep track of what I have to complete so that I do not miss out on any deadlines.
As a SOC student who has many (computing) modules in a semester, I can have a platform to keep track of all my submissions/tasks.

This issue is for hooking up the in-memory task model to the Storage component.

Done in #47.


Refreshing token

I assumed that if token expires, 500 status_code will be returned. But they are returning 401
And token can't be refreshed once it expires.
This issue will be fixed in next release

fixed by v0.2.0


Why does generate verb requires accessing underlying cluster

Our use case is that all cluster operations are done through code, so ESO yaml generated from static KES yaml is desired. And for security concerns my kubeconfig config current-context is always set to nil, when running:
kestoeso --input ./in --output ./out

and got error:
FATA[0000] invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

I'm reluctant to run this command with KUBECONFIG supplied unless the reason for this requirement is well documented

From the CLI help:
It reads kubernetes-external-secrets deployment declaration and uses
this information alongside with any KES externalSecrets declaration to
provide ESO SecretStores and ExternalSecrets definitions.

It actually looks into your cluster and tries to infer authentication properties from the KES deployment.

From the CLI help:
It reads kubernetes-external-secrets deployment declaration and uses
this information alongside with any KES externalSecrets declaration to
provide ESO SecretStores and ExternalSecrets definitions.

It actually looks into your cluster and tries to infer authentication properties from the KES deployment.

Thanks! I'm not super convinced that this is necessary for static config generation.
for example for a KES config:
apiVersion: kubernetes-client.io/v1
kind: ExternalSecret
metadata:
  name: service-account
  namespace: test-pods
spec:
  backendType: gcpSecretsManager
  projectId: k8s-prow-builds
  data:
  - key: default-k8s-build-cluster-service-account-key
    name: service-account.json
    version: latest

The expected ESO config can be derived without looking in the cluster:
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
  name: k8s-prow-builds
spec:
  provider:
    gcpsm:
      projectID: k8s-prow-builds
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: k8s-prow-build-service-account
  namespace: test-pods
spec:
  refreshInterval: 10s           # rate SecretManager pulls GCPSM
  secretStoreRef:
    kind: SecretStore
    name: k8s-prow-builds               # name of the SecretStore (or kind specified)
  target:
    name: service-account  # name of the k8s Secret to be created
    creationPolicy: Owner
  data:
  - secretKey: default-k8s-build-cluster-service-account-key  # name of the GCPSM secret key
    remoteRef:
      key: service-account.json

hi @chaodaiG! That is only true if we assume that both KES and ESO's service accounts are already configured to use workload identity, which means its not really something we can embed to the code to prevent that call.
The way the tool works is the one that covers almost every possible scenario, i.e. use KES' service account as the container of all credentials (which by itself is not good, but can be reviewed after the migration).

I see. This makes sense. So if I understand correctly the KUBECONFIG that's provided for generate verb is used only for read not write purpose, is that correct?

yes, that is correct. You only need to provide get deployment permissions to the namespace where KES lives (even more restrict, to KES deployment itself), as shown here: https://github.com/external-secrets/kes-to-eso/blob/main/pkg/provider/provider.go#L223


Validating a repeatable input field.

Is your feature request related to a problem? Please describe.
Hello,
I have a repeatable text field. A user can add more fields by clicking "+" button. How can I validate if he filled at least one row of inputs?

I will be grateful for any help.
Additional context
I think a repeatable field is a common scenario in web development so it should documented in vee-validate documentation.

I think this is more of an app logic problem than a vee-validate issue, why would you allow them to add more fields if they did not fill the previous one?
For example, you could validate when they click the add button, preventing them from adding more unless they fill the previous field.
You could do that automatically as well since rules can be dynamic as the directive takes a JavaScript expression, so you could do ternaries, template strings, etc...
So something like this:
v-validate="items.length ? 'min:3' : 'required|min:3"
v-validate="`${items.length ? 'required|' : ''}|min:3`"

You could still achieve what you by instead of thinking of each repeatable field as a single unit, think of the entire group as one field, something like a checkbox group.
You could wrap them into a component, that component emits an array where each element represents the state of its input. Then have vee-validate validate that component, you could then use different rules like length or even required would do if you emit null when all fields are empty.
I cannot provide an example at the moment, but feel free to add a minimal sample then I would fork it and update it for you.


Covert Subtract tool to PFM

Convert the Subtract tool to use the PFM (Polymorphic File Manager).

Done


WIP use nilearn viz for LCMV vol example

here is how it looks like:

needs an unreleased version of nilearn so let's wait before merging.

@agramfort pretty cool. Btw it would be awesome to have some surface reinterpolation mapper to dissplay surface STCs in a volume.

nilearn 1.1 got released so we could merge
@mluessi you'll need to update the buildbot so I'll let you click the green button when you have time.

@mluessi can you install nilearn on buildbot so we can merge this?

@agramfort please add nilearn to the Travis and Appveyor builds. If you don't have time I can do it.

this is only needed for the doc build and not by travis. shall we add it anyway?

Ohh right, it's their function not ours so we don't test it or anything. Then no, don't bother. We could start having Travis build docs if we want, then we would need it. Would that be worthwhile? If so, feel free to open an issue and I can try it in a subsequent PR at some point.

we need full sample to build the full doc. Not possible with travis... we
need a dedicated public VM...

@mluessi can you just run "pip install nilearn" on buildbot so we can merge this?


Add balanced ternary program counter and radix converter

https://github.com/aiunderstand/tt03p5-4-trit-balanced-ternary-counter-bt_signb_bt-radix-convertor

Welcome on chip!

Thanks for the confirmation Uri!


Code workfConfigure Azure Pipelineslow

This pipeline configuration builds the application and produces a build for the Release configuration.

 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.:x: niclassparr sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


My wallet address on the Terra Station Chrome extension and desktop app are different

See title. They're both different addresses, and one shows I have no funds and the other says that I do.
I have tried deleting the wallet in Chrome and recovering it, but I am still getting the same issue.
Any ideas?

It means you have wrong seed phrase.
Use the "export qr code" or "export key" feature from the wallet you can see your fund.
And keep that keys to import it into extension or mobile app.


Try fixing onnx installation on MacOS

On MacOS, replace "pip3 install -e" with "python3 setup install" when installing onnx
Signed-off-by: Gong Su<EMAIL_ADDRESS>

Jenkins Linux s390x Build #7011 [push] Try fixing onnx installa... started at 08:20

Jenkins Linux ppc64le Build #6104 [push] Try fixing onnx installa... started at 08:21

Jenkins Linux amd64 Build #6996 [push] Try fixing onnx installa... started at 07:20

Jenkins Linux amd64 Build #6996 [push] Try fixing onnx installa... passed after 1 hr 10 min

Jenkins Linux s390x Build #7011 [push] Try fixing onnx installa... aborted after 1 hr 28 min

Jenkins Linux ppc64le Build #6104 [push] Try fixing onnx installa... aborted after 1 hr 28 min


Improve command line filtering options

The command-line filtering options are limited for now, for example it is not possible to specify multiple names when using the -filterConversation flag.
In general, each of the available flag should handle a list of names instead of a single name.

Implemented by @francesliang!


Merge Mojolicious::Plugin::Browserify with AssetPack

I don't see any reason why https://metacpan.org/pod/Mojolicious::Plugin::Browserify should be a separate dist.

Will make another pull request.


youtube_video_url field not displaying video anywhere on app pages

As noted in this PR,  I'm not seeing how the youtube_video_url field cited in the contribution guidelines is actually coming into play on-site, on any of these pages.
Dug into other open and closed issues here, alongside searching the source code of pages in production and am not seeing videos displayed anywhere.
/cc @zeke @ckerr

@kelvinabella Go for it!

@HashimotoYT It's my first time contributing to open source. Based from my digging on the issue. We need to add youtube_video_url to https://www.electronjs.org/apps/{app-name} if its existing in the yml file. If not so, would appreciate some guidance on where should I start. Thank you!

@kelvinabella For showing the application we use that file: https://github.com/electron/electronjs.org/blob/master/views/apps/show.html. You can start from that point: https://github.com/electron/electronjs.org/blob/b5110284c9d4d490341aa5340685fc5144a39a7c/views/apps/show.html#L171, here we show the screenshots and here should be the youtube video. For checking if the app has youtube video you can use that example:
{{#if app.youtube_video_url}}
Show video
{{/if}}

@kelvinabella For showing the application we use that file: https://github.com/electron/electronjs.org/blob/master/views/apps/show.html. You can start from that point:
https://github.com/electron/electronjs.org/blob/b5110284c9d4d490341aa5340685fc5144a39a7c/views/apps/show.html#L171
, here we show the screenshots and here should be the youtube video. For checking if the app has youtube video you can use that example:
{{#if app.youtube_video_url}}
Show video
{{/if}}

@HashimotoYT Hi. Kindly review my changes. Please let me know if I its okay with you. Thanks!


Adding a monocular client as a package

Includes client creation and search
Relates to #6186

I noticved a lot of code in here shares similarities with pkg/getter/httpgetter.go. Would it be worth conslidating the HTTP client creation code? For example, the tlsutil setup as well as the proxy setup available in httpgetter may be worthwhile to consider.

https://github.com/helm/helm/blob/affd77558ffd343716036c01a075ed16540c5aaa/pkg/getter/httpgetter.go#L79-L100

I even notice that the same HTTP user agent introduce here is commented out in httpgetter.go... Perhaps we can just uncomment that. Not sure why it's unavailable :thinking:
https://github.com/helm/helm/blob/affd77558ffd343716036c01a075ed16540c5aaa/pkg/getter/httpgetter.go#L49

@bacongobbler The user agent used to be set for the httpgetter. When we used to pull chart stats we could see which versions of Helm were calling for it. On master this is still happening. Somewhere in the v3 refactor something changed.
The httpgetter is coupled to the getter system. Is it worth trying to make the two work using the same code? Should the getter system (or just the httpgetter) be used for the basic http request?

It might be worth re-using the getter system for monocular. While monocular does not interface directly with a basic HTTP filestore similar to the chart repository API (s3, azure, chartmuseum, gcs), the function signatures for .Search(term) and .Get(url) seem similar enough in design WRT HTTP client setup. I'll experiment with this today but I wouldn't block this from going through.
The user agent string on the httpgetter should probably be restored. Consumers can overwrite the user agent string if they choose. I'll file a separate PR for that.

@thomastaylor312 I made the tweaks you suggested. In addition to that I added a user agent function to the version package since we will need that in a couple other places. This is after chatting with @bacongobbler who is specifying the user agent in another PR.

#6197 has already been merged, so if you want to update that part of the codebase to use the .UserAgent function, that would be dandy. :)

@bacongobbler done!

There seems to be conflict merges on internal/version/version.go

@waveywaves I knew this was coming. @thomastaylor312 warned me before merging his change that caused this. A rebase with the most minor of changes (i.e.i removing an import) was the only thing needed to correct this.


How can we de-couple Reconciler and EventInitializer?

Motivation

One of the changes in operator v2 is the EventInitializer interface.
EventInitializer is an interface to create EventSource used in EventSourceManager.
To create and register EventInitializer, EventInitializer must be implemented by inheriting interface from Reconciler.
public class TomcatReconciler implements Reconciler<Tomcat>, EventInitlizer<Tomcat> {

  @Override
  public void prepareEventSources(EventSourceRegistry<Tomcat> eventSourceRegistry) {
    eventSourceRegistry.registerEventSource(...)
  }

  ...

}

ReConcilier is a class where the business logic defined by the user is located, and I do not think that registering EventSource using EventInitlizer here is not compatible with the single responsibility principle.
So, I was thinking about making these two parts to be used separately.
Idea 1-1. Operator takes responsibility for registering Reconciler and EventSource

It's a rough idea, but the reconciler and eventsources are delivered to the operator through the register api
public class Operator implements AutoCloseable, LifecycleAware {

.
.
.
  // example - register api with eventSourceInitializers
  public <R extends HasMetadata> void register(
     Reconciler<R> reconciler,
     List<EventSourceInitializer<R>> eventSourceInitializers)
.
.
.
}

// example - inject eventsource initiliazers by using register api
final var tomcatReconciler = new TomcatReconciler(client);
final var tomcatEventSource = TomcatEventSourceInitializer.createInstance(client);

operator.register(tomcatReconciler, List.of(tomcatEventSource));

Through the above API, Reconciler and EventSources can be passed as parameters when a Controller is created inside the Operator.
final var controller = new Controller<>(
  reconciler,
  defaultConfiguration,
  kubernetesClient,
  eventSourceInitializers);

Then inside the controller we can take the responsibility of registering the event source instead of the reconciler.
public class Controller<R extends HasMetadata> implements Reconciler<R>,
    LifecycleAware, EventSourceInitializer<R> {
.
.
	public void start() throws OperatorException {
          // example -
         // The controller takes responsibility for registering the eventSource instead of the reconciler
	  eventSourceManager = new EventSourceManager<>(this);
	  eventSourceInitializers.forEach(eventSourceInitializer ->
	    eventSourceInitializer.prepareEventSources(eventSourceManager));

	}
.
.
}

Idea 1-2. Use the Context interface to access the EventSource from the Reconciler

We separated the EventSourceInitilizer above, but the problem here is that we may need to access the eventsource from the reconcile .
One of the ways to solve this is to use context for reconcile api.

public UpdateControl<Tomcat> reconcile(Tomcat tomcat, Context context)

Currently, only RetryInfo exists in Context, but it seems to be possible to use Map or other object to query EventSource here.
As a simple example, let's say you use Map.
public interface Context {

  Optional<RetryInfo> getRetryInfo();

  Map<Class<? extends EventSource>, EventSource> getEventSourceMap();

}

public UpdateControl<Tomcat> reconcile(Tomcat tomcat, Context context) {

    final var controllerResourceEventSource =
        (ControllerResourceEventSource) context.getEventSourceMap().get(ControllerResourceEventSource.class);
    final var resourceCache = controllerResourceEventSource.getResourceCache();

    ...
    return UpdateControl.noUpdate();
}

Then we can access the default event sources in the reconcile as well.
Of course, at this point, EventInitializer and Reconciler are separated, so the EventSource we created directly can be used by injecting it as a constructor parameter.
public class TomcatReconciler implements Reconciler<Tomcat> {

  private final KubernetesClient kubernetesClient;
  private final InformerEventSource<Deployment> myInformer;

  public TomcatReconciler(KubernetesClient client,
                          InformerEventSource<Deployment> myInformer) {
    this.kubernetesClient = client;
    this.myInformer = myInformer;
  }

}

IDEA 1-3) All EventSources are created directly by the user

Currently, ControllerResourceEventSource as the Default EventSource is directly created and used in EventSourceManager. If this Default EventSource is also changed to be injected into the Operator by the user, it can be easier to access the Store at the user level without modifying the Context interface.
Purpose

IDEA 1) Decoupling for Reconciler and EventInitializer
IDEA 1-2) Passing EventSource or Cache Store through Context in framework
IDEA 1-3) All EventSources are created directly by the user

Hi @heesuk-ahn , thx for the issues. I think this should be decoupled, so the idea is good, I'm totally align.
Some comments:

  public <R extends HasMetadata> void register(
     Reconciler<R> reconciler,
     List<EventSourceInitializer<R>> eventSourceInitializers)

here it should be one initializer, not a List, where all the initialization happening.

regarding the idea 1-2:

 final var controllerResourceEventSource =
        (ControllerResourceEventSource) context.getEventSourceMap().get(ControllerResourceEventSource.class);
    final var resourceCache = controllerResourceEventSource.getResourceCache();

this is basically that we wanted to avoid with the current approach, so mostly you always want to have access to these event source in order to access the cache. Getting access to them through the context is not that nice IMHO. It would be even better to pass them through the constructor if needed,  since you always need it and need it just in the reconciler not sure if initializing them inside the reconciler makes it more convenient.
But would like to hear others opinion too. Maybe @lburgazzoli @metacosm .

I'm +1 to what @csviri said and in general to use interfaces as marker as it make it easy to add additional feature in the future without breaking the APIs

Note that this is likely to change with the dependent resources work that I'm working on. See for example: https://github.com/java-operator-sdk/java-operator-sdk/pull/726/files#diff-897a97d4dc7895b7f9f215c27d328be7b024c1267ef07b989af23e3052047bc6R143-R167, the idea here being that people should rarely need to implement EventSourceInitializer anymore.

this is basically that we wanted to avoid with the current approach, so mostly you always want to have access to these event source in order to access the cache. Getting access to them through the context is not that nice IMHO. It would be even better to pass them through the constructor if needed, since you always need it and need it just in the reconciler not sure if initializing them inside the reconciler makes it more convenient. So the current approach is basically a pragmatic compromise because of this.

Oh right, EventSourceInitlizer is not a List, and multiple EventSources can be registered in it.  :)

I agree, I think the Cache should not be accessed only from within the Reconcile. IDEA 1-3 seems to be similar. 🤔

Currently, the Cache of ControllerResourceEventSource is injected inside the framework, so to access it from the Reconciler, it must be accessed through EventSourceRegistry.getControllerResourceEventSource().getResourceCache() in prepareEventSources.
However, the problem of approaching this way can eventually become a tightlly coupling with EventSoruceInitailizer.
In order to break this tight coupling, it seems that the user can directly inject the EventSource implemented based on the abstract class of EventSource and Cache so that the user can easily access the cache layer as desired even outside the framework.
Below image are my very very rough thoughts.

In the java operator framework, if users can directly implement EventSource through the abstraction layer for EventSource and Cache or selectively inject and use a pre-implemented EventSource, it seems that the cache can be accessed more easily and used flexibly. 🤔

There are some API changes in #760 that offer some improvements on that front that might help with these ideas.

Will close this now, we can reopen in case new ideas are popping up

For reference, here's how the dependent resources work on this aspect.
You specify which dependent/secondary resources your primary resource depends on by using annotations on your controller:
@ControllerConfiguration(
    dependents = {
        @Dependent(resourceType = Secret.class, type = SecretDependentResource.class),
        @Dependent(resourceType = Schema.class, type = SchemaDependentResource.class)
    })
public class MySQLSchemaReconciler {}

For Kubernetes-native resources, such as Secret in the example above, you don't need to deal with event sources at all.  For other resources, such as Schema above, your DependentResource implementation must provide an initialized EventSource instance that the SDK will automatically register when your reconciler registers:
public class SchemaDependentResource implements DependentResource<Schema, MySQLSchema> ... {
...

  @Override
  public EventSource initEventSource(EventSourceContext<MySQLSchema> context) {
    ...
    return new PerResourcePollingEventSource<>(
        new SchemaPollingResourceSupplier(dbConfig), context.getPrimaryCache(), POLL_PERIOD,
        Schema.class);
  }

}

For many, "simple" uses cases involving only Kubernetes-native resources, you will never have to deal with EventSources at all.


Stop ignoring app/code/local/Mage

with 'mage' on the gitignore file, a user can't add files customized from Mage.
Magento allows us to customize core files by coping then to app/code/local, but this line prevents git to find the file, adding a slash restrict the ignore to the root folder solving this problem, and ignoring only the mage file
http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_create_a_local_copy_of_app_code_core_mage

Sounds reasonable, thanks! :tada:


Add Cody R to Contributors list

Sorry, had to create another merge request, because I am not sure if reopening a pull request is possible.

@crod93, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?

@Roshanjossey As many have said, your tutorial was one of the most straightforward tutorials that really addressed the topic of just a simple first contribution. Besides not waiting for you to accept the PR I didn't really run into problems. Thanks for your help!

@crod93, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


FIX Issue #521:

Time calculation did return unsigned int instead of unsigned long
Fix uses now unsigned long.
Signed-off-by: Eberhard S. Amann<EMAIL_ADDRESS>

Fix Time


K3s agent node not getting connected to master node on AWS-EC2

Environmental Info:
K3s Version:
v1.23.8+k3s1 (53f2d4e7)
Node(s) CPU architecture, OS, and Version:
Linux ip-172-31-88-240 5.15.0-1011-aws #14-Ubuntu SMP Wed Jun 1 20:54:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
1 master and 2 agent nodes
Description  the bug:
Agent node not joining master node when I type command kubectl get nodes.
Steps To Reproduce:

Installed K3s on the master node

$ MASTER_IP=<IP_ADDRESS> (IPv4 Public IP: <IP_ADDRESS>)

$curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--write-kubeconfig-mode 644 --no-deploy traefik --disable traefik --tls-san "$MASTER_IP" --node-external-ip "$MASTER_IP" --disable servicelb" sh -s -

Generated token by  sudo cat /var/lib/rancher/k3s/server/node-token
On each agent
MASTER_IP=<IP_ADDRESS>
export TOKEN=YOUR_MASTER_TOKEN
curl -sfL https://get.k3s.io | sh -s - agent --server https://$MASTER_IP :6443 --token ${TOKEN}

Expected behavior:
kubectl get nodes command should show agent nodes, but agent nodes are not attached ...

Actual behavior:
kubectl get nodes does not show agent nodes ....
Please help me to resolve this issue ..... I have done all steps correctly and also exposed the public IP ....I am feeling frustated ... I have been trying this from many days.I even tried implementing this on a virtual box as well but every time I get disappointment.
EXTRA INFORMATION
(failed to get CA CERTS)
systemctl status k3s-agent command gives shows

😭😭😭😭😭

I am Running k3s on AWS EC2 INSTANCES

Are you sure that you have all the correct ports open in the nodes security groups? You can find the full port list here: https://rancher.com/docs/k3s/latest/en/installation/installation-requirements/#networking
The basic test to ensure that you've opened the api server port on the server would be to run curl -vks https://SERVER-IP:6443/ping from the agent. If you cannot successfully use curl to reach the server, then the agent will not be able to do so either.


Add the procedue of FIN STREAM frame

@maskit Updated！Can you please review again !

@masaori335 updated please review again !

I am not satisfied with this pr, because it did a lot of repetitive work. closes it for now !


do the pull before the kill

+1 from @blentz on https://github.com/openshift/openshift-tools/pull/3312
=====
keep the container alive until the very last second before switching to
newer version

tested in stage, config loop makes this change and daemon-reloads systemd, everythings looking good


Add an alias for istioctl install (apply)

Since I used it multiple times mistakenly when I switch between kubectl apply to istioctl apply when creating external-istiod docs.
[ ] Configuration Infrastructure
[ ] Docs
[ x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

@linsun: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
4467ce9f9d49cde0062b4a18400ec03febfa47f4
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

i'm assuming the docs will be updated automatically. if not, change is required there.

Per discussion with @ostromart offline, I'll watch out this page to see how it renders alias: https://preliminary.istio.io/latest/docs/reference/commands/istioctl/#istioctl-install
If not, will create a PR to update comment of this cmd.
@GregHanson also suggested offline if delete should be added as an alias to uninstall.  i think that is interesting, i personally haven't hit it, but something to consider as a follow up PR.

@linsun: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-security-k8s-tests_istio
7525a44a33d05fbefd841819f05b0d5061d44606
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-k8s-tests_istio

I did chat off-line and the preliminary.isito.io docs are updated from code in the release-1.8 istio.io/istio branch. I did add a cherry-pick so the PR can be merged there. Once that happens a nightly automated job should pick up the change. I can try it manually if you desire.

In response to a cherrypick label: #28753 failed to apply on top of branch "release-1.8":
Applying: add a release note for external istiod
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
CONFLICT (add/add): Merge conflict in releasenotes/notes/external-istiod.yaml
Auto-merging releasenotes/notes/external-istiod.yaml
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 add a release note for external istiod
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #28806


gt4smacc: coder should allow testing token definitions

A SmaCC token coder should allow the user to test the definition without having to compile the complete grammar.

Clicking the debug icon on a token coder shows a testing interface:


Export Hashable1 and Hashable2

My bad I didn't realise Class isn't re-exported fully.

I realised that they are exported in Data.Hashable.Lifted, not sure whether this is needed after all. My bad again.