Concatenation of TMs

The discussion of the Halting Problem assumes we can run one TM after another: this requires showing that we can assume a TM halts on the 1st square whenever it halts. This is also needed to show that recursive functions are Turing computable. We should discuss this.

I do this in class, albeit in a relatively hand wavy way.  I suppose we could just define TMs in such a way that halting requires stopping on the first square. (in which case I would still do the handwavy thing in class, just to show that if they cease operation at all there is a related machine that halts properly speaking.) Or we could add to the Halting Problem set up an interim machine that puts the whole thing back in SIC. And then have building such a machine as an exercise.

@feffemannen in pull request #259 pointed out another problem: the definition of "output" allows the output to start anywhere on the tape. That means when we concatenate TMs, the second TM, even if it starts on the first square, can't tell if the input is blank or not.
I propose the following:

Change the definition of "output" of a TM to be the the largest string S ending in a non-blank symbol such that the tape in the halting configuration is > + S + blank^\omega (ie output starts on square 1). This is in line with most other textbooks I think.
Add an example to the section on unary representation of numbers, namely a doubler machine which leaves its output at the beginning of the tape.
Expand the section on halting states to one on "well-behaved" TMs, which have a halting state and halt with the tape head always on square 1. Perhaps also require that they never erase the tape start symbol or try to move left of it.  (Open to suggestions on the terminology.)  Example: adder machine + state that makes it go back to beginning + dedicated halt state.
Revise section on composition of TMs to require that the first TM is well behaved.
Expand the section on variants to start with examples we've already seen: If a function is computable, it is computable by a TM with a dedicated halting state. If a function is computable, it is computable by a TM which halts with the tape head on square 1. Describe the variants in a bit more detail and add exercises asking students to think about/explain why the variants don't add any computing power.

@feffemannen in pull request #259 pointed out another problem: the definition of "output" allows the output to start anywhere on the tape. That means when we concatenate TMs, the second TM, even if it starts on the first square, can't tell if the input is blank or not.
I propose the following:

Change the definition of "output" of a TM to be the the largest string S ending in a non-blank symbol such that the tape in the halting configuration is > + S + blank^\omega (ie output starts on square 1). This is in line with most other textbooks I think.
Add an example to the section on unary representation of numbers, namely a doubler machine which leaves its output at the beginning of the tape.
Expand the section on halting states to one on "well-behaved" TMs, which have a halting state and halt with the tape head always on square 1. Perhaps also require that they never erase the tape start symbol or try to move left of it.  (Open to suggestions on the terminology.)  Example: adder machine + state that makes it go back to beginning + dedicated halt state.
Revise section on composition of TMs to require that the first TM is well behaved.
Expand the section on variants to start with examples we've already seen: If a function is computable, it is computable by a TM with a dedicated halting state. If a function is computable, it is computable by a TM which halts with the tape head on square 1. Describe the variants in a bit more detail and add exercises asking students to think about/explain why the variants don't add any computing power.

@nicolewyatt do you have an opinion? I'll start TMs in 2 weeks and if I have time I might do it the new way/make those changes

This is effectively what I have done in the past anyway -- that is, my discussion of what I used to call (following BFC whom I learnt it from) standard initial and standard final configuration puts constraints on both how the machine ends and where the output is, and I have had students expand a machine to put things in the right place, as it were. I don't have any objecting to defining the machines that way. So Yes?


How to execute meltano prod runs with dagster?

I am really sorry about me spamming this repo. I see a huge potential in it and I am already quite invested.
I've been running into a problem, I am interested if someone already solved it.
You can easily make a job run in dagster with the repo and putting this in the meltano.yml :
- name: raw_data_to_duckdb
  tasks:
  - tap-spreadsheets-anywhere target-duckdb

However, if you need to run this in prod, you should add the flag --environment=prod , so:
- name: raw_data_to_duckdb_prod
  tasks:
  - --environment=prod  tap-spreadsheets-anywhere target-duckdb

But running
meltano invoke dagster:start
Results in an error:
dagster._core.errors.DagsterInvalidDefinitionError: "__environment=prod__tap_spreadsheets_anywhere_target_duckdb" is not a valid name in Dagster. Names must be in regex ^[A-Za-z0-9_]+$
Any ideas?

Trying with using meltano _run_op()
same issue
from dagster import repository, job
from dagster_meltano import meltano_resource, meltano_run_op

@job(resource_defs={"meltano": meltano_resource})
def meltano_run_job():
    tap_done = meltano_run_op("-environment=prod  tap-1 target-1")()
    meltano_run_op("-environment=prod  tap-2 target-2")(tap_done)

@repository()
def repository():
    return [meltano_run_job]

gives same error

Seems to me this could be fixed by chaning the dagster name here
Just remove everything that is not in the regex ^[A-Za-z0-9_]+$ but make sure the executed command is not the same as the dagster name

This could either be fixed here: https://github.com/quantile-development/dagster-meltano/blob/1b3022cbd687c65ccd9288f767397efcd2e587ca/dagster_meltano/utils.py#L15-L19
By also replacing the =.
But it might be easier to set the MELTANO_ENVIRONMENT to prod.

Would you like me to fix it, test it, and send a MR? (might first be done tomorrow)

Would be great! I will see the PR appear.

Draft here: https://github.com/quantile-development/dagster-meltano/pull/45
I was not able to test it, I was confused how Meltano install this package.
I know you can add custom github urls (i.e my fork to test) to a package like so:
  - name: dagster
    variant: quantile-development
    pip_url: dagster-ext git+https://github.com/my_fork.git
    config:
      repository_dir: ${MELTANO_PROJECT_ROOT}/orchestrate

But I I am not sure where to switch out the main package dagster-meltano with a custom git url

Okay after this is merged https://github.com/quantile-development/dagster-meltano/pull/47 it sadly does not work yet.
If I have the prod task in meltano.yml
- name: task1
  tasks:
  - tap-spreadsheets-anywhere target-duckdb
- name: task1_prod
  tasks:
  - tap-spreadsheets-anywhere target-duckdb --environment=prod

When dagster-meltano runs, it will execute:
meltano run tap-spreadsheets-anywhere target-duckdb --environment=prod
but that is wrong it it returns the error:
Error: No such option: --environment
Correct syntax is meltano  --environment=prod run tap-spreadsheets-anywhere target-duckdb but I don't see how that is possible with the package here. I've asked in meltano slack how to execute a dagster run in another env here.

You should use the MELTANO_ENVIRONMENT variable to specify which environment to use.

Thanks Jules but I don't see how to use MELTANO_ENVIRONMENT in this example. Do you mind providing an example

Thanks for your specific example @JulesHuisman I appreciate that.
However, we are not using a docker container so that solution does not fix the issue.
I found one kinda-working-solution. If you run:
meltano --environment=prod invoke dagster:start All of the jobs will be executed as prod.  Not ideal, because if you want to run dagster as --environment=dev next time, the dagster logs does not distinguish and so exeucution time, number of fails and so on is very confusing to see in the dagster UI.
I wouldn't mark this as closed, at least for my case. Possible solutions for me, could be an meltano-dagster operator that also accepts env as input, i.e something like:
    return meltano_command_op_with_env(
        command=f"--environment={env} run {command} --force", dagster_name=dagster_name
    )

But I am not sure it is the direction to go.


Customizable dashboard stats

Let users select from a variety of stats items to be shown in the dashboard.

Currently lacks quite some ideas what could be included in the dashboard stats.


removing undesired prints

Closes #386. I don't think there is some simple way to catch prints from pytest but let me know.

@stavros11 ok, let's do that.


[BUG]no  Name   prop in  class  PageGetByRoleOptions

Context:

Playwright Version1.27.1
Operating System: win11
.NET version: .net 6
Browser: Chromium
Extra: [any specific details about your environment]

codegen will  gen  next code
 page.GetByRole(AriaRole.Heading, new() { Name = "xxxxxxx" });
Name should be replace with NameString  ？（no Name  prop in  class PageGetByRoleOptions)

Looks like the same as https://github.com/microsoft/playwright/issues/17960


Can we test the book (internal) hyperlinks systematically?

I was reading the Jupyter Book documentation and found that two internal links were broken (#457).
I'm sure I won't do better, and that in my own project it's going to be the same 😄
So I was wondering if it could be an option to test all the links at compile time... Anyone knows whether we can easily test that at least all internal links work? If such an option exists, should it be the default mode for Jupyter Book? Thanks!

arggg thanks for finding those links, I agree this is an ongoing challenge :-)
I think our best bet might be to use something in jekyll like this:
https://github.com/gjtorikian/html-proofer
Perhaps we could build some kind of API around using it?

Closing as this should be superceded by beta.jupyterbook.org - Sphinx will automatically check internal links when building books


Adding GitHub 101 and ST Instructions

Summary
The set of steps described in github-activity-instructions.Rmd
are supposed to go hand in hand with these slides: https://docs.google.com/presentation/d/1Qz447paDgO8dBlnHbl80kBLOpahD9odI9yU7-sqYohw/edit#slide=id.g2fcf7903f51_0_2287
Feedback needed
@kweav can you go through these steps along with the slides and make sure:

Things make sense
The slides match up with the Rmd
Correcting any spelling, grammar, or weird wording?

Sure thing -- will work through it

@kweav just added some instructions here for the ST activity as well based on what Oscar sent.

fixed formatting in another PR

@kweav I think I'd like to merge the changes we've had so far also no need to test windows for spatialGE activity since it is through the browser.
If you find suggested edits then maybe we open a new PR?

@kweav I think I'd like to merge the changes we've had so far also no need to test windows for spatialGE activity since it is through the browser.
If you find suggested edits then maybe we open a new PR?

Sounds good! And works for me :)


are any nop encodings hints?

Some of the B instructions have nop encodings.  Some nop encodings in the base ISA, rv32i, are reserved for hints.  Mostly encodings with rd == x0.  Will any of the B extension nop encodings be reserved for hints?

We have no plans to reserve these encodings for hints.


"T" parts are missing

There is no T2M1D, T2M1I, T3M1, T4M1 in the STL section.

This was already discusses. Not sure why when I look at my pull request it shows 0 additions and 0 deletions yet it has files attached. Has someone committed/ approved the pullnrequest yet?
https://github.com/BCN3D/BCN3D-Moveo/pull/4/files

@laovorak Merged! Sync your repos and the parts should show up.
Thanks @jamesarm97 :+1:


pagerduty_key and pagerduty.key required on node when using nagios_pagerduty data bag

