simplify.sparqlResults has multiple possible result types

I would like something opposite to #40: Do not simplify sparql results as much as its currently done and generalise its output.
Simplifying the query (removing not needed variables from the select) results in a different result from simplify.sparqlResults.
Currently the result can be either an array of objects with the variables as keys or just an array of the single variable specified in the query.
(Whats actually worse: undefined entries in the array get lost. But when the behaviour is changed this bug will be gone too.)
When the user wants the simple array of the single variable its easy to use something like .map(o => o.amountChildren). Also another simplify method could be doing that.
This would definitely be a breaking change.
Example query (query.wikidata.org):
SELECT DISTINCT ?amountChildren WHERE {
  ?item wdt:P31 wd:Q5.
  OPTIONAL { ?item wdt:P1971 ?amountChildren. }
}
LIMIT 5

The result of the simplify.sparqlResults will be (something like): [2, 6, 0, 1]
When the query is modified to return a second variable like ?item it will return (something like) this:
[
  {amountChildren: 6, item: 'Q1785'},
  {amountChildren: 2, item: 'Q2010'},
  {amountChildren: undefined, item: 'Q1747'},
  {amountChildren: undefined, item: 'Q1745'},
  {amountChildren: undefined, item: 'Q1750'}
]

would that do the trick to have this behavior behind a flag?
simplify.sparqlResults(results, { minimize: false })

that could maybe become the default in the future, but that would indeed be a breaking change

Living without it is ok for me short term.
Long term I would like a more clean usage there.
Maybe create a staging for breaking changes or something like that so it can be just merged when a new major release is ready?
Until then the bug be fixed. undefined should still be in the array.

what if the flag was inverted:

simplify.sparqlResults(results) always returns an array of objects
for single variable queries, simplify.sparqlResults(results, { minimize: true }) returns an array of the values
would that work for you?

I kind of like the idea but I don't think its perfect. As I tried to add typescript types (#50) I wanted to have as strict types as possible. An option determining the output of the method still has a less strict output then.
With the option as argument you depend on the input to know the output. For other languages like Java, C#, … this would require overloading the method.
I thought about having two methods for that. One with the always object array behaviour. The other one always returns simple value array and fails when it has more than one value per entry. That way the same "overloading" is there but with strictly separated names. But the "its basically the same so same method" idea is lost then.
Not sure what would be best…

Looks like you went with the minimize way for 6.0.0.
I adapted #50 accordingly in d52f6b8c539afa2bf7f7f4b0e37a27f7d319652e.


Javascript tricks You've Never Heard About : Part 1

description: JavaScript is a feature-rich language. It has a lot of features that are not well known. In this article, I will show you JavaScript tricks that you've never heard about.
category: blog
slug: javascript-tricks-part-1
canonical: https://blog.blackkspydo.com/javascript-tricks-part-1
image: https://user-images.githubusercontent.com/58302072/195398055-7c41944e-8978-4fff-a18f-8a1a7e235519.jpg

JavaScript is a feature-rich language. It has a lot of features that are not well known. In this article, I will show you JavaScript tricks that you've never heard about. Let's Explore some of them:
1. Destructuring
With the help of destructuring, you can do awesome things like:
1.1. Swap variables
If you ever need to swap two variables. You can do it with the help of destructuring, provided that the variables are declared with let, or var but not const.
Also, you should be using ES6 or above.
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a, b); // 2 1

1.2. Accessing nested objects
Previously, if you wanted to access a nested object, you would have to do something like this:
const obj = {
  a: {
    b: {
      c: 1
    }
  }
};
const value = obj.a.b.c;
console.log(value); // 1

But now, with the help of destructuring, you can do it in a much simpler way:
const obj = {
  a: {
    b: {
      c: 1
    }
  }
};
const { a: { b: { c } } } = obj;
console.log(c); // 1

const { a: { b: { c:value } } } = obj;
// and yes, you can rename the variable
console.log(value); // 1

1.3. Pass an object as function parameters
If you want to pass different parameters to a function, why not pass an object instead? It will make your code more readable. and you can use destructuring to access the properties of the object.
function foo({ a, b, c }) {
  console.log(a, b, c);
}
foo({ a: 1, b: 2, c: 3 }); // 1 2 3

2. Spread & Rest Operators
2.1. Spread Operator
The spread operator ... is used to spread an array into its elements. It can also be used to spread an object into key-value pairs.
const arr = [1, 2, 3];
console.log(...arr); // 1 2 3

const obj = { a: 1, b: 2, c: 3 };
console.log(...obj); // a b c

2.1.1. Spread in function calls
You can use the spread operator to pass an array as arguments to a function.
function foo(a, b, c) {
  console.log(a, b, c);
}
const arr = [1, 2, 3];
foo(...arr); // 1 2 3

2.1.2. Spread in array literals
You can use the spread operator to create a new array from an existing array.
const arr = [1, 2, 3];
const arr2 = [...arr, 4, 5, 6];
console.log(arr2); // [1, 2, 3, 4, 5, 6]

2.1.3. Spread in object literals
You can use the spread operator to create a new object from an existing object.
const obj = { a: 1, b: 2, c: 3 };
const obj2 = { ...obj, d: 4, e: 5, f: 6 };
console.log(obj2); // { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }

2.2. Rest Operator
The rest operator ... is used to collect multiple elements and put them into an array. It can also be used to collect multiple key-value pairs and put them into an object.
const arr = [1, 2, 3, 4, 5];
const [a, b, ...rest] = arr;
console.log(a, b, rest); // 1 2 [3, 4, 5]

const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 };
const { a, b, ...rest } = obj;
console.log(a, b, rest); // 1 2 { c: 3, d: 4, e: 5 }

3. Ternary Operator
The ternary operator is the only operator that takes three operands. It is often used as a shortcut for the if statement.
const a = 1;
const b = 2;
const c = a > b ? a : b;
console.log(c); // 2

4. Template Literals
Template literals are string literals allowing embedded expressions. You can use multi-line strings and string interpolation features with them.
const name = "John";
const age = 20;
const str = `Hello, my name is ${name}
I'm ${age} years old.`;
console.log(str);
// Hello, my name is John
// I'm 20 years old.

5. Short-circuiting
Short-circuiting is a way to make your code more readable. It is a way to use logical operators in a way that they return the value of one of the specified operands, instead of always returning true or false.
5.1. Logical AND (&&)
The logical AND operator (&&) returns the value of the first operand if it can be converted to false; otherwise, it returns the value of the second operand.
const a = 1;
const b = 2;
const c = a && b;
console.log(c); // 2

5.2. Logical OR (||)
The logical OR operator (||) returns the value of the first operand if it can be converted to true; otherwise, it returns the value of the second operand.
const a = 1;
const b = 2;
const c = a || b;
console.log(c); // 1

5.3.  Nullish Coalescing Operator (??)
The nullish coalescing operator (??) returns its right-hand side operand when its left-hand side operand is null or undefined, and otherwise returns its left-hand side operand.
The main difference between || and ?? is that || returns the right-hand side operand if the left-hand side operand is false, whereas ?? returns the right-hand side operand if the left-hand side operand is null or undefined.
const a = 1;
const b = 2;
const c = a ?? b;
console.log(c); // 1

6. Immediately Invoked Function Expression (IIFE)
An IIFE (Immediately Invoked Function Expression) is a JavaScript function that runs as soon as it is defined. One of the most common uses of an IIFE is to execute a function without polluting the global scope.
(function () {
  console.log("Hello, World!");
})();
// Hello, World!

7. Comma Operator
The comma operator (,) is used to evaluate each of its operands (from left to right) and return the value of the last operand.
const a = 1;
const b = 2;
const c = 3;
const d = a, c = a + b + c, c;
console.log(d); // 6

8. Optional Chaining
Previously, if you wanted to access a property of an object that might be undefined or null, you would have to check if the object exists first.
For example:
const obj = { a: { b: 1 } };

if (obj && obj.a && obj.a.b) {
  console.log(obj.a.b); // 1
}

With the optional chaining operator (?.), you can access properties of nested objects without having to check if the parent objects exist. If the reference is undefined or null, the expression short-circuits with a return value of undefined.
const obj = {
  a: {
    b: {
      c: 1,
    },
  },
};
const c = obj?.a?.b?.c;
console.log(c); // 1

9. Double Bang (!!) Operator
The double bang operator (!!) is used to convert any value to a boolean. It is often used to convert a value to a boolean in a shorter way.
const a = 1;
const b = !!a;
console.log(b); // true

10. Double Tilde (~~) Operator
The double tilde operator (~~) is used to convert any value to an integer. It is often used to convert a value to an integer in a shorter way.
const a = 1.5;
const b = ~~a;
console.log(b); // 1

Thank you so much for taking the time to read the blog post! I appreciate it, and I hope you found it helpful/informative. If you have any questions or comments, feel free to leave them below, and I’ll be happy to answer them. Again, thank you for reading, and have a great day!

nice


A change corresponding to 52f3443

A traditional Chinese version of the updated README_ZH_CN.md.

Makes sense that it would need updated yes. Thanks


White square when loading zip Image on Windows (1.9.0-dev)

Zip loading works in 1.8.0, must be related to #1730.
On a side note #2102 might also be related, although it's likely buggy in both versions. Needs confirmation, but it all comes down to reloading and refreshing of zipped images. I think some code must be written to trigger the update when the source isn't a static file but a collection.
EDIT. A zip file: https://drive.google.com/open?id=0B3-RtQdBRQiOMHJ4SFRodVZWNE0&authuser=0

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

can you run the example?
python examples/widgets/sequenced_images/main.py

seems to work for me (linux)

Running "python examples/widgets/sequenced_images/main.py". The fifth widget on the left bar is a white square on Windows (1.9.0-dev).

actually works for me after make force on master, may be the result of a faulty compilation.

It seems like my system has the same problem as @victor-rene for sequenced_images example - fifth widget is white.
"Load gif" button works; both "zipped png's" and "zipped jpg's" produce a white square only. The remaining 4 buttons all crash the app with this:
     _animdelay = self.img._coreimage.anim_delay
 AttributeError: 'NoneType' object has no attribute 'anim_delay'

@bionoid I wrote about the _coreimage problem yesterday in IRC, it fell into dead ears. I don't know if opening another issue is the right thing to do, but a user of AsyncImage was searching for a way to bypass caching (finally solved with setting nocache=True). Meanwhile I suggested self.img._coreimage.remove_from_cache() which caused the same error message AttributeError: 'NoneType' object has no attribute 'remove_from_cache'. I feel like something is going on here.

@victor-rene you have http://kivy.org/docs/api-kivy.uix.image.html#kivy.uix.image.Image.nocache and http://kivy.org/docs/api-kivy.uix.image.html#kivy.uix.image.Image.reload both mentioned in the docs, the issue with .zip is not reproducible for me on windows 8.1 with the latest master.
As tshirtman outlined doing make force to make sure you have everything compiled for master does not reproduce the issue. On irc you simply didn't respond the question when I asked whether you had done make force. Please give us more details on whether this is working with make force and which version of windows are you using.

