Azure-Migrate Tutorial does not mention all the permissions needed to carry out VMware migration

For your tutorial's "prerequisites" it tells us to complete step one, at this page - https://docs.microsoft.com/en-us/azure/migrate/tutorial-discover-vmware#prepare-vmware - to setup a VMware account with very limited permissions, described as follows: "In Global Permissions, select the user account, and assign the Read-only role to the account. Then click OK. If you also want to perform discovery of installed applications and agentless dependency analysis, go to Roles > select the Read-only role, and in Privileges, select Guest Operations. You can propagate the privileges to all objects under the vCenter Server by selecting "Propagate to children" checkbox." If a user like myself is following your tutorial steps, we will get the following error when we try to migrate:

Error ID: 110034
Error Message: Migration requirements could not be retrieved.
Provider error: Provider error code: 31475 Provider error message: Insufficient permissions to start the replication. Following additional permissions are required to perform the operation: Datastore.Browse, Datastore.FileManagement, VirtualMachine.Config.ChangeTracking, VirtualMachine.Config.DiskLease, VirtualMachine.Provisioning.GetVmFiles, VirtualMachine.State.CreateSnapshot, VirtualMachine.State.RevertToSnapshot, VirtualMachine.State.RemoveSnapshot, VirtualMachine.State.RenameSnapshot, VirtualMachine.Interact.PowerOff, VirtualMachine.Provisioning.DiskRandomRead, VirtualMachine.Provisioning.DiskRandomAccess. Provider error possible causes: The vCenter Server account configured on the Azure Migrate appliance does not have sufficient permissions to perform the operation. Provider error recommended action: Set the permissions required for migration on the vCenter Server account, and retry the operation.
Possible causes: Migration couldn't be enabled for the machine. See the Provider errors for more information.
Recommendation: Resolve the issue and retry the operation. If the problem persists, contact support.

The problem is that your tutorial instructions don't provide the correct list of permissions needed to perform the replication. Your 'concepts' section has them here but shouldn't your tutorial, which I carefully followed to perform my migration, also mention this requirement?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2b83e320-c9a0-204c-dca5-b0ed60ce2470
Version Independent ID: 8862ff67-2c6e-cb8f-3f8c-2c1f51a37f68
Content: Migrate VMware VMs agentless Azure Migrate Server Migration - Azure Migrate
Content Source: articles/migrate/tutorial-migrate-vmware.md
Service: azure-migrate
GitHub Login: @anvar-ms
Microsoft Alias: anvar

@TokenRing Thanks for your feedback.
Assigning to content author @anvar-ms for review.

Hi,
I had the same issue and resolved by going thru this session "https://docs.microsoft.com/en-us/azure/migrate/migrate-support-matrix-vmware-migration#vmware-requirements-agentless" (assigning the VMware level permissions)
Thanks
Rajesh K P

As advised by my manager @jyothisuri, closing the issues that are older than a year.
#please-close