Chef run fails on nagios node puts pagerduty.key = null in the node.
Tried making it a number or string, as well as deleting it entirely and it would always come back as null.
Workaround is to have a fake value for both pagerduty.key and pagerduty_key:
"nagios": {
"pagerduty_key": "999",
"pagerduty": {
"key": "888"
},
After chef run completed successfully the node shows
"nagios": {
"pagerduty_key": "888",
"pagerduty": {
"key": "888"
},
/etc/nagios3/conf/pagerduty.cfg has a contact of 888 as well as my data bag one.
Please make that section in the node not required if using a data bag.

The pagerduty information is moved into LWRP logic. Closing this ticket because think the issue is solved. Please feel free to reopen if needed.


Open Serial Monitor Error

VS Code Version: 1.56.0
OS Version: Windows 10 Pro 20H2 build 19042.964

Steps to Reproduce:

Connect USB between Notebook and ESP8266
Code and upload to ESP8266.
Use 'Arduino: Open Serial Monitor' command at command palatte.
Error occur
"Failed to open serial port COM3 due to error: + Error: The module '\?\c:\Users\TERU.vscode\extensions\vsciot-vscode.vscode-arduino-0.4.2\out\node_modules\usb-detection\build\Release\detection.node'
was compiled against a different Node.js version using
NODE_MODULE_VERSION 85. This version of Node.js requires
NODE_MODULE_VERSION 87. Please try re-compiling or re-installing
the module (for instance, using npm rebuild or npm install)."

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

I had the same problem and went down to the previous version VS Code 1.55.2 and now all is ok.


Replace unsafe raw pointers to the node tree

[ ] Fix size constraint for https://github.com/servo/stylo/blob/789ab89c30d94e25f514c19c079a00a6ab583638/style/sharing/mod.rs#L612

The methods for Node currently seem unsafe, as a Node can outlive its tree field of *mut Slab<Node>. It is also possible to obtain mutable references to the same node.

Replaces the current unsafe method of storing raw pointers to the tree of each node:struct Node {
  tree: *mut Slab<Node>,
  ...
}

With a container handle struct safely immutably borrowing from both:struct Node { ... }

struct Handle<'a> {
    node: &'a Node,
    tree: &'a Slab<Node>,
}

Adds documentation for Node fields and methods
Refactors and removes some dead code

@matthunz This mostly all looks pretty good, but:

Can we split it into separate PRs: in particular, the documentation and zoom changes seem standalone and uncontroversial, so would be good to get those merged!
Can we call the type NodeHandle?

You might also want to consider making the type:
struct NodeHandle<'a> {
    doc: &'a Document,
    node: &'a Node,
}

Which would allow the type to implement more things. I think we should also look at adding a
struct NodeHandleMut<'a> {
    doc: &mut 'a Document,
    node_id: NodeId,
}

which would allow a lot of the methods from Document to moved to NodeHandleMut.

Thanks for the review!

Can we split it into separate PRs: in particular, the documentation and zoom changes seem standalone and uncontroversial, so would be good to get those merged!

Definitely! I think I got sucked into a bit of a rabbit hole here... I'll try to factor out the less controversial stuff

Can we call the type NodeHandle?

Ooo yeah I actually like that a lot better

You might also want to consider making the type:
struct NodeHandle<'a> {
    doc: &'a Document,
    node: &'a Node,
}

That sounds interesting too, it does sound like we'd have more flexibility to add things. I also really like the mutable handle for the same reasons.
Just to clarify on that todo task though unfortunately it looks like stylo only excepts pointer-sized element types (specifically usize-sized, which sounds like a provenance issue so maybe we could submit a PR there 🤔). I was thinking we could do impl TElement for &'a NodeHandle<'a> but that's tricky with Traverser... I think it's possible with stylo as-is but I'm a little stuck so far


WIP: fix gradle 7 error

This PR is my attempt to fix https://github.com/Shopify/react-native-skia/issues/41.
For now it fails when trying to refresh Linked C++ projects (not sure why) with the following
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FBJNI_LIBRARY
linked by target "reactskia" in directory /home/julien/Projects/react-native-skia/package/android
JSI_LIB
linked by target "reactskia" in directory /home/julien/Projects/react-native-skia/package/android
REACT_LIB
linked by target "reactskia" in directory /home/julien/Projects/react-native-skia/package/android
TURBOMODULES_LIB
linked by target "reactskia" in directory /home/julien/Projects/react-native-skia/package/android

Also I commented this for now, as I'm not sure what is the correct syntax for it with gradle 7
task installArchives(type: Upload) {
        configuration = configurations.archives
        repositories.mavenDeployer {
            // Deploy to react-native-event-bridge/maven, ready to publish to npm
            repository url: "file://${projectDir}/../android/maven"
            configureReactNativePom pom
        }
    }