@akshayaurora It's quite possible I missed your question, sorry for that. OS is Windows 7 Home 64-bit, I always use "make force", I only learned about "make" yesterday. I will certainly retry it again today, but bionoid already confirmed it.
On a side note, nocache and reload are mentioned, but it has nothing to do with why _coreimage is None, in some of the issues. If you could enlighten me on this I would appreciate.

On Ubuntu mini 14.10. Running python examples/widgets/sequenced_images/main.py

latest kivy master (git clone yesterday, fetch just now)
make force
White square & crash (the same thing as Windows OS).

[INFO              ] Logger: Record log in /home/victor/.kivy/logs/kivy_15-01-05_9.txt
[INFO              ] Kivy v1.9.0-dev
[INFO              ] Python: v2.7.8 (default, Oct 20 2014, 15:05:29)
[GCC 4.9.1]
[INFO              ] Factory: 173 symbols loaded
[INFO              ] Image: Providers: img_tex, img_dds, img_gif, img_pygame (img_pil, img_ffpyplayer, img_sdl2 ignored)
[INFO              ] Text: Provider: pygame
[INFO              ] Window: Provider: pygame(['window_egl_rpi'] ignored)
[WARNING           ] WinPygame: Video: failed (multisamples=2)
[WARNING           ] WinPygame: trying without antialiasing
[INFO              ] GL: OpenGL version <2.1 Chromium 1.9>
[INFO              ] GL: OpenGL vendor
[INFO              ] GL: OpenGL renderer
[INFO              ] GL: OpenGL parsed version: 2, 1
[INFO              ] GL: Shading version <4.40 NVIDIA via Cg compiler>
[INFO              ] GL: Texture max size <16384>
[INFO              ] GL: Texture max units <32>
[INFO              ] Window: virtual keyboard not allowed, single mode, not docked
[INFO              ] OSC: using  for socket
[INFO              ] Base: Start application main loop
[INFO              ] GL: NPOT texture support is available
[INFO              ] Base: Leaving application in progress...
[WARNING           ] stderr: Traceback (most recent call last):
[WARNING           ] stderr:   File "examples/widgets/sequenced_images/main.py", line 147, in
[WARNING           ] stderr:     mainApp().run()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/app.py", line 825, in run
[WARNING           ] stderr:     runTouchApp()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/base.py", line 484, in runTouchApp
[WARNING           ] stderr:     EventLoop.window.mainloop()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/core/window/window_pygame.py", line 381, in mainloop
[WARNING           ] stderr:     self._mainloop()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/core/window/window_pygame.py", line 285, in _mainloop
[WARNING           ] stderr:     EventLoop.idle()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/base.py", line 327, in idle
[WARNING           ] stderr:     self.dispatch_input()
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/base.py", line 312, in dispatch_input
[WARNING           ] stderr:     post_dispatch_input(*pop(0))
[WARNING           ] stderr:   File "/home/victor/kivy/kivy/base.py", line 278, in post_dispatch_input
[WARNING           ] stderr:     wid.dispatch('on_touch_up', me)
[WARNING           ] stderr:   File "_event.pyx", line 701, in kivy._event.EventDispatcher.dispatch (kivy/_event.c:6829)
[WARNING           ] stderr:   File "/home/victor/kivy/examples/widgets/sequenced_images/uix/custom_button.py", line 88, in on_touch_up
[WARNING           ] stderr:     _animdelay = self.img._coreimage.anim_delay
[WARNING           ] stderr: AttributeError: 'NoneType' object has no attribute 'anim_delay'

The example works for me (Ubuntu 14.10) with img_pil, but produces the above behavior with img_pygame and img_sdl2.

After bisecting, commit 1ffcb9f7a16ddf7438b5af1f9bd0bd477d0029cb is the culprit (change image pygmae to use file handles instead of path because of unicode issues).

UPDATE:
On current master, at https://github.com/kivy/kivy/blob/master/kivy/core/image/init.py#L339
ImageLoaderPygame genererate an exception upon trying to load the tmpfile from SIO.BytesIO(z.read(zfilename))

@victor-rene does changing https://github.com/kivy/kivy/blob/master/kivy/core/image/init.py#L54-L57 to import io as SIO solve the issue you are having?

@akshayaurora Changing cio as SIO to io as SIO doesn't help.
UPDATE 3: I don't understand what's going on. The method call silently fails without an Exception. I verified the types of the objects:
at ImageLoaderBase: https://github.com/kivy/kivy/blob/master/kivy/core/image/init.py#L200
<kivy.core.image.img_pygame.ImageLoaderPygame object at 0x05F9C170> <_io.BytesIO object at 0x05FA4540>
<bound method ImageLoaderPygame.load of <kivy.core.image.img_pygame.ImageLoaderPygame object at 0x05F9C170>>
I see no reason why a bound method, with it's live instance would failed to get called without raising.

UPDATE 6: Full stack trace. traceback.format_exc()
Traceback (most recent call last):
  File "C:\dev\program\Kivy-1.9.0-dev\kivy\kivy\core\image\__init__.py", line 340, in zip_loader
    im = loader(tmpfile, **kwargs)
  File "C:\dev\program\Kivy-1.9.0-dev\kivy\kivy\core\image\__init__.py", line 200, in __init__
    self._data = self.load(filename)
  File "C:\dev\program\Kivy-1.9.0-dev\kivy\kivy\core\image\img_pygame.py", line 52, in load
    elif isfile(filename):
  File "C:\dev\program\Kivy-1.9.0-dev\Python27\lib\genericpath.py", line 29, in isfile
    st = os.stat(path)
TypeError: coercing to Unicode: need string or buffer, _io.BytesIO found

UPDATE 7: FIXED. It seems you have to account for how os.path.isfile() is implemented by casting the buffer to str. Solution. https://github.com/kivy/kivy/blob/master/kivy/core/image/img_pygame.py#L50-52
elif isfile(str(filename)):
    with open(filename, 'rb') as fd:
        im = pygame.image.load(fd)

I follow with a PR and probably close. Report in PR comment if it's not the right fix.

Still an issue with animated gifs, though #2834 fixes zip animations. Also an issue on SDL2.

UPDATE 8. This line https://github.com/kivy/kivy/blob/master/kivy/core/image/_img_sdl2.pyx#L43
for SDL2.

Putting str is definately wrong. In py2, it's convert it to bytes, but what if the filename is unicode. The opposite problem occurs in py3. The real problem is not with the filename, it's because we're missing a che3ck whether it's a BytesIO object, which if it is, it's a buffer of the image and not a real filename.

@matham, @akshayaurora, @kived
Is it possible to write a test suite for this? I mean, it seems there are many different cases for many different providers that must handled. Also it's important not to fail on this kind of thing. And there is still the gif issue. Would that be tests/test_zip_loader.py or a more general test for all 'sequenced_images' like in examples/widgets?

what's the issue with gif? you guys don't have oil installed? is the native gif loader not working?

@kived could you outline the issue with gif? if you set the KIVY_IMAGE=sdl2 or pygame or imageio gif's will fail as these loaders don't support gif. Is there a issue with the loaders that do support GIF loading?


[GHSA-3j6g-hxx5-3q26] Observable Discrepancy in Apache Kafka

Updates

Affected products

Comments
According to following sources, Kafka Java Client contained in "kafka-clients" artifact is also affected but Maven coordinates are missing:
https://kafka.apache.org/cve-list ("CVE-2021-38153 Timing Attack Vulnerability for Apache Kafka Connect and Clients")
https://support.confluent.io/hc/en-us/articles/4407632156692-CVE-2021-38153-Confluent-Platform-Vulnerability-Timing-attacks
I also corrected "Affected versions" and "Patched versions" according to sources above.
Another issue is non-existent "org.apache.kafka:kafka" Maven artifact:
https://search.maven.org/search?q=g:org.apache.kafka AND a:kafka
Kafka server-side artifacts include version of Scala used for build - removal of Scala version suffix is proposed in KIP-897:
https://cwiki.apache.org/confluence/display/KAFKA/KIP-897%3A+Publish+a+single+kafka+(aka+core)+Maven+artifact+in+Apache+Kafka+4.0
There is no fix for Scala 2.11 artifacts, but fixes are available for Scala 2.12 and 2.13:
https://search.maven.org/artifact/org.apache.kafka/kafka_2.11
https://search.maven.org/artifact/org.apache.kafka/kafka_2.12
https://search.maven.org/artifact/org.apache.kafka/kafka_2.13

👋 Hi @pavelarnost, thank you for the contribution. For org.apache.kafka:kafka_2.13, I set one of the vulnerable version ranges to >= 2.4.0, < 2.6.3 because 2.4.0 is the first available version of kafka_2.13.


Empty Origin's name doesn't work as intended.

The "Empty" origin's name and description show up as its Translation Keys (origin.origins.empty.name and origin.origins.empty.description, respectively).

This is because the translation key that the translation files use is layer.origins.origin.missing_origin.name and layer.origins.origin.missing_origin.name.

Ignore the above, this is just me porting the changes to the Forge port.


feat(global header): update copy for plan rename

Overview
In preparation for the plan rename, update these CTAs to be plan name agnostic!

Update Global Header CTAs

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: PX-6080
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change
[ ] This PR includes testing instructions tests for the code change
[ ] The alpha package of this PR is passing end-to-end tests in all relevant Codecademy repositories

Testing Instructions

Don't make me tap the sign.
PR Links and Envs

Repository
PR Link
PR Env

Monolith
Monolith PR
Monolith Env

Portal
Portal Link
Portal Env

Another Repo
Another Link
Another Env

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.244-alpha.36689c.0@codecademy/gamut-labs@33.9.0-alpha.36689c.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://638e6415fc1d981175570a3e--gamut-preview.netlify.appDeploy Logs


[Feature] Multimodal LLM Support

Motivation
Thank you for your excellent work. Are there any plans to support multimodal LLM, such as Llava, Minigpt4, Qwen-VL, etc.? Alternatively, are there any instructions available for users to customize their own models?
Related resources
No response
Additional context
No response

We probably support multimodal LLM in Q4. minigpt4 might be our first choice

It has been put into lmdeploy backlog.


Mistake in documentation

Mistake in documentation
azure.storage.blob-endpoint is optional when file storage client is used and mandatory for blob storage client
https://stackoverflow.com/a/68432426/14129894

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

ID: 503c5ec5-ec8b-fd94-a358-d2936c4fd810
Version Independent ID: 573ac7cd-4886-0a83-bb01-75b26e35c674
Content: Azure Spring Boot Starter Storage client library for Java
Content Source: docs-ref-services/latest/spring-boot-starter-storage-readme.md
Service: springboot
Product: azure
Technology: azure
GitHub Login: @maggiepint
Microsoft Alias: magpint

Thank you for the report. We will take care of this.

Thanks @sivasubramanian-b , we have made a PR  to update the description and others.


Cfspdk 1115 add gecko adc driver

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

zscilib
https://github.com/zephyrproject-rtos/zscilib/commit/0035be5e6a45e4ab89755b176d305d7a877fc79c (master)
https://github.com/zephyrproject-rtos/zscilib/commit/ca070ddabdaf67175a2da901d0bd62e8899371c5
<EMAIL_ADDRESS>

Note: This message is automatically posted and updated by the Manifest GitHub Action.


