Support for Aliases

Basic Description: Support for setting an alias to a key, maintained in a separate list to normal keys, which has the property that the alias will never be evicted before the key it points to. Aliases do not affect any of the normal methods, requiring instead specialized alias methods to interact with.
This solves the problem of the key on retrieval being extremely inconvenient for invalidation. Specifically for cases where cache is local to an entry and namespaces can't be used as an effective strategy for invalidation.

Use Case (pseudo-code)
searched_username = "bob";
cacheKey = "user.entry.username.{searched_username}"
model = mc.get(cacheKey);
if (model == NULL) {
    model = user_model_for_username("bob");
    mc.set(cacheKey, model, time() + Month);
    aliasKey = "user.entry.{model.id}.username"
    mc.setAlias(aliasKey, cacheKey);
    return model;
}
else {
	return model;
}

To invalidate the entry with out the mc.setAlias line we have to know the field used to generate the key (in the example username). This can mean we have to either retrieve the entry or pass the information along to the invalidation routine:
cacheKey = "user.entry.username.{username}"
mc.set(cacheKey, NULL, 0);

This looks simple but causes problems such as a delete by ID routine being required to retrieve the model to be able to invalidate the cache. On the other hand if we use aliases we can do it like this:
aliasKey = "user.entry.{id}.username";
cacheKey = mc.getAlias(aliasKey);
mc.set(cacheKey, NULL, 0);

This achieves the same thing but doesn't require any information other then the ID to invalidate any key associated with the model.
In the example I used a routine that searches by username, but it can be extended to something even more complicated such as for example a routine that searches for multiple simultaneous conditions.
The aliases can happily live as an independent system and only really need one property to work:

the alias should never be evicted before the key is evicted

In the example I used two calls, but its probably for the best if its simplified to mc.setWithAlias(aliasKey, cacheKey, model, time() + Month) for the first routine and mc.setUsingAlias(aliasKey, NULL, 0) for the invalidation routine.
I don't think aliases should be searched when not explicitly asked for. This should also avoid any performance hit for anyone who don't want to use aliases.

Thanks for the well written request. This sort of thing isn't very easy though: Mainly that memcached is a distributed system, so in order to actually find the key you want to remove your client needs to hash the alias key to the same server that has the final key. OR, the alias gets set where it gets set, and it returns another key that your client needs to re-fetch. Then the problem is that you can't ensure the alias stays as long as the main item without server coordination.
You can work around this a bit by using a tertiary key to do the client hash with, which groups keys to the same servers, but you've just lost the convenience you were trying to gain by aliasing the key in the first place.
There might be room for something like this at some point in the lifespan of this system... however it must be thought of as a distributed system since that is the primary use case. It is also a distributed system without server-to-server coordination, which disallows sharing or syncing tertiary keys like this.
Doing that correctly with a cluster is extremely expensive. Once for performance as a well-synced many-machine cluster will never match the performance of a single independent memcached node. Secondly for manpower as it's extremely difficult to build one of these correctly. You can watch just about every commercial database fail to do this thing correctly: https://aphyr.com/tags/jepsen
I'll leave this open a little longer in case I can noodle any kind of loose compromise.
The one really awful thing that comes to mind would be a client library and a probably little-known feature that was added recently. -o expirezero_does_not_evict. If you set this option, keys set with an expiration time of 0 cannot be evicted from the LRU. Storing too many of them will result in OOM errors.
You would implement this by:

Taking a key 'foo', alias 'foo-alias'
First store 'foo-alias' with an exptime of 0.
If OOM error, fail entire write.
Store 'foo' if 'foo-alias' succeeds.
Bonus points for using CAS controls, 'add', etc.

This has many terrible repercussions:

Storing multiple aliases can see network/etc failures.
Aliases can go missing if the server they are on is restarted, crashes, or has a network blip.
Better keep the alias keys to an absolute minimum size, as they eat into your LRU space.

This may be okay for some people, if:

The aliases are used for cache fetches rather than invalidation, since losing an alias causes a miss rather than stale data.
TTL's on items are low, or some other reason why occasional invalidation problems aren't the end of the world.
If for some reason fetching a key knows (or allows it) to know its aliases, CAS values are used, and a key can be invalidated on fetch if its aliases have gone missing.
Most of the above drag down performance with extra roundtrips to the server, alleviated some via multigets?

Thanks for the well written request. This sort of thing isn't very easy though: Mainly that memcached is a distributed system, so in order to actually find the key you want to remove your client needs to hash the alias key to the same server that has the final key. OR, the alias gets set where it gets set, and it returns another key that your client needs to re-fetch. Then the problem is that you can't ensure the alias stays as long as the main item without server coordination.

Hm.
Would this work?

mc.setAlias sends the alias key, cache key the alias points to, and a server id (the server id is something the client just generates based on it's own configuration of known servers)
if the server for the cacheKey corresponds to the server where the aliasKey is saved then a special noop server id is sent
if the server does not recognized the non-noop serverid (which is per client) then the server will negotiate with the client the server details corresponding to the id. On the server the id is then converted to an internal server list id and saved with the new id is saved with the alias (the server caches the client ids to avoid re-negotiation). The server might try to coorce the same server details from multiple clients into a single entry in it's internal list to avoid the follow check...
when  the server first negotiates with the client new server details for a given id, it also attempts to connect and set a test key to verify it has api access to the given server; if it fails it sends a message to the client to crash or throw an exception. The severity of the client response to this failure depends on the the method invoked; a combo method that sets the key and alias at the same time can fail more gracefully but a raw setAlias method should fail spectacularly to avoid hard to debug errors occurring from cache keys being set in the hope of being invalidated with the alias that just failed to set
if the server wishes to evict the alias it reads the server id and if it's the special noop id then it removes the cacheKey from it's key store, otherwise it sends a message to the server in it's server list (populated from talking with the client) corresponding to the id of the aliasKey requesting the other server evict the cacheKey associated with the aliasKey (there's no need for special code for this, since it can be done though normal api)
since any time the alias is evicted the cacheKey will be evicted too the constraint on the alias not being evicted before the cache key it points to is indirectly maintained. There's also no requirements of special rules in the eviction logic (other then the requirement for extra communication if the cacheKey is on a different server when an alias is evicted)
the server's internal server list is occasionally cleaned of entries that are stale

This system doesn't require a coordinator since the clients are the ones to inform the server of other servers it needs to remember. There should also not be any issue with complicated web like structures between servers and clients since the server list is populated per client. The only complication is that servers need to be able to talk with each other using the same server urls the clients use, which I don't think is a big issue considering this is an optional system. If the server can't ping the
On a non-distributed use case this is even simpler since the server would always recieve the noop ids.

Small optimization to the method in the previous post: technically so long as memcached has knowledge of the cacheKey's expiration upon creation of the alias (which it has) the alias expiration can be set to be slightly longer then the cacheKey (estimated worst case for server clock mismatch errors). By doing this we can avoid the step of communicating with the server storing the cacheKey if the aliasKey is evicted due to being expired, since the aliasKey is always ahead of the cacheKey we know the cacheKey will be naturally evicted or invalidated on retrieval.

Servers talking to servers is pretty much a non-starter.
Have you tried implementing any of your ideas in a client?  It could
actually work there.
On Wed, Jul 13, 2016 at 8:21 AM srcspider<EMAIL_ADDRESS>wrote:

Small optimization to the method in the previous post: technically so long
as memcached has knowledge of the cacheKey's expiration upon creation of
the alias (which it has) the alias expiration can be set to be slightly
longer then the cacheKey (estimated worst case for server clock mismatch
errors). By doing this we can avoid the step of communicating with the
server storing the cacheKey if the aliasKey is evicted due to being
expired, since the aliasKey is always ahead of the cacheKey we know the
cacheKey will be naturally evicted or invalidated on retrieval.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/memcached/memcached/issues/182#issuecomment-232389397,
or mute the thread
https://github.com/notifications/unsubscribe/AAAG8283joCOT-fQmjMmV3lgwpVljd-Uks5qVQJRgaJpZM4JJXwS
.

Have you tried implementing any of your ideas in a client?  It could actually work there.

Can't see them being implemented with out effectively just re-creating memcached from scratch with out the distributed over the network caching strategy.
If you're talking bypassing the problem entirely. Already do that, the issue (and it's not a showstopper) is that talking to other servers about changes in the system is annoying when everything can't be simplified to just an ID (or similar). There's just a lot of redundant messaging.

Servers talking to servers is pretty much a non-starter.

Can you elaborate?
In the case of the method earlier it should be just one server sending a message to another server; no sophisticated messaging or configuration required since the server with the aliasKey knows exactly which server it needs to send the mesage to (the client told it when sending the aliasKey).
If the cost is high then I feel like we can also assume that the entire system of two (or however many) servers caching is flawed since there's no way clients can retrieve from them efficiently yet they're prohibitively slow to communicate with each other. The cost of a server sending a message to another server is exactly like the server in question acting like yet another client after all; at most we can say the server with the aliasKey is wasting a bit in using resources that can be used to get connections to talk to the other server.

Is there a deep reason why everything has to support memcached-multi-server distributed system?
I mean I'm sure that works fine if you have machines right next to each other, but don't know if it makes sense to use if you don't know how far apart the machines are or how good the network between them is, or if your cache system needs to be inter-continental.
In those cases it feels like the very idea of caching over the network is prohibitive and its more desirable to have messaging system handle the invalidation. Since any message syncing is decoupled from the requests to the system, so even if it takes longer in extreme cases it's mostly fine since it results in some stale data and not slowdown.