I'm getting the following issue:
Execution failed for task ':externalNativeBuildDebug'.
> Build command failed.
  Error while executing process /home/julien/Android/Sdk/cmake/<IP_ADDRESS>88404/bin/ninja with arguments {-C /home/julien/Projects/react-native-skia/package/android/.cxx/cmake/debug/armeabi-v7a reactskia}
  ninja: Entering directory `/home/julien/Projects/react-native-skia/package/android/.cxx/cmake/debug/armeabi-v7a'
  [1/6] Building CXX object CMakeFiles/reactskia.dir/cpp/jni/JniPlatformContext.cpp.o
  [2/6] Building CXX object CMakeFiles/reactskia.dir/cpp/jni/JniLoad.cpp.o
  [3/6] Building CXX object CMakeFiles/reactskia.dir/cpp/rnskia/RNSkManager.cpp.o
  FAILED: CMakeFiles/reactskia.dir/cpp/rnskia/RNSkManager.cpp.o
  /home/julien/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=armv7-none-linux-androideabi16 --gcc-toolchain=/home/julien/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64 --sysroot=/home/julien/Android/Sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot  -Dreactskia_EXPORTS -I../../../../../node_modules/react-native/ReactCommon/callinvoker -I../../../../../node_modules/react-native/ReactCommon/jsi -I../../../../../node_modules/react-native/ReactCommon/react/nativemodule/core -I../../../../../node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni -I../../../../../../../react-native/ReactCommon/callinvoker -I../../../../../../../react-native/ReactCommon/jsi -I../../../../../../../react-native/ReactCommon/react/nativemodule/core -I../../../../../../../react-native/ReactAndroid/src/main/java/com/facebook/react/turbomodule/core/jni -I../../../../cpp/skia/include/config -I../../../../cpp/skia/include/core -I../../../../cpp/skia/include/effects -I../../../../cpp/skia/include/utils -I../../../../cpp/skia/include/pathops -I../../../../cpp/skia/modules -I../../../../cpp/skia/include -I../../../../cpp/skia -I../../../../cpp/api -I../../../../cpp/jsi -I../../../../cpp/jni/include -I../../../../cpp/rnskia -I../../../../cpp/utils -I../../../../build/fbjni-0.2.2-headers.jar -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security  -fexceptions -frtti -std=c++1y -DONANDROID -DSK_GL -DSK_BUILD_FOR_ANDROID -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_MEMRCHR=1 -DFOLLY_USE_LIBCPP=1 -DFOLLY_MOBILE=1 -DON_ANDROID -DONANDROID -O0 -fno-limit-debug-info  -fPIC   -std=gnu++1z -MD -MT CMakeFiles/reactskia.dir/cpp/rnskia/RNSkManager.cpp.o -MF CMakeFiles/reactskia.dir/cpp/rnskia/RNSkManager.cpp.o.d -o CMakeFiles/reactskia.dir/cpp/rnskia/RNSkManager.cpp.o -c ../../../../cpp/rnskia/RNSkManager.cpp
  In file included from ../../../../cpp/rnskia/RNSkManager.cpp:3:
  In file included from ../../../../cpp/api/JsiSkApi.h:7:
  ../../../../cpp/api/JsiSkRuntimeEffect.h:75:55: error: no member named 'size' in 'SkRuntimeEffect::ConstIterable<SkRuntimeEffect::Uniform>'
        return static_cast<int>(getObject()->uniforms().size());
                                ~~~~~~~~~~~~~~~~~~~~~~~ ^
  1 error generated.
  [4/6] Building CXX object CMakeFiles/reactskia.dir/cpp/jni/JniSkiaDrawView.cpp.o
  [5/6] Building CXX object CMakeFiles/reactskia.dir/cpp/jni/JniSkiaManager.cpp.o
  ninja: build stopped: subcommand failed.

Any ideas on what's going on ?


change prepare from build to install

Coverage remained the same at 50.219% when pulling ba5994bf013fa4a9d6fc6084e8c637382904975a on yhua123:dev into 2ee780a0e9a14b47e5c50b03bbb7e3ec950c70cd on vmware:dev.

Coverage increased (+0.5%) to 50.712% when pulling 66c71d5074e3f28b8a00a68a029b63faaa578863 on yhua123:dev into 2ee780a0e9a14b47e5c50b03bbb7e3ec950c70cd on vmware:dev.

Coverage increased (+0.5%) to 50.712% when pulling 66c71d5074e3f28b8a00a68a029b63faaa578863 on yhua123:dev into 2ee780a0e9a14b47e5c50b03bbb7e3ec950c70cd on vmware:dev.

Coverage increased (+0.5%) to 50.712% when pulling 3eaee039064c8da649de912412773e6bcde3c50b on yhua123:dev into 2ee780a0e9a14b47e5c50b03bbb7e3ec950c70cd on vmware:dev.


[SPARK-20673][ML] LDA optimizer do not really support case insensitive

What changes were proposed in this pull request?
cast to loweer case in getOptimizer
How was this patch tested?
updated tests

Test build #76639 has started for PR 17914 at commit b48f760.

@yanboliang

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

Merged build finished. Test FAILed.


Incompatibility with formatnumber

formatnumber cause an error sources\lib/formatnumber.inc(115) : error 020: invalid symbol name "" related with this string:
else if ( iTag == tagof( hex: ) || iTag == tagof( Hex: ) )

But I use some other version of sscanf2.inc where this bug is fixed:
#define hex:%0;unformat(_:EXTRZ:EXTRX:%1); %0;unformat(_:EXTRZ:EXTRX:%1);

And I'm pretty sure what this changes was made not by me.
So, I we can made this changes without any fears of incompatibility or not?

I had to slightly change that fix, as it only worked with certain invocations of the extract macro. It also shouldn't break compatibility.
Also that formatnumber include seems to crash the default PAWN compiler, had to test it with Zeex' compiler fork.

Should probably do the same for the other bare tags, since they might not be used elsewhere right now, but that doesn't mean they can't be.


Google  build pack issue with Monorepo Gradle builder

Hi Team,
We have use case where Mono repo is configured and it is using gradle with packeto build pack and it is using common folder for dependencies resolutions.
Issue:
It is not able to find common folder and unable to build the docker image
below are the configurations
settings.gradle
rootProject.name = 'xyz'
include 'project1'
include 'project2'
where project2 is common project.
In build.gradle of project1 below line is mentioned for dependency
implementation project (path: ':project2', configuration: 'default')
Project structure:
project1
project2
gradlew
gradlew.bat
settings.gradle
Could you please guide on mono repo configuration, provide if we have any documentation for the same.
Attached the build logs
build log.txt

I think minimal change here would be to have the gradle buildpack opt-in when we see a settings.gradle in the root


Updating a contact does not update the socialmedia information correctly

Hi,
when I update a contacts socialmedia information using the socialmedia label "custom", the information is not stored correctly on the device. The socialmedia label is changed to "aim" and the the custom label is lost if I fetch the contact after the update. Updating the socialmedia information with other labels seems to be working. The socialmedia usernames are stored correctly and updating other values like the name works fine as well. Setting custom labels on the device contact menu and fetching them with flutter_contacts works as well, thus I assume the issue is caused by the update method. Currently im testing on an Android emulator (Pixel 4, API: 30). Code example is below.
  Contact? contact = await FlutterContacts.openExternalPick();

  if (contact == null) return;
  // We need to fetch contact again with accounts (including the raw id)
  // to be able to update the contact later (required for android)
  contact = await FlutterContacts.getContact(
    contact.id,
    withAccounts: true,
    withProperties: true,
  );

  List<SocialMedia> socialMedias = [
    SocialMedia(
      "test1",
      label: SocialMediaLabel.custom,
      customLabel: "CustomLabel1",
    ),
    SocialMedia(
      "test2",
      label: SocialMediaLabel.jabber,
    ),
  ];

  contact?.socialMedias = socialMedias;

  contact?.update();

  // Output 1:
  print(contact?.socialMedias);

  if (contact == null) return;

  contact = await FlutterContacts.getContact(
    contact.id,
    withAccounts: true,
    withProperties: true,
  );

  // Output 2:
  print(contact?.socialMedias);

Output 1:
[SocialMedia(userName=test1, label=SocialMediaLabel.custom, customLabel=CustomLabel1), SocialMedia(userName=test2, label=SocialMediaLabel.jabber, customLabel=)]

Output 2:
[SocialMedia(userName=test1, label=SocialMediaLabel.aim, customLabel=), SocialMedia(userName=test2, label=SocialMediaLabel.jabber, customLabel=)]

UPDATE
This problem seems to only occure on android devices. On iOS it works fine.

Thanks @ORBITXX for reporting! Will be fixed in the next release.

Fixed in version 1.1.3.


TAMAYA-327: Consistent signature creating ConversionContexts

Comments in ConversionContext lead me to believe that supportedFormats
should have their order maintained after import.  The HashSet that the
Builder object uses as a backer will not accomplish that goal.  This
change converts the Builder to use ArrayLists for supportedFormats, like
the object proper.
Some additional tests have been added here in pursuit of TAMAYA-288's
additional code coverage.

@peculater as discussed on the mailing list, would you mind to finish up the pull request?
Keeping the order makes sense and doing that more consistently even more ;-)
Thanks for spotting the bug.

I've refactored this to use LinkedHashSets instead of ArrayLists in the 2 places I was worried about.  I think that covers what was discussed on the mailing list?


Revert PR #1495 because it is a dupe of #1470

Partial revert of my PR #1495 ("Preserve message-level charset when adding parts") because the same issue was fixed by PR #1470 ("Adding a part should not reset the mail's charset to nil"). The two PRs were merged around the same time. The fix in #1470 is more elegant than mine.
The code being reverted here is not causing any harm, but we might as well clean it up.
The specs added in #1495 verify that it works with the #1470 fix.

@mikel please merge?

Thank you!


Admin adviser experience (AAE)

Summary
This PR adds admin adviser experience codes to five existing messages.
There are no functional changes. More AAE codes are in the works.
Ticket Link
None.
Spec: https://docs.google.com/document/d/1SnpFASzQ4ADa3qzibYJyHNUhrvRQNNIvIVrUL71BCvo
Docs PR: https://github.com/mattermost/docs/pull/3671

You are adding the references but you are not linking them anyway, looks confusing to have that codes there without any explanation.

@jespino That's correct, the link will work once https://github.com/mattermost/docs/pull/3671 is merged.
Do you know why the build fails if the code looks good? I'm having trouble figuring out based on the build logs.

@jasonblais yes, probably some trailing comma or something like that, let me fix that for you :)

@jasonblais fixed

/update-branch

@jespino Thank you :) 🙌

@srkgupta Given this involved more code changes than I usually do, it would be good to verify the link is rendered correctly for the announcement bar when

site URL is not set
SMTP is not configured
Enterprise license is expiring

@srkgupta @catalintomai on the above, cc @esadur

@jasonblais my apologies. Somehow this missed my radar because I had already approved the PR. I will check this again, but can you please resolve the merge conflicts so that I can retest this. Thanks.

@srkgupta Done

Assigning to Katie and Dennis to determine next steps.

Hi @jasonblais
The link you had added in the PR is not pointing to the correct URL. For example, its showing up as http://localhost:8065/admin_console/environment/!https://mattermost.com/pl/default-aae-message-code-registry on my localhost instance

@jasonblais Wondering if want to close this PR for now since we have paused Admin Advisor?

@wiersgallak Let's close. We'll need to revisit this feature at a later time.


pmset mode 25 cause battery toolkit not working

After i changed to mode 25, the battery toolkit will not work, it will allow the charge to go to 100% despite setting at 70%.
To set to mode 25 i did this in terminal.
sudo pmset hibernatemode 25

I have no idea whatsoever how hibernatemode would change anything. My best guess is you didn’t disable Optimized Charging.


Is there any new process for Openssl3.0.0 ? can we release Openssl3.0.0 by the end of 2020?

hi
where i can see the new process for the openssl3.0.0 version, Is there any website update the status？ As i remember ,  we plan release Openssl3.0.0 version by the end of 2020. is there any update for it?

What do you mean by the new process?
The first beta release is imminent and the plan still is to have the final version by the end of 2020. Hopefully even earlier.

From my (narrow) perspective, things have deteriorated between alpha5 and alpha6.
Beta without a solution to #12612 is no use at all.

From my (narrow) perspective, things have deteriorated between alpha5 and alpha6.
Beta without a solution to #12612 is no use at all.

Please, do not be so dramatic. It definitely has its use - to find out what are the other bugs. Beta testing period is there exactly for fixing the bugs such as the one you referenced.

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


Logging: Add remote polling triggers to the standard verbosity level logs

Would be great to have log entries to indicate a change has been detected on the remote, beats watching ls outputs waiting for a file to appear on the cached mount.

https://beta.rclone.org/v1.40-015-gb52e34ef/ - beta for this


Cannot build without boost

After following the steps of the installation instructions, and trying to build, I'm receiving the following compilation error:
Cannot open include file: 'boost/bind.hpp': No such file or directory,
I noticed that boost has recently removed from this project dependencies, so is it possible it is not entirely removed?

Hi, if you are using CMake you should be able to build it without boost. If you are trying to build it without CMake we've updated the build instructions as you need to add some extra definitions. Can you check if the issue is still there?

#include
#ifdef _WIN32
 #define ASIO_STANDALONE
 #define _WEBSOCKETPP_CPP11_STL_

#define INTIALIZER(TYPE)
#else
#define WEBSOCKETPP_CPP11_STL 1
#define INTIALIZER(TYPE) (TYPE)
#endif
#include <websocketpp/client.hpp>
#if _DEBUG
#if SIO_TLS
#include <websocketpp/config/debug_asio.hpp>
typedef websocketpp::config::debug_asio_tls client_config;
#else
#include <websocketpp/config/debug_asio_no_tls.hpp>
typedef websocketpp::config::debug_asio client_config;
#endif //SIO_TLS


Dividing up the various types and interfaces in p2p_messages.go

TL;DR:
This is mostly superficial.. but the p2p_messages.go file was pretty big.  So I made smaller files.
The DR:
I was trying to use Coverage Gutters with this package and many of the files were shown as uncovered.  Upon inspecting further, I wondered if the various interface implementations were resulting in a coverage.xml that couldn't be applied.
So I started dividing the files up into separate smaller scoped files.  This mostly worked but for whatever reason global scoped methods wouldn't show up either.  Then I discovered:

🤦♂
Apparently Visual Studio code has a built-in coverage for go coverage that one can simply toggle on.
Nevertheless, the work has been done to divide the p2p_messages.go and p2p_messages_test.go into smaller files.
(I also added a Makefile, but there's nothing to really install b/c as I presume this is largely a module for other tooling.. just makes it easier to run make from a shell to run lint, vet, and test.)

Codecov Report

Merging #16 into master will not change coverage.
The diff coverage is 58%.

@@           Coverage Diff           @@
##           master      #16   +/-   ##
=======================================
  Coverage   64.68%   64.68%
=======================================
  Files           6       16   +10
  Lines        1212     1212
=======================================
  Hits          784      784
  Misses        280      280
  Partials      148      148

Impacted Files
Coverage Δ

branch_id.go
46.66% <46.66%> (ø)

operation_hash.go
46.66% <46.66%> (ø)

operation.go
46.96% <46.96%> (ø)

signed_operation.go
54.08% <54.08%> (ø)

signature.go
55.55% <55.55%> (ø)

transaction.go
57.44% <57.44%> (ø)

origination.go
58.33% <58.33%> (ø)

revelation.go
59.42% <59.42%> (ø)

delegation.go
60% <60%> (ø)

contract_id.go
64.44% <64.44%> (ø)

... and 12 more

Continue to review full report at Codecov.

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

The codecov patch coverage threshold here is quite evidently not helpful. Will relax this constraint shortly


feature/local-runnable-image

Added the working version of OptionalBlobServiceClient that adds the default stock image when the Azure Cloud service is unavailable

What this is going to do is make the program more bulletproof should Azure Storage be unavailable for local running or deployment.
I have further refinements in the works, which will allow debug versions to automatically use an in-memory database for local running. This while still provoking an exception if the published version is run without one specified.


Supported Standard Load Balancer backend clarification

Hello,
The documentation says:
"Standard: Preferred. Valid if SQL Server instances are in the same availability set. Required if your SQL Server instances are in different availability zones."
Does this mean that other backends supported by a standard load balancer (stand-alone VMs for example) are not supported in this configuration?
Regards
Grzegorz Hejman

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

ID: a9894346-d829-29f1-4ffb-3bdcf6bc99f9
Version Independent ID: 28d4ffb9-e681-82b8-1436-86ea3ede4b69
Content: Configure a load balancer & availability group listener (Azure portal) - SQL Server on Azure VMs
Content Source: azure-sql/virtual-machines/windows/availability-group-load-balancer-portal-configure.md
Service: virtual-machines-sql
Sub-service: hadr
GitHub Login: @tarynpratt
Microsoft Alias: tarynpratt

@GrzegorzHejman
Thanks for your feedback! We will investigate and update as appropriate.

@GrzegorzHejman
I'm going to assign this to the document author so they can take a look at it accordingly.
@tarynpratt
Could you please add your inputs on the query

Hi @GrzegorzHejman , thanks for contacting Microsoft! My apologies, I'm not sure I understand your question - would you mind clarifying what you mean by "other backends supported"?
Thanks!
Masha from the SQL Docs team

Hi @GrzegorzHejman, thanks for the feedback on this content. That note is no longer present in this documentation and we're advising users to select the Standard SKU for a load balancer now, as the Basic SKU is being retired in 2025. I'll go ahead and close out this Git Issue but please feel free to comment should you need anything further.
Thanks
#please-close


What part of transform should be updated when interact with layers in mode == "transform"

Overview of design need
Currently, modifying a Layer that is in transform mode by mouse interaction modifies the layer.affine. It means that layer.scale, layer.rotate become untouched. As affine operates in physical2world space where all properties like transform, scale operates in data2physical
It is non-intuitive for me so I introduce bug in #6438. I think that it may also be non intuitive for plugin creators who may want to use the mouse to align data and then read transform, scale etc from the layer. That will fail.
From my point we should do one of three things:

split transform mode on transform_data, transform_affine to allow the user decide what he wants to update
change transform to operate on data2physical
clarify the situation in the documentation and explain that the user needs to use layer.transform + layer.affine.transform, np.dot(layer.rotate, layer.affine.rotate). etc.

cc @brisvag @psobolewskiPhD @jni @haesleinhuepf

I'll report what my recollection of the last discussions about this is:
I think the idea was that data2physical is something that comes from the data itself (pixel size, beam shift in multi-shot microscopy, etc), and it represents how to go from "data space" to a space with physical meaning. The affine afterwards should be for extra modifications on top, like registration to other layers, or adjustments from the user like dragging/rotating the layer.
If you ask me, I think we should have only one affine and not this combination, but I remember some people advocating for this separation.
If we keep the two, I think the best option is 3... 1 just adds to the confusion, and 2 will catch the other half of the people offguard.


scala syntax highlight

see https://github.com/MasseGuillaume/scala-escape/tree/patch-1#a-high-level-example

Thank you!


Not working on android 13 October release and higher.

Module not works.

It works on my machine

(ClipboardWhitelist v19, which has no native dark theme support)


Deprecate launch token

launch_token and launch_token_updated are now deprecated according to https://download.01.org/intel-sgx/linux-2.6/docs/Intel_SGX_Developer_Reference_Linux_2.6_Open_Source.pdf. They are fully ignored by psw/sgx_urts.

Definitely. Thanks!


Wrong option name? token_endpoint_auth_methods_supported

Hello,
should this option be called token_endpoint_auth_methods_supported ?
https://github.com/netsphere-labs/omniauth-openid-connect/blob/b5a57dc3573f5b7f491433a974fe373e731328fd/lib/omniauth/strategies/openid_connect.rb#L169
This is then referenced on https://github.com/netsphere-labs/omniauth-openid-connect/blob/b5a57dc3573f5b7f491433a974fe373e731328fd/lib/omniauth/strategies/openid_connect.rb#L452

My bad, that was from discovery where these properties exist, all is well.


Add logo to README

Looks like this:

We discussed the logo here: https://groups.google.com/d/topic/elixir-ecto/Il_pBkx5a3Q/discussion
I didn't want to put the PSD (Photoshop) file in the repo, since it's 779 KB, but I'm happy to share it. One way could be to have another repo like elixir-ecto/assets for that kind of thing.

Beautiful!
I have two suggestions I would love your thoughts on. Right now, it feels
the drop is pointing outwards. Should we flip it horizontally?
Also, I loved the "eyes" you added at some point. Can we try those too?
I would love the PSD. Can you please email me or put somewhere public, like
Dropbox? Thank you! <3
On Sunday, October 2, 2016, Henrik Nyh<EMAIL_ADDRESS>wrote:

Looks like this:
[image: screenshot 2016-10-02 13 41 03]
https://cloud.githubusercontent.com/assets/216/19020615/eebf2098-88a5-11e6-97e7-61f7afd6a6a5.png
We discussed the logo here: https://groups.google.com/d/
topic/elixir-ecto/Il_pBkx5a3Q/discussion
You can view, comment on, or merge this pull request online at:
https://github.com/elixir-ecto/ecto/pull/1724
Commit Summary

Add logo to README

File Changes

M README.md
https://github.com/elixir-ecto/ecto/pull/1724/files#diff-0 (2)
A assets/README.md
https://github.com/elixir-ecto/ecto/pull/1724/files#diff-1 (9)
A assets/logo.png
https://github.com/elixir-ecto/ecto/pull/1724/files#diff-2 (0)

Patch Links:

https://github.com/elixir-ecto/ecto/pull/1724.patch
https://github.com/elixir-ecto/ecto/pull/1724.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/elixir-ecto/ecto/pull/1724, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAlbhhpoU74_Yb_W_8A4gAvjnF1uipTks5qv6aPgaJpZM4KMAJT
.

--
José Valim
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D

Thank you, José! 💜
Here are variations with eyes and flipping:

Here is a PSD (of the original version): https://dl.dropboxusercontent.com/u/546793/ecto-logo-and-text.psd

Beautiful! Which one do you prefer? I will collect some feedback from
here too and let you know!
--
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D

👍 I edited my comment before with my preference (eyes, moving right).
Sent from my iPhone

On 2 Oct 2016, at 14:19, José Valim<EMAIL_ADDRESS>wrote:
Beautiful! Which one do you prefer? I will collect some feedback from
here too and let you know!
--
José Valimwww.plataformatec.com.br
http://www.plataformatec.com.br/Founder and Director of R&D
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I do like it with the eyes. I think I prefer the one that is not flipped (that is "moving to the right"), but I think either works.

I believe that me too. When you put the eyes I no longer have the impression it is pointing outwards. :)
@ericmj @michalmuskala @fishcakez I would love you hear your feedback too.

Force pushed the version with eyes.

Also updated the PSD to match (just hide the "Eyes" layer to be rid of them).

I like all of them. Is the higher eye slightly too high? It seems slightly clashing with the dark horizontal band.

@fishcakez Yeah, I thought the same for another reason (right eye is quite near to a brighter spot the background), but when I try moving them I think it looks less good overall :) Feel free to play around with the PSD and see if you can come up with something you like better.

I like it but I feel it's too similar to the Elixir logo. I like the use of the droplet but using the same exact logo, flipping it, changing the hue is too similar and sets a bad precedent, I wouldn't want a bunch of other projects using variations of the Elixir logo.
Maybe we can keep using the droplet shape but remove the bands/ribbons over it that is so distinctive of the Elixir logo and instead make it more like a ghost?

I really like how this looks, but I agree with Eric it's too similar to the Elixir logo just flipped upside down. If the Elixir logo didn't exist, I would say shipit, but I think it needs some tweaking to stand on its own.

Thanks for the feedback. It was very intentionally the logo flipped upside down, but I can see how you wouldn't want logos of libs to be variations of the language logo. It's a bit like naming every lib "ex-something".
I'm not sure my graphic design skills stretch much further than this, but I'll try to make something without the ribbons. And if anyone else wants to give it a shot, please have at it.

This one is close to the same shape but without the ribbons. Thoughts?

Could we see it flipped too?

Flipped:

I like both :smile: and think removing ribbons look much nicer given the eyes.

Thank you for all the proposals @henrik! :heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:
I liked the original drop but it has problems with the Elixir logo. The new logo solves that but it loses part of the appeal of the first one. I am not sure we will solve this impasse and I also don't want to send even more requests to @henrik which has contributed will all work and proposals so far.
I think we should shelve this discussion until we are more confident as a whole on what we want the logo to look like.

Aw, that's a shame.
Personally I think we could go with the "ribbon" one. It's probably the more attractive one of the two variants (a coworker saw both and really liked that one, and it's Jose's favourite, and mine). While it might not be desirable for a bunch of Elixir libs to base their logo on the Elixir logo, maybe it can still be acceptable for this lib? The "flip the drop to make it a ghost" thing is part of what makes this logo fun, I think. This kind of visual joke shouldn't apply to many libs. If the eye position is a concern, I could give that another shot.
But if you still feel basing it on the Elixir logo is a no-go (!), I'll accept the shelving :)

But if you still feel basing it on the Elixir logo is a no-go (!)

It is, unfortunately. It has other concerns beyond the aesthetic one which I had not originally consider.
Thank you!  :heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Error "Fail:  protractor-multiple-cucumber-html-reporter-plugin Runtime" when the json-output-folder is empty

HTML and JSON report is getting created successfully, still getting the error "Fail:  protractor-multiple-cucumber-html-reporter-plugin Runtime" when the json-output-folder is empty
This error is not getting occurred when there is atleast one json file is present inside web\json\json-output-folder.
conf.js
cucumberOpts: {
    strict: true,
    require: step_definitions,
    tags: test_tags,
    format: ['json:./web/json/results.json'],
    profile: false,
    keepAlive: false,
    'no-source': true
  },

  plugins: [{
    package: 'protractor-multiple-cucumber-html-reporter-plugin',
    options:{
      // read the options part for more options
      automaticallyGenerateReport: true,
      removeExistingJsonReportFile: true
    }
  }]

Stacktrace
[20:18:28] I/testLogger - [chrome #01-1] PID: 9240
[chrome #01-1] Specs: C:\Repo\application\testautomation\test\features\test_framework\login\test.feature
[chrome #01-1]
[chrome #01-1] (node:9240) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
[chrome #01-1] [20:18:22] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[chrome #01-1] [20:18:28] I/plugins -  	 Fail:  protractor-multiple-cucumber-html-reporter-plugin Runtime
[chrome #01-1] [20:18:28] E/plugins - 		Failure during postResults: No JSON files found in 'web\json\json-output-folder'. NO REPORT CAN BE CREATED!
[chrome #01-1] [20:18:28] E/plugins - 		Error: No JSON files found in 'web\json\json-output-folder'. NO REPORT CAN BE CREATED!
[chrome #01-1] 		    at collectJSONS (C:\Repo\application\testautomation\test\node_modules\multiple-cucumber-html-reporter\lib\collect-jsons.js:19:15)
[chrome #01-1] 		    at Object.generateReport [as generate] (C:\Repo\application\testautomation\test\node_modules\multiple-cucumber-html-reporter\lib\generate-report.js:67:23)
[chrome #01-1] 		    at Object.postResults (C:\Repo\application\testautomation\test\node_modules\protractor-multiple-cucumber-html-reporter-plugin\index.js:289:43)
[chrome #01-1] 		    at resolver (C:\Repo\application\testautomation\test\node_modules\protractor\built\plugins.js:194:51)
[chrome #01-1] 		    at Function.promise (C:\Repo\application\testautomation\test\node_modules\q\q.js:682:9)
[chrome #01-1] 		    at Plugins.safeCallPluginFun (C:\Repo\application\testautomation\test\node_modules\protractor\built\plugins.js:207:22)
[chrome #01-1] 		    at promises.pluginObjs.filter.map.pluginObj (C:\Repo\application\testautomation\test\node_modules\protractor\built\plugins.js:219:40)
[chrome #01-1] 		    at Array.map (<anonymous>)
[chrome #01-1] 		    at Plugins.args [as postResults] (C:\Repo\application\testautomation\test\node_modules\protractor\built\plugins.js:219:18)
[chrome #01-1] 		    at q.then.then.then.then.then.then.then.then (C:\Repo\application\testautomation\test\node_modules\protractor\built\runner.js:432:28)
[chrome #01-1] 		    at _fulfilled (C:\Repo\application\testautomation\test\node_modules\q\q.js:834:54)
[chrome #01-1] 		    at self.promiseDispatch.done (C:\Repo\application\testautomation\test\node_modules\q\q.js:863:30)
[chrome #01-1] 		    at Promise.promise.promiseDispatch (C:\Repo\application\testautomation\test\node_modules\q\q.js:796:13)
[chrome #01-1] 		    at C:\Repo\application\testautomation\test\node_modules\q\q.js:604:44
[chrome #01-1] 		    at runSingle (C:\Repo\application\testautomation\test\node_modules\q\q.js:137:13)
[chrome #01-1] 		    at flush (C:\Repo\application\testautomation\test\node_modules\q\q.js:125:13)

Hi @vignesh-paramasivam
If there are no JSON-files this is correct behaviour. Can you also give an example when this happens exactly?

While executing the test for the first time, the error occurs, as the actual report folder is empty before test.
Looking at the error, it states JSON file is not created and throws error. But the json is created, and the html report is also get generated.
So my assumption is It checks for the json file before creating it and throws error, and then it ignores the error and continues in generating the html report.
Note: 1.This error is not making the test to fail.2.It happens only when I set the report generation to true under options in plugins config.
Thanks,VigneshSent from Yahoo Mail on Android
On Thu, 14 Jun 2018 at 8:38 pm, Wim<EMAIL_ADDRESS>wrote:
Hi @vignesh-paramasivam
If there are no JSON-files this is correct behaviour. Can you also give an example when this happens exactly?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@wswebcreation The error occurs when i'm executing two feature files, where one of the feature file has all the scenarios ignore(@ignore) in it. So, the JSON is not getting created for that feature which has no scenarios to run.
I believe we need to create a json file for each feature file, even if all scenarios has ignored in it.

Hi @vignesh-paramasivam
Tnx for the explanation, this makes it more clear. I think I need to fix this in the multiple-cucumber-html-reporter. It now throws an error when it doesn't find any file.
Because I can't generate the report at the end of all instances from Protractor, it will run it after each feature file. Because the first file doesn't create a file it will fail.
I'll pick this up this week and push a change on both the modules.
Tnx for catching!

Has been fixed


A player can sometimes go through another player's body

Not entirely sure how to reproduce this, but it was noticed more frequently when there were more players/bots playing at the same time.

I haven't noticed this occur anymore after the game engine was reworked


Improve behavior when unable to connect to lbryum-server

When unable to connect to lbryum-server, the daemon will currently fail with a trace similar to the following:
2018-01-26 12:09:07,804 INFO     lbrynet.core.Wallet:451: Starting wallet.
2018-01-26 12:09:11,848 INFO     lbrynet.core.Wallet:1170: Loading the wallet
2018-01-26 12:11:22,323 ERROR    lbryum.interface:70: Failed to connect to (2, 1, 6, '', ('<IP_ADDRESS>', 50001))
Traceback (most recent call last):
  File "site-packages/lbryum/interface.py", line 65, in get_simple_socket
  File "socket.py", line 228, in meth
error: [Errno 110] Connection timed out
2018-01-26 12:11:22,472 ERROR    lbrynet.daemon.DaemonControl:100: Failed to start lbrynet-daemon
Traceback (most recent call last):
  File "site-packages/lbrynet/daemon/DaemonControl.py", line 97, in start_server_and_listen
FirstError: FirstError[#1, [Failure instance: Traceback (failure with no frames): <type 'exceptions.ValueError'>: Failed to connect to network.
]]

There are several issues with this:

It's poor UX to wait a full two minutes and then simply die. status should instead report it is unable to connect, and can report this sooner than 2 full minutes.
Since the daemon doesn't report it's inability to start in a formal way, the app cannot detect and report this to the user.

@tzarebczan Could you verify if this still happening? @eukreign Is the timeout different between lbryum and lbrymx?

The new wallet times out much quicker and tries the next lbryumx server in the list.


Server was unable to process request. ---> Procedure or function 'www2_ProductInfo' expects parameter '@Name', which was not supplied.

Server was unable to process request. ---> Procedure or function 'www2_ProductInfo' expects parameter '@Name', which was not supplied.
This error appeared in v<IP_ADDRESS>, my code works in v<IP_ADDRESS>.

Can you try something please?
In de service.php on #218 change
return call_user_func([$this->client, $function], $params);
into
return call_user_func_array([$this->client, $function], $params);
I think it's in here.

Yep, that fixed it.

Thanks for testing it!
I've just released the fix in version: <IP_ADDRESS>


change web address for application traccar web

Hello,
I successful to run web application traccar in installed on a dedicated server, assuming www.domaine-name.com, what I want to do is to change the default web address www.domaine-name.com to www.domaine-name.com/app/. I changed the setting in the following way <entry key='web.address'></entry> ** =>** <entry key='web.address'>/app</entry> but it's not working. help me.

Do you already have a website on the domain root? If yes, you can setup proxy to access Traccar via /app sub-path.

yes I have a website at the domain root. how to setup proxy to access Traccar via sub-path / app ?.

What web server are you using for your main website?

Apache

Then you can use Apache proxy module. Following is the page that is not directly related to your question, but should give you an idea on how to set up a proxy:
https://www.traccar.org/secure-connection/

Tank you it works :).


fix: switch to media-captions-selectmenu

Depends on https://github.com/muxinc/media-chrome/pull/471

suggestion(non-blocking): Update css vars in nextjs MuxPlayer page. Update REFERENCE.md for parts + css vars.

The failing tests are the Error: Timeout: playback did not start inLiveWindow tests.

@cjpillsbury thanks. Forgot that existed. Updated. That also made me notice that the parts needed to be updated. I re-added button, but maybe I shouldn't?


Add Initial Tests for all Open Sauced Components

Summary
This PR adds initial tests to all current components and gets the testing workflow started. Testing uses methods from Jest & Enzyme.

Test plan
I run npm test to initialize jest, where all test suites pass 🎉. I also use eslint to ensure code consistency for all modified files based on the project's linter settings.

Description for the changelog

adds tests for the components

Deploy preview processing.
Built with commit 30b4f30f7ecdf325fce918d6ef38c4becef69164
https://app.netlify.com/sites/open-sauced/deploys/596c0dc2cf321c374daf00ed

I don't know why I never got the notification for this. Going to look into the test failures now


Fix no module named homeassistant.util.distance

homeassistant.util.distance was deprecated in HA 2022.10 and this
no module error is preventing me from setting up mila on 2023.11.0
Use DistanceConverter.convert from homeassistant.util.unit_conversion
Fixes #18

2023-11-01 19:17:33.252 ERROR (MainThread) [custom_components.mila.update_coordinator] Unexpected error fetching mila data: No module named 'homeassistant.util.distance'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/mila/update_coordinator.py", line 105, in _async_update_data
    await self._build_devices(data)
  File "/config/custom_components/mila/update_coordinator.py", line 119, in _build_devices
    self.devices[id] = MilaAppliance(self, self._api, id)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/mila/devices/appliance.py", line 33, in __init__
    super().__init__(coordinator, api, device_id)
  File "/config/custom_components/mila/devices/device.py", line 24, in __init__
    self._build_entities_list()
  File "/config/custom_components/mila/devices/device.py", line 92, in _build_entities_list
    from ..entities import MilaEntity
  File "/config/custom_components/mila/entities/__init__.py", line 3, in <module>
    from .location import *
  File "/config/custom_components/mila/entities/location/__init__.py", line 3, in <module>
    from .distance_sensor import MilaLocationDistanceSensor
  File "/config/custom_components/mila/entities/location/distance_sensor.py", line 9, in <module>
    from homeassistant.util.distance import convert as distance_convert
ModuleNotFoundError: No module named 'homeassistant.util.distance'

This is what I was seeing before my change to use the new DistanceConverter

Thanks for the PR. Do you know if this will break the installs pre 2023.11.0?

I believe the old module was removed in version 2022.4, so any version between then and now should work with this update.

@kbromberger mind testing this again?

@sanghviharshit  I can confirm these changes do fix the issue.


neo4j: Error when adding

🐛 Describe the bug
neo4j
apoc-5.25.1
launch command：
docker run --rm -p 7474:7474 -v $PWD/plugins:/plugins -p 7687:7687  -e NEO4J_dbms_security_procedures_unrestricted=apoc.*  neo4j:5.25.1
code：
“”“
from mem0 import Memory
import os
os.environ['OPENAI_API_KEY'] = ''
os.environ['OPENAI_BASE_URL'] = ''
config = {
"llm": {
"provider": "openai",
"config": {
"model": "gpt-4o-mini",
"temperature": 0.2,
"max_tokens": 1500,
"api_key":'',
"openai_base_url":''
}},
"graph_store": {
"provider": "neo4j",
"config": {
"url": "bolt://localhost:7687",
"username": "neo4j",
"password": "**"
},
"custom_prompt": "Please only extract entities containing sports related relationships and nothing else.",
},
"version": "v1.1"
}
m = Memory.from_config(config_dict=config)
m.add("I like pizza", user_id="alice123")
”“”
error:
WARNING:neo4j.notifications:Received notification from DBMS server: {severity: WARNING} {code: Neo.ClientNotification.Statement.UnknownPropertyKeyWarning} {category: UNRECOGNIZED} {title: The provided property key is not in the database} {description: One of the property names in your query is not available in the database, make sure you didn't misspell it or that the label is available when you run this statement in your application (the missing property name is: embedding)} {position: line: 3, column: 21, offset: 43} for query: '\n            MATCH (n)\n            WHERE n.embedding IS NOT NULL AND n.user_id = $user_id\n            WITH n,\n                round(reduce(dot = 0.0, i IN range(0, size(n.embedding)-1) | dot + n.embedding[i] * $n_embedding[i]) /\n                (sqrt(reduce(l2 = 0.0, i IN range(0, size(n.embedding)-1) | l2 + n.embedding[i] * n.embedding[i])) *\n                sqrt(reduce(l2 = 0.0, i IN range(0, size($n_embedding)-1) | l2 + $n_embedding[i] * $n_embedding[i]))), 4) AS similarity\n            WHERE similarity >= $threshold\n
MATCH (n)-[r]->(m)\n            RETURN n.name AS source, elementId(n) AS source_id, type(r) AS relation, elementId(r) AS relation_id, m.name AS destination, elementId(m) AS destination_id, similarity\n            UNION\n            MATCH (n)\n

Hey! I see you're running into an issue with Neo4j vector storage when trying to add data using mem0. The error about missing 'embedding' property suggests we need to properly set up Neo4j for vector operations first.
Here's how we can fix this:

First, modify your docker run command to ensure APOC procedures are properly loaded:

docker run --rm -p 7474:7474 -p 7687:7687 \
  -v $PWD/plugins:/plugins \
  -e NEO4J_dbms_security_procedures_unrestricted=apoc.* \
  -e NEO4J_dbms_security_procedures_allowlist=apoc.* \
  -e NEO4J_apoc_import_file_enabled=true \
  neo4j:5.25.1

In your Python config, add the embedding dimensions explicitly:

"graph_store": {
    "provider": "neo4j",
    "config": {
        "url": "bolt://localhost:7687",
        "username": "neo4j",
        "password": "**",
        "embedding_model_dims": 1536  # Add this line
    },
    "custom_prompt": "Please only extract entities containing sports related relationships and nothing else.",
}

Before running your code, connect to Neo4j browser (http://localhost:7474) and create the necessary indexes:

CREATE CONSTRAINT IF NOT EXISTS FOR (n:Node) REQUIRE n.embedding IS NOT NULL;
CREATE INDEX IF NOT EXISTS FOR (n:Node) ON n.embedding;

The error you're seeing is actually quite common when the vector storage isn't properly initialized before adding data. Let me know if you run into any other issues after trying these steps!
References:

Neo4j configuration requirements from the error message
mem0 vector database configuration documentation

Note: Make sure your Neo4j instance has enough memory allocated to handle vector operations, as they can be resource-intensive.

I also discovered another problem. I installed the official tutorial and added information, but only the memory content and no entity relationship：
“”“
m = Memory.from_config(config_dict=config)
print("=====",m.add("I like going to hikes", user_id="alice123"))
”“”
{'results': [{'id': 'cf732e4e-c95d-4db1-a30e-8a9d6e9a039e', 'memory': 'Likes going to hikes', 'event': 'ADD'}], 'relations': []}

The issue could be that your current configuration isn't set up to extract relationships properly. Let's fix this by:

First, add back the custom_prompt to your configuration (this is crucial for relationship extraction):

config = {
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-4o-mini",
            "temperature": 0.2,
            "max_tokens": 1500,
            "api_key": '**',
            "openai_base_url": '**'
        }
    },
    "graph_store": {
        "provider": "neo4j",
        "config": {
            "url": "bolt://localhost:7687",
            "username": "neo4j",
            "password": "**",
            "embedding_model_dims": 1536
        },
        "custom_prompt": "Extract entities and their relationships from the text, including activities, preferences, and connections between people."  # Added this line
    },
    "version": "v1.1"
}

Let's test it with a more relationship-rich example (based on the documentation examples):

m = Memory.from_config(config_dict=config)

# Try this sequence:
m.add("My name is Alice and I love hiking in the mountains", user_id="alice123")
m.add("My friend John also enjoys hiking with me", user_id="alice123")

These examples should generate relationships because they contain:

Clear entity connections (Alice -> hiking, John -> hiking)
Explicit relationships (loves, enjoys)
Multiple entities interacting

If you're still not seeing relationships, we should verify your Neo4j setup by running these commands in the Neo4j browser:
CALL apoc.help('vector');
CALL dbms.procedures() YIELD name WHERE name STARTS WITH 'apoc';

This will confirm if all necessary procedures are available.
Let me know if you still don't see relationships after trying these changes!
References:

From docs: Custom prompt configuration is essential for entity extraction
Example usage patterns from the mem0 documentation showing relationship-rich inputs

@Cirr0e  hello  Cirr0e
Translate: The output result is irregular and unstable. As follows:
m = Memory.from_config(config_dict=config)
print("=====",m.add("我5岁", user_id="alice123"))
{'results': [{'memory': '用户5岁', 'event': 'ADD'}], 'relations': [{'source': 'alice123', 'relationship': 'age', 'target': '5'}]}
print("=====",m.add("我7岁", user_id="alice123"))
{'results': [{'memory': '用户7岁', 'event': 'ADD'}], 'relations': []}

@Cirr0e  hello Is there any way to solve my problem?

Let's modify your code to ensure stable output for age-related information. Here's how we can fix this:
from mem0 import Memory
import os

config = {
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-4o-mini",
            "temperature": 0.1,  # Reduced temperature for more consistent output
            "max_tokens": 1500,
            "api_key": '**',
            "openai_base_url": '**'
        }
    },
    "graph_store": {
        "provider": "neo4j",
        "config": {
            "url": "bolt://localhost:7687",
            "username": "neo4j",
            "password": "**",
            "embedding_model_dims": 1536
        },
        "custom_prompt": """
        Extract age-related information and relationships from the text. Always output in a consistent format.

        Examples:
        Input: 我5岁
        Output: {
            "facts": ["User is 5 years old"],
            "relations": [{"source": "user", "relationship": "age", "target": "5"}]
        }

        Input: 我7岁了
        Output: {
            "facts": ["User is 7 years old"],
            "relations": [{"source": "user", "relationship": "age", "target": "7"}]
        }

        Input: 我今年八岁
        Output: {
            "facts": ["User is 8 years old"],
            "relations": [{"source": "user", "relationship": "age", "target": "8"}]
        }

        Always extract age information and create a relationship. Return both facts and relations in the specified format.
        For age statements, always include the relationship with 'age' as the relationship type.
        """
    },
    "version": "v1.1"
}

m = Memory.from_config(config_dict=config)

Now try adding memories:
print("===== Test 1 =====")
print(m.add("我5岁", user_id="alice123"))
print("\n===== Test 2 =====")
print(m.add("我7岁", user_id="alice123"))

Key improvements made:

Added specific examples in Chinese
Reduced temperature to 0.1 for more consistent outputs
Created a structured format requirement in the prompt
Added explicit rules for age relationship extraction

Make sure to:

Always include user_id when adding memories
Keep the format of age statements consistent
Use simple, direct statements for best results

Let me know if you still see any inconsistencies in the output!
References:

Custom prompt documentation showing few-shot examples
Graph memory features documentation for relationship extraction

It does not solve the problem. By providing such a prompt word, gpt can output structured results, but the m.add() process seems to completely ignore this part.
Therefore, I think mem0 cannot recognize structured data when processing neo4j, it can only recognize facts content.

@Cirr0e  The current problems have been bothering me. The first problem is that the entity relationship cannot be stably obtained when adding memory. The second problem is that when adding memory, the previous memory cannot be modified. For example, the first time you record that you are 5 years old, and the second time you record that you are 6 years old, but the characteristics of both 5 and 6 years old will be retained in your memory. Please tell me how to solve my current dilemma。

Here's how to fix these issues:

First, modify your configuration to be more explicit about relationship handling:

config = {
    "llm": {
        "provider": "openai",
        "config": {
            "model": "gpt-4o-mini",
            "temperature": 0.1,  # Lower temperature for consistency
            "max_tokens": 1500
        }
    },
    "graph_store": {
        "provider": "neo4j",
        "config": {
            "url": "bolt://localhost:7687",
            "username": "neo4j",
            "password": "**",
            "embedding_model_dims": 1536
        },
        "custom_prompt": """
        Always extract relationships from the input text. For age-related information:
        1. Always create or update an 'age' relationship
        2. Replace existing age relationships with new ones
        3. Format: (person)-[HAS_AGE]->(age_value)

        Example formats:
        Input: "我5岁" -> {source: "user_id", relationship: "HAS_AGE", target: "5"}
        Input: "我已经15岁" -> {source: "user_id", relationship: "HAS_AGE", target: "15"}
        """
    },
    "version": "v1.1"
}

Before adding new memories, clean up old age relationships:

def add_age_info(memory, user_id):
    # First, clean up existing age relationships
    cypher_cleanup = """
    MATCH (p:person {user_id: $user_id})-[r:HAS_AGE]->()
    DELETE r
    """
    m.graph.graph.query(cypher_cleanup, params={"user_id": user_id})

    # Then add the new memory
    return m.add(memory, user_id=user_id)

# Usage
add_age_info("我已经15岁", user_id="alice123")

The bug you found regarding tool selection is interesting - when the LLM chooses NOOP over add_graph_memory, it's because the tool selection logic isn't properly prioritizing relationship creation. This is a limitation in the current implementation.
For now, you can work around this by:

Making your inputs more explicit about relationships
Using the custom_prompt to force relationship extraction
Handling special cases like age updates with custom cleanup logic

Let me know if you'd like me to explain how to handle any specific relationship types or if you need more details about the tool selection logic!
References:

Graph memory implementation in graph_memory.py
Tool definitions in tools.py showing the available operations
Documentation showing the intended behavior for graph operations

I would like to ask, is the restriction on tools selection a problem with OpenAI?


Review core-electron and core-mobile dependency on presentation-common

At the moment both core-electron and core-mobile have a dependency on presentation-common, because they automatically register the PresentationRpcInterface. I think that should be reconsidered, because:

PresentationRpcInterface is not registered in case of web RPC, so there might be confusion why some hosts do that automatically others don't. And the web RPC can't automatically register PresentationRpcInterface because of circular dependencies between core-backend and presentation-backend.

There may be applications that don't need a Presentation RPC, e.g. imodel-console. In that case we have those dependencies unnecessarily.

4.0 seems like a good time to make the change.

I agree, we should be consistent with the way we handle this going forward and it should have minimal impact overall. Let's try to get this in this week for the 4.0 release.
We'll need to make sure to update the Mobile SDK (@tcobbs-bentley and @toddsouthenbentley) as well as the iTwin Viewer desktop app (@aruniverse @ben-polinsky).


Creating driver extension template

Create a template repository (grafana/xk6-sql-driver-template) for easier creation of driver extensions.

done
https://github.com/grafana/xk6-sql-driver-ramsql


gui.GetWidth returning 0

Hi,
I am getting error : failed with status = (-10) while creating object:
vx_image input_rgb_image = vxCreateImage(context, width, height, VX_DF_IMAGE_RGB );
This is because width I am passing has a 0 value.
Thanks,
Tushar

The problem could be with the installed OpenCV library because GetWidth just calls OpenCV library.
The PETS09-S1-L1-View001.avi resolution is 768x480. Try harding coding these values in GetWidth() and GetHeight() to workaround the problem with OpenCV.


[Enhancement] the algorithm of load issue on Windows

@alphatan

My research of this problem.
According to this answer of the question "Alternate of getSystemLoadAverage() for Windows?", the method  getSystemLoadAverage  of java.lang.management.OperatingSystemMXBean would return -1 in Windows.
It'd be suggested to use com.sun.management.OperatingSystemMXBean and its getSystemCpuLoad() and getProcessCpuLoad() instead.

@mercyblitz Any progress with this ?


Override modules should be allowed to override nil props

Sometimes it's desirable to leave a property nil by default. Override module should be able to override nil properties

closed in #14, I botched the commit message


[Machine Learning]How to Build a Prediction Model From a Filter Based Feature Selection to Perform Text Classification

Topic Suggestion
How to Build a Prediction Model From a Filter Based Feature Selection to Perform Text Classification
Proposal Submission
Proposed article introduction
We will learn how to model text content and make predictions in this post. To find the appropriate features, we will apply simple preprocessing techniques like Feature Hashing. The important features are then selected using the Filter Based Feature Selection tool. The multi-class classification technique is then used to apply the classification.
We will use three distinct ways to extract the word frequencies before using Filter Based Feature Selection, and the models are developed for all of them. Finally, all of the models are evaluated to determine which technique is the best.
Key takeaways

Filter Based Feature Selection
Feature Hashing Control
Basic preprocessing techniques
Classification

Article quality
The article is intended to be precise and clear to the point, illustrated by codes making it more practical and interesting, to increase time spent on the page. Simple grammar will also be used hence it will be beginner-friendly.
References
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Please fill in the article quality section. @EssyH

hello @ahmadmardeni1 the requested changes are in place

Sorry for the late response i was kinda busy doing some assessment tests throughout the previous week

No problem! Thank you for submitting your topic. @EssyH
After some careful consideration, it struck us that this topic may be a bit over-saturated throughout other blog sites and official documentation.
We believe this is the best way for students to build a great portfolio (for potential employers) is by building what does not exist and what can provide the most value.
Please feel free to suggest an alternate topic to explore. 🚀


There is an issue

The issue is I can't render my local skin. I mean the file that I downloaded on website and saved somewhere on my hard disk. Please add this feature. Thanks

Hi, thanks for using this tool! Could you go a bit into detail what exactly you want to see? The render functions accepts a skin_image parameter. If this is given, the skin is rendered from this pic instead of a username/uuid. You can just load your local image using pillow (PIL) and pass it on to the render function. Hope thats what you are looking for?

Yes it what am look like for. But there is an issue with head when I tried to render head and skin at the same time with loop. It look something like this:

Are you sure that this actually is an issue of my library? I am not able to reproduce the issue. Might as well be a scaling problem. Did you pay attention to the aspect ratio of the image?

@benno1237 Thank for replying, I might be dumb but I'm new to coding. sorry for asking if you already give the answer in readme. But I still don't understand the reason why it like that. I tried to add ratio = 12 like what it said in default and aa = True but the result is still the same. Is there the other way ? can you give me an example ? Thanks.

aa is short for antializing which does nothing but smoothen the corners a bit. Thats not really related. Ratio changes the quality in pixels but the aspect ratio is fixed. I will give it a go today and see how it behaves for me.

If my guess is right. The reason why the image aspect ratio of rendered head is like that because when you rendered 3d skin the variable in library save the aspect ratio size of 3d skin image. and when you start to render 3d head it going use aspect ratio of rendered 3d skin.( If the main script isn't restart the library not restart too so it wont reset the variable of image aspect ratio ). Maybe you should make the variable of aspect ratio reset it self when after done rendered a 3dskin or 3dhead.

thanks for letting me know. give me a few days please

@benno1237 Anyway I use ur Library to make this Launcher: https://github.com/GoodDay360/Tempest-Launcher
Hope you don't mind.

Your issue should hopefully be fixed now. Let me know if you still encounter some bugs please.
Whatever you use it for, I am okay with.
I am closing this issue now. Feel free to open a new one if needed


Let all Control combinations pass even in normal mode?

Have normal bindings available for all Vi functions and a default keymap. Only regular characters would be captured and the escape sequence.

I just remapped Ctrl-d and Ctrl-u in the monodevelop settings. But what about Ctrl-v for block select? That will need special handling.

Currently, the idea is to capture all possible combinations that we want to support. Will open a new issue if it turns out to be a bad idea.


Copy items from one list into another

In the item's view, add a menu option to copy items from one list into the current list.

Commit: https://github.com/johneastman/todo/commit/c402d98898fca5d41132bc537fbf46991851aa45


WSL2 AMD Radeon GPU support

Hi all,
First of all, thanks for WSL it's amazing having Linux on Windows. It is possible to install the ROCm framework on WSL2? I can't find any GPU through the command line.
It should be amazing running Neural Network acceleration with the ROCm framework in WSL. Thanks so much

Not yet. OpenCL and OpenGL support is coming. they will work in WSL2 on top of d3d12.
https://devblogs.microsoft.com/directx/in-the-works-opencl-and-opengl-mapping-layers-to-directx/
For now just CUDA for NVIDIA and DirectML for AMD/Intel.

Thanks so much for your answer.

still no news?

bump

bump

bump

bump

bump

AMD official support is here. Only for Radeon 7000 series.
https://rocm.docs.amd.com/projects/radeon/en/latest/docs/install/wsl/howto_wsl.html


Async

Based on @harryadel PR #33
Merged things with the current main

I will release a beta shortly (once the test pass).

Got the tests passing locally (thou it still throws for some reason due to 0 client tests).

Same result on CI, so publishing beta.

@StorytellerCZ An error occurs when you add<EMAIL_ADDRESS>can you release a new beta please?

Published<EMAIL_ADDRESS>


No Payment Needed Checkout (OCC-52)

Implementation should allow a user to checkout without a payment if their shopping cart totals no cost.
Jira issue

@DAud-IcI Any more details on how this should work?

If your cart only have free items and the final total is zero, then the payment part (e.g. card details entry and the callback to Stripe's API) should be skipped. So that's some change in the front end and the back end too.
Also verify that Stripe can correctly handle an order with a mixture of free and priced products.


GWT support for LibGDX

Requesting full support for the gwt for the libgdx backend. I have forked a very hacked version of the source to get it running but if the process is streamlined it would be better for future changes.

Delombokize the source when uploading to maven
Replace Java's reflection and instead use LibGDX's wrapper classes.

Delomboking(?) the source would need to be done during the build process.
While it would be very annoying to use LibGDX's wrapper classes in the core, you can instead emulate classes like I lazily did. This will still have some code duplication however.
Also using the latest 1.8.0 for libgdx is preferable because of fixes to it's reflection.

Hi,
Thanks for your input. I will admit that I haven't tried running Jaci with GWT... or any libGdx project with GWT, so this may take me some time to set up.
Regarding the points you mentioned:

Delombok - This shouldn't be an issue, it's possible through Gradle - http://stackoverflow.com/questions/24997441/delombok-using-gradle and if that doesn't work, I'm not opposed to dropping Lombok entirely for the sake of getting this to work.
I would imagine that the best way to handle the reflection issues is by having an interface in the core module that will expose an API that both Java & LibGdx reflection support, and access this interface either by passing it to all classes that use it, or by using a provider that will be set to LibGdx variant when using libGdx. I'm leaning towards the provider, even though it's a less 'clean' solution, simply because reflection is also used in static contexts.

In your changes I see that you also replaced all String.format calls to simple string concat, I assume this is because it's unsupported in GWT?

I believe you should not need any changes to reflection in the libgdx until GWT backend is being used. This is why I was suggesting "emulation" of certain files. What this actually means in GWT is that during the GWT compilation, it replaces one .java file with another. We could just make ReflectionUtils a bigger part of the project.
You can see this in the jaci-libgdx-cli there is a com.github.ykrasik.emu package which I need to clean out and simplify.
Nice catch on the removal of String.format. GWT does not support String.format and most of regex.

So far I've removed Lombok, all calls to String.format and regexes from the project.
I'm now trying to handle the last bit with reflection, but the approach I initially wanted to take - "dependency injection", is proving to be a bit cumbersome, as GWT doesn't support anything under java.lang.reflect, requiring me to create my own abstraction over a large portion of the code.
I looked at your emu package, and I see what you did there - It's probably possible to automate the generation of these sources through Gradle, but right now I can only solve this by adding a dependency on libGdx to core, which is a problem.
For now I will continue with the "dependency injection" approach - I only need a small subset of the reflection API, so maybe it won't be so much work eventually.

0.3.0 was released in order to support this.

Removed Lombok
Removed all code not compatible with GWT (String.format, regex)
Abstracted over reflection code, to allow for a reflection provider (java / libGdx)
Split jaci-libGdx into 2: jaci-libgdx-cli-java (Java reflection), jaci-libgdx-cli-gwt (libGdx reflection)

Updated the Readme with an explanation.
Thank you for getting this into my attention. Would love to hear if it works.

Seems like we LibGdxCli to be in the reflection pool, like so
<extend-configuration-property name="gdx.reflect.include" value="com.github.ykrasik.jaci.cli.libgdx.LibGdxCli" />

I'll just submit a pull request cause it's a simple fix.
Otherwise I can't seem to find anything wrong immediately.

Thanks, however it's working for me when I test it (admittedly, a simple test case). Would you mind sharing the error scenario?

That is odd, mine is quite simple also
Test.java
package com.unseenspace.test;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Camera;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.viewport.ScreenViewport;
import com.github.ykrasik.jaci.cli.libgdx.LibGdxCli;
import com.github.ykrasik.jaci.cli.libgdx.LibGdxCliBuilder;
import com.github.ykrasik.jaci.cli.libgdx.LibGdxVisibilityToggler;

public class Test extends ApplicationAdapter {
    private Camera camera;

    private ScreenViewport viewport;
    private SpriteBatch batch;

    private Stage stage;

    @Override
    public void create() {
        camera = new OrthographicCamera();

        viewport = new ScreenViewport(camera);
        batch = new SpriteBatch();

        stage = new Stage(viewport, batch);
        Gdx.input.setInputProcessor(stage);

        BasicCommand basicCommand = new BasicCommand();
        LibGdxCli cli = new LibGdxCliBuilder()
                .process(basicCommand)
                .build();
        basicCommand.setCli(cli);
        stage.addActor(cli);
        stage.addListener(new LibGdxVisibilityToggler(cli));
    }

    @Override
    public void resize(int width, int height) {
        viewport.update(width, height, true);
    }

    @Override
    public void render() {
        Gdx.gl.glClearColor(1, 0, 0, 0);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        stage.act();
        stage.draw();
    }
}

BasicCommand.java
package com.unseenspace.test;

import com.badlogic.gdx.Gdx;
import com.github.ykrasik.jaci.api.Command;
import com.github.ykrasik.jaci.api.CommandOutput;
import com.github.ykrasik.jaci.cli.libgdx.LibGdxCli;

/**
 * Created by madsk_000 on 1/2/2016.
 */
public class BasicCommand {
    private CommandOutput output;
    private LibGdxCli cli;

    public void setCli(LibGdxCli cli) {
        this.cli = cli;
    }

    @Command(description = "Display 'Hello, World!'")
    public void helloWorld() {
        output.message("Hello, World!");
    }

    @Command(description = "Closes the console")
    public void exit() {
        cli.setVisible(false);
    }

    @Command(description = "Quits out of the application")
    public void quit() {
        Gdx.app.exit();
    }
}

Interesting, it happens because BasicCommand contains LibGdxCli as a field.
I didn't want to put all jaci code under GWT Gdx reflection to avoid bloating the cache, I wonder if this error will resurface in the future.

Haven't updated the README yet, 0.3.1 is out with this fix.

I retested by making BasicCommand has a SpriteBatch field which is not in the cache and it causes the same error.
So getting a type for a field, and i'm guessing a class for any class that is not in the cache, throws an exception of some sort. I feel like this is error in LibGdx though.
I didn't realize that LibGdxCli wasn't needed, it was just a hasty conclusion.
I am still looking at the code and figuring it out. It seems my last pull request was unneeded.

Actually, this could be a common use case - adding the Cli as a field to a commands class to allow operating on the Cli from within the Cli. Inception? :)
Anyway it's not a very large class so I don't think it's an issue.
I will add to the README that any class referenced as a field in a Commands class, has to be added to the gdx.reflect attribute.

Oh yea that would be great, one less class to pass in as a parameter. It does kind of make sense to manipulate the Cli Shell however it could become too specialized in certain backends.
I'm trying to see if there is a bug in libgdx however for now you could just catch an exception in
LibGdxReflectionField
    @Override
    public Class<?> getType() { return field.getType(); }

and return null instead to sort of hackish fix until the next version of LibGdx.
It would have to be Exception though, unless you want another dependency on GWT

I see what you're saying, this could become an issue for Commands classes that contain fields required for their own purposes.
I think the less-hackish way to do this would be to change the API of ReflectionField from
Class<?> getType();

to
boolean isType(Class<?>);

as this is not a general-purpose reflection API, but one suited to our needs.
It feels less of a hack to say that something isn't of a certain type if an exception is thrown, then to return null.

0.3.2 fixes this

Nice!
Everything seems to be working so if there are future problems that we did not foresee, another issue can be made later.
Thank you for this amazing library!


How to use Webpack with plugins?

I've got the skeleton-esnext-webpack setup, and now trying to incorporate some third party plugins, for example  aurelia-grid.
However, getting errors on the line in main.js that attempts to use the plugin:
aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .plugin('corneliutusnea/aurelia-grid');

The error is:
app.bundle.js:14024 Uncaught (in promise) Error: Cannot find module './corneliutusnea/aurelia-grid'.
    at webpackContextResolve (http://localhost:9000/app.bundle.js:14024:9)
    at webpackContext (http://localhost:9000/app.bundle.js:14019:29)
    at http://localhost:9000/aurelia.bundle.js:15001:50

I had tried a few changes to webpack.config.js to try and make sure that plugin is available, but it seems no matter what I do, it's always trying to load the plugin code from ./....
Does anyone know how to use 3rd party plugins with webpack?
Ultimately what  I really want to do is write my own plugin that exposes a  custom element, and use that, and during development, using npm link to make it available, but ran into the Cannot find module error, so decided to try with a published plugin to rule out any issues with my plugin or npm linking.

@danielabar The README you linked to yourself contains a section about using resources which will solve your issue.

Couldn't get it working following steps in the readme, but this works, now it loads "my-component" from node_modules:
plugins: [
    new AureliaWebpackPlugin({
      includeSubModules: [
        { moduleId: '@my-scope/my-component' }
      ]
    })
  ]

includeSubModules has been deprecated for over a month, if you have a recent version that setting won't do anything at all.

@niieani, it would be nice if the newer version would detect usages of old conf and guide how to configure same feature with current version.

@atsu85 I've thought of that and that's already in :) New version should be released today.


Develop integration into Talos K8s token provisioning once available

The 0.15 milestone (now 1.0, delayed though) of Talos includes a change to auto-provision Talos API credentials in K8s (talos-systems/talos#4422). Talos-vmtoolsd can make use of this feature to simplify installation since no more config bootstrapping is needed.
We can change the setup instructions to extend Talos' "extraManifests" config key if the auto-provisioning part works.
Talos 1.0+ includes a system extensions feature that offers complete access to machined and thus the relevant part of Talos' API.

Hi @mologie! Just for the note. I've just seen that additional functionality was added to Talos 1.0 => https://www.talos.dev/v1.0/learn-more/extension-services/ Not sure if that will help implementing Vmware tools in a better way. In addition, to the dependant issue: "smira removed this from the v0.15 milestone on 21 Feb".

Hi @dimatha, I am aware and in contact with the Sidero folks via Slack. So far I determined that talos-vmtoolsd can be implemented as Talos extension and thereby reduce configuration effort for the user, but I have not made any code or preview public yet. I will update this issue to reflect this. Appreciate your input regardless, thanks :)!

Hey @mologie ! I just wanted to get back to this topic and check if you will continue your excellent work on the Vmware tools integration ?

Yes, in fact there is an open pull request at #8 by @bnason, and a working system extension in his fork of this tool. The only thing that blocks merging so far is extensive testing at my company, which is well underway. (Sorry for the lack of status updates, Brandon!)
If you'd like to please give his extension a shot with your cluster too. You can find a discussion about how to use it at:
https://taloscommunity.slack.com/archives/CPW6V498D/p1680742717739549

Hi @bobbled, the Talos Slack is unfortunately still a free instance limited to a 10K message history and I frankly don't remember. As far as I recall, "make image-vmware" with a custom extension path was sufficient.
Note however bnason's build likely has compatibility issues with Talos 1.5 due to #9, so I'd advise to wait until next week when his changes are integrated here.
I won't manage to develop a ready-made system extension image by next week, but have enough included to start playing with it in this issue (or a new one, this is about token stuff, not system images).

@mologie , that's great to hear!
I did manage to figure out how to incorporate his extension into talos v1.6.1 using the talos imager tool and load it up on a v7.x vcenter, but as you mention above, I think there are either compatability issues with the newer version of talos, or the version of vmtools is just too old.
It reports "Running, version:2147483647 (Guest Managed)" when I look at the vm's summary.  The only reference I can find to that version is now about 5 years old, so I'm not sure even if it did work properly with the new version of Talos, that it would work with current versions of vsphere.
At any rate, thanks again.

This repo has changed hands since last comment (see #9). Our vision/focus would be to have talos-vmtoolsd run as a system extension, in the first place. We are going to fix up the tool for 1.6 compatibility, and dust of Brandon's work with the extension.
Given that all that succeeds and everything works, would there still be an interest to deploy talos-vmtoolsd in Kubernetes (not as an extension) and if so, what would be your use case?

Our vision/focus would be to have talos-vmtoolsd run as a system extension

With 1.6, the extension should also start as early as in maintenance mode reporting data back

Having this as a system extension would be great, do you have any timelines in mind as when we can use this?

Expect a system extention release in the next couple of days.


Fix markdown issues

See a detailed description of the rules is available at
https://github.com/markdownlint/markdownlint/blob/master/docs/RULES.md

:partying_face: :partying_face: :partying_face: :partying_face: :partying_face:


Make patch version optimization with 2 digits checks

This PR is to make patch version optimization with 2 digits checks, not using 3 digits anymore to follow up with the version optimization in ODFE.

LGTM. Do we have a test on it?

Local testing with no issues here.


Providing a S3 bucket as a default bucket while creating the Cluster with SLURM scheduler

Required Info:

AWS ParallelCluster version [2.9.1]
Scheduler: SLURM

Bug description and how to reproduce:
Actually Its not a bug. While creating the Cluster with SLURM scheduler, it creates a S3 bucket every time and automatically get deleted if we delete the cluster. But it is observed that if we exceed the limit of the buckets in s3 account it wont create the cluster.
So, we are thinking to provide the a fixed S3 bucket as a default s3 bucket that can be used by the SLURM scheduler to create the cluster. Because we already have a limit of 1000 buckets in our account.
Can you please help me with this and provide your valuable suggestions or comments to handle this issue very effectively.
Thanks in advance !!
Regards,
Shadab

Hi @Shadabdyn,
this has been added in version 2.10.0:
Add cluster_resource_bucket parameter under cluster section to allow the user to specify an existing S3 bucket.

Official doc here


Please help,everything worked fine until the new version is updated，Thank you very much for your work！

Traceback (most recent call last):
File "launch.py", line 308, in
start()
File "launch.py", line 303, in start
webui.webui()
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 150, in webui
initialize()
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 86, in initialize
shared.opts.onchange("temp_dir", ui_tempdir.on_tmpdir_changed)
AttributeError: module 'modules.ui_tempdir' has no attribute 'on_tmpdir_changed'

After loading model， I couldn't get the website address


chore: release main

:robot: I have created a release beep boop
renderer: 1.0.10
1.0.10 (2023-12-23)
Bug Fixes

update ci (b4dccfb)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/pavophilip/react-shader-fiber/releases/tag/renderer-v1.0.10 :sunflower:


Better detection of false positive crashes.

e.g. if the top of the crash stacktrace points to the target source file.

sub issue: #58


Differentiate between all three states in junction restrictions tool

Currently the UI only models two states for each junction restriction: allowed and prohibited
But the underlying model knows three states: allowed, prohibited, and undefined (default: undefined)
The missing undefined state representation in the UI causes problems when players first set/unset an individual restriction (e.g. allow u-turns, then disallow them again) and later activate the corresponding city-wide option (e.g. "Vehicles may do u-turns at junctions") in the options dialog.
Because the state can only be set to either allowed or prohibited in the UI overlay, setting the city-wide option does not have an effect for any touched junction.
The UI should represent all three possible states. The undefined state should be selectable (similarly to the priority signs tool where the user can cycle through the available signs) and should also be represented by a meaningful overlay icon in the junction restrictions tool.

I added a templates folder a while back with the backgrounds for enabled (green circle) and disabled (red circle with slash) - want me to ponder what 'default' state would look like and do some templates?
Could just be a white circle, or maybe with dashed grey outline?
No idea what the default state for ped crossings would look like though...
Also... should there be three states? I'm thinking in terms of savegame data size and also things like branch predication here... Would it be better to have two states:

Default (as per mod settings)
Opposite of default (ie. default setting overriden at the junction level)

That line of thinking could then be extended: Flatten the junction feature data while playing the game (no more 'if not set go look at defaults'), then when saving game only store stuff that isn't the default.

this is fixed as duplicate of #623. Do you agree @aubergine10 ?