[FLINK-32962][python] Remove pip version check on installing dependencies.

What is the purpose of the change
Removing pip version check when installing job python dependencies from requirements file.
Verifying this change
This change is already covered by existing tests, such as flink-python/pyflink/table/tests/test_dependency.py.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: ni
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

The change itself looks good. Where can one find python x pip compat page?

The change itself looks good. Where can one find python x pip compat page?

I was not able to find a dedicated version support page, only mentions in pip release notes.

@JingGe @HuangXingBo  Any thoughts on this?


Plugins not executing in IRC

Describe the bug
Testing the bot on my personal IRC channel, I discovered that the bot would not detect plugins and typing things such as .test and .greet would return nothing despite appearing in the python terminal. Was testing for Issue #36.
To Reproduce
Steps to reproduce the behavior:

Download and set up bot (username: hb_mn00)
Change autoconnect channels
Run main.py
Test commands such as .test, .greet, and .btc

Expected behavior
The bot to return the plugins output, such as hoo or the current price of bitcoin.
Screenshots

Working on adding more screenshots
Desktop (please complete the following information):

OS: Fedora 29 Linux x86_64
IDE: Pycharm Community 2019.3
IRC: Hexchat, Freenode

Potential Solutions

I have been looking into a similar import structure as with pluginInfo.py using dynamic improt structure.

testing in some 45 mins ...

Currently debugging @Abdur-rahmaanJ. My idea for importing didn't seem to work and I'm currently going through line by line. May not be able to continue until tomorrow, though.

some work, not all, will continue tests

@Abdur-rahmaanJ I'm not getting anything at all. What external dependencies might I need for main.py? It could be that

@Abdur-rahmaanJ so after some long debugging, I've discovered my main problem is that I wasn't setting plugins with to_load. I'm now encountering the error that it is missing info.

def load_plugins(self, list_to_add):
    print("\033[0;36mLoading plugins...\033[0;0m")
    try:
        to_load = []
        with open('PLUGINS.conf', 'r') as f:
            to_load = f.read().split('\n')
            to_load = list(filter(lambda x: x != '', to_load))
        for file in to_load:
            module = importlib.import_module('plugins.'+file)
            obj = module.Plugin
            list_to_add.append(obj)

        self.plugins = list_to_add
        print("\033[0;32mLoaded plugins...\033[0;0m")
    except ModuleNotFoundError as e:
        print('module not found', e)

@Abdur-rahmaanJ so far it's almost worked. It is just missing the info argument. Otherwise, I fixed

Accidentally clicked the wrong button sorry.

@Abdur-rahmaanJ So I'm getting this error with certain plugins. It is telling me
 error quote plugin 'Bot_core' object has no attribute 'quote'

It does this with a lot of the plugins. I haven't tested them all, but so far only greet and bitcoin work.

@Abdur-rahmaanJ so I found what seems like a fix to the issue I described in my previous comment. When we use self.func() in a Plugin class, it treats self as Bot_core, not Plugin. I fixed this for some of the plugins with Plugins.func(self). It is far from clean, but it works as far as I can tell, and isn't code breaking. I'm going to do some further testing and fix some stuff like the weather plugin.


Myth error "invalid option selected, must specify --bin or --abi"

OS: Mac
The way I installed solc:
$ sudo npm i -g solc
$ sudo ln -s /usr/local/bin/solcjs /usr/local/bin/solc
$ solc --version
0.4.21+commit.dfe3193c.Emscripten.clang

Myth version -- current at pip3: I installed it with pip3 install mythril
I get the following error:
$ myth -x Sora_Flattened.sol
Solc experienced a fatal error (code 1).

Invalid option selected, must specify either --bin or --abi

I am not sure, but maybe this error occurs because new versions of solc remove --bin-runtime and myth uses it?

Hi @Warchant, solcjs doesn't support all command line options, you need to install the native solc.

Oh. You probably need to mention this in the root README.md.
Thank you for the fast answer @b-mueller .

Good point, I added this to the "Installation" section. Thanks for the feedback!


Fix cfpack test. Add empty "resolve" case

Coverage increased (+0.05%) to 90.983% when pulling f1823eacd1828adf2bf554eb0764a70aa09bcd35 on SAP:fix-cfpack-tests into 0597f7fbe5de1387389c2c5de8ac4ca27237736b on cloudfoundry-incubator:master.

Coverage increased (+0.05%) to 90.983% when pulling f1823eacd1828adf2bf554eb0764a70aa09bcd35 on SAP:fix-cfpack-tests into 0597f7fbe5de1387389c2c5de8ac4ca27237736b on cloudfoundry-incubator:master.

Coverage increased (+0.05%) to 90.983% when pulling f1823eacd1828adf2bf554eb0764a70aa09bcd35 on SAP:fix-cfpack-tests into 0597f7fbe5de1387389c2c5de8ac4ca27237736b on cloudfoundry-incubator:master.


Support Private Networks

@Dan, Addressed your comments

@guruchai can you please comment with the set of test cases for this? Which sets of variables should be set to what to test it out.
I believe it's combinations of:
env:
  tunnel: yes
  public_endpoint_access: yes

L0: no, no
L1: yes, yes
L2: yes, no
?

@Chaffelson @wmudge Addressed your comments.
Changes:

infra.aws.vpc.labels.route_table is replaced with infra.aws.vpc.labels.public_route_table and infra.aws.vpc.labels.private_route_table.
globals.labels.route_table is removed as it's specific to AWS. Instead I replaced infra.aws.vpc.route_table.suffix with infra.aws.vpc.labels.public_route_table_suffix and infra.aws.vpc.labels.private_route_table_suffix which default to 'public-rtb' and 'private-rtb' respectively.

Dan,
I added a few comments in the configuration doc. I have some example definition files for cldr-deploy which I will raise as PR once the existing PRs complete review. Let me know if you have different thoughts on examples.


Removal of Default FBOs Enum

Primary changes:

Removed the enum used for the default buffers (FINAL, WRITE_ONLY_GBUFFER and READ_ONLY_GBUFFER) and made them normal FBOs (Deleted DefaultDynamicFBOs.java)
Added a default implementation for isDefaultInstance() in StateChange interface, thereby making the same declaration redundant in various files
Forced a initRenderGraph() in update() method for DisplayResolutionDependentFBOs to fix resizing issue.

Addresses the following issues:
#2744
#2659
#2591
And probably a few others.

Can one of the admins please verify this patch?

@emanuele3d Requesting review.

I'm hoping to find the time to review this PR tonight or, more likely, during the weekend.
Please beef up the description a little. In particular, if applicable, it would be good if you could highlight a few files, out of the 60 changed, that are the base cause for all the other changes.
You can do this in the description or adding a review of your own here on github.

Nice review 👍
@GooeyHub: add to whitelist
@vampcat fyi #2826 has been merged now if you want to rebase on top of that :-)

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

Hooray Jenkins reported success with all tests good!

I think all the issues have been dealt with. @Cervator, this PR is good to go from my perspective.

Oh noes! Test fail - with this I noticed two separate issues so far.
Water with default everything config fails to render / renders with a weird whiteness. Screenie:

That's with a GTX 1080 with fairly recent (but not newest) drivers on Win10. No resizing of the screen was involved (when trying that stuff still went bonkers)
Secondly when I attempted to take a screenshot I outright crashed:
00:24:52.197 [Saving-0] INFO  o.t.p.internal.SaveTransaction - Save game finished
00:25:39.886 [main] ERROR o.terasology.engine.TerasologyEngine - Uncaught exception, attempting clean game shutdown
java.lang.NullPointerException: null
	at org.terasology.rendering.opengl.ScreenGrabber.saveScreenshot(ScreenGrabber.java:101)
	at org.terasology.rendering.dag.nodes.FinalPostProcessingNode.process(FinalPostProcessingNode.java:102)
	at org.terasology.rendering.dag.NodeTask.execute(NodeTask.java:30)
	at java.util.ArrayList.forEach(ArrayList.java:1249)
	at org.terasology.rendering.world.WorldRendererImpl.render(WorldRendererImpl.java:527)
	at org.terasology.engine.modes.StateIngame.render(StateIngame.java:193)
	at org.terasology.engine.subsystem.lwjgl.LwjglGraphics.postUpdate(LwjglGraphics.java:189)
	at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:422)
	at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:368)
	at org.terasology.engine.Terasology.main(Terasology.java:152)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
00:25:39.894 [main] INFO  o.terasology.engine.TerasologyEngine - Shutting down Terasology...
00:25:39.997 [main] INFO  o.t.p.i.ReadWriteStorageManager - Saving - Creating game snapshot
00:25:39.998 [main] INFO  o.t.p.i.ReadWriteStorageManager - Saving - Snapshot created: Writing phase starts
00:25:40.015 [main] INFO  o.t.n.internal.NetworkSystemImpl - Client disconnected: Player93019
00:25:40.018 [main] INFO  o.t.logic.console.ConsoleImpl - [NOTIFICATION] Player "Player93019" has left the game
00:25:40.018 [main] INFO  o.t.n.internal.NetworkSystemImpl - Network shutdown
00:25:40.932 [Saving-0] INFO  o.t.p.internal.SaveTransaction - Save game finished
00:25:42.458 [main] WARN  o.t.rendering.nui.asset.UIFormat - Field 'emptyIcon' not recognized for interface org.terasology.rendering.nui.UIWidget in {"type":"UIIconBar","id":"breathBar","icon":"engine:icons#bubble","family":"breathBar","emptyIcon":"engine:icons#burstBubble","halfIconMode":"shrink","spacing":2,"maxIcons":10,"layoutInfo":{"use-content-width":true,"use-content-height":true,"position-left":{"target":"CENTER"},"position-right":{"target":"RIGHT","widget":"healthBar"},"position-bottom":{"target":"TOP","widget":"healthBar","offset":1}}}
00:25:42.458 [main] WARN  o.t.rendering.nui.asset.UIFormat - Field 'crosshairIcon' not recognized for interface org.terasology.rendering.nui.UIWidget in {"type":"UICrosshair","id":"crosshair","crosshairIcon":"engine:gui#crosshair","layoutInfo":{"use-content-width":true,"use-content-height":true,"position-horizontal-center":{},"position-vertical-center":{}}}
java.lang.NullPointerException
	at org.terasology.rendering.opengl.ScreenGrabber.saveScreenshot(ScreenGrabber.java:101)
	at org.terasology.rendering.dag.nodes.FinalPostProcessingNode.process(FinalPostProcessingNode.java:102)
	at org.terasology.rendering.dag.NodeTask.execute(NodeTask.java:30)
	at java.util.ArrayList.forEach(ArrayList.java:1249)
	at org.terasology.rendering.world.WorldRendererImpl.render(WorldRendererImpl.java:527)
	at org.terasology.engine.modes.StateIngame.render(StateIngame.java:193)
	at org.terasology.engine.subsystem.lwjgl.LwjglGraphics.postUpdate(LwjglGraphics.java:189)
	at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:422)
	at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:368)
	at org.terasology.engine.Terasology.main(Terasology.java:152)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
For more details, see the log files in C:\Dev\Terasology\Git\Terasology\logs\2017-03-20_00-23-04

