ClientAwakeTimeProvider API to reduce the 93 sec default value

Hi!
After the first version of the Queue Mode, here is a new PR to add the feature of reducing the 93 seconds of client awake time. The interface ClientAwakeTimeInformation is created, which has the method usedClientAwakeTime(reg) for giving the awake time for an specific client. If the user don't do anything, the LeshanServerBuilder uses the ClientAwakeTimeInformationDefaultImpl which returns 93 sec for all the clients. The user can also add a different ClientAwakeTimeInformation object using the method setClientAwakeTimeInfo in the LeshanServerBuilder. For just changing the 93 seconds, a ClientAwakeTimeInformationDefaultImpl object can be created with a different time as a parameter in the constructor.
I've also implemented a Dynamic way to select this time, in the ClientAwakeTimeInformationDynamicImpl, which reads the AdditionalRegistrationAttributes in order to select the timer. One thing I've found in this implementation is that these additional parameters does not seem to be updated when an update message arrives... Or does it and I've miss it somehow?
This means that the first value that is sent in the registration message is the one included all the time. I've trying to go a bit through the code and the update method seems to just take the same Map all the time, without uploading it. So coming back to Queue Mode, I think the client should be able to change the awake time at any moment and send it in the update message... so I think we should do something to update the AdditionalRegistrationAttributes.
And btw, I don't know if the new features that need to be added should be introduced in the queue_mode branch or directly in master (I selected master as base branch now but feel free to change it).
All feedback is appreciated :-)

Hi! Thanks for the feedback. I agree in the naming, I'll make the necessary changes.
About the update for additional registration parameters, I have taken a look and it needs several modifications... RegisterResource needs changes in the handleUpdate method. UpdateRequest needs the additionalRegistrationAttributes as an attribute, RegistrationUpdate needs also changes in the update method, and also RegistrationHandler in the update method. This is pretty big, and not strictly necesary for this PR, it is only better for the dynamic provider, but it could work without it (the client only gives the awake time in the registration message). Should I do a different PR for updating the additionalRegistrationAttributes ?
If we agree on that, then this PR only needs naming changes and reach an agreement in what we should do with the PresenceStatus... So I'll wait for your feedback :-)

About the update, if you don't need it. We don't need to implement it.
If you need it, I prefer to go with a separated request.
If we go for it, we need to specify behavior of updating additionalRegistrationAttributes, I mean "Does it replace previous one, does it complete, is it a problem if we can not removing it ? ...

I think the update is necessary if we want to have a real dynamic way to announce the client awake time. Otherwise, it can just set it in the registration message, but it cannot change at any time. I think is a much better implementation making the client able to change the awake time through update messages. With this the client can adapt better to different kind of situations.
I guess the update behaviour should be to check if the attribute is already included in the additionalRegistrationAttributes, and if that is the case change the value to the new one. If the attribute is not present, it should just add this attribute. All the other attributes present in the Map remain the same. And of course this should be done with all the attributes that are included in the update message.
I think I can make a separate PR implementing that, it shouldn't take much effort.

Hi! I made all the changes in the naming, removed the clientAwakeTime from the PresenceStatus, and also removed completely the class DynamicClientAwakeTimeProvider. Anything else to be done for this PR? How do we proceed with the wiki page about the DynamicClientAwakeTimeProvider?
I'll also move on to the PR for implementing the update of the additionalRegistrationAttributes. This should be done to master branch since is not really a queue mode feature, or also to the queue_mode one?

I can implement those 2 remarks and merge this PR in master if you are OK.

I have no objections :-)

I create a page you can complete it. (You can rename it too)
Once this will be finished we could add a link in the wiki right sidebar

I'll take a look into it tomorrow and modify it.

About update, you could go for a new PR targeting master.

Prefect! I've already been implementing it so it will come soon.

Integrated in master (commit 1c322bf6efc077c433bc2cfbb6324cd2abce9571)
I made the 2 changes we talk about and severals minor clean-up.


Add direct IHederaTokenService tests

Problem
Currently all tests go through a contract to call IHederaTokenService
Solution
Add direct IHederaTokenService tests
Alternatives
No response

No longer possible with new security model


"Rights" field should have a maximum length greater than 255 characters

The "Rights" field (field_rights) created by Islandora Defaults has a maximum length of 255 characters. It's likely that many repositories will want a longer field. We may also want to change the field type from "Text (plain)" to "Text (plain, long)" to make its UI element be a text area instead of a single-line text field.

We should definitely change the default.  Whether or not we provide an update hook ended ambiguously at the end of the last tech call.  Personally I don't think it's neccessary given the nature of defaults and we're probably gonna break this big thang up anyway. But if we feel we must: https://evolvingweb.ca/blog/resizing-fields-drupal-8-without-losing-data
Seems pretty straighforward.  If we do go that route, some of this could probably be generalized into utility functions.

So, yes and no. A lot of these default configs are designed to catch fields coming from Islandora 7 where this sort of field was free-text. We need to be able to catch whatever text folks already have in that field (which is why it needs to be longer). Although, following that thread, it should probably also be a formatted text field.
Here at UNLV, we have both a formatted text field with a default rights statement blurb that is specific to our Special Collections and Archives, but we also have a "Standardized Rights Statement" entity reference field to a rights statement taxonomy vocabulary.
So, this field should stay free-text, but there is nothing stopping anyone from implementing a rights statement field in addition to or in place of it locally.

Rights has been changed in Islandora Starter Site to text (formatted, long). Agreed many folks will want a relation field (creative commons, rightstatements) but we're leaving that to the implementer.
https://github.com/Islandora-Devops/islandora-starter-site/pull/102


Custom header does not exist in response object but exist in response

I'm trying to get x-forced-sign-out header and it does not exist in response body but exist in response, how do i solve it?

Hi @illunix
Thank you for using kiota and for reaching out.
The response headers you're showing seem to be from the CORS pre-flight response and not the actual response.
I don't think there's a way to access the CORS pre-flight headers, this is something the browser does automatically before sending the actual request.
Let us know if you have any additional comments or questions.


[FR] Support for RESINFO RRType 261 (RFC9606)

Current behavior
It seems that the RFC9606 RESINFO RRType 261 is not yet supported.
(I checked version 1.22.0)
Describe the desired feature
Support RESINFO RRType
Potential use-case
For example to be able to use it in local-data, like:
local-data: 'resolver.arpa RESINFO "qnamemin temp-dnssecval infourl=https://example.nl"'

Hi @mdavids,
I added the RESINFO type, so the potential use-case can be used in the configuration.
However I believe this needs a second pass in the future (why I leave the issue open atm), to properly address the RFC.
With that in mind, Unbound needs to intercept the RESINFO type (because it could be any name AFAIK) and, if enabled to reply, give out the information or refuse otherwise. It would be possible to custom configure the contents of the record to accommodate for unknown keys like temp-dnsseceval in your example.

Thank you for doing this. And I appreciate you leave the issue open for a second pass.
I've been thinking about this as well, as the RFC raises some questions with me. It might perhaps be a bit ambiguous.
The RFC says that a client: "MUST set the RD bit to 0 and MUST discard the response if the AA flag in the response is set to 0".
The 'local-data method' seems to provide the proper response under these conditions (I tested it with TXT, for the lack of RESINFO), so that could be sufficient. But maybe you can think of better ways to implement RFC9606-support in Unbound?
To me RFC9606 has some resemblance with RFC4892 ("id.server"), but then again, maybe not. It seems okay to forward any RESINFO queries when there is no local-data or similar 'interception mechanism' defined, given the RD and AA requirements mentioned above. But I'm still a bit puzzled here.
Anyway... You might want to test this in real life with DNS4ALL, where we made an attempt to implement it:
dig +https +norec @resolver.dns4all.eu RESINFO resolver.dns4all.eu
dig +https +norec @resolver.dns4all.eu RESINFO resolver.arpa
With and without RD-bit, to see the difference. What do you think?
Also, please note the DoH-option, which is one of two REQUIRED options mentioned in the _Security Consideration_s section. The other one is 'local DNSSEC validation', which I don't quite understand.

The RFC says that a client: "MUST set the RD bit to 0 and MUST discard the response if the AA flag in the response is set to 0".

I believe the part about the AA flag is so that client is sure the reply is coming from the resolver itself.
The part about the RD is for the resolver to not try and process/forward that further if it doesn't know about RESINFO.
So I believe if your resolver knows about RESINFO, it can reply with the AA flag and don't care about the client RD bit because it will never try to resolve it in the first place.

To me RFC9606 has some resemblance with RFC4892 ("id.server"), but then again, maybe not. It seems okay to forward any RESINFO queries when there is no local-data or similar 'interception mechanism' defined, given the RD and AA requirements mentioned above. But I'm still a bit puzzled here.

Actually this is exactly how I was planning to implement this. Intercept the RESINFO type regardless of the qname and return back the information depending how Unbound is configured. If no information is to be returned, refused would be used. But since Unbound would know about RESINFO, it will never process the query further.

The other one is 'local DNSSEC validation', which I don't quite understand (we do not prohibit Do53 however, because we don't care).

I don't think that DNSSEC can help in practice. For sure you can't sign resolver.arpa, and having signed information in a zone-ish thing does not mean that the resolver that happens to serve that record has those capabilities. It would also be an operational nightmare I suppose.
So transport security does help for the client, but the resolver can just answer with RESINFO anywhere.

Btw I am thinking along these lines for configuration (also note to self):
server:
    ...
    resinfo: yes
    resinfo-qnamemin: yes
    resinfo-exterr: yes
    resinfo-exterr-override: "<provide own values for the exterr key>"
    resinfo-infourl: ""
    resinfo-override: "<a whole custom RESINFO record, it will override everything>"
    resinfo-additional: "<additional data to include, like temp-dnsseceval"
    ...

FYI: please note that I did not make up 'temp-dnsseceval' entirely out of the blue:
https://datatracker.ietf.org/doc/draft-bortzmeyer-add-resinfo-dnssecval-dns64/

Perhaps it does not belong here, but I have been playing with this in Net::DNS and have an issue with the example above.
The three attributes are concatenated as a single TXT style text string. However, RFC9606 section 6 leads me to suppose that each attribute inhabits a separate text string in the RR (i.e. unquoted, no internal spaces).  This distinction is important if the response is to be processed by a perl script.
;; Response received from [<IP_ADDRESS>] 100 octets
;; HEADER SECTION
;;	id = 46638
;;	qr = 1	aa = 1	tc = 0	rd = 0	opcode = QUERY
;;	ra = 0	z  = 0	ad = 0	cd = 0	rcode  = NOERROR
;;	do = 0	co = 0
;;	qdcount = 1	ancount = 1
;;	nscount = 0	arcount = 0