Figured out a better way to do this. You can achieve the same objective of having everything be invalidated by knowing the ID by doing the entire alias strategy backwards and sprinkling a few sanity checks.
Example: Retrieving a user by username (pseudo-code)
usernameHash = crc32(tolower(username));
aliasKey = 'user.entry.username.' + usernameHash;
entryId = mc.get(aliasKey)
if (entryId == null) { // aliasKey cache miss

	// retrive from a simple index[1] on username field
	entryId = db_userId_from_username(username)
	cacheKey = 'user.entry.' + entryId

	entry = mc.get(cacheKey)
	if (entry == null) {
		entry = db_user_from_id(entryId);
		mc.set(cacheKey, entry, exp)
	}

	mc.set(aliasKey, entry.id, exp)
	return entry;
}
else { // aliasKey cache hit
	cacheKey = 'user.entry.' + entryId
	entry = mc.get(cacheKey);
	if (entry == null) { // cacheKey cache miss
		entry = db_user_from_id(entryId)
		if (entry.username == username) {
			return entry
		}
		else { // false positive cache hit

			// retrive from a simple index on username field
			entryId = db_userId_by_username(username)
			cacheKey = 'user.entry.' + entryId

			entry = mc.get(cacheKey);
			if (entry == null) {
				entry = db_user_from_id(entryId);
				mc.set(cacheKey, entry, exp)
			}

			mc.set(aliasKey, entry.id, exp)
			return entry;
		}
	}
	else { // cacheKey hit
		if (entry.username == username) {
			return entry
		}
		else { // false positive cache hit

			// retrive from a simple index on username field
			entryId = db_userId_by_username(username)
			cacheKey = 'user.entry.' + entryId

			entry = mc.get(cacheKey);
			if (entry == null) {
				entry = db_user_from_id(entryId);
				mc.set(cacheKey, entry, exp)
			}

			mc.set(aliasKey, entry.id, exp)
			return entry;
		}
	}
}

To invalidate this is sufficient,
cacheKey = 'user.entry.' + entryId
mc.set(cacheKey, null, 1);

It's not very pretty, but it should work. Although these cases happen often, they don't happen often enough to be that much of a problem. Most languages should also be able to simplify this to a generic call by using function pointers or callbacks of some sort.
Closing issue.

[1] it should probably use the hash in a hash index, making the call be something like db_userId_by_usernameHash(usernameHash, username) where the index on usernameHash and username would be used for fastest retrieval and anti-collision

Looks sane (and would be shorter with sub funcs as you said). Would definitely not use a crc32 (sha1 of some kind), and probably sprinkle adds instead of sets in some places (so parallel processes don't step on each others' keys as much).
To clarify on the other points:

It's not that the servers talking to each other is slow because clients talking is slow. It's because the complexity of communications raises with number of servers along with the client request that was already there. What was once a set request to a single server, is now potentially several roundtrips between servers (and possibly while the client is waiting!). This is why "eventual consistency" is a whole thing. It loosens the constraints on distributed systems slightly in order to regain some write performance.

The typical use case are multiple cache nodes in the same datacenter. I'll revisit this below.

The most basic example is the clastic replicated-cluster expandability conundrum. I have one server which does N reads and Y writes. It's growing and overloaded so now I have two servers doing N*2 reads and Y writes across both. Except N is really the original read capacity (X) minus Y.  (N = X - Y)
As you add servers and add read load, you typically add write load. This slowly lowers you read load until adding new servers isn't cost effective. Thus, sharded replicated pairs/etc.

As I linked earlier actually doing a distributed system with proper linearization/etc is extremely difficult. You should give one or two of those jepsen articles a read if you haven't yet; it's generally good to understand these sorts of things.

Memcached was written in 2003, where most servers were still 32bit. If you wanted more contiguous cache space,  you had to shard. No-server-chatty cache invalidation was a huge boost in performance and reliability over broadcast based cache.

Since then, servers have gotten a lot larger and companies needing caching have gotten smaller. So much so that many people can't conceptualize why you'd have two servers next to each other.. if you had more than one it would be for geographic redundancy. It turns out memcached just doesn't conceptually scale back down very well. People run one, then get confused when they restart it and have to dump the cache. Then they switch to a key/value database instead.
The entire point of this thing is to go from 1 server to 2 servers, then from 3 onward with the same API and featureset with the maximum amount of scalability. People do message passing like you said, but replicating mutations between entire clusters rather than individual machines.
That's not to say you'd have zero coordination forever, but it might not look like what you expect. IE: https://github.com/golang/groupcache from a few years ago. It trades almost all of memcached's non straight key/value features for some useful coordination features.


Investigate block change detection in DeviceMapper

Investigate how to implement block change detection in device mapper.
Side task: POC: enable docker to accept different storage driver(“device mapper”) other than “vfs”.

Try to kickstart the discussion with docker community on the feature, probably as well as more “volume” features.

Investigate whether to write a user space program to read the block changes or add a kernel module to do this.

Able to use a tool to extract block changes, and have been able to restore a volume and mount.
Work on the patch using device manager as a volume drive and submit it to Docker.

Wondering; volumes in docker are also used to circumvent the performance penalty of layered file systems; using device mapper for volumes would result in bad performing volumes, or am I misunderstanding the way this will be used here?

Device mapper is basically the guts below LVM.  You can expect pretty close to the same performance as LVM when using device mapper.  The problem with device mapper in Docker though is that by default it is implemented with a loop back file which makes the performance terrible.  Also creating new devices in device mapper is not particularly fast.
We are prototyping volume management with this though.  We want to be able to do docker volume create, docker volume snapshot, etc.  This is just exploratory.  Device mapper seems like a good approach because it provides snapshotting abilities at a block layer.

Sounds interesting! I did see the advantages of devicemapper (snapshots, possibly moving or replicating between nodes) but wasn't aware that devicemapper would allow usable performance with the right comfiguration.
Does it have advantages over ZFS?

Here is a good article about device mapper(and others) performance. Back the device mapper using raw partition would be the way to get the best performance:
http://developerblog.redhat.com/2014/09/30/overview-storage-scalability-docker/

Tabling this for a future milestone task.

I guess this has become https://github.com/rancher/convoy ? :+1:

@thaJeztah Yeah. :dancer:

Great! Gave it a short spin this week, looking good :smile:

@thaJeztah Thanks! :smile:


CH2 buying crystalis early softlocks

video of the bug in action
player is able to spend their gold before the quest appears, softlocking
this happens while slacks line "in order to complete the daedalus, you must..." is displayed

I'll make it impossible to buy stuff while dialog is being played.

Fixed in https://github.com/ModDota/dota-tutorial/pull/306 forgot to mark it


Bug in MacOS-CI

The macos-ci reports an error in macos_session.rs which blocks all pull requests.
Should we fix the disk type in the FuseSession struct?
error: usage of an `Arc` that is not `Send` or `Sync`
   --> src/transport/fusedev/macos_session.rs:117:19
    |
117 |             disk: Arc::new(Mutex::new(None)),
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = note: the trait `Send` is not implemented for `Mutex<Option<*const __DADisk>>`
    = note: the trait `Sync` is not implemented for `Mutex<Option<*const __DADisk>>`
    = note: required for `Arc<Mutex<Option<*const __DADisk>>>` to implement `Send` and `Sync`
    = help: consider using an `Rc` instead or wrapping the inner type with a `Mutex`
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync
    = note: `-D clippy::arc-with-non-send-sync` implied by `-D warnings`

closed by #155


Ensure Nova domain is respected if set

Thank you for the PR! I created a new release with your fix with the tag 2.2.0. :)


fix: show navlist when script disabled

Description:
Show navbar elements when the script is disabled and reduce cls
Before:
Navbar list elements were not shown when js was disabled.
https://github.com/eslint/new.eslint.org/pull/167 reduces layout shift in mobile view but hiding navlist by default causes issue when script is disabled.

After:

Can we just revert #167? This PR seems to have a lot of other unrelated changes.

Can we just revert #167? This PR seems to have a lot of other unrelated changes.

Reverting #167 will fix the issue but we still have CLS in mobile view.


Argument Type error while returning a gif from the AlertDialog within the example.

The argument type 'List? can't be assigned to the parameter type 'Uint8List'.

This is now fixed


Tabs do not have underline on Firefox

Which package has an issue?
@yamada-ui/react
Package Version
1.6.3
Description
Tabs on Firefox does not have underline.

Link to Reproduction
https://yamada-ui.com/components/disclosure/tabs
Steps to Reproduce

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

Browser
None
Operating System

[ ] macOS
[X] Windows
[ ] Linux
[ ] iPadOS
[ ] iOS
[ ] Android

Do you know how to fix the issue?
None
Are you willing to participate in fixing this issue and create a pull request with the fix?
None
Additional Information
This is on Chrome.

It seems like on Firefox, the style below is not being applied.
.css-8aqtwx:horizontal, .css-8aqtwx[data-orientation=horizontal], .css-8aqtwx[aria-orientation=horizontal] {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    margin-bottom: -1px;
}


[WIP] codeclimate.yml , editorconfig and other files

added eslint; script for yarn lint; eslint ignore 'sourcemap' and 'dist' folders.
Some fixes for indentation as spaces to tabs.
const or let instead of var.
eqeqeq fixes.
disabled some eslint rules for demo: no-global-assign, no-use-before-define, no-unused-vars
rebuild done with: yarn prepare.
fixes https://github.com/Neovici/nullxlsx/issues/7

@nomego I have added an basic test with web component tester and Pascal enabled this project on Travis-ci and it is passing the tests.

Great! Is still WIP? Want to refactor those two dup functions or merge as is?

Oohh cool! Tests!
One bug managed to slip in - an infinite loop if you run nullzip with createFolderEntries = true.
I pushed a fix, although I think the whole createFolderEntries feature should simply be removed... It's not used by our code and I doubt it's actually needed anywhere! That should be a separate pullrequest though.
It would be nice if the readme was updated with instructions how to build and test now (and remove the whole "No automatic tests yet"-part! ;) )
Removing the "dupe" functions is not as straight-forward as it sounds... It uses "this" heavily so would need some inheritance between the classes... Or some js "prototype" magic I have no clue how to write?
Anyway, I say merge as-is and fix that in a separate PR


task/02-interfaces

[x] Mentor is added to pr
[x]  AC copied to pr description
[ ]  Link to deployed version is added to pr
[ ]  Interfaces for Product and Category based on swagger are created and exported in separate file.
[ ]  Static header and footer are created according to mobile and desktop designs.

Acceptance criteria for 1*