Rolled back to right before the PR and both issues went away.
I suspect probably not big fixes but need to get those out of the way before merging :-)

Hooray Jenkins reported success with all tests good!

Fixed were made, merged! First Alpha 8 item :D

Yay! Good job @vampcat!


Add a way to sticky comments

Issue Description
sticky() as mentioned in the docs doesn't work on comments, or specifying them is unclear. Trying the following:
comment = submission.reply('comment here')
sticky(comment, state=True)
returns NameError: name 'sticky' is not defined. In the docs, it seems like it's aimed at posts, not comments. So is there any way to sticky comments? Im assuming there's not, hence the title here. Thanks for any help.
System Information

PRAW Version: 4
Python Version: 3.7.3
Operating System: Debian Linux

You need to use comment.distinguish, which is documented here.
Note that, apart from the different name, distinguish is a method, and so you have to call it as comment.distinguish(...) and not distinguish(comment, ...).

Thanks for this, but I can't figure out how to run it properly. I've run:
comment = submission.reply('comment here')
comment.distinguish(how='yes')
and it returns AttributeError: 'Comment' object has no attribute 'distinguish'. I'm not sure what I've done wrong, do i have the syntax wrong, or?

Argh, sorry, I didn't think that through. It should be subreddit.mod.distinguish(comment, ...). The subreddit.mod part is what gets you the SubredditModeration object described on that page.

Isn't it comment.mod.distinguish()? I'm away from my computer but I believe that should work if you are a mod with appropriate permissions.