;; QUESTION SECTION (1 record)
;; resolver.dns4all.eu.	IN	RESINFO

;; ANSWER SECTION (1 record)
resolver.dns4all.eu.	60	IN	RESINFO	(
	"qnamemin temp-dnssecval infourl=https://dns4all.eu" )

RFC9606 defines the format indirectly by reference to RFC6763 section 6.3:
"Each key/value pair is encoded as its own constituent string within the
DNS TXT record, ..."
I have raised an erratum against RFC9606 to make that an explicit requirement.


Add existingSecret for admin pannel authentication

Hello, I have started using your chart and it worked very well for my home setup with nextcloud.
I wanted to add a small contribution by adding the option to specify the username and password with an existing secret.
This way we can use an external secret operator https://external-secrets.io/v0.5.6/ or manually create secrets without having to commit sensitive values in values.tf
Best regards
Alex
Signed-off-by: Alexander KIRILOV<EMAIL_ADDRESS>

Hi @sashokbg ,
thx for the PR. That is a good improvment. Can you pls bup the chart version to 2.5.0 for this? Then I will run and merge.
Cheers.

Hello @chrisingenhaag with pleasure :). The version bump is included


Bitrate on AMD capped to 100Mbps

If I select any bitrate value above 100Mbps, it automatically reverts to about 20Mbps on AMD cards using the latest drivers (22.11.2).
If set to 100, it works properly.
General Troubleshooting

[Yes] I carefully followed the instructions in the README and successfully completed the setup wizard
[Yes] I read the ALVR Wikis here and here

Environment
Hardware
CPU: Ryzen 1600
GPU: AMD RX6700XT (22.11.2 Drivers)
Installation
ALVR Version: 19
SteamVR Version: 1.24.6
Install Type:

[Yes] Packaged (exe, deb, rpm, etc)
[No] Portable (zip)
[No] Source

OS Name and Version Windows 10 (22H2)

Thats because AMF has it capped at 100 nothing ALVR can do.

While we wait for AMD to fix it, what are the best options to save bandwidth and improve visual quality? Did you guys have any luck with foveated encoding, color correction and pre processor component?

Wdym any luck with foveated encoding and color correction doesn't change the bitrate requirements or anything to do with bitrate pre-processor only works with out 10 encoding i use 10 bit so I have no idea.
I can give you recommended settings if you would like?

Now that you mentioned it, I see it doesn't really make any sense for foveated encoding. It's the encoder that is limited to 100Mbps not the wifi bandwidth.
But the color correction and other settings, which ones can be used to improve visual quality without increasing the encoder bitrate usage? (or reducing it). If you can give me recommended settings It would help me a lot.

If you're using the latest drivers, then pre-processor may significantly reduce the bitrate usage (and give better picture in general, but possibly blurry in some cases) but at the cost of higher GPU load. Color correction includes sharpness that can help to improve visual clarity and it's a simple shader that doesn't add any load.

CQP mode supposedly isn't affected by the bitrate cap, maybe it's worth testing in addition to CBR/VBR modes.

I was using 22.11.2 with HEVC and 200-500 Mbps transferred over from my PC to the Quest 2: https://github.com/GPUOpen-LibrariesAndSDKs/AMF/issues/364#issuecomment-1374635618
I used ALVR nightly 2023.01.07 and Quest 2 with V47 firmware. ALVR statistics showed 200-500 Mbps bitrate, and Task Manager showed 200-500 Mbps load.

A reminder that ALVR currently uses constant bitrate by default, and filler data is inserted with AMD. While it may actually show the said bitrate, effective bitrate will still be 30mbps and the rest is useless raw bytes.

This is horrible news to hear if we get filler data. What driver is recommended then ? I use 22.2.3 ?

Since driver version 23.2.2, the issue seems to be fixed 🎉


Error TS4060 gets incorrectly triggered for inferred return types in the presence of global declarations

Search Terms:
TS4060, "Return type of exported function has or is using private name", inferred return type
Code
tsconfig.json
{
  "include": ["src"],
  "compilerOptions": {
    "declaration": true,
    "outDir": "lib",
    "target": "es2015",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "typeRoots": ["types"]
  }
}

src/index.ts
// this import is supposedly 'unused' according to TS
import { Buffer } from 'buffer';

// this export has  TS4060
export function toBufferAsync(s: string) {
  return new Promise<Buffer>(resolve => resolve({buffer: s}));
}

// this export is fine
export function toBufferAsync2(s: string): Promise<Buffer> {
  return new Promise<Buffer>(resolve => resolve({buffer: s}));
}

types/buffer/index.d.ts
declare class Buffer {
  buffer: string;
}

declare module 'buffer' {
  const BuffType: typeof Buffer;
  export { BuffType as Buffer };
}

Expected behavior:
Both functions produce no errors or at least identical behavior
Actual behavior:
The behavior difers for the function definition that has an inferred type - TS complains it cannot export a private name, even though its identical to the function with the explicitly specified type (which is accepted by the compiler)
Playground Link: https://codesandbox.io/s/typescript-inferred-type-private-names-issue-cs0cs
Related Issues: Not really, but its hard to search with the number of people complaining about that error
TypeScript version attempted: 3.5.3

I don't know how to reduce this to something that doesn't depend on it.
My investigation shows that removing the global declaration
declare class Buffer extends Uint8Array { ... }

from global.d.ts  makes the problem go away, since the inference engine is somehow choosing that global definition

Smaller example without a node depdenency: https://codesandbox.io/s/typescript-inferred-type-private-names-issue-cs0cs
Example with minimal number of files and external components (codesandbox has parcel bundler):
tsconfig.json
{
  "include": ["src"],
  "compilerOptions": {
    "declaration": true,
    "outDir": "lib",
    "target": "es2015",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true,
    "typeRoots": ["types"]
  }
}

src/index.ts
// this import is supposedly 'unused' according to TS
import { Buffer } from 'buffer';

// this export has  TS4060
export function toBufferAsync(s: string) {
  return new Promise<Buffer>(resolve => resolve({buffer: s}));
}

// this export is fine
export function toBufferAsync2(_s: string): Promise<Buffer> {
  return new Promise<Buffer>(resolve => resolve({buffer: s}));
}

types/buffer/index.d.ts
declare class Buffer {
  buffer: string;
}

declare module 'buffer' {
  const BuffType: typeof Buffer;
  export { BuffType as Buffer };
}

One potential fix is to declaration-merge the type with the declared value in buffer.d.ts
declare module 'buffer' {
  const BuffType: typeof Buffer;
  interface BuffType extends Buffer {}
  export { BuffType as Buffer };
}

So this might be a bug for DefinitelyTyped, however it seems to be a regression from previous TypeScript versions.

@RyanCavanaugh I updated the example to remove the node.d.ts dependency and updated the codesandbox link as well. The playground cannot be used (AFAIK) with multiple files. There is a bug with node.d.ts for sure, but I don't think it explains the inferred vs explicit return type difference


Debug build variant doesn't pass correct flags to GCC with Makefiles

Brief Issue Summary
Debug build variant doesn't pass correct flags to GCC.
Apparent Behavior:
Ubuntu 16.04, cmake 3.14.6, vscode  1.41.1, c/c++ extension 0.26.3, cmake tools 1.2.3
building within docker remote dev container. Makefile build generator
From a completely fresh build (i.e. rm -rf build)

I configure the project via clicking the "Click to select build variant" button on the status ribbon at the bottom of the screen and then select Debug in the pop up that appears.
cmake configures without errors
I push the build button at the bottom (kit had been previously selected.)
Building commences but it becomes apparent that not all the flags given in CMakeLists.txt were passed to the compiler.  Once the build fails, in the terminal I manually start the build via make VERBOSE=1 and looking at the GCC command, sure enough the flags are not being passed to GCC.

If I nuke the build directory and manually configure (i.e. cmake -DCMAKE_BUILD_TYPE=Debug ..) then everything works as it should.  This only appears to happen when selecting the DEBUG build variant.  Repeating the above steps, but selecting Release instead of Debug works as expected.
In my case I was trying to declare some directories as SYSTEM (i.e. use -isystem instead of -I via target_include_directories), however I observed similar behavior with a co-worker yesterday.  She was trying to debug a program and kept getting an error along the lines of symbols not found.  When manually starting the build via make VERBOSE=1 I noted the -g option was not being passed to GCC in spite of having the Debug variant selected. In that case too, nuking the build directory and manually running cmake from the terminal made things run as they should.
Expected:
Correct flags passed to GCC
CMake Tools Log
I've slightly snipped the following log to omit some of the messages I print from cmake.
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:26.024Z [debug] [extension] [9211] cmake.setVariant started
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.424Z [debug] [main] Active build variant changed
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.426Z [debug] [main] Run configure
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.427Z [debug] [main] Saving open files before configure/build
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.456Z [debug] [driver] Setting new variant , Disable optimizations - include debug information.
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.457Z [debug] [driver] Run _refreshExpansions
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.457Z [debug] [cms-driver] Run doRefreshExpansions
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.457Z [debug] [driver] Run _refreshExpansions cb
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.533Z [debug] [driver] Start configure
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.533Z [debug] [driver] Runnnig pre-configure checks and steps
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.536Z [debug] [driver] Using compilers in x86-gcc740 for configure
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.538Z [debug] [driver] Run _refreshExpansions
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.539Z [debug] [cms-driver] Run doRefreshExpansions
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.539Z [debug] [driver] Run _refreshExpansions cb
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:30.831Z [info] [cmake] The C compiler identification is GNU 7.4.0
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.030Z [info] [cmake] The CXX compiler identification is GNU 7.4.0
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.053Z [info] [cmake] Check for working C compiler: /usr/bin/gcc-7
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.188Z [info] [cmake] Check for working C compiler: /usr/bin/gcc-7 -- works
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.194Z [info] [cmake] Detecting C compiler ABI info
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.346Z [info] [cmake] Detecting C compiler ABI info - done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.377Z [info] [cmake] Detecting C compile features
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.604Z [info] [cmake] Detecting C compile features - done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.612Z [info] [cmake] Check for working CXX compiler: /usr/bin/g++-7
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.704Z [info] [cmake] Check for working CXX compiler: /usr/bin/g++-7 -- works
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.706Z [info] [cmake] Detecting CXX compiler ABI info
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.784Z [info] [cmake] Detecting CXX compiler ABI info - done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:31.802Z [info] [cmake] Detecting CXX compile features
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.412Z [info] [cmake] Detecting CXX compile features - done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.413Z [info] [cmake] CMAKE: /usr/local/bin/cmake Version: 3.14.6
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.413Z [info] [cmake] CMAKE_INSTALL_PREFIX not set in cache or on command line. Setting to in-source deploy folder.
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.414Z [info] [cmake] CMAKE_INSTALL_PREFIX: /workspaces/focus/deploy
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.864Z [info] [cmake] Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found suitable version "2.6.1", minimum required is "2.6.1")
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.869Z [info] [cmake] Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.870Z [info] [cmake] Checking for module 'opencv'
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:32.891Z [info] [cmake]   Found opencv, version 3.2.0
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.102Z [info] [cmake] VEH application configured
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.143Z [info] [cmake] PROTOC executable is /usr/local/bin/protoc
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.143Z [info] [cmake] proto library configured
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.470Z [info] [cmake] Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components:  doxygen dot
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.590Z [info] [cmake] doc_doxygen target configured
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.611Z [info] [cmake] Configuring done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.868Z [info] [cmake] Generating done
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.978Z [debug] [cache] Reading CMake cache file /workspaces/focus/build/x86-gcc740-Debug/CMakeCache.txt
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:33.988Z [debug] [cache] Parsing CMake cache string
console.ts:137 [Extension Host] [CMakeTools] 2020-01-29T19:56:34.075Z [debug] [extension] [9211] cmake.setVariant finished (returned true)