[ ]  Shared component SocialIcon is created and used for footer icons
[ ]  Link to social network and path to icon are passed to component by the typed props

лючшій сайт

you need to save all the pictures in the project and embed them, not insert them with code. It's not readable and a lot of redundant code


Feature/Added fielset to forms

To make it easier to disable forms, I added the fieldse tag to all the forms

Coverage increased (+0.08%) to 79.084% when pulling fcdcfde04dd64082788a7fde892ec22d73982bc9 on feature/hability-to-disable-forms into 71c17b24c351f7bab602e186b8e325f41fc16d83 on develop.

Coverage increased (+0.08%) to 79.084% when pulling ecc93abfb641d138ef89b0df519e0eadc64ad9e8 on feature/hability-to-disable-forms into 71c17b24c351f7bab602e186b8e325f41fc16d83 on develop.


[Bug-13882][Worker] Upgrade kubernetes-client version to 6.0.0

Purpose of the pull request

This PR closes https://github.com/apache/dolphinscheduler/issues/13882
Upgrade kubernetes-client version to 6.0.0, which solve the bug mentioned in above issue, it no longer uses PipedInputStream and PipedOutputStream which are replaced by Channel in new version, which can also solve other potential bugs.

Brief change log

Replace usages of deprecated DefaultKubernetesClient and build client in a recommended way.
Clean the logic of pod log collection in AbstractCommandExecutor.

Verify this pull request

Manually tested, the same bug will never happen.

I've tried different ways to solve this bug and keep dependency version unchanged, but all of them don't work well, such as we control the create and close PipedInputStream in DS.
In addition, here the change log in kubernetes-client:
The usage of Piped streams is no longer supported - they make assumptions about reading and writing threads, which the client no longer honors.  They should not be passed into
the methods accepting InputStreams and OutputStreams.

ContainerResource.writingInput(PipedOutputStream in) and readingXXX(PipedInputStream out) have been removed - use the redirecting methods instead.

Thus, i think upgrade the version of this dependency is a better choice.

Please check the license file and you should need to update it.

Thanks for the reminder, may i ask can we keep two different version of the same dependency? It seems like kubernetes-client v5.10.2 is a sub-dependency of sprint-boot.

Please check the license file and you should need to update it.

Thanks for the reminder, may i ask can we keep two different version of the same dependency? It seems like kubernetes-client v5.10.2 is a sub-dependency of sprint-boot.

If you upgrade the version in bom module, all the versions of kubernetes client should be the same version. All you need to do is to check whether the new version is compatible with the old one

If you upgrade the version in bom module, all the versions of kubernetes client should be the same version. All you need to do is to check whether the new version is compatible with the old one

Done.

Codecov Report

Merging #13891 (f57de62) into dev (41a8ba9) will decrease coverage by 0.09%.
 Consider uploading reports for the commit f5465a8 to get more accurate results

@@             Coverage Diff              @@
##                dev   #13891      +/-   ##
============================================
- Coverage     38.94%   38.85%   -0.09%
+ Complexity     4460     4448      -12
============================================
  Files          1157     1158       +1
  Lines         42366    42384      +18
  Branches       4769     4751      -18
============================================
- Hits          16498    16468      -30
- Misses        24051    24103      +52
+ Partials       1817     1813       -4

Impacted Files
Coverage Δ

...e/dolphinscheduler/common/constants/Constants.java
75.00% <ø> (ø)

...heduler/common/log/remote/GcsRemoteLogHandler.java
0.00% <0.00%> (ø)

...ler/common/log/remote/RemoteLogHandlerFactory.java
0.00% <0.00%> (ø)

...apache/dolphinscheduler/common/utils/LogUtils.java
1.40% <0.00%> (+1.40%)
:arrow_up:

...duler/plugin/task/api/AbstractCommandExecutor.java
0.00% <0.00%> (ø)

...ugin/task/api/am/KubernetesApplicationManager.java
0.00% <0.00%> (ø)

...lphinscheduler/plugin/task/api/utils/K8sUtils.java
3.50% <0.00%> (ø)

...olphinscheduler/plugin/task/api/utils/OSUtils.java
0.00% <0.00%> (ø)

...rg/apache/dolphinscheduler/api/k8s/K8sManager.java
58.53% <100.00%> (ø)

...hinscheduler/common/log/remote/RemoteLogUtils.java
25.00% <100.00%> (+4.31%)
:arrow_up:

... and 35 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi, @kezhenxu94 , feel sorry that I miss some dependencies in last commit which have already been added now. In addition, i want to make sure that is it okay to add dependencies with CVEs?

It's OK but if possible we should not do that, consider upgrading to a version that has all known CVEs fixed

I've carefully checked that, CVE comes from sub-dependency jackson-databind-2.13.4 which has been imported in  DS before, there's nothing wrong with kubernetes-client-6.0.0.


Highlight url instead of text when embedding a link

Is your feature request related to a problem? Please describe.
It really annoys me every time I press ctrl+k with the display text selected and I accidentally paste over it and then have to undo that, select the "https://" thing, and then paste the url. Please make it so that it just goes straight to highlighting the "https://".
Describe the solution you'd like
When writing text, make it so that if display text is already selected and the link embed shortcut is pressed, auto select the url instead of the display text.
Describe alternatives you've considered
Being slower when embedding links.
Additional context
In case it's not clear, I'm talking about the "advanced" text editor when writing descriptions for videos/channels.

Waiting for Better cursor handling when creating links and pasting URLs.


Research JNI bindings for Rust

