RateLimit didn't check if trusted proxy send the header x-forwarded-for

Just found this reading the code :
https://github.com/moleculerjs/moleculer-web/blob/master/src/index.js#L1351C47-L1351C47
let opts = Object.assign({}, {
	window: 60 * 1000,
	limit: 30,
	headers: false,
	key: (req) => {
		return req.headers["x-forwarded-for"] ||
			req.connection.remoteAddress ||
			req.socket.remoteAddress ||
			req.connection.socket.remoteAddress;
	}
}, rateLimit);

getting ip from x-forwarded-for without checking if connection.remoteAddress is a trusted proxy is a security problem .
because I can send the header x-forwarded-for manually .
( not a big problem, but keep in mind that someone can bypass the rate limiter ) .
Also, while headers are lowercase in node.js, this is not the case for all implementations. For example, node.js in AWS Lambda does not convert headers to lowercase.

What is your proposal?

@icebob in fact ... just let the user the responsibility of getting the ip .
Else, we need to manage trusted proxies, and so parse the x-forwarded-for header, to extract the first "not trusted proxy" . Also, sometimes "trusted proxies" can be a cidr, so, we need to check if the ips come from the cidr .... not an esay task .
Also, I think managing trusted proxies (like express do), can be interesting for moleculer-web … but It's not an easy task

Ok, but as you see, it's covered, because this logic just a default value, you can overwrite it in rateLimit options.

yes I know for the default value . But if it's only a default value, I think it's better to don't use the header req.headers["x-forwarded-for"] .
Users without reverse proxy will be secure, and user with reverse proxy will need to adapt correctly depending on the reverse proxy configuration


HttpClient instances should be Clone

From: https://github.com/http-rs/surf/issues/237

Right now the Client::with_http_client method has the following signature:
pub fn with_http_client(http_client: Arc<dyn HttpClient>) -> Self;

This means that even if a backend we pass implements Clone, we must wrap it in another Arc. This leads to constructs such as:
let mut app = tide::new();
let mut client = Client::with_http_client(Arc::new(app));
client.set_base_url("http://example.com/");

Instead I'd like us to change the signature to:
pub fn connect_with<C>(http_client: C) -> crate::Result<Self>
where
    C: HttpClient + Clone;

Which will enable us to write:
let mut app = tide::new();
let mut client = Client::connect_with("http://example.com", app)?;

See https://users.rust-lang.org/t/why-cant-traits-require-clone/23686, this doesn't really work.


Support iPhone 15 Pro Max, 15 Plus, 14 Pro Max

Hello,
Having an iPhone 15 Pro Max, the screen height is 932.
Best regards,
Kevin
https://useyourloaf.com/blog/iphone-15-screen-sizes/#the-complete-list-of-iphones-and-an-ipod

Thank you :)


Populate description, author and keywords meta tags

I'm using the items in this PR to populate the Author, Description and Keywords meta tags if they are defined. Thought this might be beneficial to everyone else who uses your awesome theme!

Ryan

Thanks

Closes #31


[5.9 🍒][Compile Time Constant Extraction] Emit underlying types for typealias types

Cherry-pick of https://github.com/apple/swift/pull/68011
Resolves rdar://113402135

@swift-ci test


feat: opt-out telemetry init

Pushes a mirror of the sidecar's prometheus metrics as opt-out telemetry to a remote statsd instance. Push address is <IP_ADDRESS>:9125 currently, pending some infra to change this to a skip remote server. This is UDP so dropped packets mean nothing, the rules are made up and the points don't matter.

docker pull prom/statsd-exporter
docker run -d -p 9102:9102 -p 9125:9125 -p 9125:9125/udp                  prom/statsd-exporter
# ./build/slinky

localhost:9102 is then an endpoint that can be then scraped by prometheus

@wesl-ee looks like lint failing and conflicts


Feature request: Add support for new lines inside ordered lists

Most WYSIWYG editors have the ability to add a new line while maintaining the ordered list. It would be great if jodit also supports it. When adding a new line the user should press SHIFT + ENTER to add a new line and ENTER to start a new bullet.

@fkranenburg This is how it works in Jodit now


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter gotify-ws for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.gotify-ws
   -
ERRORS:

[x] :heavy_exclamation_mark: [E507] missing size attributes [md,lg,xl] for staticText at admin/jsonConfig.json/items/gotifyDesc
[x] :heavy_exclamation_mark: [E507] missing size attributes [xl] for number at admin/jsonConfig.json/items/port
[x] :heavy_exclamation_mark: [E507] missing size attributes [xl] for password at admin/jsonConfig.json/items/token
[x] :heavy_exclamation_mark: [E507] missing size attributes [xl] for select at admin/jsonConfig.json/items/notificationType
[x] :heavy_exclamation_mark: [E507] missing size attributes [xl] for text at admin/jsonConfig.json/items/ip
[x] :heavy_exclamation_mark: [E510] responsive check: maximum issues reached, please fix reported ones and recheck

WARNINGS:

[x] :eyes: [W508] attribute "xs" for staticImage should specify a value of "12" at admin/jsonConfig.json/items/_donate
[x] :eyes: [W508] attribute "xs" for staticImage should specify a value of "12" at admin/jsonConfig.json/items/_githubSponsor
[x] :eyes: [W508] attribute "xs" for staticText should specify a value of "12" at admin/jsonConfig.json/items/gotifyDesc

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
or
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Sun, 03 Nov 2024 22:05:34 GMT based on commit a65e165424d6fab949cb0f48090d928651a7c74c
ioBroker.repochecker 3.2.2

done


Add New Project menu item and open it to extension developers to add project types

Add a new menu item called New Project and then allow extension authors the ability to register their own project type and handler for it.
For example, the Electron team can create an extension that creates an Election project. When selecting that option they then create the folders and projects and open that project.
File > New Project >

Electron
Angular
React
anything else

I've been looking for something exactly like this. Please make sure to also have at least one built-in category for TypeScript projects.

Related: https://github.com/microsoft/vscode/issues/365


Broad filesystem access

I have a command line C++ program which currently uses Win32-based file system APIs to access the file system (not just from local dir), but I couldn't get that working since apparently broadFileSystemAccess only works on Windows.Storage APIs. But I can't seem to figure out how to actually read files from arbitrary locations with Windows.Storage APIs -- the examples only seem to apply to specifc folders like the Documents or Downloads folder. Any advise on how to get this working?

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

ID: b36404b8-4385-81d9-2ee8-486f0a55fc37
Version Independent ID: 7b6ce4df-6ab2-3aa6-059f-b38aa9ea8062
Content: Create, write, and read a file - UWP app developer
Content Source: windows-apps-src/files/quickstart-reading-and-writing-files.md
Product: windows
GitHub Login: @laurenhughes
Microsoft Alias: lahugh

Storage::StorageFolder::GetFolderFromPathAsync(abs_remote_dir).get(); seems to be what I was looking for.
It only works on absolute paths, so GetCurrentDirectoryW() can be used to convert a relative path to an absolute one.


MHR not rendering to Quest 2 via 6800XT