Are you still needing more info on this?

Not for now, thank you. We are going to investigate and fix this for the 1.4 release.


Is there any plans to port this over to ROS2?

Hi there, great work on this. Wondering if you have any plans to port this over to ROS2 given ROS's upcoming deprecation? Just curious. Cheers.

Thanks! I am planning to make a ROS2 node of this package. However, I cannot say its exact schedule.

Weeuw Go @NaokiAkai 🥳

@NaokiAkai So, is the package for ROS2 available?


Adding a script to merge the (rootified) output of the SiPM and PMT D…

…AQs - DR_BlendedDaq2Root.py. Also, added two other python scripts to do a few quick plots - nothing fancy

Merging files from Iacopo for TTrees merging and alignment.


ENH: Adding IncrementalRidge support into sklearnex

Description
This pr introduces Incremental Ridge to sklearnex.
Fixes # - issue number(s) if exists

[ ] I have reviewed my changes thoroughly before submitting this pull request.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation to reflect the changes, if necessary (updated in # - add PR number)
[ ] The unit tests pass successfully.
[ ] I have run it locally and tested the changes extensively.
[ ] I have resolved any merge conflicts that might occur with the base branch.
[ ] Git commit message contains an appropriate signed-off-by string (see CONTRIBUTING.md for details)
[ ] I have added a respective label(s) to PR if I have a permission for that.

/intelci: run

General comment: not sure this needs to go into preview. A bit of a unique situation since batch ridge regression is currently in preview, but considering there is no stock scikit-learn IncrementalRidge estimator it can probably go straight into sklearnex/linear_model

/intelci: run

/intelci: run

/intelci: run

/intelci: run

/intelci: run

Private CI Green with unrelated failures.

/intelci: run

/intelci: run


Invalid classifier string breaks delphi_utils PyPI upload

Between

https://github.com/cmu-delphi/covidcast-indicators/pull/2052

and

https://github.com/cmu-delphi/covidcast-indicators/pull/2053

...we got a failure in the GH action that publishes the delphi_utils package, saying: "'License :: MIT' is not a valid classifier."
The accepted version of this would be License :: OSI Approved :: MIT License according to https://pypi.org/classifiers/.  The other classifier strings we use appear to be valid.
Fix it in https://github.com/cmu-delphi/covidcast-indicators/blob/0da7b9aaa8715bab81d7023d48faa787f0c82851/_delphi_utils_python/pyproject.toml#L16 and https://github.com/cmu-delphi/covidcast-indicators/blob/0da7b9aaa8715bab81d7023d48faa787f0c82851/_template_python/pyproject.toml#L16

For future reference, validate-pyproject could help catch issues like this in the future:
$ uv tool install 'validate-pyproject[all]'
Resolved 4 packages in 134ms
Prepared 3 packages in 49ms
Installed 4 packages in 5ms
 + fastjsonschema==2.20.0
 + packaging==24.1
 + trove-classifiers==2024.9.12
 + validate-pyproject==0.19
Installed 1 executable: validate-pyproject

# Running on _delphi_utils
$ uv tool run validate-pyproject pyproject.toml
Invalid file: pyproject.toml
[ERROR] `project.classifiers[3]` must be trove-classifier

# After fix
$ uv tool run validate-pyproject pyproject.toml
Valid file: pyproject.toml


Remove fake countries from CountryList::getCountriesForLanguage

CountryList::getCountriesForLanguage may return a couple of country codes that we explicitly removed from the recognized countries (see CountryList::loadCountries).

I wonder if this should be a config entry. Would remove the redundancy and would make it easier for people to customize the list even further. Not sure it's really a requirement though.

People that wants to customize the country list can already use the on_get_countries_list event (loadCountries method).
What about removing from the result of getCountriesForLanguage the country codes that are not present in the loadCountries result? This is both flexible (allowing configuring the country list) and avoids duplicated code...

yes, I think this would make it developer friendlier.

Done in https://github.com/concrete5/concrete5/pull/4713/commits/baa9ef637ec6569d6ec05c853c2e3e8daae69e1d


Allowed AsExpression-like type assertions on object literal shorthands

This PR adds a type?: TypeNode property to the ShorthandPropertyAssignment interface, and adds it to the allowed tokens for shorthand property assignments in parsing. In checking, if a member type is declared on a shorthand assignment, it is used instead of the name.
I was uncertain how best to describe this AST behavior. Two other options I decided against were:

Have the node be an AsExpression instead of a ShorthandPropertyAssignment: would break the existing assumption that all properties on an ObjectLiteral contain a .name.
Have the  node contain an AsExpression: the name of the shorthand node would point to the same area as the expression's .type.

Open issues:

[ ] Intentionally leaves out the case of <type>name type assertions. I would love to get to those in a separate PR, but it looks like those would need different changes. Same PR for coherency or different PR for smaller changes?

[ ] An object shorthand's type being before its name would imply it's a type assertion, while being after the name implies it's an as assertion. That's the smallest API change but also a little hacky feeling. Would love to know of a preferred way... Perhaps having either an asType and assertionType but not both?

[ ] Is asType.parent = node; the correct way to set up the child node's .parent? Without that line, in local tests it would fail on a union type (e.g. age as number | string) with:
TypeError: Cannot read property 'kind' of undefined
    at getAliasSymbolForTypeNode (C:\Code\typescript\lib\tsc.js:27445:31)

...which maps to node.parent.kind.
There's a test failing for it, but I couldn't figure out where the right place is.

Fixes #13035.

After b590cda2048f272590a90396d554955de86ffdbe, confirmed this worked in VS Code. I've never added such a visible feature before, though, so I'd love pointers if I'm missing test cases!

@RyanCavanaugh I would still like this to be merged in, please!

@JoshuaKGoldberg #13035 hasn't been approved yet; we can't accept PRs for syntax additions outside that process


Calculate and visualize for two caps the compute all-to-all connectivity in sensor space

Hi all, I have an EEG data which was collected from two caps/heads at the same time (hyper scanning). The data comes as a single file with 64 channels (first 32 channels are for subject 1, second 32 channels are for subject 2). While I’m doing the pre-processing for each cap alone, my final goal is to compare them. More specifically, I’m trying to calculate and visualize for the two caps the compute all-to-all connectivity in sensor space.
My attempts were to combine the two subjects after cleaning by creating a new raw object. When I build the info for the new raw, understandably, I get an error for duplicate names – which only make sense as the caps identical. Thus, the mne.create_info() automatically number them to 0 and 1 (e.g. Fp1-0 and Fp1-1). While it solves me this issue, it causes other issues that I don’t know how to deal with.
1 – Setting montage – because I have duplicate names the montage cannot be set.
2 – Referencing – How can I reference each cap to his own average? I looked into set_eeg_reference(), have I missed it?
3 – Sensors location and presentation – because the montage cannot be set, I’m unable to visualize it.  Moreover, how can I visualize the two caps with their connectivity next to each other.
Note – While I can calculate the connectivity for the 64 electrodes with incorrect names, I have the problem of identifying close physical channels, and I still have the issue of presenting the two caps next to each other with connectivity.
Thank you very much!

I would try to get an info that correspond to 1 cap and that contains
montage.

then you can make new containers using the info above.
sorry  if I cannot be more specific but we would need some data
to make a tutorial for such a usecase.

@dengemann We will visioconf with @AmirDJV next Monday ;) We will keep this updated.

Thank you all for your help!
Meanwhile, I uploaded a notebook with my questions, problems, and sample data to here.
@deep-introspection see you soon ;)

Here is what I got:
from mpl_toolkits.mplot3d import Axes3D
from copy import copy

locations = copy(np.array([ch['loc'] for ch in combined.info['chs']]))
cap1_locations = locations[:31, :3]
print("Mean: ", np.nanmean(cap1_locations, axis=0))
print("Min: ", np.nanmin(cap1_locations, axis=0))
print("Max: ", np.nanmax(cap1_locations, axis=0))

translate = [0, 0.5, 0]
rotZ = np.pi

cap2_locations = copy(cap1_locations)
newX = cap2_locations[:, 0] * np.cos(rotZ) - cap2_locations[:, 1] * np.sin(rotZ)
newY = cap2_locations[:, 0] * np.sin(rotZ) + cap2_locations[:, 1] * np.cos(rotZ)
cap2_locations[:, 0] = newX
cap2_locations[:, 1] = newY
cap2_locations = cap2_locations + translate

fig = plt.figure(figsize=[20, 10])
ax = fig.add_subplot(111, projection='3d')

#ax.scatter(cap1_locations[:, 0], cap1_locations[:, 1], cap1_locations[:, 2], marker='s', color='b', s=20)
#ax.scatter(cap2_locations[:, 0], cap2_locations[:, 1], cap2_locations[:, 2], marker='o', color='r', s=20)

for label, x, y, z in zip(combined.info["ch_names"][:31], cap1_locations[:, 0], cap1_locations[:, 1], cap1_locations[:, 2]):
    if not(np.isnan(x)):
        ax.text(x, y, z, label, color='blue')

for label, x, y, z in zip(combined.info["ch_names"][31:], cap2_locations[:, 0], cap2_locations[:, 1], cap2_locations[:, 2]):
    if not(np.isnan(x)):
        ax.text(x, y, z, label, color='red')