Check how to use JNI crate (https://crates.io/crates/jni).
Check how to make all dependencies and other stuff to be conditionally compiled under feature flag.
Implement data type conversions between FEEL and Java.
Design universal Java function that will be able to call other static functions based on parameters passed from FEEL.
Implement examples of integration with Java from compatibility tests.
Maybe this universal function can be saved on user's machine as source code and automatically compiled on user's JDK before running? (javac).

Embedding JVM in Rust application works fine, but is not the safest idea. In the context of evaluating externally-defined Java functions embedding JVM with JNI crate would require to many changes in DMNTK basecode (threads, sharing etc.).
The final solution selected to solve this problem is external Java RPC server, called from DMNTK using REST API. Slow, but easy to maintain. In fact, it is generally not the best idea to call "slow" Java from "fast" Rust. In the cases when there is no required function in DMN defined, then using externally-defined Java function can be a temporary solution.
See also: https://github.com/dmntk/dmntk.java.server


Promote logging from private to public: _logging.py to azlogging.py

The name logging.py confuses the built-in Python logging library so went for azlogging.py instead.


Add branch coverage _get_form

Add code coverage for the function _get_form in scrapy/http/request/form.py

For the first code snippet the break statement is never excersiced.
For the second code part the if statement is always excecuted

...
while True:
        if el.tag == 'form':
            return el
        el = el.getparent()
        if el is None:
            break
...

if formnumber is not None:
        try:
            form = forms[formnumber]
        except IndexError:
            raise IndexError("Form number %d not found in %s" %
                             (formnumber, response))
        else:
            return form


Timing of LIFF.init

In liff-playground, LIFF.init is called before DOM.render, but in the template of create-liff-app, LIFF.init is called in useEffect.
Which is better?
liff-playground
https://github.com/line/liff-playground/blob/master/src/index.tsx
create-liff-app template
https://github.com/line/create-liff-app/blob/main/templates/react-ts/src/App.tsx

Hi, @r-hirakawa.
Both are possible solutions.
If you are calling liff.init in useEffect, make sure that calling it in the top-level component.


Revert 1 bug/invalid package name

This PR for some reason is throwing some weird errors!
Please make a new PR. I am closing this one!


modern syntax

Thanks to @pocketjoso we found out, that its impossible to adjust options for the require hook in the modern syntax. According to the http://calculist.org/blog/2012/06/29/static-module-resolution/

This import is resolved at compile time — that is, before the script starts executing. All the imports and exports of the declarative module dependency graph are resolved before execution.

It makes futile to adjust it right after the import. So have to look for another options :(
https://github.com/css-modules/css-modules-require-hook/issues/6#issuecomment-136396717

Just thought about to make the way to configure hook via external file, similar to gulpfile.js.

Eventually I made preset module which uses cmrh.conf.js file.


Archiving the repo

Hi @isaacplmann,
It seems this repository is not maintained any more. I did the last update to keep up with Angular 12 but you are not accepting any other changes. I respect that as I know how open source maintenance is time consuming and I want to thank you for your work and the help this library gave to all your users.
Now, I think, if you intend not to work any more on this project for the time being, that it would help your users if you tell them clearly and archive the project.
As I was not able to bring some cleanup and features to your project I forked it here @perfectmemory/ngx-contextmenu and continued to release new versions. So I suggest, if you will, that you redirect them to the forked repo by adding a header in your README. I can provide a PR.
Thanks again,
Stephane

I'm wondering how many people is not starring your repo instead of this abandoned repo.
Even npmjs.com says your fork is more popular and having more downloads.

I like that perfectmemory has taken on the task of updating the current repository. But unfortunately, he changed the API a lot and switching to his version of the project requires a lot of effort and encounters some bugs.
Since I needed to keep the current functionality, but get support for modern Angular, I forked this repository and updated it to Angular 17
If you use the old nxg-contextmenu, then switching to my repository will not require any changes from you, except replacing the npm package
https://github.com/Kreash/ngx-contextmenu
https://www.npmjs.com/package/@kreash/ngx-contextmenu


To allow shap to work with models that consume time series data and u…

…se pandas dataframe as input and output, I'm proposing this change. Because shap convert dataframe into ndarray and only work with ndarrays, I propose keep index information when flag keep_index is set to be True, and reconstruct the dataframe before shap calls model.f function. keep_index is set to False by default, so there should be no behavior change to existing use case. This change should go after the change in iml package. Please feel free to let me know if you have any questions/concerns. Thanks!

Thanks! I'll look this over soon.


Use tmpfs for vmdb/log during build

https://github.com/ManageIQ/manageiq-appliance-build/pull/138#discussion_r95902993
"we should use the trick that Geert used where we mount tmpfs, and then just toss the tmpfs disk at the end. This way we keep the image size down since deletes don't really delete the on-disk bits"

Switching to rpm based appliance build (https://github.com/ManageIQ/manageiq-appliance-build/pull/415) made this issue obsolete.


Add isolated margin account and order

Describe the bug
I want to add isolated margin account_info and order functions myself but I don’t know how to do that. Can anyone help me please!!!
Expected behavior
Add isolated margin account info and order functions.
Environment (please complete the following information):
Ubuntu 16
Python 3.7
Python-binance

For this you should find the endpoint address from the official API documentation.  For Query Isolated Margin Account Info (USER_DATA) it is:
GET /sapi/v1/margin/isolated/account (HMAC SHA256)

Then try to add it to client.py. See other functions to know which prefix/variable represents /sapi/. Also a PR is nice if everything works.

Thanks a lot!!! It works fine for me, just add a function in client.py file.

mind creating a PR for the community?

Yes sure! I’m really glad that I can help, I’ll work on that😁

How is this coming on on adding the isolated market functionality?
I need to do the same in the next couple of weeks.  Do you want me to help with the PR or create it?  Thanks a lot.  Great work  :-)

I've now added the Binance isolated margin endpoints I need.
And I have updated the docs for isolated margin.
I'll post a PR now and you can review if you want to include @kimchirichie

merged!

Great.  Thanks @kimchirichie
Do you have a plan for when to do the next Pypi release?
For now I will import from master branch.

@ttamg 0.7.7 was released 4 days ago. thanks for waiting


Unable to recreate same bytecode between Foundry and Solidity compiler

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (42fb694 2023-07-04T04:05:19.933539600Z)
What command(s) is the bug in?
forge build
Operating System
Windows
Describe the bug
tl;dr - Whilst compiling with Foundry, we ended up producing bytecode which is dissimilar to compiling directly using solc binaries. Any chance we might be missing any settings in the json-input?
Source: https://github.com/FraxFinance/frax-governance/tree/4e3189bfaae1a667f8f0e993d374a04907ef7d12
Replace foundry.toml with:
[profile.default]
# The source directory
src = 'src'
# The artifact directory
out = 'out'
# A list of paths to look for libraries in
libs = ['lib']
# Whether or not to enable `vm.ffi`
ffi = true
# Enables or disables via-ir
via-ir = true
# Enables or disables the optimizer
optimizer = true
# The number of optimizer runs
optimizer_runs = 20_000
# Improves verification
bytecode_hash = "none"
# Contracts to track with --gas-report
gas_reports = ["FraxGovernorAlpha", "FraxGovernorOmega", "VeFxsVotingDelegation", "FraxGuard"]
# EVM version
evm_version = "london"
# Version to compile with
solc_version = "0.8.19"
cbor_metadata = false

# See more config options https://github.com/foundry-rs/foundry/tree/master/config

[fmt]
line_length = 1000 # This gets overriden by prettier afterwards
tab_width = 4
bracket_spacing = true
int_types = "long"
number_underscore = "thousands"

With this, we could compile bytecode identical to on-chain bytecode. However, transforming this to json-input and manually compiling with solc 0.8.19 binaries, we ended up with a different set of bytecode.
arbitrum-frax.txt
Mainly the settings being:
  "settings": {
    "remappings": [
<EMAIL_ADDRESS>      "@openzeppelin/=lib/openzeppelin-contracts/",
      "ds-test/=lib/frax-standard-solidity/lib/forge-std/lib/ds-test/src/",
      "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
      "forge-std/=lib/frax-standard-solidity/lib/forge-std/src/",
      "frax-standard-solidity/=lib/frax-standard-solidity/src/",
      "frax-std/=lib/frax-standard-solidity/src/",
      "openzeppelin-contracts/=lib/openzeppelin-contracts/",
      "openzeppelin/=lib/openzeppelin-contracts/contracts/",
      "safe-contracts/=lib/safe-contracts/contracts/",
      "safe-tools/=lib/safe-tools/src/",
      "solady/=lib/safe-tools/lib/solady/src/",
      "solmate/=lib/safe-tools/lib/solady/lib/solmate/src/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 20000
    },
    "metadata": {
      "appendCBOR": false,
      "bytecodeHash": "none"
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "evmVersion": "london",
    "viaIR": true,
    "libraries": {}
  }

The diff (https://difff.jp/en/vqb56.html) here - Feel free to ignore the immutables since we'd process that during verification time - However the small diffs seems to be indicating there's some settings that is being missed out. Though I think the settings line up - optimizer enabled, runs at 20k, appendCBOR false with no bytecodehash, evmVersion being London and enabled viaIR..... Any chance we might be missing anything?

Hah... Dug around for the past couple hours, and good news, it isn't Foundry (whew). :)
Was able to narrow it down to one file now, when included/excluded, seem to result in bytecode diffs. (attaching in case you might be curious)
2.txt
1.txt
Wish I know better what might be going on. 🥲  Might need to ping the Solidity team...
Closing this. And thanks Matthias, --build-info was helpful! We can ask users to provide it the next time they have issues verifying their contracts, makes it easier for us to quickly identify if it's a setting issue, etc.


References in Subfolders not getting updated

I can't seem to get references in subfolders to update with the hashed name.
My config is :
cacheBust: {
           test: {
               options: {
                   deleteOriginals: true,
                   assets: ['**/**.{css,html}'],
                   baseDir: 'dist'
               },
               files: [{
                   expand: true,
                   cwd: 'dist',
                   src: ['**/*.{html, js}',]
               }]
           }
       }

My app structure prior to running task :
app|
---|dist|
--------|child.html
--------|child.css
--------|foo|
------------|foo.html
------------|foo.css
------------|bar|
----------------|bar.html
----------------|bar.css
--------|noop|
---------------|noop.html
---------------|noop.css

When I run the task, all the file are correctly renamed with the hash val. The issue is that with the exception of the reference in child.html being updated, none of the other references are updated.
foo.html
<!doctype html>

    <link href="foo.css" type="text/css" rel="stylesheet" />

FOO!!!

I've tried various configs but without any success. I've even tried to reference the source files directly.
files: [{
    expand: true,
    cwd: 'dist/',
    src: ['dist/foo/**/*.html', 'dist/noop/**/*.html']
 }]

and also
src: [ 'dist/foo/*.html', 'dist/noop/*.html']

Im using grunt-cache-bust v 1.7.0
Thanks in advance.

+1 facing the same issue on grunt-cache-bust v 1.7.0.

+1 I faced the same issue. Seems like there is a PR https://github.com/hollandben/grunt-cache-bust/pull/245 which should fix it.  We should wait for it to be merged soon.

Running Windows and having the same issue, but the code from the PR doesn't seem to solve it for me.

I can also confirm that #250 works as expected (Linux).


docs: Update migration guide to add not for increased NodeClaimNotFou…

…ndError

Fixes #N/A
Description
Karpenter will waits for the underlying instance to be completely terminated before deleting a node and orchestrates this by emitting NodeClaimNotFoundError. With this change we expect to see an increase in the NodeClaimNotFoundError. Documented this in the upgrade guide.
How was this change tested?
NA
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

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

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.01%) to 79.349%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
91.67%

Totals

Change from base Build<PHONE_NUMBER>2:
0.01%

Covered Lines:
5921

Relevant Lines:
7462

💛  - Coveralls

@jigisha620 Can we update the PR description as well -- looks like the title for the PR got too long


indexer v. algod nightly test is likely broken

Broken Nightly Test - Re-imagine or Just Remove
We can see that the nightly indexer v. algod test is failing. This is because the go-algorand submodule dependency has been removed (though the error on Circle seems to obscure this).
I don't know if the test even makes sense anymore, but before removing, we ought to assess whether it is worth to keep some version of it.

@shiqizng and @winder have noted that this is not obsolete, so the job needs to be amended / rethought

This is hopefully addressed by https://github.com/algorand/indexer/pull/1496#pullrequestreview-1326563782

Ok, so the error I was seeing is the real error.


OB Colors change on certain actions

The red on the sells becomes darker when certain actions are triggered but that doesn't happen on the buy side.

This is resolved, I've removed the transforms that might have caused this. If this persists, please enable Hardware acceleration on your browser.


Locking behaviour of CO_error

We are using CANopenNode revision ca5f357. Our firmware uses FreeRTOS and has multiple tasks which do calls to CO_error via the CO_errorReport and CO_errorReset macros.
Recently we noticed that because we have multiple tasks calling CO_error, we should have a FreeRTOS mutex in the CO_LOCK_EMCY macro, in order to protect the emergency FIFO.
However as we were looking at this, we noticed that when a SDO read of the emergency history happens (register 0x1003 subindex 1), then neither CO_LOCK_EMCY or CO_LOCK_OD is called, although it reads from the same FIFO that CO_error writes to.
What would be the recommend locking behaviour when using a RTOS?
Should we modify the CANopen implementation so that it always locks the object dictionary using CO_LOCK_OD (we are thinking of using the same mutex in both CO_LOCK_EMCY and CO_LOCK_OD) before doing a SDO read?
We could imagine that this issue is not specific to the emergency registers.

I have opened a PR https://github.com/CANopenNode/CANopenNode/pull/432 to illustrate how we want to fix the issue.

I agree with you. And would like to discuss a little and re-think CO_LOCK_OD behavior.
In SDO server and SDO client lock is used only, if OD var is PDO/SRDO mappable. This condition was actually my idea and is new inside stack V4. In old versions lock applied always.
Now I think, lock should be applied always, not only if OD var is mappable. Just don't find any benefits, why using the condition.
V4 is rewritten version of the stack and is relative new, so I think, we should just revert CO_LOCK_OD behavior. Also I don't like to add to many configuration options, that part is complex already.
So I suggest just to remove lines with bool_t lock = OD_mappable(&SDO->OD_IO.stream); and remove if (lock) conditions.
If you agree, just change the PR and I will merge.

Our reason to make it configurable was to keep the locking minimal for users that do not use multiple tasks/threads accessing the OD. In that case you only have to lock if a OD var is mappable.
I agree in order to keep the code and configuration simple it would be better to always lock. I will change the PR accordingly.

I have pushed the changes.
OD_mappable is no longer being used by the library, but I decided not to remove it, as it might still be helpful for users who want to check if they should lock in their application code.

It is merged, Thank you.


Convert HTML to PDF with Docraptor

Formatting and structure checks

[X] Have you used the correct folder and file structure? - see Contribution Guidelines
[X] Is your article properly formatted in Markdown? - see Github Markdown guide
[X] Have you used our preferred heading structure? - H3 (###) and up
[X] Does your article follow any of the suggested structure formats? - see example formats
[X] Is your article over 750 words? - Tool: Wordcounter.net
[X] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.
[X] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.
[X] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.
[X] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[X] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[X] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[X] Have you checked your article for readability? - Tool: Hemmingway
[ ] Have you added sources for quotes and images that aren't yours?

Technical checks

[X] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[X] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[X] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes
This closes #4179

@mercymeave All set

@mercymeave  I'm done with all the changes that were required to move, everything is set.

I will re-open the PR then you push the changes.

@mercymeave, requested changes have been executed accordingly

Hello @taves-hub,
I have gone through the changes. You have a great piece of article that would help our readers. However apart from what is in the documentation, would you please provide real-life use cases?
The example you used is similar to what they used in the documentation.
Think of something like how to create a website and include it as a plugin that converts a specific webpage to a pdf. Take for instance I have a website that displays records or generates receipts, how would I implement Docraptor to perform this action for my site?
I think giving readers this level of content will yield more value to our platform and your portfolio as well.
No rush just take your time. Ping me once you are done.
cc: @hectorkambow

👍 Great feedback and guidance @mercymeave
🚀
Well done - if more time is needed - we can close the PR to allow the author the proper time to make the required edits.

@mercymeave working on it

@mercymeave  working on it

@mercymeave, requested illustration committed

Hi @mercymeave what next

Hi @mercymeave what next?

@mercymeave, necessary changes have been put into place

ON IT.

@taves-hub
If any other edits are needed during the tech review - we will be closing this PR and please re-submit when it is ready to be published as a new PR (and you can add the duplicate label) and ping the reviewer.  👍
cc @mercymeave
As a rule of thumb - please only submit articles (pull requests) with a complete and fully polished article - ready to be published.
All revisions and edits should be completed on your own forked repo (as to not take up room in the queue).
Closing a PR does NOT mean the article can not be published (or fixed) it simply means that the edits, revisions, and fixes will happen outside of the queue.
🚀

@mercymeave ,@hectorkambow, i believe that this article is more than ready to proceed to final review. Thank you

@mercymeave ,@hectorkambow, i believe that this article is more than ready to proceed to final review. Thank you

I urge you to be patient as I work on refining your article. We encourage authors to be patient so that we don't rush publishing article that are not polished enough.

Hello @taves-hub
I urge you to be patient as I work on polishing this article. We highly encourage publishing very well polished articles for the benefit of our readers. Thank you for your patience.

@mercymeave, Done

Hello, you don't have a hero image. Secondly, delete one of the redundant converted-pdf-with-docraptor.png file. Just one is enough.

@mercymeave
This PR should have been closed days ago

@taves-hub Please be sure to go through ALL the edits by our peer reviewer and make the last edit required.
Place all these in a new PR and we can add a duplicate label to it.
This PR has gone way far into revision - our team can not provide revisions services.
Our team can only review before publishing. 👍

@mercymeave
This should NOT occur:

I urge you to be patient as I work on polishing this article. We highly encourage publishing very well polished articles for the benefit of our readers. Thank you for your patience.

👍 Great feedback and guidance @mercymeave
🚀
Well done - if more time is needed - we can close the PR to allow the author the proper time to make the required edits.

We should have closed this around 10 days ago - to allow the author the time to properly make the edits - WE ARE NOT TO MAKE THE EDITS FOR THE AUTHORS.


[1.x][backport] Update hadoop-minicluster version for test fixture. (#645)

backport of #645
Description
The hadoop-minicluster:2.8.5 which is used for integration tests, has dependencies (listed below) which have been flagged for having security vulnerabilities.
netty-3.7.0.Final.jar
commons-beanutils-1.7.0.jar
zookeeper-3.4.6.jar
jackson-mapper-asl-1.9.2.jar
nimbus-jose-jwt-4.41.1.jar

Update hadoop-minicluster to the latest version 3.3.0

This change has been overwritten in #654 and hence not needed.

@adnapibar Thanks. Will omit this.


build: basic .devcontainer configuration for VSCode

@tindron @turboladen
This one is ready to merge.
(one CI run failed due to failed flaky spec)


think about handling almost expiring tokens

when an access_token exists for a client|scope|redirect_uri it will be reused if it is still valid, but also if it is only valid for e.g. 1 second. Maybe there should be a period in which a new one is generated ahead of time.
Then again, maybe we should just always generate a new token...

yeah, got rid of the "reuse" of tokens altogether.


Fix the quick-submit for pending review comment

Close  #20990
If there is only one "Add comment" button (when there are pending review comments), the quick-submit should submit the form with is_review=true even if the "Add comment" button is not really clicked.

Codecov Report

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

@@           Coverage Diff           @@
##             main   #20992   +/-   ##
=======================================
  Coverage        ?   47.04%
=======================================
  Files           ?     1005
  Lines           ?   136915
  Branches        ?        0
=======================================
  Hits            ?    64415
  Misses          ?    64597
  Partials        ?     7903

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

make lgtm work


flash support #2

Hi there, if I'm not wrong you linked the parent directory of the app for the flash plugin, with this line:
app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, '../plugins', 'libpepflashplayer.so'));

I haven't actually got around to testing it, but shouldn't the directory reference the exact path to the plugin within the chrome app on the user's computer?

If the user doesn't have the chrome installed he'll not have the plugin and if the plugin is in a parent directory the user always will have.
I made some tests on Linux (Ubuntu, Linux Mint) and Windows 10.

Sorry for the late reply, I've done a test on OSX on https://helpx.adobe.com/flash-player.html and it does not appear to work. Perhaps you have to reference the chrome pepper flash path directly?
This is what it says for me in my chrome://plugins for Flash
Adobe Flash Player - Version: <IP_ADDRESS>6
Shockwave Flash 20.0 r0
Name:	Shockwave Flash
Description:	Shockwave Flash 20.0 r0
Version:	<IP_ADDRESS>6
Location:	/Applications/Google Chrome.app/Contents/Versions/48.0.2564.97/Google Chrome Framework.framework/Internet Plug-Ins/PepperFlash/PepperFlashPlayer.plugin
Type:	PPAPI (out-of-process)
 	Disable
MIME types:
MIME type	Description	File extensions
application/x-shockwave-flash	Shockwave Flash
.swf
application/futuresplash	FutureSplash Player
.spl

it might in some future version of nativefier
add the command line the ability to copy the flash plugin to main directory resources / lib / "pepflashplayer.dll"
for websites that need flash can be used as Spotify web
with the possibility that this enabled to operate

Would it be possible to add a script to automatically find the path of the flash plugin from chrome for the user, so that he does not have to specify it directly?

of fine by me that automatically use the plugin directory google chrome. OwO
the problem is those who do not use google chrome will be obliged to install
disculpa mi ingles, use google traductor :p


Backport to 1.23 the metrics port definition for istio-cni

Please provide a description of this PR:

Hi @m3nax. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.


Demo Simulations

As well as providing the user with demo contracts, we now also give them
some demo scenarios to try out. This should make it much easier to get
started and understand what's going on before you start to write your
own.

Please review, but I want to add some more demo simulations before I merge.
One thing to note which might be controversial: I've added TokenName to the Ledger.hs exports (because I needed it). I don't know why it wasn't already exported - I'm guess just because it wasn't needed. But I'm flagging it in case there's a special reason. I get scared when changing ledger code. ;-)

One thing to note which might be controversial: I've added TokenName to the Ledger.hs exports (because I needed it). I don't know why it wasn't already exported - I'm guess just because it wasn't needed.

Yep, seems fine.

Thanks for the reviews. All addressed and pushed. Just a merge conflict to get through now I think. Any more for any more?


⚠ HawkeUno has degraded performance

In 1cb4a7b, HawkeUno ($UNO) experienced degraded performance:

HTTP code: 403
Response time: 1381 ms

Resolved: HawkeUno performance has improved in a79d46c after 8 minutes.


Need more default completions

If anybody can think of a completion that would be useful for a lot of people, please share it here. You don't need to make a PR yourself, just explain:

What the display text is (what appears in the popup box)
What it should expand to
Why it deserves to be included
Which scopes it belongs in (e.g., everywhere, maths, table, ...)

@PierreMarchand20 My current design is to make the second cursor location next to the environment name for things with starred versions (that are reasonably likely to be used). For example, \align expands to
\begin{align$2}
  $1$3
\end{align$2}

This way, the cursor starts in the right place 99% of the time, and it is only a tab press away from enabling the starred version. I've added the equation environment and given it a similar snippet in the latest update. If I've missed any more environments that have starred versions, let me know.
I've also added more sectioning commands, including chapter. They also have the cursor placement for stars, as follows:
\section$2{$1}$3

Also added aligned.

It would be nice to have a frame: great for making beamer presentations.

display text: \frame

it should expand to

\begin{frame}[]{}

\end{frame}

Usually used in the documentclass beamer

Scope: everywhere.

Is there a way to add completions for all greek/math letters?


Hind_Encorp all done

ALL TEST PASSED locally

@rahul-art  kindly run the following from the datasets folder
make style
flake8 datasets

@skyprince999 I did that before it says all done

I did that again it gives the same output all done and then  I synchronized my changes with this branch

@lhoestq i did all the changes you suggested but at the time of load_dataset it is giving me error
**datasets.utils.info_utils.NonMatchingSplitsSizesError: [{'expected': SplitInfo(name='train', num_bytes=76591256, num_examples=1, dataset_name='hind_encorp'), 'recorded': SplitInfo(name='train', num_bytes=78945714, num_examples=273885, dataset_name='hind_encorp')}]**

I cloned the branch and it seems to work fine at my end. try to clear the cache -
rm -rf  /home/ubuntu/.cache/huggingface/datasets/
rm -rf  /home/ubuntu/.cache/huggingface/modules/datasets_modules//datasets/

But the dataset has only one record. Is that correct?

@lhoestq i did all the changes you suggested but at the time of load_dataset it is giving me error
**datasets.utils.info_utils.NonMatchingSplitsSizesError: [{'expected': SplitInfo(name='train', num_bytes=76591256, num_examples=1, dataset_name='hind_encorp'), 'recorded': SplitInfo(name='train', num_bytes=78945714, num_examples=273885, dataset_name='hind_encorp')}]**

You can ignore this error by adding ignore_verifications=True to load_dataset.
This error is raised because you're loading a dataset that you've already loaded once in the past. Therefore the library does some verifications to make sure it's generated the same way.
However since you've done changes in the dataset script you should ignore these verifications.
You can regenerate the dataset_infos.json with
datasets-cli test ./datasets/hindi_encorp --save_infos --all_configs --ignore_verifications

I cloned the branch and it seems to work fine at my end. try to clear the cache -
rm -rf  /home/ubuntu/.cache/huggingface/datasets/
rm -rf  /home/ubuntu/.cache/huggingface/modules/datasets_modules//datasets/

But the dataset has only one record. Is that correct?

Yes the current parsing is wrong, I've already given @rahul-art some suggestions and it looks like it works way better now (num_examples=273885).
Thanks for fixing the parsing @rahul-art !
Feel free to commit and push your changes once it's ready :)

i ran the command you provided datasets-cli test ./datasets/hindi_encorp --save_infos --all_configs --ignore_verifications
but now its giving this error
FileNotFoundError: Couldn't find file locally at ./datasets/hindi_encorp/hindi_encorp.py, or remotely at https://raw.githubusercontent.com/huggingface/datasets/master/datasets/./datasets/hindi_encorp/hindi_encorp.py or https://s3.amazonaws.com/datasets.huggingface.co/datasets/datasets/./datasets/hindi_encorp/hindi_encorp.py.
If the dataset was added recently, you may need to to pass script_version="master" to find the loading script on the master branch.

whoops I meant hind_encorp instead of hindi_encorp sorry

#1584 all changes have done successfully

Ok thanks ! closing this one in favor of #1584


Templates from String Literals

Adds support for creating Templates from String Literals, to make dependent APIs more expressive.
func doSomething(_: Template) { ... }
doSomething("Hello {{ name }}")

Thanks, this makes sense.
The test failure is unrelated and I'll fix that separately.

Thanks for the fast merge. 👍


AgentOps Implementation

Integrates AgentOps.
Adds support for tracking LLM calls, Agents, and Tool usage

Don't merge this as is. We need to handle the case where agentops isn't installed more gracefully. Working on this now.

@joaomdmoura possible to merge this branch soon? We really need AgentOps to monitor the performance of a support bot we're building using Crew.

temporarily merging this for the weekend


projector not working from 96 by 96 to 64 by 64 (IMPORTANT)

as title

Fixed in a private branch. To be merged soon.


presence="optional"

How can i recognize that a optional field has null value ?
Is in the field.h structure a field that says that it is null ?
Thanks

The C++ OTF decoder uses the Java decoder model. Which has the ability to check for null values from the IR.


Nginx reverse proxy - upstream name must match the service or it fails to route

If I have a service called foo-bar and I create an upstream block like this:
upstream foo {
    zone foo_service 64k;
    server foo-bar:8080;
}

Then I proxy the request to this upstream like this:
location ~ ^/v1/bar$ {
    limit_except put delete options {
        deny all;
    }
    set $upstream foo;
    rewrite ^/v1/(.*)$ /_foo/$1 last;
}

location ~ ^/_foo.*$ {
    internal;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto;

    rewrite ^/_foo/(.*)$ /$1 break;
    proxy_pass http://$upstream;
}

It will cause an infinite loop with istio, but if I change the name of the upstream to foo-bar instead of foo so it matches the name of the service it works fine.
This is quite a headache when I am using third party solutions like cloudendpoints esp proxy.
EDIT:
It seems like it is not an infinite loop (maybe just some retry logic?). I believe the problem is that istio-proxy intercepts the local calls and decides the upstream that I configured with nginx must be out of istio's scope so it tries to redirect it outside of the mesh.

sorry but how is this related to istio?

@linsun this problem occurs when istio-proxy is injected, normally this flow is tottally fine but when the envoy proxy is present I get this behaviour.

[2019-05-31T07:13:55.641Z] "GET /v1/namespaces HTTP/1.1" 503 UC "-" 0 95 2 - "<IP_ADDRESS>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "a447d68d-83f9-4cd8-8fab-d687f9da5f8f" "localhost" "<IP_ADDRESS>:8080" PassthroughCluster - <IP_ADDRESS>:8080 <IP_ADDRESS>:0 -
[2019-05-31T07:13:56.016Z] "- - -" 0 - "-" 2801 4207 369 - "-" "-" "-" "-" "<IP_ADDRESS>:443" PassthroughCluster <IP_ADDRESS>:35412 <IP_ADDRESS>:443 <IP_ADDRESS>:35410 -
[2019-05-31T07:13:57.020Z] "- - -" 0 - "-" 3841 4255 13 - "-" "-" "-" "-" "<IP_ADDRESS>:443" PassthroughCluster <IP_ADDRESS>:56156 <IP_ADDRESS>:443 <IP_ADDRESS>:56154 -

I get a bunch of PassthroughCluster in istio-proxy logs when I try to visit an endpoint that is proxied to another service. (This is the third party cloudendpoints esp with predefined nginx config)
The same thing was happening in my own nginx reverse proxy, when I changed the upstream name to match the server name of the service I try to proxy to. I see the proper outbound_.8080_.v1_.foo-bar.namespace.svc.cluster.local

My guess is that nginx registers the upstream with the name I provide and when I call is using proxy_pass it would normally go to the server I specified but istio-proxy intercepts the local call as well and decides it is out of cluster. I am not that familiar with the inner working of the proxy but this is my guess.

Might be related to https://github.com/istio/istio/issues/14443

Hey,
This is not an istio issue, getting nginx to work with istio is a little bit difficult.  The issue is because fundamentally nginx is making an outbound request to an ip that is has resolved from your hostname foo-bar.  This won't work as envoy doesn't know what cluster ip belongs to, so it fails.
I'd suggest using the ingress-nginx kubernetes project and in turn using the following value in your Ingress configuration:
  annotations:
    nginx.ingress.kubernetes.io/service-upstream: "true"

What this does is ensure that nginx doesn't resolve the upstream address to an ip, and maintains the correct Host header which the sidecar uses in order to route to your destination.
I recommend using this project because I use it, with Istio, with a 240 odd service deployment.
If you're not using ingress-nginx, I think you can set proxy_ssl_server_name on; or another thing you could try is forcefully setting the Host header on the outbound request to the internal fqdn of the service so:
proxy_set_header Host foo-bar;

Hope this helps but as I say, it's an nginx configuration rather than an istio problem.

@Stono Thanks I will investigate these options. I do use ingress-nginx and I want to change all my ingresses to istio gateways+virtualservices, the reason I use an nginx is for my api-gateway.
ESP proxy (Google Cloud Endpoints) -> Nginx API-gateway -> My Application

@Mr-Linus yeah gateways would be one way to do it but then you're managing certs on envoy.
I personally use ingress-nginx with the Deployment annotation traffic.sidecar.istio.io/includeInboundPorts: "" which means istio-proxy won't intercept inbound traffic.
Then you have:
[google cloud load balancer] -> [ingress-nginx -> envoy] -> [envoy -> some-service]
And ingress-nginx can do your tls termination, SNI routing etc.  It's basically an edge.
Can you close this issue of as it's not an istio issue, it is a great topic of conversation however so probably more one for the istio-users groups.
I'll write up a blog post over over the next few days detailing our setup too.

Yes I'll close it and thanks!

Hey, This is not an istio issue, getting nginx to work with istio is a little bit difficult. The issue is because fundamentally nginx is making an outbound request to an ip that is has resolved from your hostname foo-bar. This won't work as envoy doesn't know what cluster ip belongs to, so it fails.
I'd suggest using the ingress-nginx kubernetes project and in turn using the following value in your Ingress configuration:
  annotations:
    nginx.ingress.kubernetes.io/service-upstream: "true"

What this does is ensure that nginx doesn't resolve the upstream address to an ip, and maintains the correct Host header which the sidecar uses in order to route to your destination.
I recommend using this project because I use it, with Istio, with a 240 odd service deployment.
If you're not using ingress-nginx, I think you can set proxy_ssl_server_name on; or another thing you could try is forcefully setting the Host header on the outbound request to the internal fqdn of the service so:
proxy_set_header Host foo-bar;

Hope this helps but as I say, it's an nginx configuration rather than an istio problem.

hello @Stono
I met the same problem, and the way you mentioned proxy_ssl_server_name on; and proxy_set_header Host foo-bar; doesn't help for me, the only way working fine is setting the upstream name to k8s service name(I think this way just ignores the upstream and uses the k8s service name directly).
Actually, I don't want to change all my nginx conf by the way, it's unfriendly for user, would you tell me why it conflicts with Istio? Is there any blog or docs to explain that?


Soft Embeddings for attribute and objects

Hi,
Thank you for great work. I want to ask in csp_init function in csp.py file, you are assigning mean of orig_token_embedding to soft_embedding. Here you are taking the argmax(). In most cases the arg_max() is 2 so rep[1:eos_idx, :] is [1, 768]. So I want to know if this [1, 768] is representing your whole composition pair i.e. (attribute and object)? Some rep[1:eos_idx, :] are [2, 768] and one has [3, 768]. So are these representing the composition pair embeddings? If yes then why most has the shape [1, 768] and only few has shape [2, 768]? My second question is from your optimizer, it appears that you are only optimizing and back-propagating the loss to these soft-embeddings only and nothing from the Clip is being updated or trained? Am I right? Can you please guide me on both of these questions?

Thanks for your questions!
To answer your first question, we get the arg_max() because we want to average the concepts (either attributes or objects) with more than 1 token into a single token embedding. This allows us to easily replace them in csp.py.
You are right about the second question. We are only optimizing the soft embeddings and nothing else. Our paper is introducing a new way soft prompting method where we only fine-tune the embeddings.
Hope this helps!


Automatically ship apt packages

This PR automates shipping Hoff apt packages our apt package host.
We always attempt to build an apt package. That allows us to test changes to the packaging script on CI as well.
We only ship it when the rest of the build passes and we're on a git tag.
This makes some information about our DNS zone and a username that we use public. We decided that this is fine.
Note that Semaphore build logs are private and that we do not build pull requests from arbitrary sources. Therefore we don't run the risk of accidentally leaking these credentials through CI logs.

Note that Semaphore build logs are private and that we do not build pull requests from arbitrary sources.

To be sure, do we also expose secrets to branch builds only, not to pull requests?

To be sure, do we also expose secrets to branch builds only, not to pull requests?

From https://docs.semaphoreci.com/use-cases/project-workflow-trigger-options/#expose-secrets-in-forked-pull-requests :+1:

By default, Semaphore will not inject any secrets into jobs for pull requests from forks. You can whitelist the secrets you want to expose specifying their names.

LGTM d384cff

Rebased as a43e27bd238eb10802fe123f8e98f3413735930f, waiting for CI …


Clean up unwrap

Remove UnwrappableTerminal trait and rename unwrap to into_inner. As far as I
know, the trait existed to make Terminal object safe but that's no longer an
issue as one can specify Self: Sized on object unsafe methods.

r? @huonw
(rust_highfive has picked a reviewer for you, use r? to override)

r? @alexcrichton

Thanks!


test: fix flaky test case test_cloning_with_detached_source_volume

test: fix flaky test case test_cloning_with_detached_source_volume by syncing test case modification to PR https://github.com/longhorn/longhorn-tests/pull/1344
For https://github.com/longhorn/longhorn/issues/6971
Signed-off-by: Yang Chiu<EMAIL_ADDRESS>

Was a larger volume taking more time in detaching after clone completion?

Was a larger volume taking more time in detaching after clone completion?

This PR doesn't change the volume size. Just corrected the wrong value described in the test skeleton.

I see, these changes are already on 1.5.x and master. So, only 1.4.x has the issue.


Failing tests for orderable embedded docs

Looks like this needs to be re-written

Replaced by https://github.com/mongoid/mongoid_orderable/pull/87


Tilt Effects Added

Added Tilt Effects.

@PSS2134 Please check it and merge !
Thank You !

Fixes issue #489


Images are not usable after downloading them using itzg/docker-minecraft-server

Hello,
I have a server hosted in a docker-compose using the itzg/docker-minecraft-server image
When I download images it works and places them correctly in yamipa's images folder, but then when using /image give or /image list the image simply doesn't exists

Any idea what's going on here? the data folder is mounted between the host and the container, but that shouldn't be an issue...
thanks

Looks like it works now, probably happened after a reboot of the container... Would love to know why :(

Hello @senolem,
Could you set verbose: true in the Yamipa configuration file and paste the server logs here?

nothing interesting...

You can build the project by cloning the repository and opening it in IntelliJ IDEA. Then, click on the Maven tab on right on the screen and double click "Lifecycle" > "Package". This should have created a JAR file on the "target" directory inside the project.
I don't think it's related to the ImageStorage#isPathAllowed() method, as you should have seen debug logs on the server console at download regardless of your plugin configuration.
This must have something to do with Java's WatchService class and inotify on Linux (see this link). When I find some time, I'll try to reproduce the bug on a container.

Thanks I managed to build it.
if (isPathAllowed(filename, sender)) {                 response.add(filename);             } else { 				LOGGER.warning("Unallowed path detected in the registered files map"); 			}
I tried to add a warning but it doesn't show up, sorry for the wrong assumption.
Maybe freshly created files are not mounted the same way than existing files during startup of the container, leading to the issue mentionned in the article.

Hi, @senolem!
Could you verify that this issue is now fixed in the v1.3.2-SNAPSHOT pre-release version of Yamipa?

@senolem
Would you like to test it again? (with Minecraft < 1.20.6)


"default" Asset library path is incorrect, crashes on start

Hello,
Getting the following error: [lime.utils.Preloader] ERROR: There is no asset library with an ID of "default" when trying to start a Lime application (porting an existing game engine to a newer Lime).
Native target, Windows, develop branch.
Traced down the problem to Assets.loadLibrary, which sets path to "/manifest/default.json". Adding a line that changes path to "manifest/default.json" (without the leading slash) before calling AssetManifest.loadFromFile fixes the issue.
I'm not sure what is the actual cause of this bug, so I can't provide a meaningful pull request at this point.

Another issue, which might be related to this: unembedded assets are not loaded and result in a crash.
I'm calling Assets.getImage("textures/perlin.png") in the code. The image file exists. The project.xml contains the following line: <assets if="dev" path="assets/textures" rename="textures" embed="false" />
The id "textures/perlin.png" is eventually passed to AssetLibrary.getImage, where it attempts to resolve the path by calling paths.get(id), which returns the string //..//textures/perlin.png. This is passed to Image.fromFile which then eventually throws a NPE.
Embedded assets seem to be loaded fine.

It seems like the second problem happens because the basePath in AssetManifest is set to //..//. Forcefully setting it to blank character `` solves this.

I also, seemingly suddenly, hit this issue. Using the proposed fix:
if (path == "/manifest/default.json") {
    path = "manifest/default.json";
}

in lime.utils.Assets seemed to get past the crash, however, it also seems that now i cant actually get any of the resources (listed in an include.xml from a haxelib project)
This was an app that was previously working, i did do an openfl upgrade and i think the only thing that updated was hxcpp... not sure if that might help to get to the root of the issue.
Cheers,
Ian

I had the same issue on a Windows system that was updated to hxcpp 4.0.19. The app would compile and run fine on Linux and neko (Linux and Windows), but on C++ it would show a message box complaining about missing default asset library and a stacktrace (when running with -debug) or simply show a white screen with a frozen progress bar (without -debug).
My fix was to go back to hxpcpp 4.0.8 (that's the version I had running before, there might be later versions that also fix the issue)

I can confirm @AlexHaxe's solution. Reverting back to hxcpp:4.0.8 makes the issue go away.

I just found that this only happens when latest hxcpp is used together with Haxe 4.0.0-rc.2. Hxcpp 4.0.19 seems to work fine with rc.3.

This has been fixed in hxcpp:

https://github.com/HaxeFoundation/hxcpp/issues/814
https://github.com/HaxeFoundation/hxcpp/commit/d119a07ef9e41b938fb4aebb3e6469c22c1e536f


New branch

hey bro, I've been refactoring the landing page recently, do you consider waiting for a much?

Hello bro, I hope you are well! I try to adapt your config theme to my web, because I from Latin America. So, I don't need a lot of code only a few sections! my error is when I try to do a pull request always transfer me to pull request section! I'm sorry for that... Exists any possibility to adapt your theme to a new one without the content?


feat: remove middle name and add degree

If you remove, it gets removed, no questions asked.
If it's mandatory, we have two options:

Have a default value
Create a script to change the property onevery entity. (this probably needs to be a two step deploy)


Implement complete HTTP request types

Right now bench-routes monitors GET and POST request only. This should be extended for all HTTP supported request to types.

@Harkishen-Singh I want to work on this issue

You are most welcome for this.

@Tushar3099 are you working on this ??

Yes @Sanketwable I am on it.

Ok thanks

@Tushar3099 Are you working on this? Can I work on this issue?

@Tushar3099  can you please give the update here?

@Harkishen-Singh @Sanketwable Sorry for the recent inactivity. I am studying the issue, will update you by tomorrow.

@Harkishen-Singh As I went through the code I learned that we need method while calculating resDelay and resLength. Inside request.go in the Send function we only have cases for GET and POST. We need to extend cases for PUT, DELETE, and PATCH. Also in Quick Input, we only support GET and POST and we need to extend to other HTTP types here also.
I am working on the code. If I may have skipped any other usage of method in the code please point me out. Thank you.


我的手机CPU是天机700，安卓11的时候是能用的，但是更新系统之后就只报错

报错内容：
23:03:32 I uperf v3(22.09.04)[acc04447], by Matt Yang<EMAIL_ADDRESS>23:03:32 I Config 'Dimensity 700(mt6833)/720(mt6853)/810(mt6833v)[22.09.04]' by 'yc@coolapk'
23:03:32 I Current home is 'com.android.launcher'
23:03:33 E Tried CpufreqWriterEpicPowersave: Failed to open epic minfreq knob for cluster0
23:03:33 E Tried CpufreqWriterEpicFixed: Failed to open epic minfreq knob for cluster0
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPpmFixed: Failed to write freq
23:03:33 E Tried CpufreqWriterMsmPowersave: Failed to open msm minfreq knob
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPowersave: Failed to write freq
23:03:33 E Tried CpufreqWriterMsmFixed: Failed to open msm minfreq knob
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPerformance: Failed to write freq
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterFixed: Failed to write freq
23:03:33 E Retrying...
23:03:33 E Tried CpufreqWriterEpicPowersave: Failed to open epic minfreq knob for cluster0
23:03:33 E Tried CpufreqWriterEpicFixed: Failed to open epic minfreq knob for cluster0
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPpmFixed: Failed to write freq
23:03:33 E Tried CpufreqWriterMsmPowersave: Failed to open msm minfreq knob
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPowersave: Failed to write freq
23:03:33 E Tried CpufreqWriterMsmFixed: Failed to open msm minfreq knob
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterPerformance: Failed to write freq
23:03:33 E Cpufreq target 1280000 actual 2000000
23:03:33 E Tried CpufreqWriterFixed: Failed to write freq
23:03:33 E Exception thrown: No CpufreqWriter supported for this platform

Reboot until it is successfully

OK

Reboot until it is successfully

我从安装这个面具模块开始重启了三遍，还是报错怎么办
I restarted it three times since I installed this mask module. What should I do if I still report an error

Reboot until it is successfully

我从安装这个面具模块开始重启了三遍，还是报错怎么办 使用了APatch I restarted it three times since I installed this mask module. What should I do if I still report an error APatch was used.

Try this https://github.com/yinwanxi/Uperf-Game-Turbo

Reboot until it is successfully

我从安装这个面具模块开始重启了三遍，还是报错怎么办 使用了APatch I restarted it three times since I installed this mask module. What should I do if I still report an error APatch was used.

Try this https://github.com/yinwanxi/Uperf-Game-Turbo

OK, I'll try我试试

Reboot until it is successfully

我从安装这个面具模块开始重启了三遍，还是报错怎么办 使用了APatch I restarted it three times since I installed this mask module. What should I do if I still report an error APatch was used.

Try this https://github.com/yinwanxi/Uperf-Game-Turbo

依旧


Enable the use of COGs for the Discord-Bot

Right Now, the bot only uses a single file to store commands. Let's expand that for a more versatile codebase that is organized. Integrate COG access into the bot and create a new file, fun.py with an 8ball command.

Make sure we have COG enable and disable commands which only admins can use


Feature Request: Capture Input Value for AutoComplete

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the requested feature
Add a property to the AutoComplete control to capture and handle user input when it does not match any provided suggestions.
Currently, the AutoComplete control in Flet only provides functionality for users to select from predefined suggestions. It would be beneficial to add a property or event handler to capture and process user input regardless of whether it matches the provided suggestions. This feature will allow developers to handle scenarios where users input custom values, enhancing the flexibility and usability of the AutoComplete control.
Suggest a solution
Add a value property to the AutoComplete control. This property should reflect the current input value of the AutoComplete, whether it matches a suggestion or is a custom user input.
Example Implementation:
import flet as ft

def main(page: ft.Page):
    def on_value_select(e):
        print(f"Current input value: {e.control.value}")

    page.add(
        ft.AutoComplete(
            suggestions=[
                ft.AutoCompleteSuggestion(key="one 1", value="One"),
                ft.AutoCompleteSuggestion(key="two 2", value="Two"),
                ft.AutoCompleteSuggestion(key="three 3", value="Three"),
            ],
            value="",  # New property to capture the input value
            on_select=on_value_select
        )
    )

ft.app(target=main)

Screenshots
No response
Additional details
No response

@ndonkoHenri any update?

@ndonkoHenri Can you update it pls?


Build 2019: merge to live!

Docs Build status updates of commit ff25c00:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded

docs/images/12-10-fork-cf-pic.jpg
:white_check_mark:Succeeded

docs/images/excel-quickstart-addin-3b.png
:white_check_mark:Succeeded

docs/images/excel-quickstart-addin-3c.png
:white_check_mark:Succeeded

docs/images/list-stock-ticker-red.png
:white_check_mark:Succeeded

docs/images/onenote-debug.png
:white_check_mark:Succeeded

docs/images/onenote-first-add-in-3.png
:white_check_mark:Succeeded

docs/images/onenote-first-add-in-4.png
:white_check_mark:Succeeded

docs/images/powerpoint_quickstart_addin_1b.png
:white_check_mark:Succeeded

docs/images/powerpoint_quickstart_addin_1c.png
:white_check_mark:Succeeded

docs/images/powerpoint_quickstart_addin_3b.png
:white_check_mark:Succeeded

docs/images/powerpoint_quickstart_addin_3c.png
:white_check_mark:Succeeded

docs/images/project-quickstart-addin-1.png
:white_check_mark:Succeeded

docs/images/project_quickstart_addin_1.png
:white_check_mark:Succeeded

docs/images/project_quickstart_addin_2.png
:white_check_mark:Succeeded

docs/images/project_quickstart_addin_3.png
:white_check_mark:Succeeded

docs/images/select-insert.png
:white_check_mark:Succeeded

docs/images/word-quickstart-addin-1.png
:white_check_mark:Succeeded

docs/images/word-quickstart-addin-1c.png
:white_check_mark:Succeeded

docs/images/word-quickstart-addin-2b.png
:white_check_mark:Succeeded

docs/images/yo-office-excel-angular-2.png
:white_check_mark:Succeeded

docs/images/yo-office-excel-angular.png
:white_check_mark:Succeeded

docs/images/yo-office-excel-cf.png
:white_check_mark:Succeeded

docs/images/yo-office-excel-react-2.png
:white_check_mark:Succeeded

docs/images/yo-office-excel-react.png
:white_check_mark:Succeeded

docs/images/yo-office-excel.png
:white_check_mark:Succeeded

docs/images/yo-office-jquery.png
:white_check_mark:Succeeded

docs/images/yo-office-manifest-only-vue.png
:white_check_mark:Succeeded

docs/images/yo-office-manifest-only.png
:white_check_mark:Succeeded

docs/images/yo-office-onenote-jquery.png
:white_check_mark:Succeeded

docs/images/yo-office-onenote.png
:white_check_mark:Succeeded

docs/images/yo-office-powerpoint-jquery.png
:white_check_mark:Succeeded

docs/images/yo-office-powerpoint.png
:white_check_mark:Succeeded

docs/images/yo-office-project-jquery.png
:white_check_mark:Succeeded

docs/images/yo-office-project.png
:white_check_mark:Succeeded

docs/images/yo-office-word-jquery.png
:white_check_mark:Succeeded

docs/images/yo-office-word.png
:white_check_mark:Succeeded

docs/images/yo-office.png
:white_check_mark:Succeeded

docs/images/zztest.png
:white_check_mark:Succeeded

docs/includes/note-yeoman-generator-update.md
:white_check_mark:Succeeded

docs/includes/quickstart-yo-prerequisites.md
:white_check_mark:Succeeded

docs/includes/quickstart-yo-start-server-excel.md
:white_check_mark:Succeeded

docs/includes/yo-task-pane-project-components-js.md
:white_check_mark:Succeeded

docs/quickstarts/excel-custom-functions-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-angular.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-jquery.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-react.md
:white_check_mark:Succeeded

docs/quickstarts/excel-quickstart-vue.md
:white_check_mark:Succeeded

docs/quickstarts/onenote-quickstart.md
:white_check_mark:Succeeded

docs/quickstarts/powerpoint-quickstart.md
:white_check_mark:Succeeded

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Shadows disabled when second camera is activated

Bevy version
0.14.0
`AdapterInfo { name: "Apple M1 Pro", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }`

What went wrong
Two different scenarios, both of which exhibit the problem:
Scenario 1: Thumbnail generator
I have a main camera which is targeting the window; it's viewing a scene that has a directional light and various models. All of these items are on renderlayer 2.
I spawn a second camera to generate thumbnail images, which targets an Image. This camera also has a directional light and a model. These are all on renderlayer 1.
Whenever the second camera is active, the shadows on the first camera disappear. If I set the second camera is_active to false, then the first camera shadows re-appear. If I delete the directional light for the second camera, the shadows also re-appear.
Scenario 2: Portals
This scenario is similar to the first, except that there's only one render layer: camera 2 is the remote portal camera, but is viewing the same scene, with the same lights, as camera 1.
My portal system only spawns camera 2 when a portal is within the view frustum, and despawns it otherwise.
What I see is that when a portal comes on-screen, the shadows on the main camera disappear.

Sounds a bit like #14595 (though that was for WebGL)


Prevent template renderer from rendering error

When there is a panic during template rendering unrolled/render
will automatically render the error. This leads to the
panic being displayed in the page and not a 500 page
Fix #14467
Fix #14525
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

make lgtm work


Crowdstrike identifying this module as malicious

See title - I'm working with our AV folks, but these sorts of things tend to have a cascading effect on AV groupthink (e.g. rep heuristics, partner ID of PUPs), might want to start a convo w CS

This is a good data point. Unfortunately this is also marked as malicious
by Windows Defender. The main problem stems from the PSReflect module that
it is based on. While PSReflect itself is not malicious, it was mainly
created/used for malicious purposes in its infancy. While Microsoft did
address many of the underlying issues, they and other AV vendors also
attacked the symptom (the ability to call arbitrary APIs from PowerShell in
memory).
On Tue, Aug 13, 2019 at 3:29 PM Coruscate5<EMAIL_ADDRESS>wrote:

See title - I'm working with our AV folks, but these sorts of things tend
to have a cascading effect on AV groupthink (e.g. rep heuristics, partner
ID of PUPs), might want to start a convo w CS
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jaredcatkinson/PSReflect-Functions/issues/14?email_source=notifications&email_token=ADFJYASEH5YMSEODX6RAV3TQEMYUVA5CNFSM4ILPKRJKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HFCJUKA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADFJYAXRLLDORYJSAONHD7TQEMYUVANCNFSM4ILPKRJA
.

Thanks for the info - I suppose then it is limited to language, or some other matching, since I am able to replicate the same functionality from Python (using Ctypes) with no issues
This is unfortunate, as powershell in a Windows env is more reliable/ubiquitous than Python

I also had to disable windows defender to play with this module.
As a motivation example, I'd love to build on top of PSReflect-Functions a module to work with NTFS xattr, but since Windows Defender marks it, there is no point in building such module. Nobody would be able to use it. So at the moment, it looks like the only reasonable way is to re-write all pinvoke by hand, but that's a non-trivial amount of work.
@LeeHolmes is there some clever way to solve this situation? 🤞

Yea this is a tough one. I typically use this module in non production use cases like when I'm researching an attack technique and want more granular control over different API calls (rather than rely on a specific malware sample's implementation). However, it would be really nice for me to be able to use it in a production environment to do something like run a script to collect information during an investigation. Unfortunately many AV vendors error on the side of caution by determining that PSReflect is more often used for malicious purposes. To be fair to them this is probably the case, but not because PSReflect is innately malicious, but because red teamers and even real attackers have been more active in using its capabilities.


update deploy.md file

update deploy.md  file .
Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)

Hi @JorTurFer,   PTAL!!