Getting audio only
I've tried all the known fixes. Using the most recent Appveyor Dinput8.dll file.
AFAIK HDR is OFF. I have it turned off globally in Windows and have this as launch option in Steam +mat_hdr_level 0 (tried with and without launch option)
Tried unplugging my monitor HDMI and while that worked for RE7 & 8 it's not fixing the issue in MHR.
Clean install/ reinstall/and file integrity verified
Radeon driver 22.1.1
OpenXR runtime (i've tried both Oculus and OpenXR runtime)
Steam overlay and theater mode OFF
msconfig non-essential services disabled. no background apps running
Adrenalin GFX and display settings set to off or let App decide
game compatibility set to disable fullscreen optimizations/let app decide scaling
occasionally getting D3D fatal error (22) (stable in pancake mode)
re2_framework_log.txt

Using the most recent Appveyor Dinput8.dll file.

Just to be clear, you grabbed one from within the last 16 hours right? There was a recent commit to address the HDR problem but from your log it looks like the game is still running with an HDR back buffer.

Yeah. Here's a new one just in case. I renamed the OG file installed the new Dinput8.dll.
I have tried overwriting it as well to no avail.
re2_framework_log.txt

I was having this exact same issue before and was able to fix it. Below was the response from the mod creator.

According to the log, you have HDR enabled. I know you said you don't have an HDR monitor in another issue, but this is the reason why it's not displaying in the headset. The errors at the bottom indicate HDR being enabled as well.
[2022-01-24 22:43:43.595] [REFramework] [info] [D3D12] Back buffer format is 24

24 is the format for the HDR color format.
I don't have an HDR monitor, but I think there's a way to turn it off globally.
https://i.imgur.com/DnrOJuE.png

I'm using a TCL 50" S525 4K 60Hz HDR tv as my monitor. I turned off HDMI 2.1 forcing 1.4 and changed the color/pixel format to 8 bpc RGB 444 PC standard full rgb and that did the trick.
Have to load game in steam vr, remove the quest 2, cycle through to my game save and load into the game world ion pancake, put quest 2 back on and then it hooks.
It may have been switching the HDR HDMI compatibility off in my tv menu which was likely the differentiator. The GPU driver may have auto detected a 2.1 connection and enabled HDR by default?
I was able to leave my HDMI cable plugged in and got MHR to hook. Need to see if this helps RE7 & 8 hook without needing to disconnect the HDMI.  RE2 was flawless but I realize that was optimized and each games file structure is different
I love VR and the work these modders have done is absolutely amazing. thank you!


[Feature request] Custom actions (hotkeys)

Let user define own actions in form of a hotkey combination to be invoked when the cursor enters a hot corner.
Desired behavior: There must be an opportunity to create a number of actions with different names, that will be visible in the dropdown list along with the predefined ones.

Use the unfinished CustomActionHotkey class; look for the TODO labels in FormActionsEditor.cs and add the corresponding UI to the FormActionsEditor form.

This feature is great! I'm looking forward to this update of this awesome app!

I'm looking forward to this update

Thank you. That's still in plans...

       @flexits I know what happened. When using VMware Horizon Client for remote desktop, the shortcut key "Ctrl+Win+Left" used by the "Left Virtual Desktop" action is sent to the remote system. Therefore, it cannot jump to the main desktop normally. If custom shortcut keys are supported, this problem can be solved by setting two sets of shortcut keys: "Ctrl+Alt,Ctrl+Win+Left".

Originally posted by @xeahsoon in https://github.com/flexits/HotCornersWin/issues/19#issuecomment-2451134173

          At present, I have to execute external program calls to shortcut keys through Custom Action. For specific programs, you can refer to https://github.com/xeahsoon/keyboard-simulator. However, I still hope this function can be integrated into HotCornersWin.

Originally posted by @xeahsoon in https://github.com/flexits/HotCornersWin/issues/19#issuecomment-2451140610


[vdk-core] Introduce post-ingest-sequence env var

As part of the effort to extend the Ingestion API to support plugin
chaining, we need to improve the interfaces that are to be used by
data engineers and plugin developers.
This change adds a new environment variable, INGEST_PAYLOAD_POSTPROCESS_SEQUENCE
that data engineers can use to specify a plugin/s that would deal with post-ingestion
processing tasks, such as sending telemetry, etc.
Additionally, the interfaces that plugin developers use in ingestion pre-processing
and post-processing tasks, are extended to pass payload, destination_table, target and
collection_id as read-only parameters to allow for better workflows.
Testing Done: Unit tests pass, and ran a local test ingestion data job as described in
https://github.com/vmware/versatile-data-kit/wiki/Ingesting-data-from-DB-into-Database
to verify that the existing ingestion workflows are not affected by the interface changes.
Signed-off-by: Andon Andonov<EMAIL_ADDRESS>

lets resolve the conversations open

Conversations resolved. Ready for review


[stable/kube2iam] Allow setting a custom secret name to use for AWS credentials

Allow setting a custom secret name to use for AWS credentials in the event that the secret is populated from outside of helm for security purposes
Signed-off-by: Mike Tougeron<EMAIL_ADDRESS>What this PR does / why we need it:
The PR allows you to use a custom secret name (aws.custom_secret_name) for AWS credentials in the event that the secret is populated by a process outside of Helm. e.g., via one of the several tools that sync Vault secrets into Kubernetes Secrets.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Hi @jmcarp / @icereval / @mgoodness I wanted to touch in on this PR and see what you think. Thanks, Mike

@jmcarp / @icereval / @mgoodness / @unguiculus / @maorfr any chance this can be reviewed this week? Thanks, Mike

@jmcarp / @icereval / @mgoodness / @unguiculus / @maorfr any chance there can be some movement/feedback on this PR?

@jmcarp / @icereval / @mgoodness / @unguiculus / @maorfr Hi all, wanted to try again to see if there can be some movement/feedback on this PR? Thanks

@unguiculus sounds good. I've updated the PR accordingly

/ok-to-test

/lgtm


Bank value and weightings/favorites broken

🐛 Bug Report
Write a description of the bug here, give all the information you can about what it is, how it happened.
Woke up at approximately 5:58 AM, kind of tired but ready for the day. Got on my favorite discord bot to check my bank for shiny new gmcs from the last trips of the night. Basically bank value says (NaN) upon using (=b) and the weightings/favorites feature isn't working. Everything is just scattered

Fixed


[type: fix] fix client shutdown close method call twice

The client's close will be called twice when it is closed.
Because of Spring When the bean is destroyed, it will proactively call the close or shutdown methods. At the same time, Shenyu also defined ShenyuClientShutdownHook. Therefore, renaming the close method to  closeRepository solves the problem of being called twice.

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #4867 (89b0681) into master (62629e5) will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #4867      +/-   ##
============================================
+ Coverage     64.47%   64.50%   +0.02%
- Complexity     8222     8223       +1
============================================
  Files          1161     1161
  Lines         34153    34153
  Branches       3061     3061
============================================
+ Hits          22021    22031      +10
+ Misses        10379    10367      -12
- Partials       1753     1755       +2

Impacted Files
Coverage Δ

...client/core/shutdown/ShenyuClientShutdownHook.java
0.00% <0.00%> (ø)

...ster/client/etcd/EtcdClientRegisterRepository.java
97.72% <ø> (ø)

...ster/client/http/HttpClientRegisterRepository.java
0.00% <ø> (ø)

...er/client/nacos/NacosClientRegisterRepository.java
100.00% <ø> (ø)

...t/zookeeper/ZookeeperClientRegisterRepository.java
94.59% <ø> (ø)

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

client shutdown close method call twice ？

client shutdown close method call twice ？ how to fixed？

yes。
1、ShenyuClientRegisterRepository bean destry the close methd will be call.
2、and Runtime.getRuntime().addShutdownHook(new Thread(repository::closeRepository, name)); will be call.
By default, JavaConfig configured beans are used. If there is a close or shutdown method, this method will be automatically executed when the bean is destroyed. If you do not want to execute this method, add @ Bean (destroyMethod="") to prevent the destruction method from starting
i try rename close methd to closeRepository can solve spring call default close method.

client shutdown close method call twice ？ how to fixed？

@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Bean {

	//......

	/**
	 * The optional name of a method to call on the bean instance upon closing the
	 * application context, for example a {@code close()} method on a JDBC
	 * {@code DataSource} implementation, or a Hibernate {@code SessionFactory} object.
	 * The method must have no arguments but may throw any exception.
	 *
As a convenience to the user, the container will attempt to infer a destroy
	 * method against an object returned from the {@code @Bean} method. For example, given
	 * an {@code @Bean} method returning an Apache Commons DBCP {@code BasicDataSource},
	 * the container will notice the {@code close()} method available on that object and
	 * automatically register it as the {@code destroyMethod}. This 'destroy method
	 * inference' is currently limited to detecting only public, no-arg methods named
	 * 'close' or 'shutdown'. The method may be declared at any level of the inheritance
	 * hierarchy and will be detected regardless of the return type of the {@code @Bean}
	 * method (i.e., detection occurs reflectively against the bean instance itself at
	 * creation time).
	 *
To disable destroy method inference for a particular {@code @Bean}, specify an
	 * empty string as the value, e.g. {@code @Bean(destroyMethod="")}. Note that the
	 * {@link org.springframework.beans.factory.DisposableBean} callback interface will
	 * nevertheless get detected and the corresponding destroy method invoked: In other
	 * words, {@code destroyMethod=""} only affects custom close/shutdown methods and
	 * {@link java.io.Closeable}/{@link java.lang.AutoCloseable} declared close methods.
	 *
Note: Only invoked on beans whose lifecycle is under the full control of the
	 * factory, which is always the case for singletons but not guaranteed for any
	 * other scope.
	 * @see org.springframework.beans.factory.DisposableBean
	 * @see org.springframework.context.ConfigurableApplicationContext#close()
	 */
	String destroyMethod() default AbstractBeanDefinition.INFER_METHOD;
}

The close in ShenyuClientRegisterRepository will be called by spring, so just change the close method name.


Question. Right way to use and thread safety.

Hi!
There is nothing in docs about how to use LiteDB from multi threading point of view. For example in some ASP.NET web app.

Should I create one singleton of LiteDB or better to create instance for each request/controller. (Concurrency of LiteDB instances).
Can I work with one instance from several threads simultaneously, at least for read scenarios or each thread should have own instance?  (Concurrent access to one instance).
Any other not obvious caveats?

Please, can you clarify these things so I can design proper use-architecture and synchronization.

Hi @VoronFX, quick answer: to web/mobile use a single instance across all thread for both read/write operations. If it's possible, use Exclusive mode too in connection string.
But I also write this wiki page about this:
https://github.com/mbdavid/LiteDB/wiki/Concurrency
And I recommend you to use v4 beta because there are some issues in v3.x about single instance use.

So no additional synchronization needed. Awesome!

Single instance is much faster ... and has almost no cache re-use

Didn't understand about cache. Did you mean it will hit cache more cause of shared instance or it will not use cache cause it is the only who uses file?

I fixed my text.
Recommendation
Single instance is much faster than multi instances. In multi instances environment, each instance must do expensive data file operations: open, lock, unlock, read, close. Also, each instance has its own cache control and, if used only for a single operation, will discard all cached pages on close datafile. In single instance, all pages in cache are shared between all read threads.
If you application works in a single process (like mobile apps, asp.net websites) prefer use a single database instance and share across all threads.
You can use Exclusive mode (in connection string). Using exclusive mode datafile will avoid always checks header page to check if has any external change. Also, exclusive mode do not use Lock/Unlock in file, only in memory (using ReaderWriterLockSlim class).

Thank you! Now things are much clearer!

Some example code would be very useful...thanks

This is really terrible. I've spent so much time trying to figure out how to use the single instance from multiple threads. An example would really be helpful. I am forced to use the shared mode since in the exclusive mode I get timeouts after the first write.
Also, there is quite bit of confusion about what the connection string should look like, which is possibly the reason for this not working for me. Is it now "Mode=Exclusive" or is it "Connection=Exclusive" or does capitalization matter and it is "mode=exclusive"... Or is it "mode=direct" as found on another page.?????
Some guidance with a complete example similar to the one in Getting Started here (https://www.litedb.org/docs/getting-started/), but for the "direct/exclusive/or whatever it is called" mode, would be very helpful.
I hope you can help soon. I'm sure it would be a help to many.

@marekvse If you're sharing a datafile between multiple processes, you have to use shared mode. However, direct mode should have no issues in multithreaded mode.
Are you using v5.0.4? There were some issues regarding timeouts in the previous version, but they were fixed in v5.0.4.
Also, keywords in the connection string are case-insensitive. For more info, check the documentation.

@lbnascimento Hi, I only noticed your reply in my inbox now so I apologize for my delayed reaction. Thank you for the reply. However.. :(
I'd really appreciate if you could give an example of the connection string with the Direct setting. I think that it would be great for many others if you could update the documentation page you shared a link to in your reply above with it since even there it says "LiteDB offers 2 types of connections: Direct and Shared" and yet the table of Options above it says "Connection type (“direct” or “shared”)". So which is it - "direct or Direct". Adding just one more example under the "Example" heading there containing that setting would solve the confusion.
As for the version, I'm using the LiteDB database in a multi-targeted project that has to support .NET v4.0, which apparently any of the revisions higher than 5.0.0 does not support. So I'm currently pushed to use that version and cannot upgrade. Is there any chance you could return the next revision to be able to support .NET v4.0 again?

@marekvse .NET Framework v4.0 support was dropped because it was getting increasingly difficult to mantain code for it, a lot of API calls that we needed were not supported. Unfortunately there are no plans to support it going forward.

what about concurrency recommendations for version 5.0.8+?

@lbnascimento OK, I understand that support for lower versions of different software is bound to end at some point and have to accept it in this case. However, let me ask this: If there was a bug with concurrency in 5.0.0, is there any chance that you could make a revision incorporating the fix for that bug in that version, thus helping me keep the .NET 4.0 support (which I must) and at the same time make my code run much faster being able to use the Direct setting?
Also, I did ask twice before but have not received a satisfactory answer from you yet and it seems @sunnyatticsoftware may be pointing it out above too... Could you please spell out exactly in the form of an example connection string what the word and correct capitalization for the "Direct" setting is please?
It would probably also be useful if you could state whether that form was valid for all prior versions or from which version it actually is valid. Thanks.

@marekvse Both keys and values in the connection string are case insensitive, so any capitalization should work.
What version of LiteDB are you currently running? As far as I know, .NET Framework v4.0 was only supported in LiteDB v4. v4 is still supported and it is our intention to provide bug fixes for it (no new features will be added, though).

@sunnyatticsoftware The recommended way to use LiteDB v5.0.x is to use direct mode and share an instance of LiteDatabase between all your threads (use a singleton if necessary). If you need multi-process support, use shared mode.

@lbnascimento Thank you for the clarification. I think that maybe I did not think about the obvious singleton need when I was trying to make that work so thank you for pointing that out as well.
As for the connection string I'd like to suggest to you, if you can, to update the documentation's db connection page (https://www.litedb.org/docs/connection-string/) which currently says: Key = "Connection", Description = "Connection type (“direct” or “shared”)" and Default Value = "direct", which, if they are case-sensitive as you previously said are therefore wrong and may be thus causing unnecessary trouble to many other people if they are supposed to be "Shared" or "Direct" instead of "shared" or "direct".

@lbnascimento Oh, and regarding the version I'm running. I double checked now and it is 5.0.0. Though Nuget does not say for that particular version which framework versions it supports. It actually does not say anything in the description or dependencies section. But you are probably right in saying that 5.x does not support .NET 4.0. It's been a while since I was coding that part of the project and forgot that for .Net 4 I actually used a much less capable custom in-memory solution do do the most important stuff the LiteDB is doing in the higher-targeted versions of .NET.
I'm not sure then why Nuget previously let me use the 5.0.0 version of LiteDB but wont update to any higher than that saying that those versions do not support net40. But it may be that I originally started three different single-target projects and later unified them to a single multi-targeted one, even though I'm pretty sure it was before even starting to use LiteDB in it. In any case, this gave me an idea right now to find out if I can force Nuget to install despite having one of the targets lower then required. It turns out I can add <PackageTargetFallback>net451;dotnet5.6;portable-net45+win8</PackageTargetFallback> right under the first <PropertyGroup> before the <TargetFrameworks> and that let me upgrade to 5.0.8. So thanks for asking again about the version I use and pointing out that 5.0.0 already did not support net4. I think that I am now all sorted. Will implement the singleton pattern tomorrow probably so will know for sure if it works then. But things now finally seem pretty clear so I'm confident all will work finally as expected.

Well, I finally got around to update my code to use the Direct connection.
As I read the posts again I noticed that you @lbnascimento actually say "case INsensitive", not "case sensitive" as I read it. So you either fixed your mistake or it was me reading it wrong the first time. If that is the case I apologize for that.
I'm happy to report that the code now works with the Connection=Direct. I did not have to do any other change than in the connection string and removing the using (var db = new LiteDatabase(_Connection)) around my db access statements and uncommenting my readonly property to return the "db" singleton instead. So I'm not sure whether I never tried the "Direct" or if it is that I upgraded from 5.0.0 to the latest version the last time I responded, but this time it all works as expected compared to before, when it was not with exactly the same code changes. I would have for sure tried at least "Connection=direct" but it still did not work. Well, it works with "Direct" so I can finally be happy and am not going to even try "direct", which, according to you, should make no difference anyway. Maybe it did in v5.0.0 - I can't be sure now. All good now finally. Thanks for the help.


Add support for inline strings inside is/t tags.

<c><is><t>The inline value</t></is></c>

The test file is created with SXSSF.
https://gist.github.com/joeljons/da73550a583c67f70af7


[Issue] "FAVICON IS MISSING " FROM  ISKON EVENT PAGE , REJUVENATE PAGE AND BLOG PAGE

problem :- Incorrect File path...

I WOULD LIKE TO WORK ON THIS ISSUE UNDER GSSOC'23

I would like to work on this project .Please assign it to me.

I want to work on this.
please assign it to me under the GSSOC contributor

@visparmar What favicons do you intend to add, the project is yet to have its own social handle

I am interested to work on this issue under GSSoC 2023 as a contributor


Nav-Bar

Creating Nav-Bar
Again, not much to say. For starters we only have two pages in the works, #6 (Homepage) and #7 (Contact). Though these two pages will almost certainly be the bulk of the traffic/usefulness.

HomePage is done, please feel free to close the issue once you complete Contact page.


IndexedDB

Although it is a little early for me to suggest this, as we have a few remaining issues of significance we'd like to resolve before our first Node-supporting release (which ought to be pretty close if not complete on passing the W3C tests), I thought it would be good to get a discussion going on allowing IndexedDBShim integration if you were open to it (perhaps as you do with node-canvas, as our code is probably too large to want to include by default).
In our W3C testing environment, though we're missing polyfills for shared workers and service workers, we do have our own Worker polyfill onto which we are grafting IndexedDB support (though it is a goal to allow its export). We also have DOMStringList (which is back in use) and use an event polyfill which supports IndexedDB's quirky addition to the event algorithm: https://github.com/w3c/IndexedDB/issues/140 . However, as with the main IndexedDB interfaces, these would need a bit of work to extract and/or merge, so I thought I'd get this out now to ask for consideration and also possibly to shape our own development.

Hey, very cool!
We'd definitely be interested in this. The biggest integration issue for jsdom, I think, is that we want web platform APIs to be implemented using our webidl2js framework, so that all the edge-cases around argument handling and such are done correctly.
You can see an example of doing that in an external library in whatwg-url (see: lib/URL-impl.js, which corresponds to src/URL.idl; build-time tooling then generates this URL.js).
We could also create such wrappers inside the jsdom project itself, i.e. have -impl.js files that just call out to IndexedDBShim.

Ah, very nice to have a package for WebIDL. We had already gotten the interface tests passing, but it would have been nice, and it will no doubt be cleaner, to rely on a reusable framework for that.
And very good to have an example to go by, thanks!
(Speaking of URL, it would be nice to also have URLSearchParams...FWIW, js-polyfills has one though I can file a separate issue if you don't already have an explicit agenda somewhere for taking over the missing APIs of the HTML world.)

FWIW, we've just published (npm/bower), now on release candidate 2, so we welcome folks taking it for a spin. Unraveling its idiosyncratic export mechanisms to utilize the WebIDL package is not a trivial matter, so we are not ready for integration at this point, however.


Fix command injection vulnerability when exporting to curl or httpie

The function producing a curl/httpie command from a request doesn't escape single quotes properly. An attacker could craft a malicious request that when exported to a httpie/curl command will also contain any command he/she desires. This changes fixes the vulnerability.
UPDATE: Here is a copy of the email I sent to the maintainers indicating how to exploit the vulnerability:
The problem is in the export to curl/httpie command. An attacker can craft a
request that when it is exported will produce not only a curl/httpie command,
but any other one he/she desires.

To replicate the vuln, execute the following curl command (this is what the
attacker would do)

    curl -x localhost:8080 httpbin.org/get -H "X-Inject: '; cat
/etc/passwd #"

Then, in the mitmproxy flow list, select this request and run the command :

    export.clip curl @focus

A curl command will be copied to the clipboard. If you paste it in a bash
shell, the contents of the /etc/passwd file will be printed, indicating the
presence of the vulnerability.

By looking at the mitmproxy/addons/export.py file, I saw you try to escape
certain request fields like the POST data with the
strutils.bytes_to_escaped_str. This function isn't safe to escape single-quoted
shell arguments since single quotes are escaped with \' but the backslash
doesn't work in single-quoted bash strings. So I can exploit this even in
fields that are escaped with the bytes_to_escaped_str function. For example,
you can make this request:

    curl -x localhost:8080 httpbin.org/post --data-binary "'& cat /etc/passwd #"

If you export it to curl inside mitmproxy and paste the command in a bash shell
as in the previous step, the contents of the passwd file will also be printed.
I used a & instead of a ; to run another command because otherwise the curl
command wouldn't end because the content-length is greater the the actual POST
payload (because part of it is injected as a shell command).

To fix this vulnerability you should escape all request fields with the
shlex.quote python function instead of strutils.bytes_to_escaped_str. I can
make a PR you want to.

Greetings!

Hi! Can this PR be merged, or is there anything else to be done? This fixes a security vulnerability so it would be good to merge this soon.

Hi! Since I haven't received any response about the vuln since January, I'm publishing the details of how this vulnerability can be exploited by an attacker.
As a proud user of mitmproxy, I hope this can be fixed soon.

Thank you again for disclosing this responsible @cript0nauta! I'm super sorry that it took us that long, but we'll finally have the fix merged and a new release hopefully soon 😃
Thanks! 🍰 ❤


Upgrade kotlin to 1.0.2

This fixes some incompatibilities with the version in IntelliJ's latest Kotlin plugin.

Thank you for merging this.  Could you please publish a new version of
Yested so I can stop using a SNAPSHOT version?

Hi Eric,
it should be there as 0.0.104.
Sorry, haven't done much work on the framework recently.
I work on a new version in my work now. I implemented bindable properties
(aka JavaFx), some RxJS and added much more components. However that
version is not open sourced. I would like to publish it but it might take a
while (one year).
Would you be willing contributing to the development if I open source it?
Regards,
Jan
2016-06-17 6:39 GMT+02:00 Eric Pabst<EMAIL_ADDRESS>
Thank you for merging this. Could you please publish a new version of
Yested so I can stop using a SNAPSHOT version?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jean79/yested/pull/119#issuecomment-226678980, or mute
the thread
https://github.com/notifications/unsubscribe/ABZSjywXU7cUw0jX5ZXV2h4cAzHQjUjLks5qMiTvgaJpZM4Ij7Nx
.


[code-snippet]: Text can be obscured by the copy button

Description
The copy button in the code snippet can overlay the text in the component making the text difficult to read and the copy button not immediately identifiable. While in some cases the code can scroll horizontally, edge cases exist where that's not possible.

Component(s) impacted
bx/cds-code-snippet
Browser
Firefox
Carbon for IBM.com version
v1 & v2
Severity
Severity 3 = The problem is visible or noticeable to users but does not impede the usability or functionality. Affects minor functionality, has a workaround.
Application/website
AEM
Package
@carbon/ibmdotcom-web-components
CodeSandbox example
https://web-components-v1.carbondesignsystem.com/iframe.html?id=components-code-snippet--multi-line&viewMode=story
Steps to reproduce the issue (if applicable)
No response
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

This behavior is reflective of styles inherited from the upstream carbon-components package's _code-snippet.scss. As such, technically this is a bug in that package.
I can patch in a workaround in carbon-web-components, though we'll need a Carbon designer's sign-off given this is a visual design issue. Off the top of my head, I can think of two possible solutions (pink border added for illustrative purposes):

Float the copy button atop the content

https://github.com/carbon-design-system/carbon-for-ibm-dotcom/assets/12532727/03d8d8e2-b28f-40bc-8591-86910004e923

Add spacing to the right of content as a "track" for the copy button to sit in

https://github.com/carbon-design-system/carbon-for-ibm-dotcom/assets/12532727/7d4bb3b4-7a59-4366-9a77-c6f37f577923
@oliviaflory @RichKummer what do you think? Other ideas welcome, of course!

@oliviaflory @RichKummer Though this is a fairly innocuous bug, I have a high priority internal ticket to fix it. I opened up https://github.com/carbon-design-system/carbon-for-ibm-dotcom/pull/11878 to give you something to look at, going with the first option I mentioned above. Let me know if you have the chance to take a look. Thanks!

@jkaeser looking at the Carbon documentation I believe option 2 the "track" is the intention based off the design specs

Thanks, @oliviaflory! I updated the PR with that value.


add line magic to toggle highlights on / off

Highlights can now be turned off via:
%safety nohls

and turned on via:
%safety hls


feat(CategoryTheory): proof producing coherence tactic 5: integrate into string diagram widget

[ ] depends on: #15929
[ ] depends on: #16606

This PR moved to #16852.


Experiment: Discord Game Invites

Description
See if its possible to use the Discord game sdk to implement an invite system independently of the origin/ea overlay, this would improve the invite system reliability as the current reliability of the existing overlay is flakey and its unknown how long it will continue to work.
If this experiment is a success #32 can be closed
Checklist

[ ] Game invites are integrated with discord
[ ] Players can join each other through discord

I don't use discord nor my close friends for communications or games. Relying on it for an external invite system would eliminate people like us from being able to use an in-game invite system. I would rather suggest implementing a different approach or providing two methods if you're set on implementing discord.
I would suggest something like you add to the relay client a "connect" box that contains another user's in-game name and a "password" box that -must- match on the other end and validated by the server.
Example:
Host: sets password -> forwards it to server
Server: stores password for host using its associated accout name
Client: enters name/password -> forward to server
Server: validates name/password (accept|decline)
Accept: Host is forwarded client joining packet and Client is forwarded game info
Decline: send Client wrong info (e.g. cause a prompt about not able to join or something, or just flatout ignore it)

Hey, I'm not too sure if im going down the discord route yet as I'm not sure if I can make the discord add work with this. This is an experiment so its not set in stone and things are bound too change. This experiment was added as I've seen a large portion of the user's and ME3 playerbase reside on discord communities
At the moment I'm working on modifying the game in order to make it possible to obtain the player details and call the nessicary client(me3) game joining functions. Because of the way the client(pr) is structured currently it has no idea about authentication or anything that's happening on the game client as its only a proxy, attempting to modify this to intercept authentication from the server would add a great performance penalty.
Because of this invite changes won't be available to the original external client tool   instead im only planning on supporting them for the client plugin, as with the client plugin im able to directly access the game(me3) objects and interact, which simply isn't possible without being injected into the game (the normal tool isn't injected like the plugin and its impossible to force a client to join from the server side so the plugin version must be used)
I may find other solutions while I'm working on this but ill definitely keep your suggested method in mind.


Run with Parameters is encoding input parameter values (no encoding is expected)

Azure Data Studio Version: 1.35.1
OS Version: Windows 11 21H2 22000.795

Steps to Reproduce:

Run any Python Kernel notebook using 'Run with Parameters' option
Enter a string with spaces and spaces will be converted to '+' in the injected cells for parameters. Screenshot attached. No encoding is expected and value should be as is actually.

Does this issue occur when all extensions are disabled?: Yes

@VasuBhog seems like a nice candidate for us in the next release (October). Sound ok?

@chlafreniere yup! I will target for October!


GETINFO ns/all bandwidth lines do not contain the unmeasured flag

There's a comment about is_unmeasured being broken in:
https://github.com/pastly/simple-bw-scanner/blob/master/sbws/lib/relaylist.py#L63
Stem's get_network_statuses() method uses GETINFO ns/all. GETINFO ns/all doesn't have the Unmeasured flag, but GETINFO dir/status-vote/current/consensus does.
You'll need to implement a wrapper like https://stem.torproject.org/_modules/stem/control.html#Controller.get_network_statuses
GETINFO ns/all could be better documented, too:
https://gitweb.torproject.org/torspec.git/tree/control-spec.txt#n611
We will fix this as part of https://trac.torproject.org/projects/tor/ticket/24110

Stem's get_network_statuses() method uses GETINFO ns/all. GETINFO ns/all doesn't have the Unmeasured flag, but GETINFO dir/status-vote/current/consensus does.
You'll need to implement a wrapper like https://stem.torproject.org/_modules/stem/control.html#Controller.get_network_statuses

Did you mean to link to get_network_statuses here? As you said, it uses GETINFO ns/all

You'll need to implement a wrapper like the code of https://stem.torproject.org/_modules/stem/control.html#Controller.get_network_statuses
But for GETINFO dir/status-vote/current/consensus rather than ns/all.


Hear "go to sleep" after some inactivity

I run hear with:
hear -l it-IT -d
It works perfectly.
Then I leave it running for some time without speaking.
When I speak again, speech is no logged anymore.
After some seconds of speech, hear restarts logging the speech.
It sounds like if there's an auto idle status after some time of no speech.
I checked in activity monitor, and neither hear nor localspeechrecognition processes show App Nap is active.
Any idea?

This must be some built-in behaviour in the native macOS speech recognition API used by hear. Not much I can do about it.


Can i disable Pan while elements of the SVG are being dragged

I have an SVG which has some elements which are draggable (using snapsvg to generate the SVG). Unfortunately, when panEnabled: true, the element is dragged and the svg is panned at the same time, which is not a desirable. Anyway to turn off PAN only when a draggable element is dragged?

It should be possible to do so. You'll have to disable svg-pan-zoom pan functionality disablePan() on drag start (or keydown event) and reenable it enablePan() on drag end (or keyup event).


Add a gclient test, update a CI workflow

Maybe we need to support new meta?

https://github.com/gear-dapps/app/pull/12

Displaced by #12.


Add status for health check

Added a status for board status check. useful for automations in HA

Thank you. We will try to include this in the next release cycle.


Get Coordinates of the target Player.

Get Coordinates of the target Player. There are similar in Bukkit:
Block block = player.getTargetBlock(null, 100);

Can you be a little more descriptive here?

It is very difficult. Badly I know English.

I'm guessing he wants to have access to block/entity raytracing methods

Screenshot:

Do you want it to work with blocks at any distance, or just blocks within the default minecraft reach?

Just get the data on this block.

I don't see the advantage of using an iterator for finding when the LOS should stop, Can't you do anything you would with an interator with a predicate and more?
The only issue I see is if people forget to count the number of uses inside the predicate they could search forever, and I'm not 100% sure what would happen if the predicate had state that was changing in parallel.

@ryantheleach I agree, but I think the argument for the predicate is that it can more elegantly accomplish all of the things that the 4 arguments do, with more flexibility, and that any downsides to the API (people forgetting to count things, for example) can overcome by providing a few pre-built default helpers (static BlockPredicate.distance(Location start, int radius); for example)

Some helpers that occur off the top of my head:
distance(Location start, int radius); // stop after a certain distance
blockType(BlockType type); // stop when you hit a certain type of block
whenSolid(Predicate<BlockType> transparent); // stop when you hit a solid block
```

How about proper entity raytracing? It is one of the things I've really been missing in Bukkit.

The thing with these types of utilities is that there is not real advantage to building them into the API over writing them yourself. I would argue that for the sake of not bloating the API with functionality that can just as easily be created by a plugin, with no performance or memory costs over the API implementation, that it should be left to plugins to implement.

@Deamon5550 Raytracing implies knowledge of bounding boxes and solidity, among other block properties and game logic. Recreating true raytracing in a plugin would be quite an exercise in reinventing the wheel, whereas integrating it into the API allows it to be implementation-specific. How would mod blocks be handleable otherwise?

I consider it useful. Especially, if events are occupied: RightClick and LeftClick.
Application: working with blocks and entities in the distance.

I agree with @Azatik.

I think the addition of two methods in the interface player.
getTargetLocation: get the Coordinates of where the player is looking.
getTargetEntity: get the Entity of which looks player.

I can see getTargetLocation being useful. getTargetEntity is too specific, perhaps iterate over entities within certain bounds (something like targetLoc + 1, targetLoc - 1)
If a player is looking at a block, it would also be useful to get the face of the block they're looking at.
i.e. a tuple of (Location, Direction)

Maybe we should move the second method (getTargetEntity) to a util class. With some customization options.

Here is the Gist providing the abstract functionality for target block / line of sight functionality.
https://gist.github.com/ST-DDT/e49fc174f19a65f26b1b
Shall i create a PR for that?

I created a PR to fix this issue:
https://github.com/SpongePowered/SpongeAPI/pull/683

Should this PR include entity tracing?

Fixed in #687

Just a note: until the EyeLocationData is implemented, the block tracer will use the player's location (feet). This means that the result is a bit lower than expected.


[7.0] Fix some warnings

For trivial fixes (i.e. a missing cast) I typically just commit directly to dev-7.0, but I wanted to get your feedback on this changeset.
Because the diff is a bit unwieldy, I'll try to summarize it below:

The trailing semicolons were removed on the _LV_OBJ_STYLE_SET_GET_DECLARE lines. They aren't necessary and ISO C doesn't allow them.
I split the definition of _LV_OBJ_STYLE_SET_GET_DECLARE out into a separate file to make it more manageable.
I modified _LV_OBJ_STYLE_SET_GET_DECLARE to take an extra parameter that describes whether the value type is scalar or not. ISO C forbids casting of scalar types (even to themselves) so this unfortunately ugly hack seems to be necessary.
I changed all the _lv_style_get_ functions to use void * for their type. Again, this was quite ugly, but C++ doesn't allow implicit casting of void *, so I either had to do that or add yet another parameter to _LV_OBJ_STYLE_SET_GET_DECLARE to be able to use an explicit cast. I chose the former for simplicity, because it doesn't appear that the _lv_style_get are intended for consumption by anything other than the macro.
Lastly, lv_mem_test will always succeed if LV_MEM_CUSTOM == 1 (because the necessary size information isn't available).

Thank you very much!
What do you think about moving the _LV_OBJ_STYLE_SET_GET_DECLARE... calls to lv_obj_style_dec.h?

@kisvegabor That makes it much neater. I've made that change and merged this.

Great! Thanks you!


Update kubevirt csi driver deployment with proper timeouts

What this PR does / why we need it:
https://github.com/kubevirt/csi-driver/pull/93 updated the timeouts of the csi-provisioner and csi-attacher to be 3 minutes instead of 15 seconds to avoid the timeout happening while waiting for disk to hotplug.
This PR modifies the controller deployment and daemonset to match that PR
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[x] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/cherry-pick release-4.14


Is there any tutorial or docs for evaluating SWEBench lite using aider?

Issue
I found you guys doing an awesome work on evaluating SWEBench lite using aider in this post https://aider.chat/2024/05/22/swe-bench-lite.html, can you provide any implementation details?
Version and model info
No response

Thanks for trying aider and filing this issue.
The benchmark harness that I've been using probably isn't tidy enough for other folks to use. I hope to publish it soon though.

Really appreciate what you did! Looking forward your great work publishing out.

I just pushed the SWE Bench harness to a new repo:
https://github.com/paul-gauthier/aider-swe-bench

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


Change comment under address line with "Maximum anonymity set" transaction

Need change comment under address line with "Maximum anonymity set" transaction
"Guarantees anonymity set of up to 64K." - in Masternet

"Guarantees maximum anonymity set of up to 64K." - in design

Checked


Odd rendering of whitespace for grayed out launch.json properties

Steps to Reproduce:

Set "editor.renderWhitespace": "all",
Open a launch.json.
Add some spaces in the value of a property such as type or request

Bug

Whitespace indicators in these properties is the same as the text. Normally whitespace indicators are subdued

This is how renderWhitespace: all works
Closing as designed
Use "editor.renderWhitespace": "boundary"

The bug here is the color/opacity of the whitespace. It is being rendered like a normal character in this case


focusInvalid element is hidden under a fixed-top navbar

Subject of the issue
focusInvalid does not take into account a bootstrap navbar with fixed-top placement.
Your environment

version of jquery-validate: 1.19.1
which browser and its version: Firefox 71

Steps to reproduce
https://jsfiddle.net/Ln7hodag/4/
Expected behaviour
the focusInvalid() function to focus and scroll the page so as the invalid element is visible and not hidden under the fixed-top navbar.
Actual behaviour
the focus goes to the invalid element but the element is hidden under the fixed-top navbar.
Thank you.

no interest, closing.


Server Pool support

The Python lib 'ldap3' supports something called a Server Pool: https://ldap3.readthedocs.io/en/latest/server.html#server-pool
It would be nice of ldapjs also supported this.

If you'd like to send a pull request to add this feature, we would certainly consider it. Remember to add unit tests.

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


add new generator: prisma-generator-pothos-codegen

Describe this PR
Add new add new generator prisma-generator-pothos-codegen to community generators.

thank you for your contribution


default max values

is there a way to define default max values; to be overridden when a new max is achieved?

I am not sure what you mean.
the input min and max get automatically set to the min and max values found over the lifespan interval set when initing the class
though they can be overridden by just calling read on whatever value you want to be the min or max as long as they are outside the current range like in this example
https://github.com/zivoy/AdaptiveMapping/blob/a02e6fd4efaf53a967cad653e888067a65afa216/examples/analogInput/analogInput.ino#L19-L20
you can also find the min and max that are used using the minimum and maximum methods and compare it to the value you provide to either the read or map functions to see if you reach a peak and do something
The min and max provided to get the output range in the map function can be changed whenever to whatever you want


os x dns resolution

Trying out strict_dns resolution on OS X.  It doesn't appear that envoy utilizes OS X's 'native' DNS resolution.  Is this currently not supported?
Specifically:
We can resolve with ping:

glass:~ me$ ping -c 1 foo-service.service.consul
PING foo-service.service.consul (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=64 time=0.030 ms

--- foo-service.service.consul ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.030/0.030/0.030/0.000 ms

We have told OS to send .consul to <IP_ADDRESS>:8600
glass:~ me$ cat /etc/resolver/consul
nameserver <IP_ADDRESS>
port 8600

Resolves from consul:
glass:~ me$ dig @localhost -p 8600 foo-service.service.consul

; <<>> DiG 9.10.6 <<>> @localhost -p 8600 foo-service.service.consul
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43988
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;foo-service.service.consul. IN A

;; ANSWER SECTION:
foo-service.service.consul. 0 IN A	<IP_ADDRESS>

;; ADDITIONAL SECTION:
foo-service.service.consul. 0 IN TXT	"consul-network-segment="

;; Query time: 0 msec
;; SERVER: <IP_ADDRESS>#8600(<IP_ADDRESS>)
;; WHEN: Thu Aug 29 15:16:06 EDT 2019
;; MSG SIZE  rcvd: 118

Envoy
clusters:
  - name: foo-service-grpc
    connect_timeout: 0.5s
    http2_protocol_options: {}
    type: strict_dns
    lb_policy: round_robin
    health_checks:
    - grpc_health_check:
        authority: foo-service
      timeout: 1s
      interval: 2s
      interval_jitter: 1s
      healthy_threshold: 3
      unhealthy_threshold: 3
      event_log_path: "./healthcheck.log"
    tls_context:
      sni: foo-service
    hosts:
    - socket_address:
        address: foo-service.service.consul
        port_value: 4641

Doesn't see anything:
[2019-08-29 15:19:31.104][9879245][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:839] adding TLS initial cluster foo-service-grpc
[2019-08-29 15:19:31.104][9879243][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:839] adding TLS initial cluster foo-service-grpc
[2019-08-29 15:19:36.105][9879224][trace][upstream] [external/envoy/source/common/upstream/strict_dns_cluster.cc:89] starting async DNS resolution for foo-service.service.consul
[2019-08-29 15:19:36.105][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:36.106][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:36.107][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:36.107][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:36.107][9879224][trace][upstream] [external/envoy/source/common/upstream/strict_dns_cluster.cc:96] async DNS resolution complete for foo-service.service.consul
[2019-08-29 15:19:41.108][9879224][trace][upstream] [external/envoy/source/common/upstream/strict_dns_cluster.cc:89] starting async DNS resolution for foo-service.service.consul
[2019-08-29 15:19:41.109][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:41.109][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:41.110][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds
[2019-08-29 15:19:41.110][9879224][trace][upstream] [external/envoy/source/common/network/dns_impl.cc:160] Setting DNS resolution timer for 5000 milliseconds

@lizan @zuercher

@krm1312 Which build/version are you on? Can you paste the output of envoy --version here?

1.11.1. Downloaded it (binary) in last couple days.  Can get detailed version info tomorrow.

Actually I pulled it from brew.  I’ll double check.

OK thanks that's enough information, it should be from getenvoy then.

@krm1312 it doesn't seems c-ares support /etc/resolver IIUC, meanwhile you should be able to use dns_resolvers in cluster config to point the cluster to consul resolver: https://www.envoyproxy.io/docs/envoy/v1.11.1/api-v2/api/v2/cds.proto

Works create.  Thanks.  Missed that option.


Creating a blank whiteboard

It isn't intuitive to know what to change to create a blank whiteboard. It'd be good to have an icon/feature that creates a new one with auto-filled parameters.

This one does exactly that :)

Thanks - though I would recommend the icon being changed, since the recycle bin icon isn't what I would hit normally when I need a new whiteboard. And I would also suggest documenting the icon functionality in the how-to guide.

I kinda agree, but after further thought I'd leave this as is until we implement multi-tab support and the new-file button will actually create a new scene instead of trash the current one.
Not only due to semantics, but so that when we finally introduce it we don't silently & fundamentally change what that button does (from trashing to creating new scene).


Add mod Drawers and Tubelib

Drawers offers great storage capabilities but I've heard that it can cause lag for mobile devices
I have a fork of Drawers that works with techpack (requires my techpack addon tubelib_tweaks)
https://github.com/0siribix/tubelib_tweaks
https://github.com/0siribix/drawers
https://forum.minetest.net/viewtopic.php?p=400291#p400291

tubelib tweaks has a bug with vacuum and I have been too busy IRL to work on it this week. I recommend to comment out the vacuum.lua line in init.lua until I can update it

OK, finally got Vacuum working
Vacuum will collect any dropped items in a 5x5x5 grid below the block. High Perf Vacuum will collect from 11x11x11

A created a PR what add the tubelibs2 to the game.
Is a good ideia?

I have reviewed the tubelib2 PR and based on the mod description, that it don't adds functionality by itself, we may need to implement both the tubelib + drawers.
I'm a bit confused about the tubelib mods available at ContentDB, to be honest. I have some mods that no longer are maintained as well, generating several warnings on logs so I'm afraid they will stop working next minetest release, so I would be more likely to add mods that are maintained...
All things considered, I'm inclined to go with these:

Pipeworks https://content.minetest.net/packages/VanessaE/pipeworks/
Storage Drawers https://content.minetest.net/packages/LNJ/drawers/

@0siribix - do you think it is better to use your forked versions or it is wise to use the ones from ContentDB? I'm now with a beta server and a restore script that makes testing with a replica of the server data a breeze so we can test both paths and decide which one to follow.

My fork of Drawers only adds Tubelib compatibility. It will only benefit if you use both of them. My techpack fork adds a vacuum node as well as stack refill ability. Pipeworks is very cool but it is also very demanding on the server. Techpack is much more performance friendly. Tubelib is only a library and Techpack depends on it. It's a bit confusing because Techpack has a tubelib folder. You must have tubelib2 installed independently and then install Techpack. I do not have a fork of tubelib2

It is quite clear now, thanks!
So, I'll need to update the current PR to add:

Your techpack fork (from here: https://github.com/0siribix/techpack_0siribix)
Your tubelib_tweaks package (from here: https://github.com/0siribix/tubelib_tweaks)
Your Drawers fork (from here: https://github.com/0siribix/drawers_0siribix)

I'll update the branch on the beta server and have it ready for us to test. I'll keep the lower resources as of now!
In order to keep track of the Git mods I'll probably fork them (without changes) to reference my fork in the Dockerfile so I can keep my builds reproducible.
Quick question from one of your README files: do you know if a max_stack of 1024 can cause any harm? I'm not sure it may break something in the refill part.

I must apologize, I've changed the structure of my techpack fork. When I submitted this request, I had tubelib_tweaks which required Techpack. At that time my fork was only for bugfixes with PRs to the original. I have since abandoned this as it was too difficult to maintain. Now, tubelib_tweaks is deprecated and I maintain techpack_0siribix. Please don't use tubelib_tweaks

To be clear, previously my changes were applied using tubelib_tweaks with dependence on official Techpack. Now I maintain my own fork of Techpack

Perfect thanks! I'll use the forked versions you suggested!

Woops, commit messages closing issues too early 😳
In other news, @0siribix kindly test on the Mercurio beta server, now public on serverlist. I've not changed any config yet, any tweaks recommended?
Thanks for the work and help with these mods!

OK... Note to self: never commit changes too late 😓 - I pushed to master that is why the issue was closed. Keeping this open in case we need to revert anything, but initial testing on beta looked fine. It will land on main server soon ...

Tested and mostly works but I found two different bugs.

If you use a Techpack Autocrafter and pull the item from the middle slot just above the on/off button, it crashes the server but only if the button is green (On). I was not able to reproduce this on my own computer or on Avalon where techpack_0siribix is up-to-date
After crafting several items from the crafting menu, I suddenly stopped having craft ability. I can move items to the crafting grid but I am unable to pull the resultant item from the slot. This seems to only affect my account. I logged in with an alt account and was able to craft

Re: "any tweaks recommended" - The only ideas that come to mind is check for conflicting recipes with other mods and possibly add items to gravelsieve.
Tested successfully:

Crafted drawers
Crafter tubes, autocrafter, pusher, highperf pusher, teleport box
Used HP pusher to pull from locked chests and push into a teleport box, from destination teleport box into a drawer controller which was connected to 18 sets of drawers. Drawers were connected to the drawer controller via tubes. Everything not mentioned above worked as expected

I recommend for someone to test each techpack item at least once and confirm that something will defect after some time. I simply don't have time to test everything. The most recent bugs I fixed were items being duplicated or lost when moving from a pushing chest to itself OR another pushing chest OR drawer controller OR a container from another mod.

Awesome!!! Thanks for that!
Interesting, bugs you found! Some considerations:

Beta restarted a few times yesterday, it could be a restart not related to the issue. If you can reproduce the issue on the main server I can fetch logs and check if it is an issue. I'll try to reproduce anyway but I'm not very used to techpack! I'm using the version from git master/main branch of the repo as of yesterday.
This is weird... It persisted after you exited/joined the game again?

Again, thanks for the tests made and for the improvements for the mods we're using!

Tested on production server. I could not reproduce the crash when removing the item in an autocrafter. I did quickly have the bug where I cannot craft from Unified Inventory craft menu. Again, only seems to affect the TEST5000 account and not 0siribix. I am also not sure how to reproduce the issue. Yesterday when test server rebooted several times - that was when I crashed it with the bug mentioned above. Usually a crash like that happens when trying to perform an operation on a nil objectref or table. I suspect maybe the timing was when the autocrafter was changing from "On" status to "Sleep". Again, I was only able to reproduce this on the test server.

I was able to crash production server today using the same method as mentioned before. Doesn't seem to be reliable :-/
Crash happened around 4:30 PM CST (-05:00)

Hi @0siribix - just a follow up: I could reproduce the issue of the craft not being available. It seems to be related to some old items being aliased to "" empty strings, and being in the player inventory. They will appear as empty slots but in the database where actually still there and not removed. As a result, it was breaking the craft action. I could fix by removing the data directly from the database for me, and attempted to fix by converting those items to default:stone so if you can test if that fixed for you I'll be glad.

I'm happy to know this is not related to Techpack or Drawers ^_^
I still have the issue so I'll open a new issue


⚠ Jenkins Plugins Artifactory has degraded performance

In 679c8a1, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1284 ms

Resolved: Jenkins Plugins Artifactory performance has improved in f75a29e after 50 minutes.


Improved platform specific defaults and features for CI

Description

Refactor the arguments for swell_prepare_config and swell_create_experiment
No more use of config defaults with swell_create_experiment. swell_prepare_config step required first.
Remove references to CI/CD from Swell.
Set more platform specific defaults.
Switch crtm coefficients to 2.4 version
Point to nightly build by default

Thanks Joe!


A eosiocpp guide installed by docker is needed!

I  use eosiocpp installed by docker, but can not find the new created contract:

the eosiocpp command is generated as follows:
sudo docker run --rm --name eosio -d -p 8888:8888 -p 9876:9876 -v /Users/liufuhu/study/blockchain/eos/example/work:/work -v /Users/liufuhu/study/blockchain/eos/example/data:/mnt/dev/data -v /Users/liufuhu/study/blockchain/eos/example/config:/mnt/dev/config eosio/eos-dev:v1.0.8  /bin/bash -c "nodeos -e -p eosio --plugin eosio::wallet_api_plugin --plugin eosio::wallet_plugin --plugin eosio::producer_plugin --plugin eosio::history_plugin --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --plugin eosio::http_plugin -d /mnt/dev/data --config-dir /mnt/dev/config --http-server-address=<IP_ADDRESS>:8888 --access-control-allow-origin=* --contracts-console"
11850  docker container ls --all

alias eosiocpp='docker exec eosio /opt/eosio/bin/eosiocpp'

docker exec execute your command inside the container, so your helloEos folder is located inside your docker container instead of your docker host. Check your docker container and you will see helloEos inside your docker container root folder :)
For more information about the behaviour of docker exec, you can check docker exec reference here https://docs.docker.com/engine/reference/commandline/exec/

thank you, i got it.

@liufuhu   i get eosiocpp command not found ,  i am using docker
any help?

@vijaytabhatt if you are using docker, have you set up the alias of your eosiocpp? Assuming your docker container is called eosio, it should be alias eosiocpp='docker exec -it eosio eosiocpp'
If you look at our docker hub, https://hub.docker.com/u/eosio/, only eosio/eos-dev supports eosiocpp, eosio/eos does not.


Update for Bevy 0.6 please

hello Belzile , possible to get it for Bevy 0.6 ? spritesheet animation ?
Maybe it will be platformers for next bevy game jam   https://itch.io/jam/bevy-jam-1

possible to get it for Bevy 0.6 ?

The code in the repository has been updated to Bevy 0.6. I am not (short term) planning to update my tutorial though.
The main differences from Bevy 0.5 is that components need to derive the component trait (add #[derive(Component)] on top of the struct).
UI stuff changed more. You need to inject a color instead of a material, and the property is not in the same place.
Otherwise the job to do is mostly adding .into() to convert a couple structs.
Anyway, you can still refer to the updated code (on the master branch) if you are stuck.

spritesheet animation ?

That would be a good topic for another article. I will think about it.


Add DESTROYED state (if DESTROYED we are already STOPPED).

I have seen:
04-Apr-2023 06:12:45.499 SEVERE [main] org.apache.catalina.core.ContainerBase.stopInternal A child container failed during stop
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/clusterbench]] in state [DESTROYED]
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:992)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardService.stopInternal(StandardService.java:497)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.core.StandardServer.stopInternal(StandardServer.java:979)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:849)
at org.apache.catalina.startup.Catalina.start(Catalina.java:811)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
Caused by: org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_stop]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/clusterbench]] in state [DESTROYED]
at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:430)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:244)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1412)
at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1401)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:986)
... 20 more
04-Apr-2023 06:12:45.500 SEVERE [main] org.apache.catalina.core.ContainerBase.stopInternal A child container failed during stop
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: A child container failed during stop
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:992)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:257)

This doesn't seem quite right to me. If a container has been destroyed, it is not valid to call stop(). I think we need to understand how this is happening before we start looking at potential fixes.

It seems that happens when a war is removed while tomcat is stopping,

Just deleted on the file system or removed via the Manager app?
It looks like there are sorts of race possibilities between Host and HostConfig. How far do we want to go to address these?  Since HostConfig is a LifecycleListener for Host I think all the hooks we might need are in place.
Would it be sufficient to make HostConfig.check() (and check(String)) a NO-OP unless the associated Host is in state STARTED?

Just deleted on the file system.

I need to find a way to reproduce to investigate more.

@markt-asf there is something weird while removing the war file and letting Tomcat undeploying the webapp, randomly Tomcat seems to reject the connection of the shutdown port:
java.net.ConnectException: Connection refused
I created 200 war files put them webapps and wait until they are started and then remove the war files and try to stop Tomcat....

OK the  lot of times is because of the Thread.sleep(500); in checkResources() in HostConfig.

According to a bunch of test I also have:
+++
SEVERE [main] org.apache.catalina.core.ContainerBase.removeChild Error destroying child
org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hello-sailor]] in state [STARTED]
at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:430)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:316)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:826)
at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1033)
+++
Or
[main] org.apache.catalina.util.LifecycleBase.destroy The destroy() method was called on component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hello-sailor]] after destroy() had already been called. The second call will be ignored ...

Just deleted on the file system or removed via the Manager app?
It looks like there are sorts of race possibilities between Host and HostConfig. How far do we want to go to address these? Since HostConfig is a LifecycleListener for Host I think all the hooks we might need are in place.
Would it be sufficient to make HostConfig.check() (and check(String)) a NO-OP unless the associated Host is in state STARTED?

There is no periodic event unless the container is available so this is "done" already to some extent. However without a sync it is not fully enforced.
I think the PR at this point enforces it "more".
Maybe adding synchronized to ContainerBase.backgroundProcess as general "sane behavior" ? Also HostConfig.check() and HostConfig.check(String name) should sync on the host an recheck getState().isAvailable() to cover when the call comes through the manager ?

See https://github.com/apache/tomcat/commit/dce1fc833b5192ec0ccee7d4120a050cee5da8de
the exceptions are gone but now the stop() is blocked by the check(String name) but the fix is easy don't wait for removed war resources.


feature request: Material design css

Hey, Serg,
Your text editor is a great piece of work.
I'd love to see your editor have, as an option, the css from Material Design, https://material.angularjs.org/latest/#/. The typography at https://material.angularjs.org/latest/#/CSS/typography is just great, and having an editor like yours to use it would be a dream come true for my project.
I expect others would benefit from this addition to your great text editor.
Thank you.

@innerpeace0 this request is more than 6 months old now, and I really don't see why and how we would put this editor to use Material Design patterns. This looks more like something you would do in your own app and the editor itself would inherit these css rules.
In case I misunderstood your request, would you mind explaining it further?


Package not discoverable by cmake through installed .cmake files

You install these files:
$ pkg info -l soci | grep cmake
	/usr/local/cmake/SOCI-release.cmake
	/usr/local/cmake/SOCI.cmake

but this cmake instruction fails find_package(Soci REQUIRED)```:
  Could not find a package configuration file provided by "SOCI" with any of
  the following names:

    SOCIConfig.cmake
    soci-config.cmake

It appears that /usr/local/cmake/ is a wrong place because SOCI files are the only files there:
$ ls -l /usr/local/cmake/
total 40
-rw-r--r--  1 root  wheel  8656 Mar 21 11:01 SOCI-release.cmake
-rw-r--r--  1 root  wheel  4589 Mar 21 11:01 SOCI.cmake

The files you show (SOCI-release.cmake, SOCI.cmake) don't come from SOCI sources and I don't see /usr/local/cmake anywhere in them neither. Are you sure you're not looking at some FreeBSD-specific packaging changes?

Or perhaps this is the same as #849?

The files you show (SOCI-release.cmake, SOCI.cmake) don't come from SOCI sources [...]

The FreeBSD port doesn't add any cmake files. They are installed by the project itself.

Yes, sorry, I think it's really the same thing as #849, which you also reported. I don't think it makes sense to keep both of them open, so closing this one. Any help with fixing that problem would be still very welcome.


conflicting definition with CascLib on linux

GetLastError and SetLastError use 'DWORD' in StormLib, but in CascLib they use int. This inconsistency causes compilation errors. Also using both libs causes 'multiple definition' errors(GetLastError, SetLastError, IsValidFileHandle, CalculateDataBlockHash, VerifyDataBlockHash, IsValidMD5)

In commit 9e10caef57e232f0d43a52c92cfa3a4caaf67066 of CascLib, I changed the LastError functions to use DWORD. I also renamed the IsValidFileHandle and IsValidStorageHandle. As for the others, there will probabl be many more conflicts than just CalculateDataBlockHash, VerifyDataBlockHash, IsValidMD5. At least the whole FileStream was taken from StormLib. I never intended to have both libraries on one project. Would building a dynamic library from StormLib and CascLib help?

What is the actual status of this? For ghost++ I need to use StormLib and CascLib simultaneously, StormLib for map MPQ-Files and CascLib for automatically extracting common.j and blizzard.j out of the Warcraft III.exe

Take a look at my fork if no better solution arises, @maxemann96

@BogdanW3 Thx for your work, is working like a charm :)

@BogdanW3: I looked at your fork and it seems that the only file that conflicts with CascLib is CheckWildCard. I renamed the function in commit b60bc45088ffa77b00dffca928f99159cbcebd2f. It should now work.
Closing the issue; if a problem persists, let me know.


New issue from WalletDesktop

Making sure we don't cross the streams

Exalate commented: GitHub source link is https://github.com/Lumerin-protocol/WalletDesktop/issues/82

This is a comment from GitHub

Alan Sorber commented: Moved to DONE on WalletDesktop issue and then added this comment


Cannot Extract path from MPQ due to some MPQ protections

Hi zezula,
I am trying to parse this mpq file: https://bounding.net/map/170190 and I am running into some issues. As you can see from the link, my website can parse the map but that is using an older algorithm that is simply "enumerate all files in mpq, try to parse each one as a starcraft map, pick the first one that parses correctly". This algorithm isn't great because it picks up fake CHK files inside the mpq, so I want to move away from it.
When I try to parse the above map, I get error 1004 from SFileReadFile for all locales that I try (I am making sure that the filename ends in .scx) when trying to read 'staredit\scenario.chk'. I think this file is intentionally mangled to be difficult to read by protectors. It has many files inside the MPQ that are likely bogus. Almost all of them cannot be read by MPQEditor except for File00000029.xxx and the various .wav files. File00000029.xxx is the real CHK file for this map. I will also note that there is at least one other file with the same codewords as File00000029.xxx, it is File00000028.xxx. The only difference I can see from these two files in the mpq archive are that File00000029.xxx has the flag 'decryption key adjusted' where as the fake files do not have this.
What do you suggest I do here to read the correct CHK file instead of the fake one?

I have troubles downloading the map from that webpage. Can you attach it to this thread?

looks like i broke the downloads without noticing it :)
map.zip

Thanks. I'll look at it. Recently, I did some improvements for protected Starcraft maps, so I assume this will be similar problem

https://github.com/ladislav-zezula/StormLib/pull/241

Let me try it now.

I also rebuilt MPQ Editor, it can now open the files properly.
BTW, if you check [*] Deep File Verification during opening the map, you will only see files that are actually valid.

Thanks zezula. I can confirm it is now passing in my tests properly. I found another file with a different issue I think. I'll investigate  a bit and then maybe file another issue.

it seems there is a bit more to this issue. When I apply these patches it fixes the issue in this map, but it also breaks another one.
I suspect that remaster has changed something to do with mpq reading. I also believe that both of these maps are valid and have worked with starcraft at some version. Both maps are protected.

Map
protection

ococ bound.scx
ACMP 1.74

Sniper - Seed vA.scx
SMC 2.9

starcraft tests:

Map
Starcraft 1.16.1
Starcraft Remaster

ococ bound.scx
Works correctly
Works correctly

Sniper - Seed vA.scx
Can be played, 99% sure it works correctly
Cannot be loaded

I am not sure why Sniper - Seed vA.scx cannot be loaded in starcraft remaster. It could be because it cannot  read the mpq, or it could be because it cannot parse scenario.chk. Additionally, while Sniper - Seed vA.scx can be loaded in starcraft 1.16.1 and the game can be started,  it is not entirely clear if the map is playing correctly. But this definitely means that 1.16.1 can read the mpq at least mostly correctly. I suspect the map is either designed for 2 players or it requires an earlier version of starcraft to play correctly (likely because of outdated EUD triggers).
My code test cases:
My code for reading these files is here. Simply, I open the archive, set locale (try multiple locales) then call SFileReadFile().

Map
With 9eef856125
Without 9eef856125

ococ bound.scx
SFileReadFile: 1004
Success

Sniper - Seed vA.scx
Success
SFileReadFile: 1004

I am calling SetFileLocale(0). The code below is how I am doing it. None of the attempts (try_map_with_locale) are returning successfully. Each attempt will call SetFileLocale(x) and then SFileOpenFIleEx and then SFileReadFile in that order. All locales fail with 1004, then the test fails with "couldn't find scenario.chk the legit way".
I will double check my code tomorrow morning, but I think i am setting the locale correctly. I am also not sure that ococ bound.scx is using the same technique, at least I did not see a duplicate hash of "staredit\scenario.chk" in the hash table
        let locales = [
            0x404, 0x405, 0x407, 0x409, 0x40a, 0x40c, 0x410, 0x411, 0x412, 0x415, 0x416, 0x419,
            0x809, 0,
        ];

        // PROTECTION: Some maps put fake scenario.chk files at different locales. Try to find the real one by trying a lot of them.
        for locale in locales {
            if let Ok(x) = try_map_with_locale("staredit\\scenario.chk", locale) {
                println!("got candidate");
                // PROTECTION: Some maps put very small scenario.chk files in the mpq at different locales, ignore them.
                if verify_is_valid_chk(x.as_slice()) {
                    return Ok(x);
                }
            }
        }

        return Err(anyhow::anyhow!(
            "Couldn't find scenario.chk the legit way: {}, file: {}",
            stormlib_bindings::GetLastError(),
            filename
        ));

We need to make sure that there is no issue in your code. Or in the layer between your code and StormLib code. MPQ Editor doesn't do any black magic - there's call to SFileFindFirst/NextFile -> SFileSetLocale(found_locale) -> SFileOpenFileEx.

I am also not sure that ococ bound.scx is using the same technique, at least I did not see a duplicate hash of "staredit\scenario.chk" in the hash table.

It doesn't use the same technique. You can examine the tables in MPQ Editor - open the MPQ and go Tools\MPQ Table Viewer (Ctrl+T).

I realize that I have been linking the wrong map this whole time. Sorry for the confusion. The correct maps are
OcOc Bound 2(p).scx
Sniper - Seed vA.scx
We can now see that both do use the same technique, both have duplicate hash table entries for "staredit\scenario.chk"
OcOc Bound 2(p).scx

Sniper - Seed vA.scx

I tried creating a simple test case to remove some layers to make sure the issue I'm encountering is real. I added that test case below, and I made two of them, one for OcOc Bound 2(p).scx and one for Sniper - Seed vA.scx.
I think I know the issue now. It seems as though SFileOpenFileEx is selecting the wrong file when told to open "staredit\scenario.chk" I noticed that I can call SFileOpenFileEx() with "File00000014.xxx" and I can extract this one correctly. I think this also explains why mpqeditor can extract the files from both archives correctly, since it is using FindNextFile so it will be trying to open the "FileXXXXXX" names.
using commit b79a6cc62e I get:
running 2 tests
test chk2::test::general::specific_test_0c0c_bound ... FAILED
test chk2::test::general::specific_test_sniper_seed ... ok

failures:

---- chk2::test::general::specific_test_0c0c_bound stdout ----
Error: SFileReadFile. GetLastError: 1004

if i do git revert 9eef856125 and rebuild and rerun the same tests:
test chk2::test::general::specific_test_0c0c_bound ... ok
test chk2::test::general::specific_test_sniper_seed ... FAILED

failures:

---- chk2::test::general::specific_test_sniper_seed stdout ----
Error: SFileReadFile. GetLastError: 1004

using commit b79a6cc62e, but instructing the OcOc Bound 2(p).scx test case to open "File00000014.xxx" instead of "staredit\scenario.chk"
running 2 tests
test chk2::test::general::specific_test_0c0c_bound ... ok
test chk2::test::general::specific_test_sniper_seed ... ok

example test case using direct stormlib calls
#[test]
fn specific_test_0c0c_bound() -> Result<()> {
    unsafe {
        let filename = format!(
            "{}/test_vectors/OcOc Bound 2(p).scx",
            env!("CARGO_MANIFEST_DIR")
        );
        let cstr = std::ffi::CString::new(filename.as_str())?;

        let mut mpq_handle = 0 as stormlib_bindings::HANDLE;
        if stormlib_bindings::SFileOpenArchive(cstr.as_ptr(), 0, 0, &mut mpq_handle as *mut _)
            == false
        {
            return Err(anyhow::anyhow!(
                "SFileOpenArchive. GetLastError: {}, filename: {filename}",
                stormlib_bindings::GetLastError()
            ));
        }

        stormlib_bindings::SFileSetLocale(0);

        let mut chk_data: Vec<u8> = vec![0; 32 * 1024 * 1024];
        let mut archive_file_handle = 0 as stormlib_bindings::HANDLE;
        if stormlib_bindings::SFileOpenFileEx(
            mpq_handle,
            std::ffi::CString::new("staredit\\scenario.chk")?.as_ptr(),
            0,
            &mut archive_file_handle as *mut _,
        ) == false
        {
            return Err(anyhow::anyhow!(
                "SFileOpenFileEx. GetLastError: {}",
                stormlib_bindings::GetLastError()
            ));
        }

        let mut size: u32 = 0;
        if stormlib_bindings::SFileReadFile(
            archive_file_handle,
            chk_data.as_mut_ptr() as *mut _,
            chk_data.len() as u32,
            &mut size as *mut _,
            0 as *mut _,
        ) == false
        {
            let last_error = stormlib_bindings::GetLastError();
            if last_error != stormlib_bindings::ERROR_HANDLE_EOF || size == chk_data.len() as u32 {
                return Err(anyhow::anyhow!(
                    "SFileReadFile. GetLastError: {}",
                    last_error,
                ));
            }
        }

        chk_data.resize(size as usize, 0);
        anyhow::ensure!(chk_data.len() > 0);
    }

    anyhow::Ok(())
}

I can confirm that both maps can be open with the original Starcraft 1.16.1. I'll look what's so special about them.

If you are doing some sort of tests, do it with the LZ_DefragmentHashTableBug. I had to remove the hash table defragmentation, because it was not 100% and one of the protectors abused that fact.

I can confirm that with that branch at commit 6a107601c628ec I can run all my tests now and they all pass.


Look into globalThis.ObjectHUD

In src/foundry/client/pixi/placeables/token.d.mts and src/foundry/client/pixi/placeables/template.d.mts there was a reference to globalThis.ObjectHUD.
This reference does not exist. Look into why this happened and possibly add it back.

From 11.315's client/pixi/layers/controls/hud.js:
/**
 * @deprecated since v10
 * @ignore
 */
class ObjectHUD extends PIXI.Container {
  constructor(object) {
    super();
    const msg = "The ObjectHUD class is deprecated and should no longer be used.";
    foundry.utils.logCompatibilityWarning(msg, {since: 10, until: 12});
    ```


feat: check protocol in Identify peer additions

this will disable some bad ids to be added to DHT, see https://docs.libp2p.io/concepts/nat/autonat/

implemented, makes use of semver and only accepts protocols with equal major & minor version to the peer


Added ?url to CSS import to fix "import not found: default" errors

Closes: #

[x] Docs
[ ] Tests

Testing Strategy:
This should hopefully make it so that fresh Remix projects attempting to use Tailwind don't get greeted with "import not found: default" (client) or "malformed url" (server) when following the instructions.
I suspect this is caused by new Vite behavior of automatically injecting imported CSS. The docs clearly expect an URL, but that's not what Vite is returning here.

I just noticed the note on the top of the document. Closing this PR. Might re-open with a complete overhaul of this page to better represent the current defaults, but don't have the time at the moment.


add data_flow_external

replaces use_actor_u

we figured this out in a better way that doesn't use external and put the complicated calls inside bop


Tools folder is being deleted on clean build

I use the tools folder to store some script extensions to cakebuild and recently I noticed that cake is deleted that folder in an attempt to download the latest version of the tools and files needed for the build.  I'd like to request that you only delete the files that need to be updated rather than nuking the entire folder.

@ravensorb what you are describing is an action taken by the default bootstrapper (i.e. Build.ps1 or build.sh). These are a best guess at the normal defaults that a project wants. There is nothing to stop you changing these to fit with how your project works.


bug: silent bump of MSRV in d47e34dc5b4edf0014ef5c68db75ca3fc19ab333

The commit d47e34dc5b4edf0014ef5c68db75ca3fc19ab333 uses let else (specifically here https://github.com/gakonst/ethers-rs/commit/d47e34dc5b4edf0014ef5c68db75ca3fc19ab333#diff-ad8c0cbaf83e8d6e3eeb190c36796b85d9e135bcbebf9ee9686db458fbe6b54aR580) which is Rust 1.65, yet the Cargo.toml still states Rust 1.62. Probably worth factoring this usage out or updating the Cargo.toml if this usage is really valuable. I'm running 1.64 and this is the only compile issue at the moment.
@Will-Smith11 would you support factoring out the let else usage to avoid a version bump?

+1 on downgrading this by rewriting it

+1 on downgrading this by rewriting it

whats the benefit of not using the most recent stable version of rust? kinda seems backwards to me

Let's ethers be used by older versions of rust, resulting in less forced migrations across the ecosystem. For instance we deploy our ethers code on top of a precompiled base image that runs rust 1.64, it would be annoying to have to produce new base images every time a new version of rust is released

@Will-Smith11 you wanna refactor this real quick with a let ethers = ....ok_or_else(|| eyre::eyre!(...))? ?

@Will-Smith11 you wanna refactor this real quick with a let ethers = ....ok_or_else(|| eyre::eyre!(...))? ?

yeah i can

@mattsse  also noticed that CARGO_MANIFEST_DIR grabs the crate manifest rather than the head manifest so im gonna also add a fix in for that aswell

sg, can just submit two separate PRs

fixed in #1868


「评论」<%- title %>

页面：<%- window.location.origin + (relativePath || window.location.pathname) %>

Consider the standard producer-consumer problem. Assume, we have a buffer of 4096-byte length. A producer thread collects the data and writes it to the buffer. A consumer thread processes the collected data from the buffer. The objective is, both the threads should not run at the same time. 考虑一下标准的生产者-消费者问题。假设，我们有一个长度为4096字节的缓冲区。一个生产者线程收集数据并将其写入缓冲区。一个消费者线程处理从缓冲区收集的数据。目标是，这两个线程不应该同时运行。


Document supported Vault and Kubernetes versions

Overview
Create a compatibility matrix between bank-vaults CLI, Vault, and k8s versions

Is it possible to find the information somewhere?
The end2end test is running with hashicorp/vault:1.14.1 -> https://github.com/bank-vaults/bank-vaults/blob/main/.github/workflows/e2e.yaml#L23


add a ipam ut to make sure  dualstack ip random allocate is ok

Feature request
ref: https://github.com/kubeovn/kube-ovn/issues/3190

completed in master: https://github.com/kubeovn/kube-ovn/blob/master/pkg/ipam/ipam_test.go


The weight of the slide encoder of dimension 1024

Nice job!
Your code integrates Slide Encoder with an input dimension of 1024. The weight on Huggingface only involves only inputs with a dimension of 1536. I want to ask how to adjust the input with a dimension of 1024 or do you provide the corresponding weight?

Thanks for the kind word. Currently we only provide the slide encoder with 1536 input dimension, which is compatible with our provided tile encoder.


add listener.status property

minor refactor
closes #324

Coverage increased (+0.04%) to 94.747% when pulling 9871a825fb32f1fcb5fdab0f1ae00ac43aa11c99 on task/324-listener-status into cb47fcdf07a17cbf38dc8c814cef2c9d3c74e06d on master.