ax.set_xlim(-0.2, 0.2)
ax.set_ylim(-0.2, 0.8)
ax.set_zlim(-0.1, 0.3)
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')
ax.set_zlabel('Z axis')
ax.view_init(30, 0)

for idx, ch in enumerate(combined.info['chs']):
    new_sensor_position = locations[idx%31, :]
    ch['loc'] = new_sensor_position
    ch['loc'][:3] = np.concatenate([cap1_locations, cap2_locations])[idx, :]
    print(ch['loc'])

Does it work for you @AmirDJV ?

@deep-introspection thank you for your help!.
I updated the repository with my question. So, please pull for changes and for downloading the new electrode map.
I embodied parts of your script. However, I now have two problems/thoughts:

I wasn't able to use the montage I provided on the two subjects (combined) variable but had to choose mne.channels.read_montage("standard_1020") in order execute the plots.
Due to similar physical positions, how can a I make sure that when I remove close connection in one subject, I won't remove electrodes which are "close" but not in the same cap/subject?. For example, while the connectivity between electrodes F4-0 and FC2-0 should be ignored, electrode F4-0 and FC2-1 should not (cap picture).

This is the end result for now

@AmirDJV why do you want to "remove close connection in one subject" ? Technically, my update of the info for the combined subjects structure should prevent the F4-0 to be near FC2-1 since they are way appart spatially.
Regarding the first error, I am not sure there is any issue. Is-it not just the limits of the original 3D plot that are not adapted anymore to your new positions?

@deep-introspection I might be over-conservative. I'm assuming that close electrodes would have (relatively) high connectivity just from being close and not from "actual" connectivity. If you think it's redundant, please do tell :). Regarding your fix, I thought (and it looked like it to me) that you did it.  Just wanted to be sure.
I think you might be right again. Is there a way to create an all-purpose fix, so it wouldn't matter which montage I would use?

@AmirDJV Indeed, volume conduction can bias functional connectivity but I never heard about such removal of neighbouring electrodes. @dengemann, does it sound legitimate to do this ?
In any case, inter-brain pairs of sensors does not have this issue ;)
Regarding the second part, I wonder if this is the (X,Y,Z) limits. Maybe the best would be to compare 3D positions given by your montage and the standard MNE 1020.

@deep-introspection I'm mainly going with theory, not practice here. As theoretically, if you get some activity in one electrode, you might get similar but lower activity in her surrounding. Sort of voltage spread ish. Maybe I'm over exaggerating (?). I'm coming from the idea that if electrodes are too close to each other, it might cause the current to flow more and more within the skin to other electrodes.
That's ok, I wasn't worried about inter-brain :p
I will try to compare the montages and I'll upload my results :)

@deep-introspection I'm assuming that I wasn't able to plot it because:

I have three electrodes ('GND', 'IO', 'REF'), which I don't have in the MNE montage.  I could exclude them.
As you suspected, it seems like they scaled diffrently. For example, in the MNE montage the possition is 'TP9', array([-0.0856192, -0.0465147, -0.045707 ]))  but in my montage for the same electrode is 'TP9', array([-74.41343183, -24.17838967, -33.21214592]))


Add guides for scenario 'component is not shipping'

In our component issues it can be confusing what you should be doing if a given component is opting not to be included in a release.  Document exactly what they should do to be removed.
Acceptance Criteria:

Updated 'How to use this issue' section with instructions in the release_template.md.

@abhinavGupta16 Can we document this as part of release template changes as well?

Closing this issue as the release template has been update with the appropriate instruction.


allow isValid to be used without deprecation warnings

Describe the bug
I am using moment to test if a user-provided format is correct.
moment(moment().format(format)).isValid();

And this always emits a deprecation warning if the format is not correct which is unnecessary.
relates heavily to https://github.com/moment/moment/issues/2535
and https://stackoverflow.com/questions/44595835/validate-date-format-not-date-string-using-momentjs
To Reproduce
function test(format) {
    return moment(moment().format(format)).isValid();
}

test('YYYY'); // returns true, no warning
test('hamster'); // returns false, and issues warning

Expected behavior
return false without warning.
Screenshots
If applicable, add screenshots to help explain your problem.
Moment-specific environment

The time zone setting of the machine the code is running on: GMT+2
The time and date at which the code was run: 20210505T14h25

Please run the following code in your environment and include the output:
Wed May 05 2021 14:28:19 GMT+0200 (South Africa Standard Time)
2021/05/05, 14:28:19
-120
// errors (nodejs not browser)
2.29.1

Ontop of this I get some pretty strange behaviour in terms of false negatives with isValid
test('YYYYMMDD'); // true, no error
test('YYYYMMDDHH'); // false, with deprecation warning
test('YYYYMMDD HH'); // true, no error
test('YYYYMMDD HHmm'); // true, no error
test('YYYYMMDD HH mm'); // false, with deprecation warning
test('YYYYMMDD [T]'); // false, with deprecation warning

the inconsistency is unreal., my actual test case is YYYYMMDD[T]HH[h]mm which it utterly fails on.

Moment.js doesn't have a Chechen (ce) time format support and falls back to Russian, so Notifications are in an incorrect time format.  Can this be fixed here?


⚠ Bofrost.fr has degraded performance

In 3c30b0e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 837 ms

Resolved: Bofrost.fr performance has improved in f5ba452 after 6 minutes.


feat: use preventDeeplink parameter also on ios

The parameter 'preventDeeplink' already exists in the API - but so far it is only used in Android.
With this PR, the parameter is also used in the iOS part.
This line here may look quite weird, but it works:     static let preventDeeplinkActionPolicy = WKNavigationActionPolicy(rawValue: WKNavigationActionPolicy.allow.rawValue + 2)!
source: https://stackoverflow.com/a/52425266/4685928

Thanks !


Fix broken yml files causing deserializatn errors