[D&D 3.5] New feature: Add darkmode and Action tab

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <   >  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is: <   > (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <   > (i.e. Dungeons & Dragons, FATE)

[ ] I have followed the Character Sheets Standards when building this sheet.

[ ] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Add two new features:

darkmode style
create a new tab called Action, with several new combat options.

Character Sheet Info Roll20 Internal Use only.


Revert P2P reference handling changes that broke PCL builds

This reverts commit<PHONE_NUMBER>ccf673ec3eb88bc27f2d6e6a36fc52.
This reverts commit 4070ffca651672bb7ff515593a2ff6c79e06ae27.
@AndyGerlicher @rainersigwald @cdmihai This is the full revert.

Closing in favor of #1644


[FEATURE REQUEST] Support of Animated map

Hi @venits  ,
I have noticed that by default library is using standard MapView, however according to React Native Maps there is also AnimatedRegion which is using RN Animated node to set current map region.
As I see this is not supported by this package. To support AnimatedRegion MapView should be created as Aniamted component using this: Animated.createAnimatedComponent(MapView) .
This is minor change, which could help lot of developers. It would be great if you could add new property which would check whether MapView should be animated or not, and then create Animated component.
P.S. if map created using Animated.createAnimatedComponent(MapView), reference will be available by this.map._component.

How can I implement this manually until a feature is out? Could you help please

@egecavusoglu  Hi, I forked repository and added needed changes in my fork. If you need animated map, you can download my fork.

hello @egecavusoglu not able to find froke repo can you share link

I don't think I was able to figure this out, probably went with a workaround. Sorry mate.


Refactor predict structure

This is one of the biggest refactor to date so please do review and call out any problems.
This refactor aims to achieve a couple of goals

Remove use of pandas from predict (now named parse)
Write tests for predict (now named parse)
Rename variables, functions and files to make the code more readable and names more consistent
Remove the need to document id and reference id information inside predict (now parse)
Introduce a high level parse function called structure_reference that a accept a reference and returnes structured references
Refactor functions in predict so that they work in one reference at at time and the code in refparse to deal with that
Silence logger to make what is printed out less noisy but still informative

This is a big change but one that I wanted us to do for a couple of months. As a side effect of that change the code runs ~20x faster. Weirdly when I reintroduced pool map in my last commit it slowed things down so I would like to understand why with you @hblanks or @SamDepardieu.
Finally, the idea is that all these changes do move us towards the right direction so if you have second thoughts about any of the above, please do raise them.

Runs fine on my machine - but unfortunately hasn't magically solved the problem of references being dropped!

@nsorros  - I think this broke the build. Logs up at https://eu-west-1.console.aws.amazon.com/codesuite/codebuild/projects/datalabs-airflow/build/policytool%3A5894c697-4de0-4ac8-8871-65207e5783f8/log?region=eu-west-1# indicate new tests are failing.


Add description column for trending repos

Set it as an optional column as output can be
quite verbose.

LGTM


Clean Code: A Handbook Of Agile Software Craftsmanship, Chapter 1 to 3, 2022-11-25

https://github.com/silqwer/book-club/issues/4

https://github.com/silqwer/book-club/pull/6


build basic-cli 0.3.1 release test archive

Some parts of this need to be merged in but I need to look at it again.


[New game]: Adding OutRun offline game

🎮 Game Request
I'm always frustrated when the default Chrome offline game (Dino game) becomes repetitive and loses its novelty quickly. It would be more engaging to have a variety of games to play when there's no internet connection.
I want to have an "Outrun" themed game available as an offline game in Chrome. This game would provide a retro racing experience with 80s-inspired graphics and music, offering a more diverse and enjoyable experience when offline.
Point down the features
Game points
OutRun Offline Game
Graphics
Music
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Maheshwari-Love !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @Maheshwari-Love ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Support for Informix Check Constraint

It would be great if you could support for the Informix check constraint.

I found a solution where you could use a prepared statement from stackoverflow.
From surfing at www.iiug.org (International Informix Users Group) i found the not-so-easy solution.

(1) Get referential constraint data from the constraint name (you can get all constraints for a table by replacing "AND sc.constrname = ?" by "AND st.tabname MATCHES ?"). This statement selects some more fields than necessary here because they might be interesting in other situations.

SELECT si.part1, si.part2, si.part3, si.part4, si.part5,
    si.part6, si.part7, si.part8, si.part9, si.part10,
    si.part11, si.part12, si.part13, si.part14, si.part15, si.part16,
    st.tabname, rt.tabname as reftable, sr.primary as primconstr,
    sr.delrule, sc.constrid, sc.constrname, sc.constrtype,
    si.idxname, si.tabid as tabid, rc.tabid as rtabid
FROM 'informix'.systables st, 'informix'.sysconstraints sc,
     'informix'.sysindexes si, 'informix'.sysreferences sr,
     'informix'.systables rt, 'informix'.sysconstraints rc
WHERE st.tabid = sc.tabid
  AND st.tabtype != 'Q'
  AND st.tabname NOT MATCHES 'cdr_deltab_[0-9][0-9][0-9][0-9][0-9][0-9]*'
  AND rt.tabid = sr.ptabid
  AND rc.tabid = sr.ptabid
  AND sc.constrid = sr.constrid
  AND sc.tabid = si.tabid
  AND sc.idxname = si.idxname
  AND sc.constrtype = 'R'
  AND sc.constrname = ?
  AND sr.primary = rc.constrid
ORDER BY si.tabid, sc.constrname

(2) Use the part1-part16 to determine which column is affected by the constraint: the part[n] containing a value different from 0 contains the column number of the used column. Use (3) to find the name of the column.

If constrtype is 'R' (referencing) use the following statement to find the parts of the referencing table:

SELECT part1, part2, part3, part4, part5, part6, part7, part8,
    part9, part10, part11, part12, part13, part14, part15, part16
FROM 'informix'.sysindexes si, 'informix'.sysconstraints sc
WHERE si.tabid = sc.tabid
AND si.idxname = sc.idxname
AND sc.constrid = ? -- primconstr from (1)

(3) the tabid and rtabid (for referencing constraints) from (1) can now be used to get the columns of the tables like that:

SELECT colno, colname
FROM 'informix'.syscolumns
WHERE tabid = ? -- tabid(for referenced) or rtabid(for referencing) from (1)
  AND colno = ? -- via parts from (1) and (2)
ORDER BY colno

(4) If the constrtype is 'C', then get the check information like this:

SELECT type, seqno, checktext
FROM 'informix'.syschecks
WHERE constrid = ? -- constrid from (1)

Quite hairy indeed

thanks for suggestion

Reading check constraints and ability to create new check constraint in Informix implemented.

verified


Bugs with certain commands when using local cookbook that also has community cookbook

Originally ran into this issue when first setting up, and partially diagnosed it, but then it went away and I couldn't figure out why. This is the error I get:
http://pastebin.com/FkYRCPX5
I got it during the initial librarian-chef install, but then it went away for unknown reasons and now it only appears for librarian-chef update. Seems to involve this entry (but no other comparable entries):
cookbook 'newrelic',
  :path => 'cookbooks-sources'

It seems that newrelic is also a cookbook on the community site (but a different one), so my thought it that this is causing the issue. (The other cookbooks in cookbooks-sources either don't exist on community.opscode.com, or they exist, but my local version is only a slight modification, ie. the deps are likely the same)
Anyhow, I'll just use git repos in the Cheffile for now (as opposed to local refs to git submodules, which is simpler for active dev)
Thanks!

taking a stab at this now, but I'm a little new to ruby...

Thanks for providing the debugging output.
The following lines stand out to me:
[Librarian]                                                     Checking newrelic/0.0.1 <cookbooks-sources>
[Librarian]                                                       Scheduling  (>= 0.0.0) <http://community.opscode.com/api/v1>
...
[Librarian]                                                             Resolving  (>= 0.0.0) <http://community.opscode.com/api/v1>
[Librarian]                                                               No known prior constraints
/Library/Ruby/Gems/1.8/gems/librarian-0.0.12/lib/librarian/chef/source/site.rb:68:in `manifests': undefined method `map' for nil:NilClass (NoMethodError)

Do you have a line like depends "" in cookbooks-sources/newrelic/metadata.rb?

motherfrack. you're right. was in the metadata.json
Oy. Sorry Jay. Hopefully this didn't take as much of your time as it did of mine...!
Thanks again.

I like your style, sir


VarBuilder::from_bytes?

Is there a reason why VarBuilder::from_buffered_safetensors takes a Vec rather than a &[u8]?
Also, it's not clear to me why VarBuilder::from_mmaped_safetensors is unsafe. I don't think there's anything the user of the function can do to make their usage of it any more or less unsafe. Its safety seems to be entirely determined by the implementation of the function, which should be safe, and so the function shouldn't be marked unsafe.

Re from_mmaped_safetensors it's unsafe because it uses an unsafe function as documented here and you can see details on the root cause for this here: it mostly boils down to what happens if the file disappears etc. We prefer passing the information of this potential unsafe behavior to the library caller so that they are aware of it.

Thanks, that makes sense re: modifying a mmaped file. TIL!
I'm going to try to see if it's possible to implement a SimpleBackend for VarBuilder that uses a &[u8]

Yeah I don't think there is a good reason for not supporting the &[u8] it's probably just some historical stuff. I've put up #2179 which should provide the borrowed version (under a separate name so as not to break compatibility but maybe it should be the default).

Thanks for doing this! I put up #2180 that makes a couple minor fixes

Incidentally, the use case for this is that I can now do the following:

build.rs
fn main() {
    let api = hf_hub::api::sync::Api::new().unwrap();

    let api = api.repo(hf_hub::Repo::new(
        "example/model".to_string(),
         hf_hub::RepoType::Model,
    ));

    let model_file = api.get("model.safetensors").unwrap();

    println!("cargo::rustc-env=MODEL_FILE={}", model_file.display());
}

main.rs
static MODEL_DATA: &[u8] = include_bytes!(env!("MODEL_FILE"))

fn main() {
    [...]
    let vb = VarBuilder::from_slice_safetensors(MODEL_DATA, DType::F32, &device)?;
}

That is, you can download models at build time and then statically include them in the resulting binary. The same process works for including e.g. a tokenizer.json: you would output the filename in build.rs, use include_bytes!(), and then pass the static buffer to Tokenizer::from_bytes.
You could have a "bundled-model" feature so that if your model is large you don't have to copy it on every incremental compilation.

Closed by #2179 and #2180
Thanks again!


Add transaction method to client

The transaction method on the redis client is just a helper. This PR just copies over the implementation from redis-py so it can be used with the mock.

Thank you for your pr.


Roll Engine from cef6370095ae to 9977e4192615 (1 revision)

https://github.com/flutter/engine/compare/cef6370095ae...9977e4192615
2022-02-13<EMAIL_ADDRESS>Roll Skia from 139ffa19d965 to 0e48516aae7e (3 revisions) (flutter/engine#31442)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Feature/gh pages

Supports building the website using GitHub Pages.

Closing out, I'd prefer to keep the existing deployment infrastructure instead of switching to GH pages.  I've updated the deployment to use github actions, which puts back the old behavior of deploying changes once they're merged.


Implement extern "C" async functions.

It converts a JS Promise into a wasm_bindgen_futures::JsFuture that
implements Future<Result<JsValue, JsValue>>.
Fixes issue #2189. Now you can write:
#[wasm_bindgen]
extern "C" {
    async fn js_test() -> Result<JsValue, JsValue>;
}

And the generated code will do the conversion automatically.
Currently there is the limitation that the return value must be Result<JsValue, JsValue>, because that is the Output type of a wasm_bindgen_futures::JsFuture.
I've added a custom error message if the user does not specify a return type, and let the compiler complaint if they write a different type.
I've tried doing automatic conversions to be able to return Result<i32, JsValue> for example, but I could make it work for every case. I think that these kind of conversions (unboxing?) is never done in the generated code. Maybe if wasm_bindgen_futures::JsFuture were generic on the return type...
I noticed that one of the test cases used a manually-written promise, so I abused a bit and converted it to the new format. I don't know if it is appropriate or if more tests are needed.
About the documentation, writing English is not my best talent, so feel free to rewrite it at will.

Thanks for this! Before diving too much into the code though I think it'd be good to try to sort out the story for a generic return type here. For example it'd be great if async fn could work in the same way as defining an async function where you could omit the result, use any js-convertible types, etc. Would it be possible to mirror some of that conversion logic to automatically handle the Result<JsValue, JsValue> into a target T here? It might be necessary to define a new internal trait for that but I think that's ok.

The automatic conversion of the return type of a promise has two separate issues.
The first one is that JS promises are always fallible, there are always the then and the catch callbacks. It is as if every extern async function has an implicit #[wasm_bindgen(catch)].
If an extern function is defined as async fn foo() -> T and the promise fails, the only sensible outcome would be to panic! (i.e. auto-unwrap). I don't know if that is a good thing to do automatically.
Currently a catch function requires a Result<...> return type, I would do the same here.
The second issue is the type of the Ok value itself. The tricky thing is that this is not an ABI type, because a JsFuture always returns a Result<JsValue, JsValue>. So if we write async fn foo() -> Result<i32, JsValue> then we have to convert the success JsValue into a i32, but what if it fails? I can think of three options:
a. panic!.
b. return i32::default().
c. use Result::and_then and do as if the promise failed.
I like "c". We could implement TryFrom<JsValue> for X for many common types. Those can be useful for the end user, too. There is the detail of if we want to do semantic casting or not (is_truthy vs as_bool, ...).
An extra issue is the conversion of the error type. I think that a #[wasm_bindgen(catch)] does a simple ?, so there is an implicit .into(). Here I think that we should do the same.

Hi again! I have rewritten this PR and rebased to a single commit (I hope you don't mind).
I think this is the best compromise between easy/future proof/sensible. The rules are:

an export async function can return either a JsValue or nothing.
async can be combined with catch, thus returning a Result<JsValue,_> or Result<(), _>.

If the user wants a different type, they have to do the casting themselves and dealing with the errors.
The error in the Result follows the same rules as that in any catch function.
This way you can write 4 kinds of extern async functions, based on the return type, that I think they are quite useful.
#[wasm_bindgen]
extern "C" {
    async fn func1();
    async fn func2() -> JsValue;
    #[wasm_bindgen(catch)]
    async fn func3() -> Result<JsValue, JsValue>;
    #[wasm_bindgen(catch)]
    async fn func4() -> Result<(), JsValue>;
}

There are still the test cases missing, and the doc changes need a reword...
What do you think?

That all sounds great to me! If you want to add some tests and update the docs I think this should be good to go!

Hi! I rebased yet again, this time with more or less proper docs and test cases.
While writing the test cases I noticed a bug when the functions is declared to return nothing:
#[wasm_bindgen(module = "tests/wasm/futures.js")]
extern "C" {
    #[wasm_bindgen]
    async fn call_promise_unit();
}

because the JS-glue generator, seeing that it returns nothing, skipped the function. But I need the JS-glue to be able to return the Future, so I added a line in DescribeImport::to_tokens() to handle that special case.

All looks good to me, thanks again for this! I think rustfmt needs to run again but otherwise should be good to go?

Oh, I ran rustfmt to the test cases, but it kept on removing the async from the extern "C" block,  and then I grew tired of it.
I'm quite happy with this version, but sorry, I don't know the procedure... do you want me to do the rustfmt or will you do you do it?

Oh that may be a bug in rustfmt then, mind filing an issue upstream and adding #[rustfmt::skip] there for now?
(CI is failing and we gotta get it green somehow)

Green light (I hope)! Issue created at rustfmt.

👍
Thanks!


retString

!!! MANDATORY TO FILL OUT !!!

Goals

Expected Results

Actual Results

Steps to Reproduce

Code Sample

Version of Realm and Tooling

Realm framework version: ?
Realm Object Server version: ?
Xcode version: ?
iOS/OSX version: ?
Dependency manager + version: ?

Issue empty...


Feature - MultipartFormData

This pull request adds support for uploading MultipartFormData to Alamofire. I would love feedback from the community to make sure everything here is in tip-top shape before rolling it in. Any feedback would be much appreciated.
MultipartFormData
The general idea is that you append body parts to the larger MultipartFormData object, then encode it when you want the cumulative result. Encoding can be performed in two different ways:

Encoding In-Memory
Encoding Data by Streaming to Disk

Encoding In-Memory
Encoding in-memory should only be used with small datasets. If the contentLength of the MultipartFormData is too large, you run the risk of your app being terminated due to memory usage.
Encoding Data by Streaming to Disk
Sometimes you need to upload a very large dataset to a server such as a bundle of large images or videos. In these cases, your dataset is too large to perform the encoding in-memory. For these cases, the MultipartFormData class supports encoding the data using a combination of input and output streams keeping the memory footprint very small.
Uploading from Manager
The upload methods for uploading MultipartFormData support the idea of a memory threshold. To make it as easy as possible, the memory threshold is used to determine whether the MultipartFormData can be encoded in-memory or whether it needs to be written to disk first. The default value for the memory threshold is currently set to 10MB.
In order to make the encoding process asynchronous, the upload methods could not return a Request object directly. To handle this case, the MultipartFormDataEncodingResult enumeration was added and exposed in an encodingCompletion closure. The resulting Request object is contained as an associated value in the .Success case which can then be used to chain additional methods against. While this is a bit different than the other public APIs, it still is quite simple to use.
Alamofire.upload(
    .POST,
    URLString: "http://httpbin.org/post",
    multipartFormData: { multipartFormData in
        multipartFormData.appendBodyPart(fileURL: unicornImageURL, name: "unicorn")
        multipartFormData.appendBodyPart(fileURL: rainbowImageURL, name: "rainbow")
    },
    encodingCompletion: { encodingResult in
    	switch encodingResult {
    	case .Success(let upload, _, _):
    		upload.responseJSON { request, response, JSON, error in
    			println(JSON)
    		}
    	case .Failure(let encodingError):
    		println(encodingError)
    	}
    }
)

Summary
This was a fairly complicated feature to put together, so I'd really love to gather everyone's feedback. If you have a solid grasp of RFC 2388 and 2045, then please take the time to review these changes before we merge it in.

cc @kylef and @kcharwood

Great job!

Nice!

:+1: Great!

:+1:

:+1:  :100:

Thanks. It's possible to append regular POST vars?

+1
Can you merge it with swift-2.0 branch?

We will definitely merge this into the swift-2.0 branch once this gets merged into master @kamoljan.

Hi @cnoon!
I am looking forward to seeing it soon.
Thank you!

:+1:

awesome!

Just tried it out. Maybe I missed something but:
The "Content-Type" in my multipart POST header is not set to
"multipart/form-data; boundary=alamofire.boundary..."
which is what I need.
Is there any elegant way to achieve that? The only workaround I found was:
Alamofire.upload(
      request,
      multipartFormData: { multipartFormData in
        request.setValue("multipart/form-data; boundary=\(multipartFormData.boundary)", forHTTPHeaderField: "Content-Type")
        multipartFormData.appendBodyPart(fileData: fileData, name: "file", fileName: "asset.png", mimeType: "image/png")
      }, ...

Have the same problem with orschaef, how to get "multipart/form-data; boundary=alamofire.boundary..." in post request?

+1

Thanks @orschaef and @kaelite. That's totally my bad. I simply forgot to set the Content-Type on the URLRequest. I'll have it all fixed up shortly and will also adds tests around it @kylef.

@orschaef and @kaelite...the Content-Type issue should be resolved with f1557414. If you could give it a go I would really appreciate it.

@cnoon Seems to work now. Thank you! Glad we could help!

Thank you for confirming @orschaef. I'm going to go ahead and merge this. Thank you everyone for all your help getting this feature tightened up! 🎉 🎉 🎉

Awesome!
I'm just a little bummed about the multipart upload functions that do not return an (optional) Request synchronously, instead of through the encodingCompletion block. (AFNetworking would return a NSURLSession synchronously when using POST:parameters:constructingBodyWithBlock:success:failure).
I guess this is due to internal implementation reasons and there's nothing you can do about it.

Hi @damienrambout, thanks for your feedback.
Just for anyone else reading through this, I'd like to clarify a bit. The upload function doesn't return a Request directly because it needs to encode the MultipartFormData before creating the Request. Since the encoding operation can be very small or extremely large, you really don't want to block the caller thread while executing this. Therefore, the encoding is asynchronous and the encodingCompletion closure returns the Request. This is all intentional and by design.
A second approach in AFNetworking is to subclass NSInputStream and provide a dynamic upload stream rather than encoding it prior to the upload. While this is more convenient, it is extremely error prone. Additionally, subclassing NSInputStream is a very difficult and quite finicky. It's backed by an opaque type that needs to have certain methods overridden when toll-free bridging. It's just not a very robust or maintainable solution.
Our goal with Alamofire is to provide the absolute highest quality networking layer on top of the URL Loading System that we possibly can. Therefore, sometimes we will choose to implement certain features differently than AFNetworking to continue to improve the overall quality of its successor, Alamofire.

how can i append other vars to the POST?

@ivangodfather you can either append them as query parameters to an NSURLRequest or you can add them as multipart form data values using the following method:
func appendBodyPart(#data: NSData, name: String)

Would be like this?
let myInt = 3
let myString = "test"
multiPart.appendBodyPart(data: String(my_int).dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!, name: "my_int")
            multiPart.appendBodyPart(data: myString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!, name: "my_string")

and for an image:
data.appendBodyPart(fileData: UIImagePNGRepresentation(image), name: "image", fileName: "random_name.png", mimeType: "image/png") ?

You got it!

Hi @cnoon - just tried implementing your code snippet and am getting a .POST error, "Could not find member .POST", not having this issue with other Alamofire methods, including the single file upload function. Any thoughts?

Hi @robindoble, please check out the test logic. My guess is that you just have a syntax issue. If you do end up finding a mistake in an example code snippet in the README or something like that, please submit a PR or file a new issue. Thanks!

@cnoon and why i've to specify in my Podifle the branch master since its the default branch?
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :branch => 'master'
Otherwise, if i only write pod 'Alamofire' i dont get the methods with multipart.

@cnoon, now working, many thanks @ivangodfather

@robindoble  yeah, happened to me,  forgot to mention you, sorry, btw, isnt supposed to be the default branch?

@ivangodfather @cnoon - whats the best way to set custom headers on multipart requests, I saw this in a thread above, wondering if there is a best practice?
request.setValue("multipart/form-data; boundary=(multipartFormData.boundary)", forHTTPHeaderField: "Content-Type")
@ivangodfather - can you clarify your last post, are you suggesting podfile should be :branch => 'default' instead?

@robindoble i'm asking why if the patch is in the "master" branch i have i
specify branch => 'master' since when i do pod 'Alamofire' my guess is that
the default branch is "master".
On 13 July 2015 at 19:48, robindoble<EMAIL_ADDRESS>wrote:

@ivangodfather https://github.com/ivangodfather @cnoon
https://github.com/cnoon - whats the best way to set custom headers on
multipart requests, I saw this in a thread above, wondering if there is a
best practice?
request.setValue("multipart/form-data;
boundary=(multipartFormData.boundary)", forHTTPHeaderField: "Content-Type")
@ivangodfather https://github.com/ivangodfather - can you clarify your
last post, are you suggesting podfile should be :branch => 'default'
instead?
—
Reply to this email directly or view it on GitHub
https://github.com/Alamofire/Alamofire/pull/539#issuecomment-121003963.

--
Este mensaje se dirige a su destinatario y puede contener información
confidencial sometida a secreto profesional o cuya divulgación esté
prohibida por la Legislación Vigente. Cualquier persona distinta a su
destinataria tiene prohibida su reproducción, uso, divulgación o impresión
total o parcial. Si ha recibido este mensaje por error, notifíquelo de
inmediato al remitente borrando el mensaje original juntamente con sus
ficheros anexos. Gracias.

@ivangodfather - thats one for @cnoon, the author ;) @cnoon - would appreciate any advice on setting custom headers please.

Now that this is in master, is there any chance you'd be willing to merge it into the swift-2.0 branch?

Hi @robindoble, the Content-Type header is set automatically for you. If you need to set additional headers, you can either set them in the NSURLSessionConfiguration when you create the Manager instance, or you can set them on the NSURLRequest before you pass it into the upload:multipartFormData method as a URLRequestConvertible.

Just want to add my voice that this is working well in our app and we could ditch the custom method we used :+1:

I'm migrating from AFNetworking and have been struggling to add a dictionary to a multipart request so that it ends up being encoded in the same way it would be with an AFNetworking request like this:
     AF.POST(url, parameters: user, constructingBodyWithBlock: { (formData: AFMultipartFormData!) in
        if imageData != nil {
            formData.appendPartWithFileData(imageData!, name: "avatarImage", fileName: "blah", mimeType: "image/jpeg")
        }
    },
    ...

I've tried it like so, but the backend isn't happy with the encoding (i.e. something is different):
    Alamofire.upload(Router.SignUp(user, imageData),
        multipartFormData : { multipartFormData in
            if imageData != nil {
                multipartFormData.appendBodyPart(data: imageData!, name: "avatarImage", fileName: "blah", mimeType: "image/jpeg")
            }

        var serializedUser = ""
        for (key, value) in user {
            serializedUser += "user[\(key)]=\(value)"
	    }
	    multipartFormData.appendBodyPart(data:    serializedUser.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!, name: "user")
    }

Anything jump out as being wrong here?

                        data.appendBodyPart(data: dateString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!, name: "scheduled_closing_date")
                for image in images {
                    data.appendBodyPart(fileData: UIImageJPEGRepresentation(image, 0.6),name: randomStringWithLength(8), fileName: randomStringWithLength(8) + ".jpg", mimeType: "image/jpeg")
                }

where data is multipartFormData in your case

But how do I deal with a dictionary? That's what I can't recreate in Alamofire upload

On Sep 24, 2015, at 2:52 AM, ivangodfather<EMAIL_ADDRESS>wrote:
                    data.appendBodyPart(data: dateString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!, name: "scheduled_closing_date")
            for image in images {
                data.appendBodyPart(fileData: UIImageJPEGRepresentation(image, 0.6),name: randomStringWithLength(8), fileName: randomStringWithLength(8) + ".jpg", mimeType: "image/jpeg")
            }

where data is multipartFormData in your case
—
Reply to this email directly or view it on GitHub.

You need to transform it as a JSON ( https://github.com/Hearst-DD/ObjectMapper ) and send it with
let params = ["user":YOUR_JSON_USER]
request(.POST, YOUR_URL, parameters: params, encoding: .JSON)

That's not how to go about this @ivangodfather.

@SteveNewhouse you want to use the ParameterEncoding.queryComponents API to help you out here. Here's some sample code to get you on track:
let imageData: NSData? = NSData()
let URLRequest = NSURLRequest(URL: NSURL(string: "https://httpbin.org/post")!)

Alamofire.upload(URLRequest,
    multipartFormData : { multipartFormData in
        if imageData != nil {
            multipartFormData.appendBodyPart(data: imageData!, name: "avatarImage", fileName: "blah", mimeType: "image/jpeg")
        }

        let user: [String: String] = [:]

        for (key, value) in ParameterEncoding.URL.queryComponents("user", user) {
            multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
        }
    },
    encodingCompletion: { result in
        // todo
    }
)

Excellent- thank you Christian
On Thu, Sep 24, 2015 at 11:31 AM, Christian Noon<EMAIL_ADDRESS>wrote:

@SteveNewhouse https://github.com/SteveNewhouse you want to use the
ParameterEncoding.queryComponents API to help you out here. Here's some
sample code to get you on track:
let imageData: NSData? = NSData()let URLRequest = NSURLRequest(URL: NSURL(string: "https://httpbin.org/post")!)
Alamofire.upload(URLRequest,
multipartFormData : { multipartFormData in
if imageData != nil {
multipartFormData.appendBodyPart(data: imageData!, name: "avatarImage", fileName: "blah", mimeType: "image/jpeg")
}
    let user: [String: String] = [:]

    for (key, value) in ParameterEncoding.URL.queryComponents("user", user) {
        multipartFormData.appendBodyPart(data: value.dataUsingEncoding(NSUTF8StringEncoding)!, name: key)
    }
},
encodingCompletion: { result in
    // todo
}

)
—
Reply to this email directly or view it on GitHub
https://github.com/Alamofire/Alamofire/pull/539#issuecomment-142964094.


use Self instead of enum_variant

Without this the following warning would occur:
warning: unnecessary structure name repetition
 --> src/main.rs:7:6
  |
7 | enum Foo {
  |      ^^^ help: use the applicable keyword: `Self`
  |

and no clue on why this happens.

Thanks!

Would you mind creating 0.5.4 which includes this PR? There hasn't much changed since 0.5.3 which makes it easier to justify a patch release.

I have now released version 0.5.4, which includes this fix.


Brunch ?! seems to not work

Hello,
Maybe I have a mistake but this configuration does not work...
app.js contains tests/unit/spec.js and tests/func/spec.js and I don't understand why !
  files:
    javascripts:
      joinTo:
        'app.js': /(?!tests)/
        'test-unit.js': /\/tests\/unit\//
        'test-func.js': /\/tests\/func\//

Thanks !!!

tests directory is not watched by brunch. You would need to add it to paths.watched to tell Brunch about it:
config.paths = {watched: ['app', 'tests']}


Change position of profile badge

Fixes #139
Proposed Changes

Position the profile badge as the red notification badges you get on mobile.

Screenshots

Hey, it looks great.


Replication Stored Procedures

Hello,
I am unable to list the SPs required to perform the data-in replication in AzureMysql Database as a service. eg: az_replication_change_master does not exist within db. Do we need to create them manually?

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

ID: 261311a4-69ae-3bb8-7271-f8f8bd81ec38
Version Independent ID: 2fe7e95b-c316-ed88-4f7d-ad8e6463c952
Content: Configure Data-in Replication to replicate data into Azure Database for MySQL.
Content Source: articles/mysql/howto-data-in-replication.md
Service: mysql
GitHub Login: @ajlam
Microsoft Alias: andrela

@atullalwani, the data-in replication feature is only available on General Purpose and Memory Optimized servers. What type of pricing tier is your server configured with?

@ajlam
Thanks for the update. We have currently configured it on the Basic Pricing Tier. So we will switch to General Purpose or Memory Optimized pricing tier to enable data-in replication. Thank you!

Sounds good. Thanks, @atullalwani. Please let us know if you have any additional questions.
#please-close

any specific technical reason for not having these stored procs on basic tier? would certainly be useful if these are made available on basic tier too as usually once the sync in place, the tier can be upgraded after completing the dev? thoughts?


Update

PVNet_summation has become quite out of date w.r.t. PVNet. This pull request brings it back up to date

PVNet_summation has become quite out of date w.r.t. PVNet. This pull request brings it back up to date

Have you run training with this? If so, all good to merge


Added Ukrainian Apple keyboard layout, together with VM variant

Unfortunately Parallels Desktop did not provide Windows analog of the macOS Ukrainian keyboard layout, this PR provides it together with VM variant. Apple Ukrainian keyboard layout via AltGr provides ability to enter letters missing in Ukrainian language for several other languages used by bilingual Ukrainians, avoiding necessity to install other Cyrillic keyboard layouts.

Thanks Eugene 👍


Enable pipefail, tracing and print scala version

No need for a new release, but this is a bit nicer for the next time ;)

No rights to merge :man_shrugging:


Table-like borders in PickerDay

Thanks again for this great datepicker!
I needed to add borders to the PickerDay component. Like this:

This can be done with css, but trailing "blank days" are missing and grid is incomplete.
I added missing blank days in the end of the day table and provided tests.

Coverage remained the same at 100.0% when pulling ea1fb4fc37b6e622ec7fd2e083cc39d13ebabb4f on MontolioV:picker-day-table-like into<PHONE_NUMBER>f7e221a06877b1722519f2a2443adc on charliekassel:master.


Specify how to build jar file

Add some instructions to the README.md that explains how to build the project jar file. For example I run the command: "gradlew.bat jar" that created the file "/build/libs/OpeningHoursParser-0.18.0.jar". It looks like an obviousness but I've spent some time to figure it out.
Thank you

Addressed in https://github.com/simonpoole/OpeningHoursParser/commit/d5a6b33ad8f66f02220386003b8c89457f7a1193


Simplify type of run(); clarify error messages

This pull request adds:

Flatter (less nested) error handling.
True error exit codes for some errors.
A more robust type signature for run()
More descriptive error messages.

@solidsnack lgtm. Thanks a lot.


having difficulty downloading a playlist from youtube

so ive been able to download playlists in their entirety in the past, and am now having difficulty doing so. i can download single videos no problem, i just keep running into the error below with playlists. is there something i forgot to do?
C:\Users\Ba>C:\Users\Ba\Downloads\_a\youtube-dl.exe "https://www.youtube.com/wat ch?v=6yhvv234oaA&list=PLfbHRQQzOkj0zKVzfDX0iNeFzMhHwLOxx" --yes-playlist --playl ist-start 1 --playlist-end 13 -x --verbose [debug] System config: [] [debug] User config: [] [debug] Command-line args: [u'https://www.youtube.com/watch?v=6yhvv234oaA&list=P LfbHRQQzOkj0zKVzfDX0iNeFzMhHwLOxx', u'--yes-playlist', u'--playlist-start', u'1' , u'--playlist-end', u'13', u'-x', u'--verbose'] [debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252 [debug] youtube-dl version 2015.09.03 [debug] Python version 2.7.8 - Windows-7-6.1.7601-SP1 [debug] exe versions: ffmpeg N-76419-gdee7440, ffprobe N-76419-gdee7440 [debug] Proxy map: {} [youtube:playlist] Downloading playlist PLfbHRQQzOkj0zKVzfDX0iNeFzMhHwLOxx - add  --no-playlist to just download video 6yhvv234oaA [youtube:playlist] PLfbHRQQzOkj0zKVzfDX0iNeFzMhHwLOxx: Downloading webpage ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bu g . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete outp ut. Traceback (most recent call last):   File "youtube_dl\YoutubeDL.pyo", line 655, in extract_info   File "youtube_dl\extractor\common.pyo", line 287, in extract   File "youtube_dl\extractor\youtube.pyo", line 1616, in _real_extract   File "youtube_dl\extractor\youtube.pyo", line 1591, in _extract_playlist   File "youtube_dl\extractor\common.pyo", line 584, in _html_search_regex   File "youtube_dl\extractor\common.pyo", line 575, in _search_regex RegexNotFoundError: Unable to extract title; please report this issue on https:/ /yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U   to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

You are using an outdated version of youtube-dl. See our FAQ if you need help updating.


Enhance Alien Shooter Game

PR Description 📜
Enhance Alien Shooter Game by adding how to play instructions
Fixes #1806

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have specified the respective issue number for which I have requested the new game.

Thank you soo much for contributing to our repository 💗

Thank you @MisterMickey ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit Merge Please.

Thank you  @MisterMickey , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Wrong definition of dim in get_warm_start_mgd

dim in "get_warm_start_mgd" is defined as dim = len(source_solutions[0]). Since source_solutions[0] is tuple, this dim is always 2. I'm assuming dim = len(source_solutions[0][0]), otherwise get_warm_start_mgd won't work for higher dimensional data.

Good catch!! You are completely right. I fixed this bug at #98.

I published v0.8.2 for this bugfix. Thank you for reporting!
https://github.com/CyberAgent/cmaes/releases/tag/v0.8.2


Feature Request: A way to disable k8s

It would be nice to not have to re-install microk8s when you want to use it or leave it running all the time. A way to just disable it all with a single switch would be nice even if it was just a single systemd thing.

Apparently there's a snap disable and snap enable which we should test and leverage

I tested this today
sudo snap install microk8s --classic --beta
microk8s.enable dns dashboard
sleep 30
sudo snap disable microk8s
sudo snap enable microk8s
sleep 30
microk8s.kubectl get all -n kubeflow

We should purse this as the option to "disable" going forward


Unexpected Token Expiration

Very occasionally, we are getting a "token expiration" error when validating a JWT token (the log times on the left column are in UTC).  Is there anything obviously wrong that we're doing, or is there a possible issue here?
2022-07-29 23:04:54 (error) ValidateToken error: token expired
2022-07-29 23:04:54 (debug)ValidateToken error(tokenPayload):
{
    "sub"<EMAIL_ADDRESS>    "aud": "zzz",
    "scope": "openid profile",
    "iss": "https:\/\/...",
    "exp":<PHONE_NUMBER>,
    "iat":<PHONE_NUMBER>,
    "client_id": zzz",
    "jti": "MjU4Y2JkYWQtZTNjMi00Yjc5LThhOTItMjIyOWU5NjNmN2I2LTYzZXhGQ25VbGxSUTBWdlYwWndmMzRncnBHTT0="
}
2022-07-29 23:04:54 (warning) accessToken validation failed; return error

The version of JWT-CPP we're using is from the tag v0.6.0. The following are the pertinent sections of code we're using:
// switch from default picojson to nlohmann
#define JWT_DISABLE_PICOJSON

#include "jwt-cpp/traits/nlohmann-json/defaults.h"

using traits = jwt::traits::nlohmann_json;
using claim = jwt::basic_claim<traits>;
using json = nlohmann::json;

auto verifySSO = jwt::verify().allow_algorithm(jwt::algorithm::rs256(m_rsa_pub_key, "", "", "")).with_issuer(m_issuer);

bool JWTUtility::ValidateToken(jwt::verifier<jwt::default_clock, traits> verifier, std::string token) {
	string tokenPayload;

	try {
		auto decoded = jwt::decode(token);

		tokenPayload = decoded.get_payload();

		verifier.verify(decoded);	// verifier = verifySSO

		return true;
	}
	catch (exception& e) {
		g_logger.Log("ValidateToken error: " + string(e.what()), GlobalSettings::Error);
		g_logger.Log("ValidateToken error (tokenPayload): " + tokenPayload, GlobalSettings::Debug);
		return false;
	}
}

I just checked the token in your log and it seems like the error isn't that the token is not valid anymore but instead it is not yet valid.
JWT's can contain upto three timestamps, with iat and exp being the most common.
iat This is the timestamp when the token was created. In your case the unix timestamp resolves to Friday, 29 July 2022 23:04:55 UTC.
nbf This (if present) indicates that the token should be accepted before a certain time, its not used here.
expThe is the expiry date. The token wont be accepted after this.
As you can see the token claims to be created ~1 second after it was checked, so it obviously doesn't pass the validation.
There can be a number of cases for this but the most common one would be a clock skew between the system time of the device creating the token and the device checking it.
The proper way to fix this would be to make sure the servers have matching time, however this is not always possible.
Another way is the leeway option on the verifier object.
When building the verifier you can use .leeway(number in seconds) to change the global default leeway, or one of  .expires_at_leeway(number), .not_before_leeway(number and .issued_at_leeway(number) to change the leeway value only for a single claim. Leeway basically adds a bit of wiggle room to account for clock differences and transmission times.
For iat and nbf this means that the timestamp inside the token might be up to leeway seconds in the future and the token is still considered valid. For exp it works the other way and cases tokens to be accepted that would have already been expired.
If you can't guarantee synced clocks settings a couple seconds of leeway (given your small token lifetime I'd probably go with something like 5s) is a good idea.

HI Dominik,
Thanks for the quick response, appreciate it!
Ah, should have thought to check that, good catch. Is there a "usual/common" number used for leeway as standard practice? I'm thinking 5-10 seconds?
By the way, I checked out several C++ JWT validation packages, and I liked yours the best. For me, it had one of the cleanest, and easiest to use syntax of the ones I looked at, as well as providing good standards coverage. Not to mention that it was one of the smallest because it was provided as all header files. Also, since I already liked the syntax of the nlohmann JSON package, the fact that yours integrated with it made it that much more appealing.
Thanks again for the help!
Neil
From: Dominik Thalhammer @.>
Sent: Saturday, July 30, 2022 7:25 AM
To: Thalhammer/jwt-cpp @.>
Cc: Neil Y. Iwamoto @.>; Author @.>
Subject: Re: [Thalhammer/jwt-cpp] Unexpected Token Expiration (Issue #236)
Email was not sent from a Canon Network!
I just checked the token in your log and it seems like the error isn't that the token is not valid anymore but instead it is not yet valid.
JWT's can contain upto three timestamps, with iat and exp being the most common.
iat This is the timestamp when the token was created. In your case the unix timestamp resolves to Friday, 29 July 2022 23:04:55 UTC.
nbf This (if present) indicates that the token should be accepted before a certain time, its not used here.
expThe is the expiry date. The token wont be accepted after this.
As you can see the token claims to be created ~1 second after it was checked, so it obviously doesn't pass the validation.
There can be a number of cases for this but the most common one would be a clock skew between the system time of the device creating the token and the device checking it.
The proper way to fix this would be to make sure the servers have matching time, however this is not always possible.
Another way is the leeway option on the verifier object.
When building the verifier you can use .leeway(number in seconds) to change the global default leeway, or one of .expires_at_leeway(number), .not_before_leeway(number and .issued_at_leeway(number) to change the leeway value only for a single claim. Leeway basically adds a bit of wiggle room to account for clock differences and transmission times.
For iat and nbf this means that the timestamp inside the token might be up to leeway seconds in the future and the token is still considered valid. For exp it works the other way and cases tokens to be accepted that would have already been expired.
If you can't guarantee synced clocks settings a couple seconds of leeway (given your small token lifetime I'd probably go with something like 5s) is a good idea.

Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FThalhammer%2Fjwt-cpp%2Fissues%2F236%23issuecomment-1200166728&data=05|01|niwamoto%40cusa.canon.com|db33e80dc8744dd8466208da72373bee|5132013a1c8d4f879f4d43110f5bc07b|0|0|637947878853414285|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XWX790RZ9OoTLQKA0jhj9QmtELpO2f79BGKu1jzs2IY%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAL3NALO7565G4236J7I6SQTVWU3KLANCNFSM55CKVKHA&data=05|01|niwamoto%40cusa.canon.com|db33e80dc8744dd8466208da72373bee|5132013a1c8d4f879f4d43110f5bc07b|0|0|637947878853414285|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=lorDSwDtvdy3Fa86xG%2By04AnXrDRPM8s4Dme2U0yoPM%3D&reserved=0.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Will close ticket, but since the problem is very intermittent, it's tough to test for (other than in a testing environment). However, it's very likely that the few other occurrences of this (no output of the JWT in log at the time) were for the same problem.

Sounds good, thanks Dominik, decided to go w/10 seconds for now to see how it goes.
Will do on the suggestions, thanks again!

Would you happen to have an example of the verifier using a network time server vs the internal clock?

I don't, cause normally you want the time of the entire system synced using something like NTP and not just a single part of the program.
You can however overwrite the clock used by the verifier by passing a template type to the verify function.
The clock type needs to implement an interface similar to this:
struct default_clock {
	date now() const;
};

Where date is a std::chrono::system_clock::time_point.
You could probably implement one that uses some kind of ntp library/code to get an accurate time, but I'd advise against it, cause it will probably cause you other problems in the future.

Yeah, that was my preference as well; i.e. why just get one section of code to work and not the rest of the system. However, thought I'd ask just in case.
Thanks for the pointer

I had the same issue and scratched my head until I went bald, until I got to read this page that is, thanks for the well made explanation, I would just suggest(if you haven't done it already), updating the error message from "token expired" in this case, to "token not yet valid(issue_date)", it would have helped me a ton figuring this problem by myself.


[Preset] Skip libdispatch test due to https://bugs.swift.org/browse/SR-6122

@swift-ci test Linux

@swift-ci smoke test macOS

Build failed
Swift Test Linux Platform
Git Sha - 23a3f7e31188375142e1945ba9958f2f000570a8

I reverted the patch. If things work, lets close it.

My revert worked I think.


python311Packages.ipwhois: enable darwin support

Description of changes
Fix build (https://hydra.nixos.org/build/247526762)

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 284823 run on x86_64-linux 1

4 packages built:

python311Packages.ipwhois
python311Packages.ipwhois.dist
python312Packages.ipwhois
python312Packages.ipwhois.dist


On installation with Plug, commands not available

Describe the bug
After installation with Plug, none of the listed commands are available. I.e. EnableHLChunk
To Reproduce
Steps to reproduce the behavior:

Edit init.vim to add  Plug 'shellRaining/hlchunk.nvim' and save.
Enter nvim and run :PlugInstall
Restart nvim
Verify plugin health with :PlugStatus

Expected behavior
:EnableHLChunk should be available.
Screenshots

Additional Context
NVIM v0.9.1
Build type: Release
LuaJIT 2.1.0-beta3

can you provide the config of hlchunk.nvim, or are you just use the default config?

call plug#begin()
Plug 'shellRaining/hlchunk.nvim'
call plug#end()

lua << EOF
require("hlchunk").setup({})
EOF

you need call setup function to enable this plugin, and notice that chunk mod need nvim-treesitter default, so make sure install the deps.
close now, if have any question, feel free to ask~


[GSSOC'21] Kruskal's Algorithm

💥 Proposal
Hello, I am a GSSOC'21 participant and I want to add the code of this algorithm. My code will be in C++. I will also give some other examples which will be solved using this algorithm with proper explanation. Please assign me this. Hope to hear you.
Thank you .
Have you read the Contributing Guidelines on Pull Requests?

i can do this in java. please assign this to me!

Hi I am GSSoC'21 participant
i would like to contribute this algorithm using C++
so i would like @bhav09 to please assign this project to me :)

Hey, Kruskal's algo already exists hence cannot be assigned.
Closing the issue.


Upgrade Surefire 3.2.5 -> 3.3.0

This PR contains the following updates:

Package
Type
Update
Change

Surefire
build
minor
3.2.5 -> 3.3.0

[ ] If you want to rebase/retry this PR, check this box

Suggested commit message:
Upgrade Surefire 3.2.5 -> 3.3.0

See https://github.com/apache/maven-surefire/compare/surefire-3.2.5...surefire-3.3.0


use install/uninstall hooks instead of add/remove hooks

replaces PR #872
fixes #869
Co-Authored-By: @oborudko

@soumak77 since you refactored the scripts to be platform specific is there a reason you didn't do the same to the helpers. Seems odd to have some platform specific code in platform folders and other that is in a shared folder separated by only a naming convention.

@briantq no specific reason.  I'll refactor the helper scripts as well.

@soumak77 on my train ride in I modified the script to put Google in allprojects so we follow the install guide to a T. I'll make a PR when I get into the office.

@briantq probably best to first review and merge #886 so you can avoid merge conflicts


Add shading to bytebuddy to avoid dependency conflicts on classpath

I'm far from an expert here but I think this should resolve #6, which has some additional information on the bytebuddy repo here: https://github.com/raphw/byte-buddy/issues/1179.
The issue that I seem to be having is classpath conflicts with an older version of bytebuddy bundled in applications. I believe that using the relocate ability of shadowjar will avoid this classpath conflict.
Main Change

Add a relocate to the bytebuddy dependency to avoid conflicts on the classpath for users of this library

Small Changes

Update the gradle wrapper to 7.3.3
Add .editorconfig for some consistency in tab sizes on gradle

So I had tried to do a shadow relocate in the devel branch, but it kept leading to weird build and lookup errors b/c I was finding that the code itself was not being modified to use the new names, and that when things were "working" in tests, it was b/c the test setup happened to be pulling in the deps under their normal names into the resulting JARs (undoing that resulted in class lookup failures). And then trying to manually update the code to use the new names also resulted in issues.
How did you test that this worked?

Basically, I'm worried that the only reason it works for you might be that the agent code itself starts resolving to the other byte-buddy and not the relocated one.

@ChaosData My understanding of the relocate should be that the references themselves shouldn't need to change and internally the jar should know about the relocation, but I could definitely be wrong on that.
So far my tests were:

Normal gradle build
looking at the generated classes
running the sample test files in the repo

I've built a new version of this with my changes on my own repo and we're going to do some internal testing across our larger environment to see how it goes. I can report back. Here's my release: https://github.com/ahatzz11/log4j-jndi-be-gone/releases/tag/v1.0.1

From shadow docs:

Shadow uses the ASM library to modify class byte code to replace the package name and any import statements for a class. Any non-class files that are stored within a package structure are also relocated to the new location.

source: https://imperceptiblethoughts.com/shadow/configuration/relocation/#filtering-relocation

I'm aware that's what should happen. It just didn't happen when I tried exactly that 2 weeks ago.

Oh, interesting! Where did you see it start to break down?

$ java -javaagent:build/libs/log4j-jndi-be-gone-1.1.0-standalone.jar -jar tests/jnditest/build/libs/jnditest-tests.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:513)
	at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:525)
Caused by: java.lang.NoClassDefFoundError: net/bytebuddy/matcher/ElementMatcher
	at trust.nccgroup.jndibegone.Agent.load(Agent.java:57)
	at trust.nccgroup.jndibegone.PreMain.premain(PreMain.java:27)
	... 6 more
Caused by: java.lang.ClassNotFoundException: net.bytebuddy.matcher.ElementMatcher
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 8 more
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at ./src/java.instrument/share/native/libinstrument/JPLISAgent.c line: 422
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
[1]    99383 abort      java -javaagent:build/libs/log4j-jndi-be-gone-1.1.0-standalone.jar -jar

Agent.java:57 corresponds to JndiLookup__lookup.hook_deep_match(inst).
Disassembling it with javap doesn't show anything other than the relocated classes, and decompiling it w/ procyon similarly shows only the relocated classes being referenced.
package trust.nccgroup.jndibegone.hooks;

import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.method.ParameterList;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.type.TypeList;
import java.util.Iterator;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.annotation.AnnotationList;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.method.ParameterDescription;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.field.FieldDescription;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.annotation.AnnotationValue;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.method.MethodDescription;
import java.util.HashMap;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.annotation.AnnotationDescription;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.utility.JavaModule;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.dynamic.DynamicType;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.description.type.TypeDescription;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.agent.builder.AgentBuilder;
import java.lang.instrument.Instrumentation;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.matcher.ElementMatcher;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.matcher.ElementMatchers;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.asm.AsmVisitorWrapper;
import trust.nccgroup.jndibegone.vendor.net.bytebuddy.asm.Advice;

I think I figured it out. The test jar, for reasons of the way the tests built, had the uninstrumented version shadowed in. It appears that the lookup for the -javaagent jar was somehow resolving to the -jar jar for class loads, for which those implementations used the clean net.bytebuddy classes, and failed to load classes. Removing that stuff from the test jar made it work, which is sort of scary on its own for a whole host of reasons, but it does mean that the relocate itself was working. I'll have to fix the way the tests work. It's something I've been meaning to do anyway b/c it was making it annoying to detect certain kinds of class resolution issues. I just didn't think something like this would be possible.

Interesting! Seeing the decompiled version referencing the relocated classes is good.
Is this something you would be open to merging now before the test refactoring?

The test stuff was simple enough, it just took forever to run the whole suite against all of the combinations.
I have merged the v1.1.0 changes from devel into main with the relocate uncommented out and some other minor fixes I spotted when running the full suite against it. v1.1.0 changes the semantics slightly by doing a bit fancier of a lookup (though they can be disabled with =structureMatch=0 if you want the simple name match behavior).
I still have not seen an example of a repackaged log4j 2.x that doesn't just change the names back before loading in a custom classloader, which is why I was sort of letting the branch languish for a while, but I had most of my other changes in there anyway, so I decided to go with that work rather than diverge main from it.


Add custom TTL support

Currently every entry will be deleted after 24 hours. We also want to support a custom TTL up to 24 hours (maybe later extend it)
e.g.
ssh codesnap.sh ttl=1000 < example.go

where the ttl is in seconds

I will work on this issue

I will work on this issue

you cannot work on this issue. You don't have server access xD

also the TLS won't be set on the golang server, but on the nginx proxy


ros_control error during Catkin_make of franka_ros package on Arch Linux real-time kernel

Hello, I have been trying to catkin_make the franka_ros package (noetic-devel tag 0.8.0) and the following error is obtained (also attached CMakeOutput.log)-
CMake Error at /home/trec/catkin_ws/devel/share/controller_interface/cmake/controller_interfaceConfig.cmake:113 (message):
Project 'controller_interface' specifies
'/home/trec/catkin_ws/src/ros_control/controller_interface/include' as an
include dir, which is not found. It does neither exist as an absolute
directory nor in
'/home/trec/catkin_ws/src/ros_control/controller_interface//home/trec/catkin_ws/src/ros_control/controller_interface/include'.
Check the issue tracker
'https://github.com/ros-controls/ros_control/issues' and consider creating
a ticket if the problem has not been reported yet.
Call Stack (most recent call first):
/opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
franka_ros/franka_hw/CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/trec/catkin_ws/build/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:2102: cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
CMakeOutput.log
I have installed the ros_control package using yay -S ros-noetic-ros-control and there were no errors during the installation. It would be great if you can advise on resolving this. I had raised issue with ros_control and they say that it is not a problem with ros_control, but rather with franka_ros.

Hi @ruturajsambhusvt
thanks for your interest in franka_ros. Could you please format your console output to use code tags?
I'm no expert in Arch Linux but from your error it looks like that you have a local copy of ros_control in your workspace (at /home/trec/catkin_ws/src/ros_control which is compiled during catkin_make. Have you tried removing it from your workspace or CATKIN_IGNORE it?

Hello, thank you for your response. I somehow got it working. Probably there were dependency issues and version incompatibilities that had to be resolved and things started building.


Support more advanced compiler options

Unfortunately, the compiler options are very limited at the moment, only supporting pdfTeX, XeTeX and the wrappers rubber and latexmk. As a first step, it should be possible to define a customized command to call instead. There could be a text input, where {FILE} and {BASENAME} are being replaced (or something similar). This would enable the usage of other engines (like luaTeX, or latexmk without pdfTeX) or more advanced configurations.

This feature actually present in an older version of Gummi.


import_eks plugin not idempotent

Running the import_eks plugin twice does not return the same results (first time succeed, second time fail because klusterlet already exists). This is not usual ansible behavior.
Consider adding a step for when the cluster to import is already managed by some hub. Check which hub manages the given imported cluster. If it's the hub that's currently trying to import the cluster, pass with ok green status. If a different hub manages the given cluster for import, fail.

Dupe of #51

Not a dupe

Complexities:

Minimum 3 clusters (2 hubs and a managed) to fully test
No external dependencies or other squads
How do we clean up failed import if pull secret was originally bad? << could be difficult


Upgraded the gradle version

Description
Updated the Gradle version to the recent versions.
Fixes #635
Type of change
Just put an x in the [] which are valid.

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.

[X] ./gradlew assembleDebug assembleRelease
[X] ./gradlew checkstyle

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings

I am merging it, but there wont be any points for this.


Supporting alex <3.2 and >= 3.2 in the same file

It seems like one must handle AlexLastAcc like this with alex <3.2
  AlexLastAcc k input len -> ... AlexToken input len k ...

and like this with alex >= 3.2
  AlexLastAcc k input len -> ... AlexToken input len (alex_actions ! k) ...

Is there a CPP define for alex version so I can at least put this line under #ifdef?
Or maybe is there another way to write it so it works with both versions like a typeclass with instances for Int and a type of alex_action?
Problem is that stackage LTS provides 3.1.7 and stackage nightly provides 3.2.1 and I'd like very much for yi to compile with both.

The relevant line: https://github.com/yi-editor/yi/blob/master/yi-language/src/Yi/Lexer/common.hsinc#L23
Here act is either an action or an index for alex_actions.

Can you do something like this in your .cabal file?
flag alex32
  default: True

if flag(alex32)
  build-depends: alex >= 3.2
  ghc-options: -DALEX_3_2
else
  build-depends: alex < 3.2

I can but this would put the burden of knowing their alex version and supplying this flag on users, who most likely don't even know what alex is.
I'll do that if there's no other option.
@snoyberg @juhp Does stack by any chance expose alex version in some #define?

I can but this would put the burden of knowing their alex version and supplying this flag on users, who most likely don't even know what alex is.

No - Cabal infers the value of flags automatically, users wouldn't need to do anything.

I'm not sure this will work; build-depends doesn't play nicely with executable-only packages.

If it doesn't, then you could use another package as a proxy.  (a gross hack, but it would probably work)

@qnikst proposed to use TOOL_VERSION_alex defined by Cabal

I'll leave this here in case someone will have the same question.
+#if MIN_TOOL_VERSION_alex(3,2,0)
 +      (AlexLastAcc k input'' len, _, lookahead) -> (AlexToken input'' len (alex_actions ! k), lookahead)
 +#else
        (AlexLastAcc k input'' len, _, lookahead) -> (AlexToken input'' len k, lookahead)
 +#endif


feat: ESM node integration in separate renderer process

Is your feature request related to a problem? Please describe.
To run node integration inside electron, electron suggests not enabling node integration in any context that loads remote content. This means loading a worker or a new window with node integration enabled, workers however dont have webrtc, so this means it has to be a separate window. ESM support also becomes an issue.
Describe the solution you'd like
A 2nd renderer window, with node integration enabled.
Describe alternatives you've considered
uuuuuuuuuuh

You should use node integration how it described in docs through preload script.

You should use node integration how it described in docs through preload script.

running node integration inside preload means you can't benefit from threading, and any resource intensive tasks will make the entire UI lag, it additionally can't run a lot of the node API's

@ThaUnknown what prevents you from spawning another window using Electron’s API? Just as long as you’re sure you aren’t inadvertently giving any way to load something remote in it.


mining panel show eligible with quality adjusted power < 10TB

missed a wdPost, still showing Eligible
and there is a typo in "Elligible" --> should be "Eligible"

the info is right. it's 900 epochs after the missed post that you aren't eligible for mining anymore.


Update logger docs

Start working on improving the api docs for the logging modue

@Dominik-Vogel Could you have a look at this since you wrote most of the logging module


CMAK Path Syntax error

Hi, back again on a new machine, with a new installation problem. I repeated all the previous steps in my other post, including using x64 Native Tools. When attempting to run the installation sequence, I receive a CMake syntax error:
C:\Program Files\Microsoft Visual Studio\2022\Community>py -m pip install --no-build-isolation git+https://github.com/Weggler/ngbem.git
Defaulting to user installation because normal site-packages is not writeable
Collecting git+https://github.com/Weggler/ngbem.git
  Cloning https://github.com/Weggler/ngbem.git to c:\users\USER\appdata\local\temp\pip-req-build-vqkcfa32
  Running command git clone --filter=blob:none --quiet https://github.com/Weggler/ngbem.git 'C:\Users\USER\AppData\Local\Temp\pip-req-build-vqkcfa32'
  Resolved https://github.com/Weggler/ngbem.git to commit a8d387b1e8700d8718653e6516fa901b2edd0716
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: ngsolve==6.2.2404.post16 in c:\users\USER\appdata\roaming\python\python312\site-packages (from ngbem==1.0.0) (6.2.2404.post16)
Requirement already satisfied: netgen-mesher==6.2.2404.post3.dev in c:\users\USER\appdata\roaming\python\python312\site-packages (from ngsolve==6.2.2404.post16->ngbem==1.0.0) (6.2.2404.post3.dev0)
Requirement already satisfied: mkl in c:\users\USER\appdata\roaming\python\python312\site-packages (from ngsolve==6.2.2404.post16->ngbem==1.0.0) (2024.2.0)
Requirement already satisfied: intel-openmp>=2023 in c:\users\USER\appdata\roaming\python\python312\site-packages (from mkl->ngsolve==6.2.2404.post16->ngbem==1.0.0) (2024.2.0)
Requirement already satisfied: tbb==2021.* in c:\users\USER\appdata\roaming\python\python312\site-packages (from mkl->ngsolve==6.2.2404.post16->ngbem==1.0.0) (2021.13.0)
Requirement already satisfied: intel-cmplr-lib-ur==2024.2.0 in c:\users\USER\appdata\roaming\python\python312\site-packages (from intel-openmp>=2023->mkl->ngsolve==6.2.2404.post16->ngbem==1.0.0) (2024.2.0)
Building wheels for collected packages: ngbem
  Building wheel for ngbem (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for ngbem (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [85 lines of output]
      *** scikit-build-core 0.9.8 using CMake 3.29.6 (wheel)
      *** Configuring CMake...
      2024-07-11 18:14:20,575 - scikit_build_core - WARNING - Can't find a Python library, got libdir=None, ldlibrary=None, multiarch=None, masd=None
      loading initial cache file C:\Users\USER\AppData\Local\Temp\tmpsq9zbi1p\build\CMakeInit.txt
      -- Building for: Visual Studio 17 2022
      -- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
      -- The C compiler identification is MSVC 19.40.33812.0
      -- The CXX compiler identification is MSVC 19.40.33812.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Found Python3: C:\Program Files\Python312\python.exe (found version "3.12.4") found components: Interpreter Development.Module
      -- Found Netgen: C:/Users/USER/AppData/Roaming/Python/Python312/site-packages/netgen/cmake
      -- Install dir: C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/wheel/platlib
      -- Configuring done (6.2s)
      -- Generating done (0.1s)
      -- Build files have been written to: C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build
      *** Building project with Visual Studio 17 2022...
      MSBuild version 17.10.4+10fbfbf2e for .NET Framework

      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\USER\AppData\Local\Temp\tmpsq9zbi1p\build\ZERO_CHECK.vcxproj]
        1>Checking Build System
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\USER\AppData\Local\Temp\tmpsq9zbi1p\build\_ngbem.vcxproj]
        Building Custom Rule C:/Users/USER/AppData/Local/Temp/pip-req-build-vqkcfa32/CMakeLists.txt
        ngbem.cpp
        python_bem.cpp
        hmat.cpp
        intrules.cpp
        test_compression.cpp
        Generating Code...
           Creating library C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/Release/_ngbem.lib and object C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/Release/_ngbem.exp
        _ngbem.vcxproj -> C:\Users\USER\AppData\Local\Temp\tmpsq9zbi1p\build\Release\_ngbem.pyd
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\USER\AppData\Local\Temp\tmpsq9zbi1p\build\ALL_BUILD.vcxproj]
        Building Custom Rule C:/Users/USER/AppData/Local/Temp/pip-req-build-vqkcfa32/CMakeLists.txt
      *** Installing project into wheel...
      -- Installing: C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/wheel/platlib/ngbem/_ngbem.lib
      -- Installing: C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/wheel/platlib/ngbem/_ngbem.pyd
      -- Installing: C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/wheel/platlib/ngbem/__init__.py
      CMake Warning (dev) at C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/cmake_install.cmake:148 (execute_process):
        Syntax error in cmake code at

          C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/cmake_install.cmake:148

        when parsing string

          C:\Program

        Invalid escape sequence \P

        Policy CMP0010 is not set: Bad variable reference syntax is an error.  Run
        "cmake --help-policy CMP0010" for policy details.  Use the cmake_policy
        command to set the policy and suppress this warning.
      This warning is for project developers.  Use -Wno-dev to suppress it.

      CMake Warning (dev) at C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/cmake_install.cmake:148 (execute_process):
        Syntax error in cmake code at

          C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/cmake_install.cmake:148

        when parsing string

          Files\Python312\python.exe

        Invalid escape sequence \P

        Policy CMP0010 is not set: Bad variable reference syntax is an error.  Run
        "cmake --help-policy CMP0010" for policy details.  Use the cmake_policy
        command to set the policy and suppress this warning.
      This warning is for project developers.  Use -Wno-dev to suppress it.

      CMake Error at C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/cmake_install.cmake:160 (file):
        file INSTALL cannot find
        "C:/Users/USER/AppData/Local/Temp/tmpsq9zbi1p/build/stubs/ngbem": File
        exists.

      *** CMake install failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for ngbem
Failed to build ngbem
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (ngbem)

The problem appears to be in how Windows writes the path, as seen in this post. They link a solution using file(TO_CMAKE_PATH "<path>" <variable>), but I am unsure how to actually use this since I am using pip.

Hi,
When I try the alternative route, on the github.io site, the following occurs.
The first part is just me moving from the visual studio area into my own user area.
Again, I'm not sure what to do to have ngbem properly install.
As far as I can tell, it should function.
I clearly have a C compiler, it recognises the python installation,
it can find netgen, so I am quite confused.
** Visual Studio 2022 Developer Command Prompt v17.10.4
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\2022\Community>cd..

C:\Program Files\Microsoft Visual Studio\2022>cd..

C:\Program Files\Microsoft Visual Studio>cd..

C:\Program Files>cd..

C:\>cd users

C:\Users>cd gpb22197

C:\Users\gpb22197>cd python
The system cannot find the path specified.

C:\Users\gpb22197>cd ngbemstuff
The system cannot find the path specified.

C:\Users\gpb22197>cd ngbemstuff

C:\Users\gpb22197\ngbemstuff>git clone https://github.com/Weggler/ngbem.git
Cloning into 'ngbem'...
remote: Enumerating objects: 2871, done.
remote: Counting objects: 100% (806/806), done.
remote: Compressing objects: 100% (287/287), done.
remote: Total 2871 (delta 491), reused 745 (delta 458), pack-reused 2065 (from 1)
Receiving objects: 100% (2871/2871), 40.38 MiB | 27.06 MiB/s, done.
Resolving deltas: 100% (1657/1657), done.

C:\Users\gpb22197\ngbemstuff>cd ngbem

C:\Users\gpb22197\ngbemstuff\ngbem>mkdir build

C:\Users\gpb22197\ngbemstuff\ngbem>cd build

C:\Users\gpb22197\ngbemstuff\ngbem\build>cmake ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.40.33812.0
-- The CXX compiler identification is MSVC 19.40.33812.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: C:/Program Files/Python312/python.exe (found version "3.12.5") found components: Interpreter Development.Module
-- Found Netgen: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages/netgen/cmake
-- Install dir: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages
-- Configuring done (6.1s)
-- Generating done (0.0s)
-- Build files have been written to: C:/Users/gpb22197/ngbemstuff/ngbem/build

C:\Users\gpb22197\ngbemstuff\ngbem\build>make -j4 install
make: *** No rule to make target 'install'.  Stop.

C:\Users\gpb22197\ngbemstuff\ngbem\build>```

Try
cmake --build . --config RelWithDebInfo --target install

instead of make -j 4 install (this only works with gnu make installed, like on Linux and MacOS).

This attempt also failed, but it at least ran a bit more this time.
I don't see the stubs folder it references during C:/Users/gpb22197/ngbemstuff/ngbem/build/stubs/ngbem
in my build folder

Note that I do not have admin access on this machine,
in case that is important.
** Visual Studio 2022 Developer Command Prompt v17.10.4
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

C:\Program Files\Microsoft Visual Studio\2022\Community>cd ..

C:\Program Files\Microsoft Visual Studio\2022>cd ..

C:\Program Files\Microsoft Visual Studio>cd ..

C:\Program Files>cd .

C:\Program Files>cd ..

C:\>cd users

C:\Users>cd gpb22197

C:\Users\gpb22197>cd ngbemstuff

C:\Users\gpb22197\ngbemstuff>git clone https://github.com/Weggler/ngbem.git
Cloning into 'ngbem'...
remote: Enumerating objects: 2871, done.
remote: Counting objects: 100% (806/806), done.
remote: Compressing objects: 100% (287/287), done.
remote: Total 2871 (delta 491), reused 745 (delta 458), pack-reused 2065 (from 1)
Receiving objects: 100% (2871/2871), 40.38 MiB | 23.16 MiB/s, done.

Resolving deltas: 100% (1657/1657), done.

C:\Users\gpb22197\ngbemstuff>cd ngbem

C:\Users\gpb22197\ngbemstuff\ngbem>mkdir build

C:\Users\gpb22197\ngbemstuff\ngbem>cd build

C:\Users\gpb22197\ngbemstuff\ngbem\build>cmake ..
-- Building for: Visual Studio 17 2022
-- Selecting Windows SDK version 10.0.22621.0 to target Windows 10.0.19045.
-- The C compiler identification is MSVC 19.40.33812.0
-- The CXX compiler identification is MSVC 19.40.33812.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: C:/Program Files/Python312/python.exe (found version "3.12.5") found components: Interpreter Development.Module
-- Found Netgen: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages/netgen/cmake
-- Install dir: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages
-- Configuring done (7.1s)
-- Generating done (0.1s)
-- Build files have been written to: C:/Users/gpb22197/ngbemstuff/ngbem/build

C:\Users\gpb22197\ngbemstuff\ngbem\build>cmake --build . --config RelWithDebInfo --target install
MSBuild version 17.10.4+10fbfbf2e for .NET Framework

  1>Checking Build System
  Building Custom Rule C:/Users/gpb22197/ngbemstuff/ngbem/CMakeLists.txt
  ngbem.cpp
  python_bem.cpp
  hmat.cpp
  intrules.cpp
  test_compression.cpp
  Generating Code...
     Creating library C:/Users/gpb22197/ngbemstuff/ngbem/build/RelWithDebInfo/_ngbem.lib and object C
  :/Users/gpb22197/ngbemstuff/ngbem/build/RelWithDebInfo/_ngbem.exp
  _ngbem.vcxproj -> C:\Users\gpb22197\ngbemstuff\ngbem\build\RelWithDebInfo\_ngbem.pyd
  Building Custom Rule C:/Users/gpb22197/ngbemstuff/ngbem/CMakeLists.txt
  1>
  -- Install configuration: "RelWithDebInfo"
  -- Installing: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages/Lib/site-packages/n
  gbem/_ngbem.lib
  -- Installing: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages/Lib/site-packages/n
  gbem/_ngbem.pyd
  -- Installing: C:/Users/gpb22197/AppData/Roaming/Python/Python312/site-packages/Lib/site-packages/n
  gbem/__init__.py
  CMake Warning (dev) at cmake_install.cmake:80 (file):
    Syntax error in cmake code at

      C:/Users/gpb22197/ngbemstuff/ngbem/build/cmake_install.cmake:80

    when parsing string

      ${CMAKE_INSTALL_PREFIX}/Lib\site-packages/ngbem

    Invalid escape sequence \s

    Policy CMP0010 is not set: Bad variable reference syntax is an error.  Run
    "cmake --help-policy CMP0010" for policy details.  Use the cmake_policy
    command to set the policy and suppress this warning.
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Error at cmake_install.cmake:80 (file):
    file INSTALL cannot find
    "C:/Users/gpb22197/ngbemstuff/ngbem/build/stubs/ngbem": File exists.

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: The command "setlocal [C:\Users\gpb22197\ngbemstuff\ngbem\build\insta
ll.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: C:\Users\gpb22197\AppData\Roaming\Python\Python37\site-packages\cmake
\data\bin\cmake.exe -DBUILD_TYPE=RelWithDebInfo -P cmake_install.cmake [C:\Users\gpb22197\ngbemstuff\
ngbem\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [C:\Users\gpb22197\ngbemstuff\ngbem
\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: :cmEnd [C:\Users\gpb22197\ngbemstuff\ngbem\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone [C:\Users\g
pb22197\ngbemstuff\ngbem\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: :cmErrorLevel [C:\Users\gpb22197\ngbemstuff\ngbem\build\install.vcxpr
oj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: exit /b %1 [C:\Users\gpb22197\ngbemstuff\ngbem\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: :cmDone [C:\Users\gpb22197\ngbemstuff\ngbem\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd [C:\Users\gpb22197\ngbemstuff\ngbem
\build\install.vcxproj]
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppCommon
.targets(166,5): error MSB3073: :VCEnd" exited with code 1. [C:\Users\gpb22197\ngbemstuff\ngbem\build
\install.vcxproj]

C:\Users\gpb22197\ngbemstuff\ngbem\build>```

I have instead opted to use WSL to build ngbem, using WSL with Ubuntu. This seems to have worked without any trouble at all, so may be the way forward.


Issues in lines because furigana characters in ArcGameEngine (.bin)

Hello, today I tested the tools with ArcGameEngine (eushully games) and found some things that in fact aren't a big problem (depeding of the person) it would be nice to adjust. It seems the program divides the dialogue lines, the words with furigana and the furigana itself in diferents lines, making this as result:

While sometimes furiganas in this kind of games are useful, there's times that are pretty usuless in a translation, and since one line alone can be divided into 3 differents line, there are times when script can turn in a mess and more in eushully games where are a high amount of furiganas. Is possible to divide the furiganas in a separate columm and merged the original word with its proper line? Tool tested on Amayui Castle Meister and Madou Koukaku but I'm sure it happens in all eushully games.
I'm attaching some script files here just in case.
amayui.zip

I know I asked this time ago, but a friend made a code in python to fix this issue. The problem is that you first have to create a decompiled file and then use the code over that decompiled .txt in order to get the strings like this:

So I'm adding the code here just in case it could be helpful for a cleaner script dump with vntextpatch.
Download link

I started on this a while ago too, but it took time because I had to reverse engineer the game and figure out all the control transfer instructions. After all, if you want to change furigana in a script, you need to insert/remove instructions, which in turn means you need to adjust all the jump instructions around them.
Apart from furigana (and line breaks), VNTextPatch now also supports AGE character names from CHINIT.BIN. To translate those names, you can simply change them in the scenarios; no need to translate the CHINIT sheet.
After this effort, I do hope you won't use the result to create a machine translation :)


change wildcard type parameter from _ to ?

As per https://dotty.epfl.ch/docs/reference/changed-features/wildcards.html

Is it just some flaky timeout test failure?
Should we rerun it?

I've hit re-run.
But also, I'm not familiar with the language-reference-stable branch so I'm not sure what merging this looks like, like whether it also needs to go to some other branch, or what 🤷   Maybe someone who knows will chime in

language-reference-stable branch

JFTR, that's the branch automatically-selected when clicking this

on https://docs.scala-lang.org/scala3/reference

@Gedochao could you assign this to somebody?


Improve README.md

Turn HTML to Markdown, update "get it on…" badges, add proper headers for sections and readability and change some of the wording.
Hope this helps! :)

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

Hmm, why am i being asked to sign a Contributor Licence Agreement with SAP when this project has nothing to do that i can see with SAP?
On top of this, the CLA isn't very clear about whether it covers only this project or any project that shares this CLA.
Furthermore, language such as

Copyright License. You hereby grant, and agree to grant, to SAP a non-exclusive, perpetual, irrevocable, worldwide, fully-paid, royalty-free, transferable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute your Contributions and such derivative works, with the right to sublicense the foregoing rights through multiple tiers of sublicensees.
Patent License. You hereby grant, and agree to grant, to SAP a non-exclusive, perpetual, irrevocable, worldwide, fully-paid, royalty-free, transferable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer your Contributions, where such license applies only to those patent claims licensable by you that are necessarily infringed by your Contributions alone or by combination of your Contributions with the Project to which such Contributions were submitted, with the right to sublicense the foregoing rights through multiple tiers of sublicensees.
Moral Rights. To the fullest extent permitted under applicable law, you hereby waive, and agree not to assert, all of your “moral rights” in or relating to your Contributions for the benefit of SAP, its assigns, and their respective direct and indirect sublicensees.

doesn't really make me want to sign anything. I don't really want to give any rights regarding patents to a company that has no Patent Promise.
This CLA adds a lot of legal friction to what should be a simple improvement.

Hi Axel,
Thank you for your contribution!
And thanks for pointing out the CLA issue. I experimented with it and it was using the default CLA agreement. It is now removed.

Good to hear, thanks. I think we are almost ready to go now :)


Switching between existing profiles?

Does AutoHotStreamDeck have the ability to switch between existing profiles? It would be less clunky than using AutoHotkey to call a dummy .exe file to get it to switch.

I'd love to know an answer for this too @evilC
is there any kind of syntax or documentation available other than the very hard to decipher without being an expert, examples.