@leviroth So subreddit.mod.distinguish(comment, how='yes') calls the SubredditModeration object, but just to tell me that it doesn't contain the attribute distinguish. Bit confusing since distinguish is under the SubredditModeration section in the docs.
@jarhill0 that does distinguish the comment, but it doesn't sticky it. I tried with how='yes', how='admin', and how='special', where 'yes' distinguishes (doesn't sticky) and 'admin'/'special' simply returns a 403: forbidden response (assuming they're for reddit admins?).

Ah, wait, which exact version of PRAW are you using? You linked the documentation for 4.0.0, but the fact that comment.mod even exists makes me think you're using a later version. If you're using anything since 4.1.0, there should be a sticky parameter to comment.mod.distinuish as documented here.

comment.mod.distinguish works, but comment.mod.sticky doesn't seem to exist. As for the version, running python3 -m pip install praw returns that everything is already satisfied, not sure how to check the exact version.

As @leviroth says, what you want is comment.mod.distinguish(sticky=True).

This works, thank you. I didn't read the part about the parameter correctly, I assumed it was a separate function.

As for the version, running python3 -m pip install praw returns that everything is already satisfied, not sure how to check the exact version.

You can do pip show praw or just praw.__version__ from within Python.

6.4.0. I only installed it yesterday, I thought 4 was the latest. My bad, I didn't know how to check previously.


WIP feat: add flake/lint/fmt

This is still failing when using flake:
error: attribute 'mkShell' missing

       at /nix/store/ddaa56ll70qgpnk7y18lvdziarzsb6di-source/default.nix:17:14:

           16| {
           17|   devShell = devshell.mkShell {
             |              ^
           18|     packages = with nixpkgs; [
(use '--show-trace' to show detailed location information)

It must be obvious but I don't see why devshell doesn't contain mkShell when using flake...

We have to use --impure as we use system ? builtins.currentSystem in default.nix - is there an alternative ?
We cannot write in build dir in checks, this is fixed locally (by using $TMP) but cannot understand yet why it is failing in github action...

We have to use --impure as we use system ? builtins.currentSystem in default.nix - is there an alternative ?

This shouldn't be needed as long as system is passed by the flake itself.

Thanks for the cleanup! However, the vendoring of all go modules, and the introduction of nix flakes this is a bit too heavy-handed for my taste.
Please take a look at https://github.com/numtide/go-nix/pull/23, which moves golangci-lint to a Github Action, and cherry-picks your golangci-lint fixes.

moved to #23
removing nix flake


Removed 'app_name' string and  tag from manifest.

The app_name string and the <application> tag in the manifest can cause conflicts with the app where the library is going to be integrated. Better if they are removed.

Thanks!


Fix: Build error on Vercel

Fixes build issue on Vercel

We should test if the commented out import statement is still required as that looks to only be needed for the .cjs file and in #2931 we started outputtin both ESM and CJS.


zap alerts to cre, init

depends on #129
adds zap alerts (automatically) to cre
closes https://github.com/OWASP/common-requirement-enumeration/pull/147
todo:

[ ] create github action that runs python cre.py --zap_in   periodically and updates both cres/db.sqlite and heroku database

closed in #163  instead


Feature/add speed multiplier

PR to add:

"Speed Multiplier" setting with default value of 1, but value of 2 for cyberpunk-red-core game system.
EN language text strings for new setting.
Default setting values for cyberpunk-red-core game system.

Let me know what you think. Thanks!

Background: Cyberpunk RED uses a MOVE stat that doesn't represent how many meters you can move, but you can move 2 meters for every point of your MOVE stat. I made the changes in this PR for my FVTT session to use and was hoping they could be of use in general (with whatever changes would be required) for systems that may not have a 1:1 speed to units travelled correlation.

First up, thanks for the contribution. Have you thought about writing a speed provider for Cyberpunk RED to solve the issue instead? It feels like the speed multiplier is a very niche setting that is only useful for few game systems while for most of the game systems the setting will be somewhat confusing to users.
I think that for most game systems either of those will be the case

They use a 1:1 speed to units traveled ratio. For those systems the Speed Multiplier setting isn't required.
They have some concept of "movement points" that are spent when moving. Those systems are probably better suited with using a speed provider, so they can provide alternating highlight colors (or similar) so the user can see how many points are spent by the move. In addition the distance that a movement point allows you to move might be dependent on the character instead of a flat multiplier.

For above reasons I think that Cyberpunk RED is probably better served with a custom speed provider. That would give it first class support in Drag Ruler, while the proposed change probably only makes the situation good for Cypberpunk RED, but not ideal. Please check the whether writing a speed provider for Cyberpunk RED might be a good idea. Let me know what your findings are.

Sure thing I'll take a look at using a Speed Provider approach and circle back with questions. Thanks for the detailed answer!


Transformers based NLP engine

Background
Presidio currently leverages spaCy for NER. It is possible to switch to a stanza model, or to create additional NER recognizers using 3rd party packages such as Flair and Transformers (see examples here and here).
However, it is not possible to completely replace a spacy/stanza model with a transformers model, except for when using the trf models coming from spaCy, such as en_core_web_trf.
Proposed solution
Create a new type of NlpEngine called TransformersNlpEngine which runs a transformers NER model instead of spaCy's NER. The user could decide which transformers model to plug in (either pretrained or custom).
Since Presidio leverages spaCy's pipeline for different features such as lemmas and tokens, which aren't supported by a transformers NER model, we propose to create a spaCy pipeline without NER, and add a new component which runs a transformers NER model.
Instead of this pipeline which we currently have:

We would have this pipeline:

This pipeline would not be trainable, but one can train a transformers model and inject it into this pipeline

Hi @erann1987 , is there any documentation on how to add a transformer model, as mentioned here? https://github.com/microsoft/presidio/blob/37f74e8e880cb1bdf3f5224a05eaa9b63df02d31/presidio-analyzer/presidio_analyzer/nlp_engine/transformers_nlp_engine.py#L89


PEAR-2088: Fix for cDAVE: Search bar 'x' has popped out of format

Description
Checklist

[ ] Added proper unit tests
[ ] Left proper TODO messages for any remaining tasks
[ ] Scanned for web accessibility with aXe, and mitigated or documented
flagged issues

Screenshots/Screen Recordings (if Appropriate)

works for me! 👍


[HOLD for payment 2023-11-22] [$500] Chat - App does not replace # on selection of mention

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1696496817615989
Action Performed:
Precondition: User should know a user with # in display name

Open the app
Open any report
Write '@#' and select the user in result
Observe that app does not replace # with result

Expected Result:
On selecting user from mention result, app should replace search term with result
Actual Result:
On selecting user from mention result, app does not replace search term with result if term is '#'
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/93399543/95d001f9-c301-45a2-8473-f6bd0ac09327

Android: mWeb Chrome

https://github.com/Expensify/App/assets/93399543/078344ba-a8c8-414e-9457-c1604eded24f

iOS: Native

https://github.com/Expensify/App/assets/93399543/7f326775-ed5c-4c5e-9a58-7821e86a2e9d

iOS: mWeb Safari

https://github.com/Expensify/App/assets/93399543/a06a1255-f490-43f3-b703-a62f47d56a5a

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/93399543/517489f2-9883-4e54-96c1-8acc1e713a65

MacOS: Desktop

https://github.com/Expensify/App/assets/93399543/84866951-b88a-4add-aa65-40452e87f824

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0159ee5a631ff4f0b0
Upwork Job ID:<PHONE_NUMBER>382366720
Last Price Increase: 2023-11-01
Automatic offers:

fedirjh | Reviewer | 27547155
abzokhattab | Contributor | 27547156
dhanashree-sawant | Reporter | 27547157

Proposal
Please re-state the problem that we are trying to solve in this issue.
The # is not replaced on the selection of the mention
What is the root cause of that problem?
The root cause of this problem is the presence of the |[#*0-9]\uFE0F?\u20E3 part in the regex pattern. This part prematurely terminates the match when encountering the '#' character, leading to incomplete matches.
https://github.com/Expensify/App/blob/4078503d8e2468a3f0c54fc37af0f888ed2abf41/src/CONST.ts#L1258-L1260
What changes do you think we should make in order to solve the problem?
Modify the regex to :
/^@[^\n\r]*?(?=$|[\s,/?"{}[\]()&^%\\;`$=<>!*\p{Extended_Pictographic}\u200d\u{1f1e6}-\u{1f1ff}\u{1f3fb}-\u{1f3ff}\u{e0020}-\u{e007f}\u20E3\uFE0F]|#[#*0-9]\uFE0F?\u20E3)/u;

This pattern will match mentions that include emojis and hashtags while avoiding the issue of prematurely stopping at #. It retains the existing structure without causing any breaking changes to the existing functionality
POC:
https://github.com/Expensify/App/assets/59809993/632f03ca-1779-4712-b909-1f698092ed19

Still waiting for https://github.com/Expensify/App/pull/29239

Proposal is updated  please review and let me know

okay I thought we wanted to cover only the hashtag, but in this case, we need to remove the SPECIAL_CHAR matching completely.. in this case, the space or the new line would be the only characters that stop the matching
POC:

Any more thoughts here? Looking at the blame I can see that we added up a few reasons to use MENTION_REPLACER in the past (before we consolidated to SPECIAL_CHAR and after)
https://github.com/Expensify/App/pull/18469
https://github.com/Expensify/App/pull/19004
From a scan of that, it looks like we may end up with regressions by removing SPECIAL_CHAR entirely, but I'd like another perspective on that!

looking more into it today

Okay again so the problem that we will have if we decide to remove the SPECIAL_CHAR is this issue https://github.com/Expensify/App/issues/18867 .. so basically if you type @ab/ and you select a mention that contains only ab the regex would remove the / as well when selecting a mention which shouldn't happen..
so after having a deep look into the issue i found that there is no need to use the MENTION_REPLACER in deciding the comment after the mention .. instead we can use the index of the last char of suggestionValues.mentionPrefix and fetch the string after it
i think it is easier to illustrate it by providing the code changes, so we should change this:
https://github.com/Expensify/App/blob/49bc03bca208ac6503291640215104ece3098751/src/pages/home/report/ReportActionCompose/SuggestionMention.js#L84
To:
            const commentAfterAtSignWithMentionRemoved = value.slice(suggestionValues.atSignIndex).substring(suggestionValues.atSignIndex + suggestionValues.mentionPrefix.length + 1);

and of course, remove the MENTION_REPLACER from the const.ts file
POC:
https://github.com/Expensify/App/assets/59809993/834ac7e1-e4df-449c-af36-df7f50ea0f73
Please let me know what you think @conorpendergrast  @fedirjh

Before we were only stopping the match for mention ast whitespace and newline.
The issue where we decided to stop at special characters was here: https://github.com/Expensify/App/issues/19027 but we made the change in this PR : https://github.com/Expensify/App/pull/19004 and this PR: https://github.com/Expensify/App/pull/29239

From a UX perspective I think that video seems fine. @fedirjh what do you think?

Awesome.. gonna update my original proposal then we can move forward

Awesome gonna update my original proposal then we can move forward

Proposal is updated

A kindly reminder on this

Thanks for the review @fedirjh, the proposed solution looks good. Assigning @abzokhattab 🚀

Kindly reminder, @fedirjh  @conorpendergrast  ... PR is ready

Payouts due:

[ ] Issue Reporter: $50 @dhanashree-sawant - offer (Reporter)
[ ] Contributor+: $500 @fedirjh - offer
[ ] Contributor: $500 @abzokhattab - offer (Contributor)

Upwork job is here.

All paid now, and I agree with you @fedirjh for the C+ checklist. Closing out!


Define msg and query types for Terra swap integration

This builds off of #211 to specify the desired interfaces for Terra integrations. This adds support for contracts to integrate with Terra's swap module.
Note that this interface will allow a module to make trades on response to a user-defined transaction. Adding hooks (eg. to auto-trade when rates change below some predefined value) is out of scope - and probably not the best idea to do on-chain. (If you disagree, please add a comment).
One open question, do we want a query to list all possible exchange pairs? Or assume that the contract knows which pairs it is interested in a priori?

We can just assume the contract already know about the possible pairs.
thanks for fast integration.

@YunSuk-Yeo are you happy with this one? I can merge it into the staking-message PR and remove the TODO if so.
Only outstanding question is how to represent the exchange rate (u64 with 9 decimal places? eg 1_000_000_000 = 1:1 trade as now? or other?)

sdk normally use 6 decimal places. can we use 6 instead of 9?

Sure. Will update.

Done. Good to merge now?

yea good


spawn: allow setting environment variables in options

Feature request--allow to specify environment variables in spawn.
For example:
import { spawn } from "bun-utilities/spawn";

spawn("echo", ["$VAR"], { env: { VAR: "example" } })

This is implemented in node.

Thanks for idea, I'll implement it.


Error during step 7 - how to debug?

Where do I go to track down the error "Applied Rule Ids is too long (maximum is 128 characters)"?

Hi
That issue because in table sales_flat_order in Magento 1 database there a rule:
applied_rule_ids varchar(255) DEFAULT NULL COMMENT 'Applied Rule IdsBut in the Magento2 database it was changed to:applied_rule_ids varchar(128) DEFAULT NULL COMMENT 'Applied Rule Ids
To solve that issue, let's open the file at /protected/controllers/MigrateController.php
and find to the block code:
 /**
                                         * Magento 2 only accept max length of store_name = 32 chars
                                         * So we have to check length of store name here to split
                                         */
                                        $val = $sales_order->$key;
                                        if ( in_array($key, array('store_name', 'shipping_method', 'x_forwarded_for')) && strlen($val) > 32) {
                                            $val = substr($val, 0, 32);
                                        }

and replace it by block code:
/**
                                         * Magento 2 only accept max length of store_name = 32 chars
                                         * So we have to check length of store name here to split
                                         */
                                        $val = $sales_order->$key;
                                        if ( in_array($key, array('store_name', 'shipping_method', 'x_forwarded_for')) && strlen($val) > 32) {
                                            $val = substr($val, 0, 32);
                                        }
                                        if ( in_array($key, array('applied_rule_ids')) && strlen($val) > 128) {
                                            $val = substr($val, 0, 128);
                                        }

and make reset the step 7 and you can restart the data migration on this step.
Regards,
quynhvv


Can't figure out-why? isn't it working?

Hello!,
I am looking for quick solution.i am recently facing.
i need to decrypt and play this encrypt video using video.js player i tried to do it using your plugin it's not work.
also,provide demo file not work:
http://xendersoft-001-site1.1tempurl.com/test/
videojs test: http://xendersoft-001-site1.1tempurl.com/encrypt/
can you provide the solution for this.
any help i am appreciate
The key sever URL http://<IP_ADDRESS>:8080/api/v1/poc/privateKey
The key 147320e3ae93038295810bb075194c312c59f12f4125abf4350890b77dd7f673
video file encrypt: https://s3.amazonaws.com/prodmessages/EmployerFiles/0/884/884071/BP_1_7ede47e4-04a5-434b-8482-828e66d45272.mov
it's play with mp4 format i tested.

Hi @avelon-gate — you'd be better off asking someone from video.js.
I don't work on that platform and I'm no longer working directly on web media projects.


💅 customize collection

ref #8037

// TODO:

tx set_collection_max_supply
informative text
test it

I think you should not limit their minimum supply it would feel much centralised

@roiLeo woho I approve
I would maybe switch the font weights
Customize collection - bold
maximum NFTs .... - regular

@roiLeo I don't think we should add this one this will let creators to change maxSupply time to time it won't make any sense of setting maxSupply for them

@roiLeo I don't think we should add this one this will let creators to change maxSupply time to time it won't make any sense of setting maxSupply for them

if it's possible why not?

if it's possible got for it

@roiLeo loader not showing now, not before and not after

Or it is hidden behind the modal :)

quick and dirty

😂

what happens if i set max numbers in collection to 5 but it has more than 5 there already?

what happens if i set max numbers in collection to 5 but it has more than 5 there already?

will produce error

what happens if i set max numbers in collection to 5 but it has more than 5 there already?

will produce error

correct, form won't let me

@roiLeo only problem i see now is not being able to close loader

@roiLeo only problem i see now is not being able to close loader

humm, this could be an issue with loader then, I'm just calling the loader instance when transaction is init and closing it when finalized

related to collection page... let me open an issue


[ffmpeg] build failure on x64-linux and x64-linux-release

Operating system
rockylinux9
Compiler
No response
Steps to reproduce the behavior
./vcpkg install ffmpeg[all-nonfree,iconv,drawtext,fontconfig,amf,ass,fdk-aac,nvcodec,qsv,x264,x265]:x64-linux-release

Failure logs
-- Extracting source /__w/test/test/vcpkg/downloads/ffmpeg-ffmpeg-n7.1.tar.gz
-- Applying patch 0001-create-lib-libraries.patch
-- Applying patch 0002-fix-msvc-link.patch
-- Applying patch 0003-fix-windowsinclude.patch
-- Applying patch 0004-dependencies.patch
-- Applying patch 0005-fix-nasm.patch
-- Applying patch 0007-fix-lib-naming.patch
-- Applying patch 0013-define-WINVER.patch
-- Applying patch 0020-fix-aarch64-libswscale.patch
-- Applying patch 0024-fix-osx-host-c11.patch
-- Applying patch 0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
-- Applying patch 0041-add-const-for-opengl-definition.patch
-- Applying patch 0043-fix-miss-head.patch
-- Using source at /__w/test/test/vcpkg/buildtrees/ffmpeg/src/n7.1-d40f62baf3.clean
-- Getting CMake variables for x64-linux-release
-- Building Options: --enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect --target-os=linux --enable-pthreads --cc=cc --host_cc=cc --cxx=c++ --nm=nm --ar='ar' --ranlib=ranlib --strip=strip --enable-nonfree --enable-gpl --enable-version3 --disable-ffmpeg --disable-ffplay --disable-ffprobe --enable-avcodec --enable-avdevice --enable-avformat --enable-avfilter --enable-postproc --enable-swresample --enable-swscale --enable-alsa --enable-amf --enable-libaom --enable-libass --disable-avisynth --enable-bzlib --enable-libdav1d --enable-libfdk-aac --enable-libfontconfig --enable-libharfbuzz --enable-libfreetype --enable-libfribidi --enable-iconv --enable-libilbc --enable-lzma --enable-libmp3lame --enable-libmodplug --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid --enable-ffnvcodec --enable-opencl --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-openssl --enable-libopus --enable-sdl2 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --disable-libtensorflow --disable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-zlib --enable-libsrt --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv --enable-cross-compile --pkg-config="/bin/pkg-config" --pkg-config-flags=--static
-- Building Release Options: --enable-optimizations --extra-ldflags=-L"/__w/test/test/vcpkg/installed/x64-linux-release/lib"
-- Building ffmpeg for Release
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: /usr/bin/bash ./build.sh
Working Directory: /__w/test/test/vcpkg/buildtrees/ffmpeg/x64-linux-release-rel
Error code: 1
See logs for more information:
/__w/test/test/vcpkg/buildtrees/ffmpeg/build-x64-linux-release-rel-config.log
/__w/test/test/vcpkg/buildtrees/ffmpeg/build-x64-linux-release-rel-out.log
Call Stack (most recent call first):
ports/ffmpeg/portfile.cmake:737 (vcpkg_execute_required_process)
scripts/ports.cmake:196 (include)
error: building ffmpeg:x64-linux-release failed with: BUILD_FAILEDbuild-x64-linux-release-rel-config.log
build-x64-linux-release-rel-out.log
Additional context
build on github actions.
name: rocky build workflows

on:
  push:
    branches: [ "main" ]

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: rockylinux/rockylinux:9

    steps:
      - name: Checkout main repository code
        uses: actions/checkout@v4

      - name: install library
        run: |
            dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm -y
            dnf config-manager --enable crb
            dnf install git gcc g++ gdb make nasm -y

      - name: vcpkg dependency repository
        uses: actions/checkout@v4
        with:
          repository: microsoft/vcpkg
          path: vcpkg

      - name: vcpkg install
        run: |
            cd vcpkg
            dnf install --allowerasing curl zip unzip tar autoconf libtool python3-jinja2 diffutils -y
            dnf install perl-IPC-Cmd perl-CPAN bison flex -y
            yes | cpan IPC::Cmd

            ./bootstrap-vcpkg.sh
            #./vcpkg install libiconv:x64-linux-release openssl:x64-linux-release curl[http2]:x64-linux-release mongo-c-driver[openssl]:x64-linux-release libmariadb[openssl]:x64-linux-release libpq[openssl]:x64-linux-release zlib:x64-linux-release minizip:x64-linux-release sqlite3:x64-linux-release nghttp2:x64-linux-release
            ./vcpkg install ffmpeg[all-nonfree,iconv,drawtext,fontconfig,amf,ass,fdk-aac,nvcodec,qsv,x264,x265]:x64-linux-release 2>&1 | tee /tmp/vcpkg_install.log
            cat /tmp/vcpkg_install.log

      - name: Upload vcpkg install log
        uses: actions/upload-artifact@v4
        with:
          name: vcpkg_logs
          path: |
            /__w/test/test/vcpkg/buildtrees/ffmpeg/build-x64-linux-release-rel-config.log
            /__w/test/test/vcpkg/buildtrees/ffmpeg/build-x64-linux-release-rel-out.log

report
ERROR: opengl not found.
vcpkg opengl or dnf opengl? what's library?

I am trying to reproduce this issue, but it is currently blocked by another error. This may take some time.

config.log:
/tmp/ffconf.U5cwy8jj/test.c:1:10: fatal error: GL/glx.h: No such file or directory
    1 | #include <GL/glx.h>
      |          ^~~~~~~~~~

On Ubuntu, this is in libglx-dev.

How is it now?
I tried to use ffmpeg:x64-linux. compiled successfully. But when link it reports an error:
/usr/bin/ld: /github/home/vcpkg/installed/x64-linux-release/lib/libavcodec.a(h264_intrapred_10bit.o): warning: relocation against ff_pw_512' in read-only section .text'
/usr/bin/ld: /github/home/vcpkg/installed/x64-linux-release/lib/libavcodec.a(vc1dsp_mmx.o): relocation R_X86_64_PC32 against symbol `ff_pw_9' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

Do you try to link the static lib into a shared lib?
This looks like an error from assembler source code which is not written to be relocatable.
(This error message is often misleading.)

Do you try to link the static lib into a shared lib? This looks like an error from assembler source code which is not written to be relocatable. (This error message is often misleading.)

yes.miss -fPIC compile flag.
cant build shared lib.
[rockylinux@localhost vcpkg]$ ./vcpkg install ffmpeg[gpl,postproc]:x64-linux-dynamic
Computing installation plan...
The following packages will be built and installed:
<EMAIL_ADDRESS>Detecting compiler hash for triplet x64-linux-dynamic...
Compiler found: /usr/bin/c++
Restored 0 package(s) from /home/rockylinux/.cache/vcpkg/archives in 11.4 us. Use --debug to see more details.
Installing 1/1<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>/home/rockylinux/vcpkg/triplets/community/x64-linux-dynamic.cmake: info: loaded community triplet from here. Community triplets are not built in the curated registry and are thus less likely to succeed.
-- Using cached ffmpeg-ffmpeg-n7.1.tar.gz.
-- Cleaning sources at /home/rockylinux/vcpkg/buildtrees/ffmpeg/src/n7.1-d40f62baf3.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/rockylinux/vcpkg/downloads/ffmpeg-ffmpeg-n7.1.tar.gz
-- Applying patch 0001-create-lib-libraries.patch
-- Applying patch 0002-fix-msvc-link.patch
-- Applying patch 0003-fix-windowsinclude.patch
-- Applying patch 0004-dependencies.patch
-- Applying patch 0005-fix-nasm.patch
-- Applying patch 0007-fix-lib-naming.patch
-- Applying patch 0013-define-WINVER.patch
-- Applying patch 0020-fix-aarch64-libswscale.patch
-- Applying patch 0024-fix-osx-host-c11.patch
-- Applying patch 0040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch
-- Applying patch 0041-add-const-for-opengl-definition.patch
-- Applying patch 0043-fix-miss-head.patch
-- Using source at /home/rockylinux/vcpkg/buildtrees/ffmpeg/src/n7.1-d40f62baf3.clean
CMake Error at ports/ffmpeg/portfile.cmake:61 (vcpkg_cmake_get_vars):
  Unknown CMake command "vcpkg_cmake_get_vars".
Call Stack (most recent call first):
  scripts/ports.cmake:196 (include)

miss -fPIC compile flag

I don't think this is true. (As I said, there might be a misleading error message.)

CMake Error at ports/ffmpeg/portfile.cmake:61 (vcpkg_cmake_get_vars):
  Unknown CMake command "vcpkg_cmake_get_vars".

Not a healthy vcpkg installation.

Not a healthy vcpkg installation.

Sorry, I haven't studied vcpkg. I don't understand what the problem is.


bio_write function appeared endless loop

My server have appeared a question about endless loop by openssl 1.1.0f or 1.1.0i.
When the deadloop happened, I record the stack info , like this:
19:40:03.441 d:\tddownload\code\openssl-1.1.0i_test\crypto\bio\bss_bio.c (325): bio_write
19:40:03.441 d:\tddownload\code\openssl-1.1.0i_test\crypto\bio\bio_lib.c (232): BIO_write
19:40:03.441 d:\tddownload\code\openssl-1.1.0i_test\ssl\record\rec_layer_s3.c (930): ssl3_write_pending
19:40:03.441 d:\tddownload\code\openssl-1.1.0i_test\ssl\record\rec_layer_s3.c (881): do_ssl3_write
I was write some test code into bio_write function in bss_bio.c
static int bio_write(BIO *bio, const char *buf, int num_)
{
size_t num = num_;
size_t rest;
struct bio_bio_st *b;
BIO_clear_retry_flags(bio);

if (!bio->init || buf == NULL || num == 0)
    return 0;

b = bio->ptr;
assert(b != NULL);
assert(b->peer != NULL);
assert(b->buf != NULL);

b->request = 0;
if (b->closed) {
    /* we already closed */
    BIOerr(BIO_F_BIO_WRITE, BIO_R_BROKEN_PIPE);
    return -1;
}

assert(b->len <= b->size);

if (b->len == b->size) {
    BIO_set_retry_write(bio); /* buffer is full */
    return -1;
}

/* we can write */
if (num > b->size - b->len)
    num = b->size - b->len;

/* now write "num" bytes */

rest = num;
size_t szInitRest = rest;

assert(rest > 0);

static int s_Temp1 = 0;
static int s_Rest = 0;
static int s_Chunk = 0;
int nLoop = 0;

do {                        /* one or two iterations */
    size_t write_offset;
    size_t chunk;

    assert(b->len + rest <= b->size);

    write_offset = b->offset + b->len;
    if (write_offset >= b->size)
        write_offset -= b->size;
    /* b->buf[write_offset] is the first byte we can write to. */

    if (write_offset + rest <= b->size)
        chunk = rest;
    else
        /* wrap around ring buffer */
        chunk = b->size - write_offset;

    memcpy(b->buf + write_offset, buf, chunk);

    b->len += chunk;

    assert(b->len <= b->size);

    if(rest < chunk)
    {
         s_Rest = rest;
         s_Chunk = chunk;
         printf("*****bio_write rest:%u, chunk:%u.*****\n", rest, chunk);
    }

   s_Temp1++;
   if(++nLoop >= 1000 || s_Temp1 % 5000 == 0)
   {
         printf("bio_write nLoop:%d, sTemp:%d, rest:%u, chunk:%u, s_rest:%u, s_chunk:%u, num_:%d.\n",
               nLoop, s_Temp1, rest, chunk, s_Rest, s_Chunk, num_);
   }

    rest -= chunk;
    buf += chunk;
}
while (rest);

return num;

}`
the console output these info:
bio_write nLoop:2227930, sTemp:2978994, rest:4294915158, chunk:0, s_res
t:43, s_chunk:52181, num_:43.
bio_write nLoop:2227931, sTemp:2978995, rest:4294915158, chunk:0, s_res
t:43, s_chunk:52181, num_:43.
bio_write nLoop:2227932, sTemp:2978996, rest:4294915158, chunk:0, s_res
t:43, s_chunk:52181, num_:43.
Do you have any suggestions or ideas, how to get around this?
Thanks!

I am sorry we neglected your question for so long time, is this still a problem?

do {
    size_t write_offset;
    size_t chunk;

    assert(b->len + rest <= b->size);

    write_offset = b->offset + b->len;
    if (write_offset >= b->size)
        write_offset -= b->size;

    if (write_offset + rest <= b->size)
        chunk = rest;
    else
        chunk = b->size - write_offset;

    if (chunk == 0) {
        /* Exit loop if chunk size is zero */
        break;
    }

    memcpy(b->buf + write_offset, buf, chunk);

    b->len += chunk;

    rest -= chunk;
    buf += chunk;
}
while (rest > 0);

Marking as inactive, to be closed at the end of 3.4 dev barring further input


Fix 404s in _redirects

The following _redirects still 404:

/docs/pipelines/pipelines-samples/	   /docs/components/pipelines/build-pipeline/

I am not sure the best place to point this one, perhaps just /docs/components/pipelines/overview/

/docs/components/pipelines                     /docs/components/pipelines/pipelines

This is not a 404, but a redundant redirect, so let's remove it.

/docs/components/pipelines/caching                            /docs/components/pipelines/overview/caching

/docs/components/pipelines/caching-v2                         /docs/components/pipelines/overview/caching-v2

/docs/components/pipelines/multi-user                         /docs/components/pipelines/overview/multi-user

/docs/components/pipelines/pipeline-root                      /docs/components/pipelines/overview/pipeline-root

/docs/components/pipelines/pipelines-quickstart               /docs/components/pipelines/overview/quickstart

/docs/pipelines/concepts/*          /docs/components/pipelines/overview/concepts/:splat

This one will cause problems in the future, just update its target to /docs/components/pipelines/concepts (with no :spat)

/docs/pipelines/*                   /docs/components/pipelines/:splat

This one will cause problems in the future, just update its target to /docs/components/pipelines (with no :spat)

Contextualization: https://github.com/kubeflow/website/pull/3737#pullrequestreview-2111822549
Should be fixed after https://github.com/kubeflow/website/pull/3737 gets merged.
/area pipelines

Fixed in https://github.com/kubeflow/website/pull/3737#issuecomment-2166378964.


Total points scored on date across league

Could also do assists, rebs, etc since getting box score by date gets everything

First just sort every player into an ordered dict by team name


fix: update realtime to reduce polling logs

What kind of change does this PR introduce?
Bug fix
What is the new behavior?

removes excessive polling logs from realtime
write postgres logs to stdout

Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 61.778%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
4120

Relevant Lines:
6669

💛  - Coveralls


Support launch multiple session/instance in standalone mode

What do these changes do?

Related issue number

Fixes #221

Codecov Report

Merging #247 (c7d961f) into main (eecec85) will decrease coverage by 12.01%.
The diff coverage is 83.33%.

@@             Coverage Diff             @@
##             main     #247       +/-   ##
===========================================
- Coverage   78.65%   66.64%   -12.02%
===========================================
  Files          57       55        -2
  Lines        5251     5009      -242
===========================================
- Hits         4130     3338      -792
- Misses       1121     1671      +550

Impacted Files
Coverage Δ

...n/graphscope/deploy/kubernetes/resource_builder.py
27.94% <ø> (-29.21%)
:arrow_down:

python/graphscope/client/session.py
63.00% <50.00%> (-10.64%)
:arrow_down:

python/graphscope/config.py
100.00% <100.00%> (ø)

python/graphscope/deploy/hosts/cluster.py
87.09% <100.00%> (+0.43%)
:arrow_up:

python/graphscope/deploy/kubernetes/utils.py
12.43% <0.00%> (-61.14%)
:arrow_down:

python/graphscope/deploy/kubernetes/cluster.py
23.48% <0.00%> (-58.34%)
:arrow_down:

python/graphscope/interactive/query.py
38.46% <0.00%> (-52.02%)
:arrow_down:

python/graphscope/client/rpc.py
66.12% <0.00%> (-17.58%)
:arrow_down:

python/graphscope/analytical/app/triangles.py
85.71% <0.00%> (-14.29%)
:arrow_down:

... and 15 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 eecec85...c7d961f. Read the comment docs.


Change flow of using Azure Virtual Network Subnet in the Azure Kubernetes Service

Component: Azure CNI
Describe in detail the feature/behavior/change you'd like to see:
Hello guys,
Can we change the IP request batch size from 16 to 4? Also, change the minimum free IP count.
I have clusters that use "Azure CNI networking for dynamic allocation of IPs", with 2 node pools - each of them is linked to a separate subnet range that is dedicated to pods only.
If I set the pod count to 32 I lose 6 IPs because system pods, azure-cns/azure-npm/cloud-node-manager/csi-azuredisk-node/csi-azurefile-node/kube-proxy, use node`s IP. And I can allocate only 26 IPs on each node.
For example, I have subnet /24 for pods on the second node pool. Azure allows to me use only 251 IPs from this subnet. And if the batch is 16 it means that I can use only 240 of them (15*16=240) and after this all pods will not be able to start, to get a new IP.
So by default, I lose 11 IPs in this case.
In summary, I can use, correctly, 198 IPs. Because 7 nodes block 32 IPs, but only 26 can be used, and 1 node can block only 16 IPs (7*26+16=198)
All lost IPs cannot be used even for the cluster scaling/upgrading.
Almost similar calculations you can do for any combination of subnet size and maximum pods.
Orchestrator: Kubernetes (AKS)
Operating System: Linux
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

Small PoC with calculations of different combinations
network /24 251 IPs
pods count 32 - max pods 198 max nodes 7 (also it's 14 service pods for defender + 1 service pod for metric service)
pods count 38 - max pods 208 max nodes 7 (also it's 14 service pods for defender + 1 service pod for metric service)
pods count 16 - max pods 140 max nodes 14 (also it's 28 service pods for defender + 2 service pod for metric service)
pods count 22 - max pods 176 max nodes 11 (also it's 22 service pods for defender + 2 service pod for metric service)

@mdanylyuk The batch size is not end-user configurable. If you need it changed on your cluster, you may file a support request to AKS.

@rbtr I cannot say that it has to be end-user configurable thing. I'd rather want to say that the current configuration is not optimal.
But thank you for the advice to ask the AKS team also.


Make link-wrap.sh Linux and macOS cross-platform compatible

Replacing stat -c %z with `wc -c < ' lets link-wrap.sh work on both Linux and macOS, whereas the stat command works differently between the two platforms.

Hi!
Just a tiny quality of life PR so the tiny corner of macOS devs don't need to keep patching link-wrap.sh 😄


Rename macOS to Darwin

Description
I believe that we should rename macOS to Darwin. This would make dealing with differences in platform easier, as we could just conditionally run difference in steps from uname -s in Bash or platform.system() in Python. I believe this is also more correct as Darwin refers to the family of OS, which makes it a more fitting counterpart to Linux, rather than macOS or OSX which is the implementation.
The only part of the codebase that should be unaffected are the github workflows, which leverage the macos-latest runner, and so can appropriately keep the macos naming convention.

Thank you for #183, it is now merged. Should we close this? Ok to leave open if you plan further changes for this.

I think we can close this, the issue was meant to be feature specific.


Added new predicates to find by other newly implemented prefixes

Medical Prefix:

Allergy, Blood Type, Last Visited Country, Medical information
Personal Prefix:
NRIC

Pull Request Test Coverage Report for Build 431

1 of 18 (5.56%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 86.779%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/model/person/AllergyContainsKeywordsPredicate.java
0
2
0.0%

src/main/java/seedu/address/model/person/BloodTypeContainsKeywordsPredicate.java
0
2
0.0%

src/main/java/seedu/address/model/person/CountryContainsKeywordsPredicate.java
0
2
0.0%

src/main/java/seedu/address/model/person/InfoContainsKeywordsPredicate.java
0
2
0.0%

src/main/java/seedu/address/logic/parser/FindCommandParser.java
1
10
10.0%

Totals

Change from base Build 394:
-0.2%

Covered Lines:
2166

Relevant Lines:
2496

💛  - Coveralls

Implemented for V1.3:

find by newly added patient details (Allergy, Blood Type, Last Visited Country, Medical information and NRIC)
ability to include more keywords in findcommand
sort by pertinent details ie name, phone, email, nric by either alphabetical or reverse order

Fixed Bugs:

find through all copies of medical information and tags instead of just 1
sort FINALLY works!!


Immutable Creation Time and Serialization Consistency

Currently the creation time logic introduced in 2.1.1 works fine on the server side but it fails when combined with the Java client. The creation time will not be serialized back into the client and waitForCompletion() fails begin occurring due to serialization inconsistencies.
This pull request includes changes to enforce immutability at the database level via the @Column(updatable = false) annotation/flag in JPA. It ensures that the generated SQL for updates do not include the annotated field. Rest of code modified to accommodate this change and associated tests. This should ensure that no matter what is done outside of the @PrePersist and @PreUpdate methods nothing changes.
The entity ID's have also been marked immutable.
Client code slightly cleaned up to use JobStatus instead of flakey logic based on job finish time. Clients need to be reworked for Ribbon 2.0.0 but that work should be part of #97.

NetflixOSS » genie » genie-pull-requests #5 SUCCESS
This pull request looks good

NetflixOSS » genie » genie-pull-requests #6 SUCCESS
This pull request looks good


[Feature] Add support for a trait to patch to any outputs defined before it and not just the output defined by the corresponding component.

Is your feature request related to a problem? Please describe.
Currently, traits can patch the workload of the corresponding components only. It is not possible for traits to patch workloads of other traits. This tends to make a trait overly complex when its targeting a fairly complex resource. For e.g. in Istio, a DestinationRule is responsible for several related activities like loadbalancing and circuit breaking. However, I would like to expose these as two separate traits. So now I'm in a scenario where a two traits are attempting to work on a single resource which isn't the one described by the corresponding component.
Describe the solution you'd like
There should be a field in a CUE part of the trait which indicated which resource is it trying to patch. So a trait can patch the resource defined by the component or any other outputs which were defined before it.
Describe alternatives you've considered
The only way to solve this right now is to make a separate component for DestinationRule all together and attach traits to that instead which doesn't really sound like a good idea.
Additional context

Can you give some yaml example about this case?

Lets take the example of deploying a normal workload in a service mesh like Istio. Ideally the workload component need to be changed if the service was deployed in a service mesh or not. Its just a k8s deployment after all.
The OAM Application may look something like this:
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: sample-service
spec:
  components:
    - name: myapp
      type: webservice
      properties:
        image: myregistry.io/projectid/sample-service
        port: 8000
      traits:
        - type: readiness-probes
          properties:
            http:
              path: /health
              port: 8090
              interval: 20s
        # These are the traits of concern
        - type: service-mesh
          properties:
            enabled: true
        - type: mesh-routes
          properties:
            routes:
               - name: "api-routes"
                 match:
                   - uri:
                       prefix: "/v1/api"
        - type: loadbalancing-policy
          properties:
            policy: ROUND_ROBIN
        - type: circuit-breaking
          properties:
            maxConnections: 100
            connectTimeout: 30ms
            tcpKeepalive:
              time: 7200s
              interval: 75s

# This resource is created by the service mesh trait
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-route
spec:
  hosts:
  - myapp
  http:
  - name: "api-routes"                 # This route is generated from the mesh-routes trait
    match:
    - uri:
        prefix: "/v1/api"
    route:
    - destination:
        host: myapp

# The resource is defined via the service mesh trait
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: my app
spec:
  host: myapp
  trafficPolicy:
    loadBalancer:                          #This part is generated from the loadbalancing trait
      simple: ROUND_ROBIN
    connectionPool:                        #This part is generated from the circuit breaking trait
      tcp:
        maxConnections: 100
        connectTimeout: 30ms
        tcpKeepalive:
          time: 7200s
          interval: 75s

I understand that the service mesh trait can be a separate component all together. But even in that case, a single component would have to define multiple outputs and the trait will still need to patch a resource present in the output

Yes, it makes sense.
By default, our patch trait only patches to workload which is output in CUE.
apiVersion: core.oam.dev/v1beta1
kind: TraitDefinition
metadata:
  name: patch
spec:
  schematic:
    cue:
      template: |
        patch: {spec: template: metadata: labels: app: context.name}

And we should support the cases like:
apiVersion: core.oam.dev/v1beta1
kind: TraitDefinition
metadata:
  name: patch
spec:
  schematic:
    cue:
      template: |
        patch: outputs: <resourceName> :{spec: template: metadata: labels: app: context.name}

The keyword should be patch and inside word outputs and then the resourceName defined in other outputs resources.
Would you like to send a PR ? @YourTechBud

I would love to contribute this feature. I would, however, require some assistance to navigate the code repository to identify the areas which will have to be updated.

@YourTechBud I can give you some help. How can i contact you？

@leejanee let's connect over email? Or maybe if there is a slack channel or discord server for this project, I can join that too.

@YourTechBud slack channel: https://cloud-native.slack.com/archives/C01NLEJCJQ2

@leejanee I've dropped a text on slack

How is the progress, we have the same needs.

@wonderflow  Can we define an absolutely complete webservice CR (cuel template for deployment)? And service, ingress, configmap and secret are the same.

@wonderflow Can we define an absolutely complete webservice CR (cuel template for deployment)? And service, ingress, configmap and secret are the same.

I don't fully understand. What do you mean by "absolutely complete webservice CR"? What's the difference between the current webservice and the new one?

This issue is not very easy to implement. Anyone who want to look into it can refer to

/assign

@Somefive  Thank you. We will dig into it, and we are planning to discuss the design next.

2. support patch a list of resources in outputs by giving filtering con

What about supporting a merge on existing outputs? For example, if a previous trait created an ingress and a latter trait wants to add to that (for certs or for annotations for example), could the syntax be something like this
outputs: ingress: & {
            metadata:annotations: &{
              "mynew": "annotation"
            }
          }

Which would error if the & symbol wasn't there but would merge the output otherwise. This can also act as a check for if that output already exists and would error if not found.

support patch a list of resources in outputs by giving filtering conditions

Is it the following scenario that I described? There are patch operations of multiple traits in my patch, but not all of them will be patched into my target resource. Instead, according to the specified rules, the patch of these traits will be added to the target resource only when the conditions are met.
And I wonder that the scenario when to use the second solution. Could you give some examples?
Thank You.

I would like to challenge the `priority/nice-to-have' label. This is necessary if we want to eliminate the dependency on things like HELM and to make traits more manageable and extensible.
In the authors example, we cannot setup Istio using kubevela without creating a significantly large and complex trait with several if statements. I have experienced the same problem with our dapr.io trait where our trait is over 200 lines long and only covers a small percentage of the functionality.
There is also the ability to modify other traits output, for example, adding annotations to any ingresses created by other traits. This should be similar to how we can read from other traits outputs simply by referencing it (https://kubevela.io/docs/platform-engineers/traits/advanced#data-passing)
Until this feature is created, traits will be limited. Furthermore, the ability to have a library of traits available for use is hindered as the traits need to exactly satisfy every use case or will be forked.. and once they are forked, the library version becomes obsolete.
I recommend we make this a higher priority, create trait output merges (see my comment above) and potentially add trait dependencies ( ie Istio-DestinationRule trait depends on Istio trait, or dapr-httpmiddleware depends on dapr) although the second one is less important, a nice error message would be helpful during setup

@ewassef  Yes, agree that lots of users have request this feature in the community. Let‘s add it into schedule.

@oiar  Hi, are you still working on this issue? I think it's been a while since your last update.

As @oiar said, the first point, also is the main point of this issue, is already implemented in the form of patch: context: outputs: resourcename. However, the context here can override the global context in our cue files, so I'll submit a PR to fix that.
As for the second point, I think we can discuss that in another issue, and this issue can be closed when my PR is merged.
And the patch is gonna be like:
patch: {
  outputs: {
      // resource name
      service: xxxx
  }
}


Add support for parsing @apply rules.

Follows the proposed (WIP) spec as it exists today at https://tabatkins.github.io/specs/css-apply-rule/#using
Fixes #8

I've signed the Microsoft CLA, and contributed to other Microsoft repos, e.g. https://github.com/Microsoft/TSJS-lib-generator/pull/151

Please let me know anything I can do to help this land!
I tried to make the change minimal, and follow the conventions of the repo.

@rictic Changes look good. Any reason why endOfAtApply and semicolonPosition are remembered?

Just trying to follow the conventions. AbstractDeclaration tracks colonPosition and semicolonPosition and those were the closest analogs for @apply. Might have been cargo culting though, I didn't track down how those were used.

If you like I could drop endOfAtApply and semicolonPosition, or hook them into other parts of the code. Just let me know!

Yay! Thanks @rictic!

Thanks @rictic . I polished the code a bit and simplified it. Removed the endOfAtApply and semicolonPosition, and also took away the test for --. This can better be done by a linter extension.
Thanks a lot for the contribution and sorry for the wait.


Add custom embedder NER

How to add custom embedder in NER network?

A possible way to do so is to create a module my_module which is a python file my_module.py in the working directory. A simple example of the content of the file:
class MyComponent:
    def __init__(self, *args, **kwargs):
        pass

    def __call__(self, x):
        print(x)
        return x

Then add the following to the config:
      {
          "class_name": "mymodule:MyComponent",
          "in": ["x_tok_ind"],
          "out": ["x_tok_ind"]
      }

An easy way is to take an existing config as a draft and modify it. For instance you can replace
{
        "in": ["x_san"],
        "id": "embedder",
        "class_name": "fasttext",
        "pad_zero": true,
        "load_path": "{DOWNLOADS_PATH}/embeddings/lenta_lower_100.bin",
        "out": ["x_emb"]
      }

with MyComponent
        "in": ["x_san"],
        "id": "embedder",
        "class_name": "mymodule:MyComponent",
        "out": ["x_emb"]
      }

In the https://github.com/deepmipt/DeepPavlov/blob/master/deeppavlov/configs/ner/ner_rus.json.

I assume that the question is answered.


[BUG] - Non-existent - Attempted to add item 222698 to category Cooking

Description
Message: Interface/AddOns/BetterBags/data/categories.lua:140: Attempted to add item 222698 to category Cooking, but the item does not exist.
Time: Mon Aug 26 19:24:30 2024
Count: 1
Stack: Interface/AddOns/BetterBags/data/categories.lua:140: Attempted to add item 222698 to category Cooking, but the item does not exist.
[string "@Interface/AddOns/BetterBags/data/categories.lua"]:140: in function `AddItemToCategory'
[string "@Interface/AddOns/BetterBags_TWW_Crafting/main.lua"]:14: in main chunk
Locals: self =  {
modules =  {
}
defaultModuleLibraries =  {
}
categoryCount = 0
name = "BetterBags_Categories"
ephemeralCategories =  {
}
orderedModules =  {
}
categoryFunctions =  {
}
baseName = "BetterBags"
ephemeralCategoryByItemID =  {
}
enabledState = false
defaultModuleState = true
moduleName = "Categories"
itemsWithNoCategory =  {
}
}
id = 222698
category = "Cooking"
database =  {
modules =  {
}
defaultModuleState = true
data =  {
}
enabledState = true
baseName = "BetterBags"
defaultModuleLibraries =  {
}
name = "BetterBags_Database"
orderedModules =  {
}
moduleName = "Database"
}

Addon Version
v1.0.0
World of Warcraft Flavor
Retail (The War Within)
Tested with only BetterBags_TWW_Crafting

[X] Yes

Lua Error
No response
Reproduction Steps
occurs on log-on.
Screenshots
No response

thanks for the amazing app - as an aside - no issues occur following the failure - please let me know if i should try anything!

Thanks for the report, I've fixed it in v1.0.1!


Show as radiobutton

Will you add the function to display attributes as radiobuttons?

@Nannica. I tried that when I started the extension, but hit a brick wall fast.
Radio buttons are sent via POST and are stored in the info_buyRequest option of the cart item. I'm trying to avoid storing additional data because this can lead to inconsistent data in case the extension is disabled or the configuration is changed. You could end up with 2 products on different lines even if they represent the same product in some particular cases.
So I dropped the idea.
If you want to try it yourself, you can change the labels to radio buttons in the js file: https://github.com/tzyganu/Switcher/blob/master/js/easylife_switcher/product.js#L107.
I know this can be avoided if the radio buttons are used only in the UI and disabled when the product is added to cart, but I don't want to overcomplicate the extension (it's already complicated as it is).
Sorry but I will no implement this.


feat: add manageUrl to displayProps

Description

Adds an optional manageUrl to displayprops which can be specified per pool.
manageUrl was added for the following apps:

Compound
Curve
Uniswap
Example

Related Issues
Part of ACT-1384

@finnian0826 Curve gives a few arrays of URLs: swap, deposit, withdraw. I picked withdraw as only users with a balance will see this in Valora and it seemed like the most appropriate action; Once at the URL users can toggle between swap, deposit, and withdraw actions in the Curve UI.


A11y_VSCode_SidebarBarOptions_AccessingTheExplorersidebaroptionsandCreatinganewfile_ScreenReader: The “New File”, “New Folder”, etc. buttons are announced with the state as selected in MAC.

Environment Details:
VSCode Version : 1.35.6 (user setup)
OS Version : MAC OS Mojave, V 10.14.5, Mac Mini Late2012
Additional Details:
MAS Violated : MAS 1.3.1
ScreenReader Versions : Voiceover
Repro Steps:

Pre-req: Create an empty folder on desktop
Open Visual studio code editor.
Using "Ctrl+Shift+E" key navigate to the Explorer side view bar option.
Using "Tab" key navigate to explorer side bar options.
Arrive at the "Open Folder" button and hit "Enter".
Select the folder created under "Pre-req".
Start screen reader.
Using "Tab" key navigate to and select "New File" option.
Listen if the state announced is correct or not just on navigating through the controls.

Actual:
In MAC when screen reader users navigate to the “New file” “New Folder”, etc. button the state as selected is announced which in incorrect as the selected state should be announced when the user activates the button not on navigation.
Expected:
The “New File”, “New Folder”, etc. buttons should not be announced with the selected state when screen reader users are navigating through these controls.
Recommendations:
Refer below link which is repository of bug fixes code snippets:
https://microsoft.sharepoint.com/teams/msenable/mas/pages/browse-fixes.aspx
User Impact:
If the state of the interactive elements are not announced properly to the screen reader users then the users might not know how to interact with them.
MAS Reference:
MAS 1.3.1 - https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={54f28d1f-a2d1-4dcd-84e1-5c9b87e8aba4}
Attachment for Reference:
VSCode_SidebarBarOptions_AccessingTheExplorersidebaroptionsandCreatinganewfile_ScreenReader Incorrect state announced in MAC..pptx

Works just fine


add {{TEST_MINIO_ENDPOINT}} for local testing "with/without" docker + fix pgsql testing doc

while testing i found out that testing locally as documented in the changed README.md for pgsql isn't working because of the minio dependency. reworked this to by default be still docker, but allow for for local with only minio in docker and testing on bare metal.
also depending on this: fixed docs for running pgsql test

have you raised an issue first when you found out something so that maintainers can have chat over it.
it will be helpful to raise an issue first (if not ) !
and how to reproduce it ?
Thaks

have you raised an issue first when you found out something so that maintainers can have chat over it.
it will be helpful to raise an issue first (if not ) !
and how to reproduce it ?
Thaks

Hi, sry I haven't raised an issue (yet).
Will revise and link. :)


Call macro by reference like java lambda

Can I call one macro from another when the first is passed to the second as a "reference" in the parameters  (like java 8 lambda)?
For example:
{% macro embeddable(text) %}
{{  text }}
 {% endmacro %}

{% macro wrapper(embRef,text) %}

    {{ embRef(text) }}

{% endmacro %}

Call:
 {{ wrapper(embeddable,'Hello') }}

I'm trying to use a component approach for pages constructing. But pebble does not allow to do this conveniently. No possibility to pass code blocks to a macro or use embed tag like twig.

You can't pass a macro as a reference. There's already an issue for an embed tag (#319). I'll close this one as a duplicate and you're welcome to submit a PR for the embed tag if you need one.


Add config for Media Item and File List paragraph types

Summary
This PR adds config for the Media Item and File List paragraph types. To support these paragraph types 3 new media types were added:

File
Media Item: Image
Media Item: Video

The default field created by media items has been re-created for each type to avoid conflicts in the future.
Image styles have not been included as part of this PR and will be included separately.
Metadata

Question
Answer

Did you use a meaningful pull request title?
yes/no

Did you apply meaningful labels to the pull request?
yes

Did you perform a self review first?
yes

Did you perform browser testing?
no

Risk level
Low

Relevant links
https://thinkoomph.jira.com/browse/RIG-67

Ok!
/approved


Please save latest history of Response(Success & Error)

Please store success and error response as like parameters. Otherwise every time we need to hit the api to get sample response

This is doable.

Added to settings on v2.31
Previous responses are now saved.


Honors and Awards section of the new wechaty landing page (Section 5)

Issue Number: #912
This PR comprises of an atomic PR of fifth section (Honors and Awards) for the new wechaty landing page.
Below are the images of Honors and Awards Section running locally
Desktop Version:

Mobile Version:

I saw all CSS are using id (#id), and every HTML section has different ids.
I think we should use a more general class to specify this?
For example, honorsAndAwardsFirstWrapper and honorsAndAwardsSecondWrapper seems not necessary to be different?

@huan ok I will change it accordingly.