Signed-off-by: Brian Cragun<EMAIL_ADDRESS>Tests were failing with error: [0;39m ERROR [108 ] HL7DataBasedResourceDeserializer - deserialization failure expression type RESOURCE
Solution was four files needed a blank line at end of file to give the last line of yml code an end of line character
.

@LisaWellman  FYI.  I asked Jared to review this ultra simple PR.


CkLocMgr: Bound number of hops that messages can take

In cases with frequent load balancing, chains of stale location table entries
can cause messages with extremely high numbers of hops to reach their
destination. This change limits the impact of these chains by routing messages
through the home PE as soon as a potential chain (hops > 2) is detected.
Further work should also go towards clearing out location tables to remove
the existence of these chains entirely.

#2060 I don't think should be closed when this is merged, but I don't know if there's a way for github to link to it and not close it?


[fix] fix custom precision bug (#128, #139)

fix custom precision bug (#128, #139)
change date library (moment -> dayjs)
update some packages
add dayjs library
remove moment library

Grafana has been licensed under a different license since v8.0 (Apache 2.0 -> AGPL v3).
Therefore, v7.x (Apache 2.0) is still in demand, but v7.x don't have State Timeline Panel.
So this plugin is very useful and important.
I would appreciate it if you could continue to maintain this wonderful plugin.

yes it is a problems. it use custom precision. a few seconds will show as 8years -107month....


adds basic smoketests for main_ds and data_process CLI args

During development it's convenient to be able to run full distributed training, even on a smaller dataset, just to make sure that nothing obviously fails. This will also capture support for flash attention on the machine that it's run on, and for granite models.
Also solves an inconvenience that's been annoying- testing for a given platform involves:

grab image with versions of dependencies for cards
run container
download and install this repo
write dumb versions of these scripts to run training and see if it breaks.

The main thing is that to make it easier for new developers to come on board and build on top of what we, we should standardize on the Google Shell Styleguide. This will make it much easier for newcomers to understand how things work, why they're organized how they are, and make changes with confidence.


add jobflow and jobtemplate CRD

/assign @shinytang6 @Thor-wl @k82cn @william-wang

/cc @k82cn @kevin-wangzefeng @william-wang This PR is important and large. Please help evaluate it. Thanks!

/cc @k82cn @kevin-wangzefeng @william-wang This PR is important and large. Please help evaluate it. Thanks!

LGTM overall :)
/approve

/lgtm


Fix return type of onBeforeChange method

A clear and concise description of what is being fixed, added or modified.
Add return type Promise<void | false> to onBeforeChange method
Why are these changes necessary?
Can't use async functions in callback
If applicable, add screenshots to help explain what is being modified.

Thanks for the detailed pull request 👍🏼


test self-hosted runner

This PR changes the CI to use the self-hosted runners provided by the VHEGA group.
The self-hosted runners are ephemeral and provisioned on demand, just like the GitHub-hosted runners, but provide the astrometry index files, removing the need of downloading them every time. This was the main reason why tests were previously failing. They also provide slightly increased RAM and CPU, making tests faster.
This solves #19, finally and probably once and for all.

Mar 19 11:16:07 garm-nvf7a1AWg8GC systemd[1]: actions.runner.juanep97-iop4.garm-nvf7a1AWg8GC.service: Failed with result 'oom-kill'.

This happens inside the runner. We might increase a bit the host memory or reduce the parallelization in the tests. Maybe this was the reason it was not working in the github runners when the astrometry index files were correctly mounted.

Mar 19 11:16:07 garm-nvf7a1AWg8GC systemd[1]: actions.runner.juanep97-iop4.garm-nvf7a1AWg8GC.service: Failed with result 'oom-kill'.

This happens inside the runner. We might increase a bit the host memory or reduce the parallelization in the tests. Maybe this was the reason it was not working in the github runners when the astrometry index files were correctly mounted.

Do you have an estimate on how much memory was used? You could reduce the a bit parallelization

Mar 19 11:16:07 garm-nvf7a1AWg8GC systemd[1]: actions.runner.juanep97-iop4.garm-nvf7a1AWg8GC.service: Failed with result 'oom-kill'.

This happens inside the runner. We might increase a bit the host memory or reduce the parallelization in the tests. Maybe this was the reason it was not working in the github runners when the astrometry index files were correctly mounted.

Do you have an estimate on how much memory was used? You could reduce the a bit parallelization

Almost 2GB. The host had 2GB, so the runner can't use 2GB fully, and the OOM killed it when it tried to use more.

:clap: :clap: :clap:

Weird, now it is the host killing the lxc containers. Let me investigate.

Tests passing, I think it can be merged now.


Create Warp

TODO:

[ ] Proofread Javadocs round 3
[ ] Fully Tested

[ ] Unit Tests
[ ] Acceptance Tests

Final TODOS before merge:

[ ] Proofread and write all documentation

Final TODOS before merge:

[ ] Proofread and write all documentation


Some "unrecognized property" microprofile(unknown)

Warning:

Unrecognized property 'quarkus.datasource.db-kind', it is not referenced in any Java files microprofile(unknown)

There are some properties that are wrongly flagged. Some of them used to be correctly identified in Quarkus 2, not anymore in Quarkus 3.
Used to work
(possibly related to: https://github.com/quarkusio/quarkus/issues/32943)

quarkus.datasource.db-kind
quarkus.datasource.credentials-provider

New ones

Any cache defined with @CacheResult. E.g. quarkus.cache.caffeine."name-redacted".expire-after-write (from quarkus-cache)

Any property referenced inside @ClientFormParam

The db-kind property is defined https://github.com/quarkusio/quarkus/blob/0109749726be6e5aafd2943f620a64be2b1220fe/extensions/datasource/runtime/src/main/java/io/quarkus/datasource/runtime/DataSourceBuildTimeConfig.java#L17 but I have not found where this interface is used to compute the property starting with quatkus.datasource
@ia3andy have you some idea how this property is computed?


Update aws-java-sdk-bundle to 1.11.962

Updates com.amazonaws:aws-java-sdk-bundle from 1.11.888 to 1.11.962.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.amazonaws", artifactId = "aws-java-sdk-bundle" } ]

labels: library-update, semver-patch

Superseded by #1177.


Do not allocate week granular segments unless requested

When a segment of a requested segment granularity cannot be allocated due to conflicting segments, we try to exhaust all finer granularity segments before giving up.
However when the preferred granularity is month or coarser, and a week granular segment is allocated to adjust with the conflict, the cluster can end up in a bad state because a week granular segment doesn't necessarily align with the end of the month or higher granular interval.
To prevent this problem, we consider day granular segments after month in the sequence.
Weekly segments are skipped and are not allocated unless explicitly requested for.
Suppose an hour segment exists for 16th December, 2023 from 12am-1am, and a new segment needs to be allocated for the timestamp 18th December. After this patch:

If the requested granularity is WEEK, create a week granular segment with the interval [2023-12-18/2023-12-25].
If the requested granularity is MONTH
A. A MONTH granular segment cannot be created as a segment already exists for the month which doesn't span the whole month.
B. A DAY segment (and not a WEEK) is chosen from [2023-12-18/2023-12-19] and created as it is the next valid granularity and has no conflicts.

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

@abhishekrb19 @kfaraz Thank you for the reviews


feat(runtime): add runtime quickstart command, goodbye to create command

Description

add runtime quickstart command that renders the runtime.yaml with the interactive shell

remove create command
related: https://github.com/star-whale/starwhale/issues/751

Modules

[x] Client

Checklist

[x] run code format and lint check
[x] add unit test
[ ] add necessary doc

LGTM


OpenAPI Java extension cannot handle non-default API context path

I think it only happens when used in conjunction with the platform-http component.
If you try to configure paths other than the default /openapi.json or /openapi.yaml, then you get a HTTP 204 response because the logic to figure out the CamelContext & RestConfiguration fails. Probably due to PlatformHttpConsumer setting the CamelHttpPath header. None of the other REST API components seem to be doing that, hence it works ok with those.

Does this impact camel in general ? i.e. the VertxPLatformHttp

Yes, it has the same logic in the consumer IIRC. I've not tested it but the same issue is likely present.

Fixed in Camel 3.4.1 with CAMEL-15277.


PDF Generation Slow in Production Environment

In my local vagrant environment pdf generation takes only about 2 seconds:

We also have a development server which has similar results:

However on the production server it takes over 40 secs.

All servers use Ubuntu 14.04 and Apache 2.4.7. The only difference seems to be that the production server is behind a load balancer.
This is the setup I am using:
public function pdf(){
        $title = $this->input->post('export_title', TRUE);
        $data['title'] = preg_replace('/_/', ' ', $title);

        $templateID = $this->input->post('export_template_id', TRUE);
        $answerID   = $this->input->post('export_answer_id', TRUE);
        $data['form'] = $this->getAnsweredForm($templateID, $answerID);

        $html =  $this->load->view('pdf/header', '', true);
        $html .= $this->load->view('pdf/view_custom_form', $data, true);

        $pdf = new mikehaertl\wkhtmlto\Pdf(array(
            // Explicitly tell wkhtmltopdf that we're using an X environment
            'use-xserver',

            // Enable built in Xvfb support in the command
            'commandOptions' => array(
                'enableXvfb' => true,
        )));

        $pdf->addPage($html);

        if(!$pdf->send("$title.pdf")){
            echo $pdf->getError();
        }
    }

I've also tried just passing in 'google.com' with similar results. We use CodeIgniter and I tried passing in the URI of a page which resulted in it being generated appropriately on my vagrant but 'Failure without error message' on the production server.
Any debugging tips would be greatly appreciated. I've looked and haven't found anyone with similar issues, so I was hoping you could help here.

Sorry, no idea. I also don't think, that this is a bug or something we could fix here. So I'm closing this.


refactor: use explicit codes with process.exit so intent is clear and errors don't exit cleanly

closing in favor of #1605 which ended up being a combo PR.


Fix missing cell in table and refactor style out into css in duty

Pull Request Test Coverage Report for Build 337

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 62.931%

Totals

Change from base Build 318:
0.0%

Covered Lines:
73

Relevant Lines:
116

💛  - Coveralls


Is there any requirement for the provided video resolution to train specific characters in this project?

The video should be 512x512 at 25fps


Bumps in garden: depend on ign-common5, ign-math7, ign-physcs6, sdf13

See https://github.com/ignition-tooling/release-tools/issues/574

CI is happy, this and its infrastructure PRs are ready to go in:

https://github.com/ignition-release/ign-launch6-release/pull/3
https://github.com/osrf/homebrew-simulation/pull/1764
https://github.com/ignition-tooling/gazebodistro/pull/72

Merging without an approval so we can complete the Garden bumps this year. This PR is very low risk compared to the rest of the bumps.

Saved by the :bell: , thanks @ahcorde


Added functionality to delete option

Issue #6

hey @Rohit-RA-2020 great work, I'll review your pr tomorrow morning and merge if everything is fine.


Issue 13: write only audit log

This doesn't fully close issue 13 - it only includes the audit log. This is sufficient for the meetup, since the meetup is only 3 hours and we'll have the ability to pull the audit logs directly out of Azure. However work still needs to be done to close out the issue.

Cool! Looks great, other than potentially moving RowKey over to a UUID or something more guaranteed to be unique?
Planning on shifting today from the current production deployment to an Azure instance where I can add others as collaborators, so I'm not the sole point of access for these.

Updated to use UUID:

Merged, but I haven't deployed the prod server yet


ARROW-382: Extend Python API documentation

Fix numpydoc compilation
Add simple examples to the API
Move away from deprecated Cython-property declaration
Add basic descriptions with return types to functions

+1


Testing of new master branch requires phantomjs

It is necessary to install phantomjs (via brew install on MacOS X) to successfully execute the tests for the new master branch because the feature testing has been moved from webdriver/selenium to poltergeist/phantomjs. Not installing phantomjs will result in errors from Cliver. This should probably be documented since it is a significant (albeit welcome) change. (The headless tests run much faster now.)
Please note that it is unnecessary to install the phantomjs gem and/or specify it in the gemspec.

Hi, it use headless, same as most Spree gems. Closing this due to its info is not very specific for this repository, thanks.


fix: provide error message for unknown provider.

If a provider is given and it is not one of the available providers, output an invalid operation message like "Provider 'foo' is not installed.
Addresses #134

I'm thinking of adding a test like this:
[TestMethod]
public void TestCacheClean_ThrowsIfUnknownProvider()
{
    var cleanCommand = new CacheCleanCommand(HostEnvironment);
    cleanCommand.Configure();

    try
    {
        cleanCommand.Execute("foo");
    }
    catch (AggregateException age)
    {
        Assert.AreEqual(1, age.InnerExceptions.Count);
        Assert.AreEqual(typeof(InvalidOperationException), age.InnerExceptions[0].GetType());

        return;
    }

    Assert.Fail();
}

Necessary?  Desired?  Correct?

Please add the unit test. However, instead of using the try-catch block, use var exception = Assert.Throws<TExceptionType>(() => cleanCommand.Execute("foo")) (is it InvalidOperationException or AggregateException here?)

Done.  There is no existing example like this to follow in the unit test project.  Let me know what you think.


ytopt tuning with MPI appears to deadlock

Occurs when more than one processor is used.

Possibly due to one of the processes crashing.


Tests are only re-run if I change a .tests. file, not if I change implementation files (e.g. server/...)

Meteor 1.10.2, Typescript 3.9.2 using the<EMAIL_ADDRESS>compiler
Command line:
TEST_WATCH=1 TEST_CLIENT=0 MOCHA_TIMEOUT=60000 meteor test --raw-logs --driver-package meteortesting:mocha --inspect=9229 --exclude-archs web.browser,web.browser.legacy
If I work test-driven so that I have a failing test and then implement the functionality in server/... then Meteor will recompile and restart the server but tests are not re-run.
I need to manually modify the xxx.tests.ts file to force the tests to run again which is a lot of pain (I usually add just a line comment).
How can I change the behaviour so that tests are run again whenever Meteor restarts?

Well ... the tests should automatically restart every time Meteor restarts. If meteor doesn't restart, it's the responsibility of the utility file watching for changes in the files.
Either way, this package is only responsible of initialising all tests included in the files Meteor loads (https://guide.meteor.com/testing.html#test-modes) and runs them.
Deciding when to restart Meteor (and thereby rerun the tests) or which files to load is not the responsibility of this package, but of Meteor. It might even be the responsibility of the typescript package, which doesn't seem to tell Meteor that the file containing the implementation actually is required for the test-file as well.
Btw ... do you define a testing-module or a main-module in your package.json file?
  "meteor": {
     "mainModule": {
       "client": "client/main.js",
       "server": "server/main.js"
     },
     "testModule": "tests/main.js"
   }

Oh OK so for Javascript this works properly. Good to know.
Do you know if Meteor builds a dependency graph to only run tests that are affected for Javascript or does it always re-run all tests for Javascript?
As for main-module, no I haven’t added that section. What does it change?

I just checked it - it works on fine on files included in one of my *.test.js files, but if they're not included, the system won't watch it. I have a mainModule but not a testModule defined in my package.json file.
The section mainModule and testModule in the package.json changes the way files are included, which might affect the way they are monitored also. All this can have its share to this problem you're facing. It could even be that the package<EMAIL_ADDRESS>doens't tell Meteor which files to watch and which not.
Closing, because this is not related to this package, but to https://github.com/meteor/meteor and therefore yields to all test-runners - not only for this one.


No possibility of refreshing?

Hi there,
I've tested the tool, it is quite cool, thanks for it. https://sonarwhal.com/scanner/3837003b-b4f4-4e26-a006-abe8a0fd0115
Question: I've fixed several issues on this website, and would like to see if Sonar is okay with it. I can't force rescanning the URL to see the difference. Could you add a button "refresh" or "scan again" to allow doing it?
(a temporary workaround is to add a querystring to the URL)
Thanks,
Nicolas

Hi @nico3333fr,
The scanner has a cache for 15 minutes, so you just need to wait a little bit and then run the scanner again for the same url.
Thanks!

@nico3333fr while we are always going to cache results for a few minutes (we expect some popular websites to be requested fairly often, for example), the time could change in the future depending on capacity, resources, etc. What do you think will be a good value?
Also, if you need more flexibility right now, the CLI is the way to go.

@molant @sarvaje thanks for answering so quickly. 👍
In fact, it depends on the server charge: maybe keeping a more longer cache while enabling rescan could be an option if people don't abuse of the rescan option, the way you did it is another option... 👍


Update serial window example

Hi,
I'm new to egui and my main experience so far has been to go through the examples and I found that for the serial_windows example I wasn't sure what to expect. I've updated it to what I think would have helped me set better expectations like the other examples. I wasn't quite sure what to do with the screenshot so I left it still to get feedback on the rest first.
I tried my best not to make the code more complicated but felt it was necessary to add a bit more to the UI to help the viewer understand what is happening. I was on the fence about including that the delay is 2 seconds. I think it would help but it would either need to be passed in to keep it in sync which makes the example more complicated or it would be in two places and then might go out of sync.

Added the updated screen shot based on the feedback and took the PR out of draft. Let me know if there is anything else I need to do.


Export-TargetResource is not exported?

Is it something I'm doing or is the Export-TargetResource cmdlet no longer available?

Does anyone have an updated, simple example of how to use the latest version of ReverseDSC without Export-TargetResource?
Any help would be greatly appreciated.
Export-TargetResource last seen: Latest commit 41a8caa on Dec 6, 2019
Disappeared: Latest commit c305ac6 on Dec 11, 2019

It would be really nice to have this issue fixed, having ReverseDSC functioning again I think would be extremely helpful for a lot of people.

I see there's been some recent activity with the project.  Any hope of finally getting this issue resolved as well?  This would be incredibly helpful to have functioning again.

It seems like the project has a little life again.  Is there any hope in getting the accrual Reverse feature working again?  It would be great to be able to actually run Export-TargetResource.
Or, perhaps I’m missing something?  Perhaps there’s a new\different way to use ReverseDSC?  If Export-TargetResource is no longer needed to get all the configs from a base system, if someone could please post an updated example on how to generate the configs from a source system, that would be very helpful.


Remove deprecated command

Currently when installing using Homebrew, we get an deprectation
notice:
Warning: Calling bottle :unneeded is deprecated!

This patch removes the deprecated command, that now is a no-op.
See e.g. https://stackoverflow.com/questions/45132704/what-does-bottle-unneeded-do
Fixes: #5

@jlpettersson this repo is no longer used and contributions should be made in the official homebrew repo instead. See the readme.
@tektoncd/cli-maintainers should we archive this repo to make this clearer?

@AlanGreene Ah, now I understand.
What is written in the Readme was not easy to understand. First it writes "this repository is deprecated." and then has a link to "official repository" - but that is a link to a webpage not to a GitHub repository. And I got the warning every time I used brew on a laptop. But now I have finally got rid of the error message by doing:
brew uninstall tektoncd-cli

since brew untap tektoncd/tools as written in the Readme, just returns an error message because the cli is installed.


Feedback for main page for SQL G2C

Here is some feedback for the main page of SQLG2C at https://github.com/microsoft/sqlworkshops/tree/master/SQLGroundToCloud
Feedback for main page of SQLG2C
====
you'll gain a deep understanding on the latest SQL Server engine and how you can use it to solve real-world challenges.
Not sure we should use the word deep or even latest SQL Server engine
how about "you learn how SQL Server 2019 and Azure SQL solve real-world challenges"
====
(You can view all of the source files for this workshop on this GitHub site, along with other workshops as well. Open this link in a new tab to find out more.)
I'm not sure this has the right link?
=====
General comment about the Abstract
Do we need an abstract? I thought the About the Workshop did a good job of describing the workshop?
=====
If you keep it...
Members from the Azure Data Product Group will lead you through the data estate options from Microsoft, from on-premises SQL Server (including some of the new features in SQL Server) to Relational Database options in Azure.
What is this is taught by someone else?
=====
You'll how to evaluate the benefits/costs of each technology option
I think the sentence is missing a word here. But also we really don't teach costs in this workshop?
====
In this day-long, hands-on workshop you’ll learn how to:
Someone may just teach parts of it. I would avoid saying day-long
=====
Articulate the key differentiators between SQL Server on-prem, in Azure VM, in Azure SQL DB, and hybrid configurations
I would use Anna's term of Azure SQL so perhaps
...between SQL Server on-prem, Azure SQL, and hybrid configurations
on that point we aren't teaching much hybrid though in this workshop (at least today) right?
=====
Understand how Azure SQL DB is secured and address security concerns
I would use the word Azure SQL throughout this.
Also "addresses instead of address"
=====
Understand additional Azure platform features for data pipelines and security
I don't think we cover this?
=====
SQL Server Virtual Machines in Microsoft Azure	Covers the tools, processes and procedures for SQL Server Virtual Machines on the Microsoft Azure platform
After reading Module 4 this to me overstates what we are presenting on SQL VM
We can get Anna to modify or come up with something a bit more realistic since she really only barely touches on SQL VM
=====
Azure SQL Database	Covers the tools, processes and procedures for Azure SQL Database (Managed Instance, Singleton, and Elastic Pools)
To line up with Anna's module terminology, I think this should say
..."for Azure SQL Database (Managed Instance, Single Database, and Elastic Pool)
=====
"What to Use When"	Teaches a complete set of tools and processes used to determine the best architecture for a given customer scenario on the Microsoft Azure platform
I haven't reviewed Module 6 yet but will it also talk about when to use SQL Server 2019 not just Azure?
=====
You'll need a local system that you are able to install software on.
You say in the same paragraph you can use Azure VM but folks might see the first sentence and think they HAVE to do this on a local server or laptop
====
You must have a Microsoft Azure account with the ability to create assets, specifically the Azure Kubernetes Service (AKS).
Since we are not doing a BDC hands-on exercise why is ths required?
====
This workshop expects that you understand data structures and working with SQL Server and computer networks. This workshop does not expect you to have any prior data science knowledge, but a basic knowledge of statistics and data science is helpful in the Data Science sections. Knowledge of SQL Server, Azure Data and AI services, Python, and Jupyter Notebooks is recommended. AI techniques are implemented in Python packages. Solution templates are implemented using Azure services, development tools, and SDKs. You should have experience working with the Microsoft Azure Platform.
Can rethink this a bit? In my mind what is really needed for this workshop is a basic working knowledge of SQL Server and tools like SSMS.
For example we say in this sentence
Knowledge of SQL Server, Azure Data and AI services, Python, and Jupyter Notebooks is recommended.
I don't even have a knowledge of AI services or Jupyter Notebooks.
There is no "Data Science section" is there?
For Solution Templates do you mean Module 6. If you have to have experience with Azure is that only required for Module 6. We should say that then in my opinion.
=====
Remember to turn off any Virtual Machines from the Azure Portal
Do you mean "delete"?
=====
Workshop Details
This workshop uses SQL Server Management Studio, Azure Data Studio, Microsoft Azure, and SQL Server (2019 and higher) with a focus on architecture and implementation.
I read this and didn't think it was really "details". Do we even need this section?
======
The times shown below are for an instructor-led course, you may also take the modules in a self-paced fashion.
But we just said in the section above this is Type: In-Person?
======
On the Workshop Modules and In-Class Agenda with the links I had people at Ready start to click on these without going down to the other parts of the page. Perhaps state something about these are the modules and you can view each one but to take the overall course keep reading or something like that

Nicely done! Fixed all these - great suggestions.


Laggy/delayed movements/turns caused by large amounts of AI actors.

The AI actors are a huge performance sink, and after reaching level 7 each turn takes several seconds. I fixed this in my fork by putting some code in GameManager.EndTurn() that would skip actors that are more than a certain distance away from the player.
I'm not going to do a pull request since my implementation is very rough and I'm sure there are far better ways of doing this, but here's the code anyways.
public void EndTurn()
{
    Actor actor = actorQueue.Dequeue();

    if (actor.GetComponent<Player>())
    {
        IsPlayerTurn = false;
        timeSinceLastPlayerTurn = 0;

        actorQueue.Enqueue(actor);
    }
    else
    {
        actorQueue.Enqueue(actor); // End this actor's turn before finding next actor

        actor = actorQueue.Peek(); // Look at next item

        if (Vector2.Distance(Actors[0].transform.position, actor.transform.position) > 8) // too far away
        {
            while (!actor.GetComponent<Player>()) // If next item isn't player
            {
                if (Vector2.Distance(Actors[0].transform.position, actor.transform.position) > 8) // and if too far away
                {
                    actor = actorQueue.Dequeue();
                    actorQueue.Enqueue(actor);
                }
                else
                    break;
                actor = actorQueue.Peek(); // Look at next item
            }
        }
    }

    StartCoroutine(StartTurn());
}

Oh also in HostileEnemy.RunAI() you should use Vector2.Distance() instead of Vector3.Distance() since the extra z axis can make the result very unreliable in 2D.

That's a pretty neat solution; the only issue is that some devs prefer running "background" processes, so I'm happy to include a boolean that allows this to be used.


Mesheryctl service type

Signed-off-by: vineethvanga18<EMAIL_ADDRESS>Description
Added t flag for passing service type ex: ./mesheryctl system context create local2 -t ClusterIP with default as LoadBalancer
This PR fixes #2968
Notes for Reviewers

system context create creates/adds context to config.yaml with a parameter serviceType.
When this context is used to system start it sets service type in meshery-service.yaml and applies this manifest
One issue is that sometimes parameters of meshery-service.yaml are being written to config.yaml probably during marshalling.

Signed commits

[x] Yes, I signed my commits.

@vineethvanga18 this seems to add service type correctly in meshconfig for me.
I did not see any changes in meshery.yaml though.
Could you show me an example of the overwriting you mentioned?
Thanks!

apiversion: v1
contexts:
local:
endpoint: http://localhost:30840
token: Default
platform: kubernetes
adapters:
- meshery-istio
- meshery-linkerd
- meshery-consul
- meshery-nsm
- meshery-kuma
- meshery-cpx
- meshery-osm
- meshery-traefik-mesh
channel: stable
version: latest
servicetype: LoadBalancer
local3:
adapters:
- meshery-istio
- meshery-linkerd
- meshery-consul
- meshery-nsm
- meshery-kuma
- meshery-cpx
- meshery-osm
- meshery-traefik-mesh
channel: stable
endpoint: http://localhost:9081
platform: kubernetes
servicetype: ClusterIP
token: Default
version: latest
current-context: local
kind: Service
metadata:
name: meshery
spec:
selector:
io.kompose.service: meshery
ports:

name: http
port: 9081
targetPort: 8080
type: LoadBalancer
tokens:
location: auth.json
name: Default

@metonymic-smokey Also changes occur in meshery-service.yaml after you run mesheryctl system start using the created context

No. But should be done. We just need to call the above ChangeManifestServiceType function. Should I do that?

A conflict to attend here - https://github.com/layer5io/meshery/pull/3003/conflicts.

This change is needs to be updated with the refactor. Will need to open a new PR. Closing this...


[azservicebus] ASB client stopped receiving messages for its subscription.

Bug Report
pkg: github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus
SDK version: v0.3.6
go version: go 1.16.13
What happened?
One of the ASB clients does not receive any messages for one of its subscriptions.
In the our environment, there are separate instances running where each instance subscribes to a set of topics. And for a given topic each instance creates its own subscription. Hence the subscription remains unique for each instance. In our environment, we noticed that one ASB client failed to retrieve messages for the topic called notification, but the other instances were able to. In the meantime, we observed that this issue was not there for other topics which it subscribed. [1]
Error:
No specific Error message
What did you expect or want to happen?
If there are events for the topic queued under a given subscription, we expect to receive all those events until our application is killed/exited.
Anything we should know about your environment.
Our service is running on AKS
Logs:
query_data_asb_issue_3.csv
[1] https://github.com/wso2/product-microgateway/blob/ddc47b9c07397d44d50659e0fb1248a1fee76656/adapter/pkg/messaging/azure_listener.go#L70

Thanks for the reply. I have checked again and it is 0.3.6 tag we were using at that period.

Faced the same issue, also using 0.3.6
I'm now updating to 0.4.0, hope it fixes

If either of you is able to capture this failure in a log that would help. We did fix this particular issue in 0.4.0:
"Fixed issue where a message lock expiring would cause unnecessary retries. These retries could cause message settlement calls (ex: Receiver.CompleteMessage) to appear to hang. (#17382)"
Which could explain the reason why it seems to hang. What you'd see in the log (if this were the case) is several retries, with a 410 error being the underlying cause.
Now, with that fix in the way this does happen because of a lock expiration, which could indicate that you need to call receiver.RenewLock() if you plan on processing longer than your configured lock period on your queue/subscription.

Hello @richardpark-msft
I have a service running for 4 days and it is still consuming properly with 0.4.0. I think it fixed

Hi all, I believe we're at the point where we've investigated and fixed the original issue. I'm closing this, but we can re-open in the future if this comes back.

Hi @richardpark-msft ,
we are already on to SDK version: v0.4.0, golang version 1.18.1, and we observed the same issue a couple of times recently. This time we had the sdk debug logs enabled too.
Let me explain the nature of this issue. From our application logic what we does is we call the receiveMessages method and we iterate each message and add to a go channel (with no buffer). And once go channel's item is consumed, the next message is added. In this specific scenario, the consumer of this channel got paused for like 10 - 15 minutes due to some database connectivity issue.  Therefore, the completeMessage method is called for the received message also got delayed with the same duration. Thereafter, no message is received by ASB client.
In the following log, the pause happened for the message under the ID : 9eaf9907-b530-4391-92da-560fb079c2d5:9100:1:1-1. This was received at 9.25.00 and completed at 9.40.44. That was the last event received.
asb_issue_23_06.csv


Translation - aves-store-short-description-sv

Discussed in https://github.com/deckerst/aves/discussions/878

Originally posted by shift18 January 20, 2024
weblate does not seem to allow changes to the store description although the Swedish ones are untranslated.
Tried open a pull request here on github but i don't have the authority.
Could a dev please add it.
Thank you
aves-store-short-description-sv.txt

Thank you! I've integrated your translation for the "short description" and it now appears in Weblate too.
But it seems there's the same issue with the "full description" (the 3 keys are missing for Swedish). If you wish to translate that one too, you can send me the translation as you did for this one.


Added the ability to refresh credentials in the auth token

Add the ability to Refresh Auth Token Credentials
Currently when credentials expire, GraphDatabase.Driver will continue trying to connect with the outdated login/password. There is no ability to update or refresh login credentials (See https://github.com/neo4j/neo4j-dotnet-driver/issues/664).
This PR introduces the ability to pass an optional tokenRefresher function to an AuthToken object which will change credentials as they become obsolete.
There are no breaking changes introduced in this PR.
There is a test which validates these modifications by using a simple tokenRefresher which increments the credentials and verifies that the auth token is being updated as expected.
Also tested with connection idle timeout 20 seconds and interval between requests 30 seconds, new credentials were correctly used to create a new connection.
Intended use
var authToken = new SecretsProvider().GetNeo4jToken(); var driver = GraphDatabase.Driver(Url, authToken, o => o.WithEncryptionLevel(EncryptionLevel.Encrypted));
GetNeo4jToken will receive credits from the secret manager and update them if necessary. This is useful because when changing the password, there is no need to restart the microservices that are connected to the database.

I signed CLA

Any updates on this? Definitely something I'm looking forward to use.

Hi vkagamlyk,
Reiterating our reply on you PR for the python driver. Thank you for the effort and time spent on these PRs. We have ongoing work to implement a refresh mechanism on the drivers in a more general way that should be released Q1 of this year (all things going well that is).
There are considerations to be made around the interaction of a token refresh, the retry mechanism that the drivers supply and the connection pooling. This is why our solution is more involved.
As a side note, did you intend to raise the PR against the 4.3 version of the driver? This version is out of support and will not be updated. The current LTS version is 4.4, and the latest driver version is 5.4.


Change category "description" to "name"

When updating a category we use "description" as a key name, but when we get categories the key name is "name". We should be consistent and use "name" for both endpoints.

@anheri I see now that same case applies to creating new categories, so the post endpoint should also be "name"

@anheri I see now that same case applies to creating new categories, so the post endpoint should also be "name"

fixed

Works good in Dev environment. @nesadrian

Tested in qa-graph-poc. Name is used for categories in response.


Support building with graal

I think some of the advanced usage of kotlin is tripping up graal.  But it seems worthwhile to support particularly in the serverless space.
https://github.com/square/okhttp/pull/5125
Currently failing for me with
$  ./gradlew :okcurl:nativeImage

> Task :okhttp:compileKotlin
e: /Users/yuri/workspace/okhttp/okhttp/src/main/java/okhttp3/internal/Internal.kt: (30, 1): Conflicting overloads: public fun parseCookie(currentTimeMillis: Long, url: HttpUrl, setCookie: String): Cookie? defined in okhttp3.internal in file Internal.kt, public fun parseCookie(currentTimeMillis: Long, url: HttpUrl, setCookie: String): Cookie? defined in okhttp3.internal in file internal.kt

I think these are a recent regression, but probably typical with graal and kotlin and using edge cases.  It would be good to get a working build showing it is supported.
I can build OkHttp 3.14.1 based apps with graal, so something here has changed.

Most likely a Kotlin+Graal issue we’re victim to?

I might try to get
./gradlew :okcurl:nativeImage
building, land that with a separate build that tells us when broken. Useful for testing anyway. Are you ok with that plan?

Sure. I don't know enough about Graal to understand how this will constrain us, or what benefits we gain from it.

It's getting adopted by various frameworks e.g. micronauts, and more relevant for fast startup in FaaS models.  Support for it generally is more important than okcurl.
Demonstrable performance on a desktop machine for java okhttp
time okcurl/build/graal/okcurl -Djavax.net.ssl.trustStore=cacerts https://api.twitter.com/robots.txt
# Used for Google app indexing. See https://developers.google.com/app-indexing/webmasters/server
User-agent: Googlebot
Disallow:

User-agent: *
Disallow: /

0.03s user 0.02s system 15% cpu 0.303 total

I think two main impact of being unclean are

things don't just work, a lot of errors to workaround.  But eventually it does work.
Some of the workaround defer work to runtime, and then startup times go from 0.02s to 0.5s etc

Working with some caveats https://github.com/square/okhttp/pull/5294

need a directory of external libraries, at minimum
Can possibly hackaround and use bouncy castle instead of SunEC
Can disable ECC in client

Otherwise it frequently blows up because server negotiates ECC cipher and then client fails.

https://github.com/square/okhttp/pull/5631


How to run this?

npm-cost reports react-dom@next being larger than react-dom@15 which I don’t believe is correct. I wanted to debug it to see if anything’s confusing Rollup in our bundles.
I tried following the instructions for local development, but I’m stuck here:

I’m pretty sure I’m running Node 8:

What am I doing wrong? Thanks!

Never mind, I accidentally commented a brace out.


[EnhancedSwitch] Removing weird label invocation.

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Not sure if this is intentional, but this pattern seems very weird. I encounter a lot of strange behavior with labels and would guess that this is a bad invocation, which is trying to use the label as both a constructor and an instance.
If it is correct, could someone help me by explaining to me what this is doing?
I'm confused somewhat by what this is doing...

I guess this is more of an issue report than anything. For now I will close this and write a proper test case. Thanks for making this awesome repo!


Add a top level for removing the background.

The loading screen top level can be used as a kind of template. Ideas for this new window:

[ ] Move the background removing functionality (function calls from main window) into this top level.
[ ] Maybe make it so the images are selected from within this top level and not before it opens.
[ ] Show a simple pop-up saying it has finished its job.

To Be Decided (because I'm not sure if this will workout well in conjunction with threading):

[ ] It should show the current image being processed.
[ ] It should show a count of how many images there are left (in case the user selects multiple).
[ ] It should have a cancel button.

Currently working on this as my CS50P final project. It currently is a standalone app but should later be ported as a toplevel.


Some glyphs from color OpenType SVG font are not rendered

Godot version
v4.1.beta2.official [a2575cba4]
System information
Godot v4.1.beta2 - Windows 10.0.19045 - Vulkan (Compatibility) - NVIDIA GeForce RTX 2070 (NVIDIA; <IP_ADDRESS>79) - AMD Ryzen 5 3600 6-Core Processor (12 Threads)
Issue description
Description:
Most Emoji glyphs from color OpenType SVG font are not displayed in Control nodes, such as Label or RichTextLabel.
When using https://github.com/adobe-fonts/noto-emoji-svg/blob/main/fonts/NotoColorEmoji-SVG.otf, some emoji are rendered correctly, such as ☺ (U+263A), but others are not visible at all, e.g. ❤ (U+2764), 🏠 (U+1F3E0).
"Output" panel of Godot editor shows multiple error messages "Failed to create SVG canvas."
Additional info:
All these characters are rendered correctly by Firefox browser (as seen in https://github.com/adobe-fonts/noto-emoji-svg/blob/main/test.html)
Regular English text is visible when using OT SVG fonts, e.g. https://www.fontspace.com/icecreamy-font-f82130 (although rendered with some kerning issues).
Monochrome OT font https://github.com/adobe-fonts/noto-emoji-svg/blob/main/fonts/NotoEmoji.otf appears to be working correctly.
This limits usage of color fonts, since CBDT/CBLC TTF fonts are blurry if the font size is larger than PNGs which are embedded into the font, and Godot doesn't support COLR vector fonts.
Note: None of the glyphs of colorful OpenType SVG fonts are rendered at all in Godot 4.0
Steps to reproduce

Add Label control node to a scene
Select Label node
Import https://github.com/adobe-fonts/noto-emoji-svg/blob/main/fonts/NotoColorEmoji-SVG.otf as a Font value using Theme or Theme Overrides property (make sure)
Input 🏠❤☺ as a value of "text" property
Check visible characters in 2D panel of Godot editor

Expected result:

all colorful characters are rendered correctly
no error messages

Actual result:

Only ☺ (U+263A) is visible, other two are invisible (but occupy some space)
Multiple error messages "Failed to create SVG canvas." are present in the Output panel of Godot editor

Minimal reproduction project
svg_font_sandbox_4_1.zip

This is a ThorVG issue: https://github.com/godotengine/godot/blob/116f783db73f4bf7e9e96ae54dd3d0a20337cc8a/modules/text_server_adv/thorvg_svg_in_ot.cpp#L253-L257

ThorVG renders the svg images fine:

Looks like the godot code around modules/text_server_adv/thorvg_bounds_iterator.cpp:59
(IteratorAccessor - private ThorVG API :hear_no_evil: ) is broken.

It might be able to render source SVG used to make font. But actual emoji fonts usually contain a single SVG for multiple glyphs (all overlapped), which do not have viewbox set.
ThorVG refuses to load SVG w/o viewbox and doesn't support rendering specific elements by id, only the whole image. Current Godot code is trying to remove all elements that aren't part of the glyph and use private API to calculate real bounding box and make a viewbox from it.
I suspect it might be removing some shared part of the SVG. Or ot's some optimization done when compiling the font that is not supposed by ThorVG.

It would be very nice if you could write a comment here why exactly we need this API, so that it could be possibly included in the official APIs in the next ThorVG1 release.
https://github.com/thorvg/thorvg/issues/1372
I suspect the problem in the incorrect xml syntax, you should have a closed tags, e.g. <path ... /> or <path>...</path>, that's what Godot sends (and doesn't get recognized by any viewer):
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
<defs>
<path d="M93.99,8.97 C72.08,8.97 64.03,31.36 64.03,31.36 C64.03,31.36 56.09,8.97 34.03,8.97 C17.45,8.97 -1.45,22.11 5.53,51.98 C12.51,81.85 64.09,119.06 64.09,119.06 C64.09,119.06 115.48,81.85 122.47,51.98 C129.45,22.11 111.91,8.97 93.99,8.97 Z"
fill="#F44336">
<path d="M30.65,11.2 C47.85,11.2 56.39,29.69 59.15,37.18 C59.54,38.25 61.03,38.28 61.48,37.24 L64,31.35 C60.45,20.01 50.69,8.97 34.03,8.97 C27.13,8.97 19.84,11.25 14.17,16.06 C19.18,12.77 25.05,11.2 30.65,11.2 Z" fill="#CC3333">
<path d="M93.99,8.97 C88.7,8.97 83.88,10.12 80.12,12.44 C82.76,11.42 86.03,11.2 89.27,11.2 C105.48,11.2 119.99,23.49 113.44,51.9 C107.82,76.29 74.98,105.88 64.95,117.17 C64.31,117.89 64.09,119.05 64.09,119.05 C64.09,119.05 115.48,81.84 122.47,51.97 C129.45,22.11 111.94,8.97 93.99,8.97 Z" fill="#CC3333"><path d="M17.04,24.82 C20.79,20.14 27.49,16.27 33.17,20.73 C36.24,23.14 34.9,28.08 32.15,30.16 C28.15,33.2 24.67,35.03 22.23,39.79 C20.77,42.65 19.89,45.78 19.44,48.97 C19.26,50.23 17.61,50.54 16.99,49.43 C12.77,41.95 11.57,31.65 17.04,24.82 Z" fill="#FF8A80"><path d="M77.16,34.66 C75.4,34.66 74.16,32.96 74.8,31.32 C75.99,28.3 77.53,25.38 79.38,22.78 C82.12,18.94 87.33,16.7 90.63,19.03 C94.01,21.41 93.57,26.17 91.2,28.47 C86.11,33.4 79.69,34.66 77.16,34.66 Z" fill="#FF8A80">
</svg>

if I rewrite it corectly - and clear the svg tag to see the picture, it gets the size properly recognised and works fine in Godot:
<svg>
<defs/>
<path d="M93.99,8.97 C72.08,8.97 64.03,31.36 64.03,31.36 C64.03,31.36 56.09,8.97 34.03,8.97 C17.45,8.97 -1.45,22.11 5.53,51.98 C12.51,81.85 64.09,119.06 64.09,119.06 C64.09,119.06 115.48,81.85 122.47,51.98 C129.45,22.11 111.91,8.97 93.99,8.97 Z"
fill="#F44336"/>
<path d="M30.65,11.2 C47.85,11.2 56.39,29.69 59.15,37.18 C59.54,38.25 61.03,38.28 61.48,37.24 L64,31.35 C60.45,20.01 50.69,8.97 34.03,8.97 C27.13,8.97 19.84,11.25 14.17,16.06 C19.18,12.77 25.05,11.2 30.65,11.2 Z" fill="#CC3333"/>
<path d="M93.99,8.97 C88.7,8.97 83.88,10.12 80.12,12.44 C82.76,11.42 86.03,11.2 89.27,11.2 C105.48,11.2 119.99,23.49 113.44,51.9 C107.82,76.29 74.98,105.88 64.95,117.17 C64.31,117.89 64.09,119.05 64.09,119.05 C64.09,119.05 115.48,81.84 122.47,51.97 C129.45,22.11 111.94,8.97 93.99,8.97 Z" fill="#CC3333"/>
<path d="M17.04,24.82 C20.79,20.14 27.49,16.27 33.17,20.73 C36.24,23.14 34.9,28.08 32.15,30.16 C28.15,33.2 24.67,35.03 22.23,39.79 C20.77,42.65 19.89,45.78 19.44,48.97 C19.26,50.23 17.61,50.54 16.99,49.43 C12.77,41.95 11.57,31.65 17.04,24.82 Z" fill="#FF8A80"/>
<path d="M77.16,34.66 C75.4,34.66 74.16,32.96 74.8,31.32 C75.99,28.3 77.53,25.38 79.38,22.78 C82.12,18.94 87.33,16.7 90.63,19.03 C94.01,21.41 93.57,26.17 91.2,28.47 C86.11,33.4 79.69,34.66 77.16,34.66 Z" fill="#FF8A80"/>
</svg>


fat32format-gui: Add version 1.01

git mv bucket/fat32format-gui bucket/fat32format-gui.json

Sorry. 🤦♂
Thanks for the other suggestions. Still new to scoop and didn't know that "bin" could be omitted in this case.

On second thought, I re-added the shim for "guiformat.exe" since it's still nice to be able to launch the tool from the command line.

No it is not. If there are no command line arguments available it does not make sense to add it.

No it is not. If there are no command line arguments available it does not make sense to add it.

OK, fair enough. I've removed it. But I have launched it more than a few times from my terminal that way.

Thought of adding the 64-bit version but was hesitant since the app author states:

There is an x64 build of Guiformat here. However the x86 build works fine on both x86 and x64 and you should use that.

No idea why that recommendation was made but I was trying to respect it. Personally, I agree it makes sense to offer both.

/verify


Feature/gems

Coverage remained the same at 100.0% when pulling 7b20f8a88424247c2d2d0b0814557125e20921d3 on feature/gems into 6edfe9d1bb3c0cf33e5fe19020e77b448eb34d28 on master.

Coverage remained the same at 100.0% when pulling 7b20f8a88424247c2d2d0b0814557125e20921d3 on feature/gems into 6edfe9d1bb3c0cf33e5fe19020e77b448eb34d28 on master.


close socket to avoid fd leaks.

close socket to avoid fd leaks.

LGTM. Thanks for catching this.

LGTM


Cops arrest players too often

While testing the new cop behavior tweaks, I accidentally pushed them out too soon. This means that right now, EVERY cop will very aggressively try to arrest players who are interacting with objects.
While this is actually incredibly fun, it doesn't make much sense as a default (and it breaks stealth). I foresee that some people might not like this. I'm not able to test the fixed version thoroughly enough to feel good about pushing it as an auto-update, so I uploaded it as a beta version of sorts. Grab it here:
https://github.com/HugoZink/IreNFist/archive/beta/coptweaks.zip
This new version restricts the "aggressive arrest" mechanic to just a few types of cops, such as HRT's, blue SWATs, first responders and tans. You can still turn it on for every cop in the InF options, or disable the whole feature entirely.

Merged into master.


[NEW ALGORITHM]  Want to add Euler's Algorithm  for finding Eulerian paths and circuits

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:
[NEW ALGORITHM]
About:
Euler's Algorithm  for finding Eulerian paths and circuits

Labels:
new algorithm, gssoc-ext, hacktoberfest, level1

Assignees:

[x] Contributor in GSSoC-ext
[x] Want to work on it

@Gurpreet0022 assign me this issue.

@jashwanthbavandlapalli  I don't know how to assign it to you ? Could you help me with it ?