Reply to indent

I think that replying to a message in the bot's chat translates well to indentation in Logseq i.e. reply to a message to create a child block.
I don't know Logseq API, is there a way to track a block once it's created so that you can add a child block later?
I guess it's worth investigating, in my opinion it would be a really cool feature.

I have to agree that this would be an incredible addition to this plugin.


fix: update user's name [EP-3434]

:tada: This PR is included in version 1.11.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Breaking change:   Google Guava 19.0 -> 21.0

remove deprecated class: RichListenableFuture

Coverage decreased (-3.1%) to 68.571% when pulling cc39bc54e60a4c921617ea4596cb48435e8ba464 on guava-21.0 into 6f207cc4d5fcc3536b16a498855a615e04384f8a on master.

Coverage decreased (-3.1%) to 68.571% when pulling cc39bc54e60a4c921617ea4596cb48435e8ba464 on guava-21.0 into 6f207cc4d5fcc3536b16a498855a615e04384f8a on master.

LGTM, time for a major release. There's a bunch more deprecated code in here that we should get rid of.

Coverage decreased (-3.1%) to 68.571% when pulling a626d21d25c1bef27d31770291b17202c3856bbc on guava-21.0 into af0bfaa000bf1cdfa466b75349e77fd02655db52 on master.


Bug: Custom Color not Applied

When turning on the Custom Theme, the app is has a dark theme with green accents as the default.  If the user chooses another color (orange for instance) most of the accent colors change properly except for the check boxes in the settings and the word "Music"  in the "Google Play Music" slide out menu.  See the screenshot below.
Would it be possible to have the ability in the program to manually enter either a hex or rgb code for the custom color?

The RGB idea was suggested somewhere but can't seem to find it in an open issue so I'll leave this one open to track it.
As for the "Music" in Google Play Music.  Theming that part it virtually impossible because it is by default orange and the only way I can change it is using CSS filters to adjust hue/saturation/brightness.  I'm looking into replicating the image as an SVG to make colours easier.
The checkboxes aren't actually part of the theme, I can make them part of it but green is a global signifier for good / active.  I think it is just confusing that the default highlight is green as well (The two greens are actually completely different)
TLDR: Hex color = Will do
Music = Working on
Checkboxes = Invalid


Add interpolation to area chart

I've implemented the the same interface to control interpolation as currently implemented in LineChart (using the interpolate and interpolationType props).
I also added some missing propTypes to LineChart.

Thank you!


Kotlin generated code using java.lang.Object

I have a schema which has some dates.  I have the gradle plugin configured like this:
    apollo {
        generateKotlinModels true
        customTypeMapping = [
            "Date" : "java.util.Date"
        ]
    }

I would expect that the generated Kotlin code would use java.util.Date, but instead it generates using java.lang.Object.
The problem is that we have warnings as errors enabled on our project, so any reference to java.lang.Object fails the build with the error "This class shouldn't be used in Kotlin. Use kotlin.Any instead.".  This makes sense to me... what's the reason for using Object rather than Any?  It would be even better if it actually used the class defined in the custom type mapping.

My mistake.  I just realized the mapping was incorrect.  In the schema we have "DateTime" defined rather than "Date".  Updating that changed the generated code to use java.util.Date as I expect.
I still think it is problematic to use java.lang.Object rather than Kotlin.Any though for the build issue I described.

In which version this feature was added?

@Belka1000867 #1309 should be in version 1.0.1 released in July 2019

hm, strange, I have recently updated to 1.3.0 and still have the same warning


Add option to dump prompts and completions to a JSON file

This PR adds the --write_detailed_eval_info parameter to dump JSON with prompts and completions. The output path can be chosen with --detailed_eval_info_path. This PR is based on this commit: https://github.com/OpenGPTX/lm-evaluation-harness/commit/d6f84c485a3e9b4139c7bf1105dfada57d2ec41b.
It is helpful for debugging and for exploring model outputs. It is handy for debugging greedy_until tasks such as GSM8K. I have used it to debug MGSM in this PR: https://github.com/EleutherAI/lm-evaluation-harness/pull/426. Here is an example:
    {
        "doc_id": 1,
        "prompt_0": "Question: If there are 3 cars in the parking lot and 2 more cars arrive, how many cars are in the parking lot?\nStep-by-Step Answer: There are 3 cars in the beginning, 2 more arrive, so now there should be 3 + 2 = 5 cars. The answer is 5.\n\nQuestion: Jason had 20 lollipops. He gave Denny some lollipops. Now Jason has 12 lollipops. How many lollipops did Jason give to Denny?\nStep-by-Step Answer: Jason started with 20 lollipops, but now he only has 12, so he gave Denny 20 - 12 = 8 lollipops. The answer is 8.\n\nQuestion: Olivia has $23. She bought five bagels for $3 each. How much money does she have left?\nStep-by-Step Answer: 5 bagels for $3 each should cost 5 * 3 = 15 dollars. Olivia had $23 in the beginning, so now she has 23 - 15 = 8 dollars left. The answer is 8.\n\nQuestion: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?\nStep-by-Step Answer: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.\n\nQuestion: Michael had 58 golf balls. On tuesday, he lost 23 golf balls. On wednesday, he lost 2 more.  After he lost 2 more, he has 35 - 2 = 33 balls now. The answer is 33.\n\nQuestion: Shawn has five toys. For Christmas, he got two toys each from his mom and dad. How many toys does he have now?\nStep-by-Step Answer: He has 5 toys. He got 2 from mom, so after that he has 5 + 2 = 7 toys. Then he got 2 more from dad, so in total he has 7 + 2 = 9 toys. The answer is 9.\n\nQuestion: There were nine computers in the server room. Five more computers were installed each day, from monday to thursday. How many computers are now in the server room?\nStep-by-Step Answer: There are 4 days from monday to thursday. 5 computers were added each day. That means in total 4 * 5 = 20 computers were added. There were 9 computers in the beginning, so now there are 9 + 20 = 29 computers. The answer is 29.\n\nQuestion: Leah had 32 chocolates and her sister had 42. If they ate 35, how many pieces do they have left in total?\nStep-by-Step Answer: Leah had 32 chocolates and Leah’s sister had 42. That means there were originally 32 + 42 = 74 chocolates. 35 have been eaten. So in total they still have 74 - 35 = 39 chocolates. The answer is 39.\n\nQuestion: Cars have lined up on the motorway. Some of the cars drive through in the first 15 minutes of the traffic jam, then 20 more cars drive through in the remaining 15 minutes of the jam. 5 cars from the line take an exit so they don't have to drive through the traffic jam. If there were originally 30 cars on the motorway, how many cars drove through the traffic jam in the first 15 minutes?\nStep-by-Step Answer:until",
        "logit_0": "There were 30 cars in the beginning. 5 cars took an exit, so there are 30 - 5 = 25 cars left. 15 minutes are left. 20 cars drive through the traffic jam in the remaining 15 minutes. That means 25 cars drive through the traffic jam in the first 15 minutes. The answer is 25.",
        "truth": " 5",
        "acc": "False"
    }

Currently we support saving examples via
python write_out.py \
    --tasks all_tasks \
    --num_fewshot 5 \
    --num_examples 10 \
    --output_base_path /path/to/output/folder

It looks like your function is more general (ours only saves your prompt_0 key), but I think it would be a good idea to add this additional functionality to the existing script for backwards compatibility reasons.

Hmmm. We wrote something like this for the [BigScience fork] but I guess never upstreamed it?
It's also worth noting that we currently we support saving examples (but not competitions) via
python write_out.py \
    --tasks hellaswag \
    --num_fewshot 5 \
    --num_examples 10 \
    --output_base_path /path/to/output/folder

This has the advantage of not requiring a GPU / running a model, so I think it's likely worth keeping? Maybe we can make the two set-ups consistent in naming conventions for usability though.

Yes, I have used write_out.py for implementing new multilingual tasks. It is useful for making sure that prompts are correct. However, sometimes you need completions to know what is going wrong. We can keep both. What should I change to make naming consistent?

Yes, I have used write_out.py for implementing new multilingual tasks. It is useful for making sure that prompts are correct. However, sometimes you need completions to know what is going wrong. We can keep both. What should I change to make naming consistent?

Call the flag write_out and use the same variable name for the output path?

@StellaAthena I've updated parameter names and added docs.

Looks good. I’ll run it in the morning and if nothing weird happens merge it.

@StellaAthena is this ready to merge?

@juletx thanks for the ping! I had forgotten about this.


Fix integer overflow in BufferGrouper.

Would have led to out of bounds buffer access with large buffers.
Also added tests using large buffers.
Fixes issue reported on the mailing list at https://groups.google.com/d/msg/druid-user/JOp9oTVOqEQ/_Tqk97paAQAJ.

👍

+1:

I hope travis can handle the large buffer test.


Can't update catch to 5.5 (lettable operator)?

RxJS version:
5.5.2
Code to reproduce:
I am trying to update old rxjs code to 5.5.2 by updating this code:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch'

getTextFile(url: string): Observable<string> {
    return this.http.get(url, { responseType: 'text' })
                    .catchError((error, source) => ... );
  }

to this code as noted in the rxjs release notes:
import { map, catchError } from 'rxjs/operators';

 getTextFile(url: string): Observable<string> {
    return this.http.get(url, { responseType: 'text' })
                    .catchError((error, source) => ...);
  }

Expected behavior:
Should compile.
Actual behavior:
Get error:
message: 'catchError' does not exist on type 'Observable'
So it does not like the new catchError or what ?

I am having the same issue, were you able to solved it?

@jlariza catchError is an operator that needs to go inside the .pipe():
this.http.get(...).pipe(catchError(...))...

@martinsik thank you! that worked. The documentation is not very clear about that migration.
Thanks!


doc: remove references to undepreciated commands being deprecated.

The dsa, ec, ecparam, and rsa manual pages refer to themselves are being
deprecated which they aren't.  Address this and add a note pointing to
the pkey command equivalents albeit without recommending it.

[x] documentation is added or updated
[ ] tests are added or updated

Merged to master, thanks.


ImportError: DLL load failed while importing _tweedledum: The specified module could not be found

Information

Qiskit version: 0.34.2
Python version: 3.9.1
Operating system: Windows

What is the current behavior?
I installed Qiskit in a virtual environment created by the venv module. Importing Qiskit leads to the following error ImportError: DLL load failed while importing _tweedledum: The specified module could not be found. Installing and importing Qiskit from a Conda environment works fine though.
The problem still persists after trying the following within the virtual environment

Reinstalled the Tweedledum package using the command pip install --upgrade --force-reinstall tweedledum as per this Stack Overflow answer.
Downloaded the Tweedledum repository and pip installed it within the environment.
Installed the Tweedledum package using the command py -m pip install --no-binary=tweedledum tweedledum.
Using the command py -m pip install --no-binary=:all: tweedledum led to the following errors: Problem with the CMake installation, aborting build and ERROR: Could not build wheels for cmake, ninja, which is required to install pyproject.toml-based projects.

Note: Initially I tried to build the package from source using the GCC compiler installed through MSYS2 software but the wheels were not getting successfully built. There was some problem. So I installed Visual Studio Build Tools 2019.
Steps to reproduce the problem
Install and import Qiskit from a virtual environment created either by venv or virtualenv.
What is the expected behavior?
Qiskit should be properly imported without throwing any error.

This is likely some issue with your Python environment.  You mention you're using both conda and venv, but conda doesn't always play very nicely with pip (via venv), and in my experience those issues are worst on Windows.  Using the py selector may well be introducing another layer of difficulty there as well - I'm not certain how well it can detect the right executable when conda is around, and it feels quite possible that your environments are getting mixed.
You might be installing tweedledum using a different version of Python to what you then try to use in the interpreter.  You could try calling the relevant python and pip executables directly.  This is not the only possible failure - I've personally not had massive success with conda on Windows for a lot of things - but is probably one of the few that's within your control, if you're sure you want to try and mix conda with pip.
If there's an actual problem with the extension module DLL, though, you'll have to take that up over on the tweedledum repository - it's not an internal component of Qiskit.

I'll close this issue as stale now.  Please feel free to re-open if there's any further issues that are specific to Qiskit.


[QUESTION] strict-local/block-for-eviction-if-contains-last-replica/delete-both-statefulset-and-deployment-pod node drain interaction

Question
In the case where you issue a drain for a node that holds the only (strict-local) replica, is Longhorn not able to reschedule the volume on another node?
My expectation is that in combination with delete-both-statefulset-and-deployment-pod, Longhorn should:

Evict and reschedule the volume (after rebuilding a replica from the node being drained)
Nuke the corresponding pod which will then cause rescheduling (freeing up the node being drained from the pod and the volume block-for-eviction-if-contains-last-replica constraint), and finally,
allow the drain to complete.

EDIT: I kept my original though intact in the above paragraph, but as I was typing I realized that my expectation may not be entirely compatible with how scheduling in Kubernetes works.
More specifically, the pod rescheduling has to happen first before Longhorn can know which node to move the last replica to (unless you can somehow influence pod scheduling, e.g., by somehow attracting the pod to the node you just made a replica to).
My workaround is a bit clunky and involves removing strict-local, adding replicas then deleting the replica from the node being drained. Still it would be nice, if all the above can be done automatically without intervention.
Environment

Longhorn version: 1.6.1
Kubernetes version: 1.29.2
Node config

OS type and version: NixOS 23.11 (k3s from unstable)
Kernel version: 6.1.78
CPU per node: 4
Memory per node: 16GB
Disk type: SSD
Network bandwidth and latency between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): KVM

Oops, looks like I missed block-for-eviction-if-contains-last-replica.

Looks like it should work the way I described, something just seems to have gotten messed up in my setup.
The pod consuming the strict-local volume had another strict-local volume but for some reason that got successfully evicted into a new node whereas the other one got stuck. Closing for now.


Cannot scale to infinity

Dear Airflow Maintainers,
The readme says that airflow can be scaled to infinity but the scheduler is not distributable and could be a bottleneck.
@r39132

LGTM


Web server not launching on Linux

I don't know if it's Linux issue, but when playing on Linux I was unable to launch it, Server Status was saying it's running, and localhost:8000 wasn't showing "unable to connect", but nothing loaded.
OS: Fedora Linux 36
Browser: Firefox (slightly hardened)
Kerbal telemetry Version: 2.3.0
KSP Version: <IP_ADDRESS>73
Python Version: 3.10.6
Also I tried both installing manually and with CKAN, both had the same result.

I found https://github.com/yagiziskirik/Kerbal-Telemetry/issues/17 which fixed that one problem, but after that this mod caused different issue, so I will be making new issue.


Minor tweaks to fix current Ddoc themes due to the new Ddoc theme

The new Ddoc theme [1] introduced three new macros: DDOC_MEMBER,
DDOC_MEMBER_HEADER and DDOC_HEADER_ANCHOR. This tweak configures these
new macros to have no impact on the existing ddoc themes.
[1] https://github.com/dlang/dmd/pull/6173

@andralex @CyberShadow fixed the existing dlang.org ddoc theme.

Awesome, thanks for the quick PR. Waiting on the doc autotester.

Since the new default macros are in a separate file, can this [1] section either be referencing the file on GitHub or somehow included in the ddoc.dd file? Then it would also always be up to date.
[1] http://dlang.org/spec/ddoc.html#predefined_macros

Thanks.

Since the new default macros are in a separate file, can this [1] section either be referencing the file on GitHub or somehow included in the ddoc.dd file? Then it would also always be up to date.

I think it's doable with a Makefile rule.

Nice, thanks very much @CyberShadow for watching things over.

Which approach is preferred?

I'll let you and @CyberShadow consult on that. Works?

Works for me.

Well, I really should be working on other stuff right now. It seems like a low-priority thing, but if you're up for it, put up a PR, and if it passes the doc tester with a good diff ping me and I'll merge it.

@CyberShadow I can do the work myself, I just wanted an opinion on which approach to use.

Sorry, what are the options? Aside from the Makefile copying the file from the DMD repo to the dlang repo, then including it into the DDoc.

I guess you could also add a special DDoc macro that expands tho the default macro list (excluding itself of course), but I wouldn't be a good judge on how sensible that would be.

Sorry, what are the options? Aside from the Makefile copying the file from the DMD repo to the dlang repo, then including it into the DDoc.

The other would be to link directly to the file on GitHub.

Ah, right. Well, that's an option, but it would have some issues:

Documentation of older versions ought to remain working. It's not impossible that the link might change in the future.
Some formats of documentation are for off-line use (PDF, CHM, HTML documentation included with DMD).
The documentation should match the corresponding D release it was generated from, so at least the link should point to the specific tag/commit.

As things are, that file doesn't change very often, does it? Perhaps it's simplest to update the list manually for now.

Ah, right. Well, that's an option, but it would have some issues

True.

As things are, that file doesn't change very often, does it? Perhaps it's simplest to update the list manually for now.

It needs escaping, so it's not as easy as copy pasting the file.


format_sql(query.statement, query.parameters) missed all params

https://github.com/mgood/flask-debugtoolbar/blob/d852042ccb68d0507e0ef8d9e0d53287ca766f3b/flask_debugtoolbar/utils.py#L75

@gshmu can you explain the problem here a little better? I'm not quite understanding this cryptic issue description...


Message

Hi grelobinski, I'm sure you want to keep this repo public, but if you have any interest in a paid version down the road I'd love to have it on SugarKubes!

https://help.github.com/en/articles/github-terms-of-service#3-spamming-and-inappropriate-use-of-github
Reported


Wrong links in the Docker documentation

Describe the bug
This is an issue in the documentation "Keycloak - Docker - Getting Started".
The link in the docs to open the admin console is http://localhost:8080/auth/admin, but when I go through the steps, that link goes to a page not found.
The correct link would probably be: http://localhost:8080/admin/
Version
17.0.0
Expected behavior
Clicking on the link in the Getting Started documentation opens a tab to log into the admin console.
Actual behavior
Clicking the link in the Getting Started documentation opens a tab with a "Page not found" result.
How to Reproduce?

Run the docker image using the command in the getting started section.
Click on the link in the documentation to open the admin console.

Anything else?
No response

Likewise the link Open the [Keycloak Account Console](http://localhost:8080/auth/realms/myrealm/account) should be `http://localhost:8080/realms/myrealm/account
Looks like they're defined in variables links-admin-console & links-account-console
The values are in visible in raw mode: https://raw.githubusercontent.com/keycloak/keycloak-web/77b8697df8f2b1dc4e17eb642fd126ea0ec3bcc2/guides/getting-started/getting-started-docker.adoc


[DO NOT MERGE] Auto PR to update dependencies of old_pilot_repo

This PR will be merged automatically once checks are successful.
none

I think we want this - it passed the tests. merging


RaiseInventoryAlloc: increase game heap sizes instead of pointing to our own buffers, fixes #58

Seems to solve the invisible items bug, many thanks to qingsheng8848 for posting code for their fix! (and also to everyone that helped debug it with us too!)
Cleaned up code a little, removed pointers/hooks that are no longer needed etc.
Should probably spend some time testing game with these changes to make sure heap increases don't break anything else, if anyone wants to help try them there's a build available here: dinput8-heapHacks-noConsole-clean.zip

Cool! Awesome work. I'll send a build to albert so he can help testing and see if the chinese issue are fixed as well. Thanks for all your work!

^ last commit includes fix for #99

Albert just reported that the Chinese font issues are gone too 🎉 (turns out it affected Japanese too)
(why did it only affect these languages tho? and why is the subScreen memory (ss_pzzl stuff) even related to that? Guess it is one of those mysteries we will never know the answer to.

Guess we're safe to merge this now?

Guess we're safe to merge this now?

I've been playing with this patch from Chapter 3-1. I'm in Chapter 5-3 now and haven't noticed any issues. I also have the tactical vest and Mafia Leon fixes (made a custom build to include those and this PR) since 5-1. No issues so far.
The silencer was invisible in the inventory and the Merchant until I applied this patch.

Nice. Thank you, emoose.
Also thank you, @qingsheng8848 for sharing your code with us.


[test] fix coprocessor test

Signed-off-by: zhangjinpeng1987<EMAIL_ADDRESS>What have you changed? (mandatory)
Skip empty write in test.
What are the type of the changes? (mandatory)

Bug fix (change which fixes an issue)

How has this PR been tested? (mandatory)
https://github.com/tikv/tikv/pull/4614 failed because of empty write.
Does this PR affect documentation (docs) or release note? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No

This PR is no longer need any more?


Support proxy

Closed in #5

add a flag to disable ssl_validation

Hello @banana-cakes, could you please open a new issue with little more details? Feel free to open an MR too.


KAFKA-9401 Reduce contention for Fetch requests

Cherry picks  #15836 to 3.7.
Note:
There were merge conflicts in the following files which were resolved
 both modified:   core/src/main/scala/kafka/server/FetchSession.scala
both modified:   core/src/test/scala/unit/kafka/server/FetchSessionTest.scala
both modified:   core/src/test/scala/unit/kafka/server/KafkaApisTest.scala

CC: @chia7712 @soarez

We don't usually cherry pick changes like this to older branches. It's not a regression and it hasn't been released yet (hence the risk is higher).

@gaurav-narula As @ijuma mentioned, we can just remove the 3.7 from the https://issues.apache.org/jira/browse/KAFKA-9401 and then stop this backport :)

Thanks for the feedback! My bad, I wasn't aware about the specifics of the backporting policy. Closing this and updating the JIRA.


Cluster image quality on iOS

I noticed a difference of quality between the cluster image between Android and iOS.

On Android, the image and the font inside it are of great quality.
On iOS, both the image and the font are of questionable quality.

Looks like the same for me.

I found out that the resizing of the cluster image is the source of the difference.
On Android, the resizing seems to improve the quality of the cluster image, however on iOS it does not.
I updated my repo: https://github.com/antoine92190/ionic-map
this.map.addMarkerCluster({
      markers: data,
      icons: [
        {
          min: 3,
          url: "./assets/cluster.png",
          anchor: { x: 16, y: 16 },
          label: {
            color: "white",
            bold: true,
            fontSize: 14
          },
          size: {
            width: 37,
            height: 37
          }
        }
      ]
    }

In the plugin,  I use UIGraphicsBeginImageContextWithOptions for resizing.
https://github.com/mapsplugin/cordova-plugin-googlemaps/blob/multiple_maps/src/ios/GoogleMaps/PluginUtil.m#L98
I have no other solution that improve the quality than this way.
If you have it, I will implement it.
Otherwise, there is no solution, so omitting the size option is the solution.

Until you find another way, I close this thread, because I have no option currently.

Ok, I will try to find something.
Just a question that could help me understand.
Is a cluster image considered the same as a normal marker image?
Because when I resize a normal marker, its quality is improved on both Android and iOS.
However, when I do the same with cluster images, its quality only improves on Android.

However, when I do the same with cluster images, its quality only improves on Android.

Um, this might be helpful.

How about this?
Current code

Test code

Perfect :thumbsup:


move link to repo from sidebar to top bar near the themetoggle

I think It can partially solve "clutter" at the side bar issue
Here is some site with github link at topbar :
https://reactrouter.com/en/main

I'll take it:) I also don't think it belongs to the sidebar.


Better return type for bind actions

This changes the return type to preserve the function signatures so you don't just get (...args: any[]) for all the actions.

Could you please do the same here as well?

Rebased and done.

Thank you sir!


Dropdown 'set selection' not working on new options

I am adding an option to a ui dropdown.  The next line I try to set it as selected with 'set selected', but it doesn't work; at least not on the first click.
Here's the fiddle repro: https://jsfiddle.net/lselbeck/1fq3ahfu/2/
I want to select the new option that I added, how?

Mutation observers are asynchronous, so any other javascript run inline will occur before they fire.
You can fix your scenario by calling setup select after adding the option.
http://jsfiddle.net/up9db8wb/


dll loading exception

Hello, I want to thank you for this amazing project.
I have an issue with this line as it can't load the dll file TD_Mgd_3.03_9.
 List<Util.TeighaText.CADTextModel> texts = Util.TeighaText.GetCADText(path);
whenever I try to use the code to create openings an exception is thrown.
here is the Exception details

Sorry I have not found a perfect solution for this issue. Please refer to the answers in this thread ian-quinn/manicotti#2
Thanks for testing this toy project and hope some of its code snippets help.

Unfortunately I didn't find the solution either, but I think it's because the library version used is old or not compatible with new Revit API .dll files, so I removed the library and anything related to it and used another way to create doors. but in the end thank you for this great solution I've gained a lot of knowledge from it.


math to engine

I have reduced math entropy to two items to be able to always distinguish

gecko(view) (ultra tested)
chromium (should be a super spreader across all forks, chrome etc)

edit, or maybe I should use the word blink

webkit (well safari at this stage)

I plan to use a slightly extended version of this, so I can output noise detection (randomizing) for chromium in canvas and domrect (and might as well set isWebkit at the same time

i.e if isFF == false, then I'll check run the function and use the hash to set isChromium and isWebkit
chromium has a different known hash for toDataURL and toBlob
chromium domrect diffs can be false positives

e.g. 4.76837158203125e-7 diff on some measurements
those minuscule diffs may vary slightly depending on other factors but if I know it's chromium then I can just ignore those elements that produce them

If anyone is interested ( @abrahamjuliot ) then I'll post my workings and extended PoC

Of course, this is academic (two items is the absolute minimum to get three results and we achieved that) if there are other foolproof ways to detect the engine that can't be tampered with, and are not likely to change in the future
such as how I detect isFF
	if ("undefined" != typeof InstallTrigger) {isFF = true}

or if we wanted to detect Brave we could just check navigator.brave
I'm sure there are lots of examples for detecting chromium and safari this way. So I should probably do it that way

I'm not sure on 'chrome' in window, but I think it will likely fail to catch all chromium browsers. I use this in some tests, but I have doubts it will detect all chromium browsers. But, 'chrome' in window is in Ungoogle Chromium, Brave, Edge, and Opera. It might be missing from Puppeteer and Electron apps. There was a time it was missing from Pupeteer, I'm not sure about now...https://github.com/puppeteer/puppeteer/issues/1026.
Extensions can tamper with native object and properties, but they can't delete them. Edge has window.O365Shell, and Brave also exposes a massive list of unique APIs in the window.chrome object. The difficulty is finding an object/property that is both stable and unique. I think the console error tests might be useful as an additional check, but error messages can evolve across versions due to new language features.

my workings and extended PoC

👍 I'm interested.

🔻 pre-rambling
So there were two things the math entropy could do: distinguish, for lack of a better word, engines, and entropy within each engine. I only really care about gecko(view) .. that said, see first post. I want to add the randomization / noise detection to chromium (to prove that Brave's randomizing is ultimately no better that lowering entropy)
So I need foolproof, stable "feature detection" - but that can be unstable, e.g. webkit aliases got added to other browsers ... chrome in window has other properties but they may or may not be in android ... as you point out there's headless, and so on. So I thought math might be the answer here (who would tamper with math?).
So I took our results and did some wizardry and analysis and came up with a minimum of two math functions that return AA, AB, BA
🔻 Notes / Assumptions / Limitations

naming

when I say chromium I'm not sure if I mean blink
when I say webkit I'm referring to safari

stability .. so far

while we can't code for every single browser ever, most people should be up to date
gecko is stable as far back as FF60 across all platforms, 32/64 builds, 32/64 OS, mingw/winsdk builds
chromium is stable as far back as chrome72 that I know of
chromium is stable across 32/64 bit builds, 32/64bit OSes
chromium is stable across browsers: opera, edge, chrome
given chromium seems to bundle the same math libraries for all builds, I do not believe we will see any changes in further tests, e.g. chromium browsers on different hardware like android 32bit or rasp pi or whatever. Or by testing Brave, Vivaldi or other browsers
safari, we've only tested it on macOS
given apple is basically a tight closed ecosystem, I doubt we will see changes in Safari on iPad, iPhone

coverage

what about other webkit browsers e.g. on kindles
what about other engines e.g. edgeHTML, IE
note: I did test EdgeHTML17 for math v2.5, but did not record the actual values, and I have since updated it to Edge85, so no going back. But I can tell you of the 11 prospective math tests (more on that later), 2 feature and 1 is in the final set of two functions. What I can't tell you is if they are an A, B or a new value C

limitations

2 tests only allows for four results (with A/B returns) - i.e AA, AB, BA, BB
it doesn't allow for defense in depth should one of the returns align with another browser
which is why, and how, I expanded it a little (more on that later)

So, this was an exercise to differentiate engines, but in hindsight should have included more engines, sigh. For the record, the math v2.5 test wouldn't even run on IE and I couldn't be F'd debugging it.
🔻 How I drilled down from 176 to get the math functions

take all the functions and polyfills that differed between FF control and chrome control -> 54 results

I do this by running the test on FF78 64bit on Windows and clicking chrome - capisce?

take all the functions and polyfills that differed between FF control and safari control -> 63 results
combine them -> 117 results
split the results into two sets

4a: items which only changed in either chrome or safari -> 15 in chrome and 24 in safari -> 39 total
4b: items which changed in *both chrome and safari -> 78 results: i.e 39 pairs

check the 39 pairs to see if we any diffs

there were none. If we did, that would be a test that has a triple result .. an A, B, C so to speak

take the 39 results from 4a (the one different to FF but only changed in one browser)

remove all the tests that unstable in FF
note: while the FF unstable includes obsolete versions (pre 68), it may be that those FF values across all FF tests are still different to chromium/safari - but it's not worth checking, as we already have enough material
note: there are still some other FF results to come in that show more entropy, but 99% sure they will not include the functions left in the 11 (see next point)
7 this leaves us with 11 prospective tests

Here they are
chromium (7)
--
cbrt      1p  cbrt(Math.PI).polyfill
log10     1   log10(Math.PI)
log10     3   log10(34*Math.E)
log10     5   log10(11*Math.LN2)
log10     7   log10(43*Math.LOG2E)
log10     9   log10(7*Math.LOG10E)
log10    11   log10(2*Math.SQRT1_2)

safari (4)
--
acos      0    acos(0.123)
acosh     2    acosh(Math.SQRT2)
atan      0    atan(2)
cbrt      1    cbrt(Math.PI)

So technically speaking, all we need is cbrt1 and the cbrt1 polyfill - or whatever, as long as you have one from each group .. but, see limitations

trim it down
===
- make sure to have both chromium and safari
- have some defense in depth
- technically all we need is cbrt 1 + 1p, but if that broke we'd have nothing for the hash to change

chromium   cbrt      1p  cbrt(Math.PI).polyfill  s/be   1.4645918875615234 got 1.4645918875615231   <-- same decimal places  - 3
chromium   log10     9   log10(7*Math.LOG10E)    s/be   0.4828823513147936 got 0.48288235131479357  <-- diff decimal places  nonFF has MORE (- 3)
chromium   log10    11   log10(2*Math.SQRT1_2)   s/be   0.1505149978319906 got 0.15051499783199063  <-- diff decimal places  nonFF has MORE (+ 3)
  safari   acos      0    acos(0.123)            s/be   1.4474840516030245 got 1.4474840516030247   <-- same decimal places  + 2
  safari   acosh     2    acosh(Math.SQRT2)      s/be   0.8813735870195432 got 0.881373587019543    <-- diff decimal places  nonFF has LESS (- 2)
  safari   atan      0    atan(2)                s/be   1.1071487177940906 got 1.1071487177940904   <-- same decimal places  - 2

that uses
- 3 safari - 3 diff function, 3 diff values used
- 3 chromium - 2 diff functions, 3 diff values used
- 6 total - 5 diff functions, 6 different values

results
==
firefox would be
1.4645918875615231
0.48288235131479357
0.15051499783199063
1.4474840516030247
0.881373587019543
1.1071487177940904 <- 6 x FF control

chromium would be
1.4645918875615234
0.4828823513147936
0.1505149978319906 <-- 3 x chromium control
1.4474840516030247
0.881373587019543
1.1071487177940904 <- 3 x FF control

safari would be
1.4645918875615231
0.48288235131479357
0.15051499783199063 <- 3 x FF control
1.4474840516030245
0.8813735870195432
1.1071487177940906  <- 3 x safari control

so here's a basic function: perf is ~1 to 2ms

note: roll your own sha1 function

function get_engine() {
	let t0 = performance.now()
	function cbrt(x) {
		try {
			let y = Math.pow(Math.abs(x), 1 / 3)
			return x < 0 ? -y : y
		} catch(e) {
			return "error"
		}
	}
	let fns = [['log10', [7*Math.LOG10E]],['log10', [2*Math.SQRT1_2]],['acos', [0.123]],['acosh', [Math.SQRT2]],['atan', [2]]]
	let res = [], engine = ""
	// polyfill
	res.push(cbrt(Math.PI))
	// the other 5
	for(let i=0; i < fns.length; i++) {
		try {
			let fn = fns[i]
			let fnResult = (Math[fn[0]](...fn[1]))
			res.push(fnResult)
		} catch(e) {
			res.push("error")
		}
	}
	let hash = sha1(res.join())
	if        (hash == "ede9ca53efbb1902cc213a0beb692fe1e58f9d7a") {engine = "chromium"
	} else if (hash == "05513f36d87dd78af60ab448736fd0898d36b7a9") {engine = "webkit"
	} else if (hash == "cb89002a8d6fabf859f679fd318dffda1b4ae0ea") {engine = "gecko(view)"}

	console.debug("engine is", engine, (performance.now()-t0) + "ms")

	// FF
	//let teststrA = "1.4645918875615231,0.48288235131479357,0.15051499783199063,1.4474840516030247,0.881373587019543,1.1071487177940904"
	//console.debug(sha1(teststrA), "FF")
	// chromium
	//let teststrB = "1.4645918875615234,0.4828823513147936,0.1505149978319906,1.4474840516030247,0.881373587019543,1.1071487177940904"
	//console.debug(sha1(teststrB), "Chromium")
	// safari
	//let teststrC = "1.4645918875615231,0.48288235131479357,0.15051499783199063,1.4474840516030245,0.8813735870195432,1.1071487177940906"
	//console.debug(sha1(teststrC), "Safari")

	// firefox : cb89002a8d6fabf859f679fd318dffda1b4ae0ea
	// chromium: ede9ca53efbb1902cc213a0beb692fe1e58f9d7a
	// safari  : 05513f36d87dd78af60ab448736fd0898d36b7a9
}

But of course, it would be nice to see WTF IE or EdgeHTML reported. Hindsight, huh!

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

OK, so EdgeHTML is at least a different hash, even if I don't know what that hash actually is
EdgeHTML would be
1.4645918875615231   <-  cbrt  1p <- FF control
0.48288235131479357  <- log10  9  <- not FF control
0.15051499783199063  <- log10 11  <- FF control
1.4474840516030247   <-  acos  0  <- FF control
0.881373587019543    <- acosh  2  <- FF control
1.1071487177940904   <-  atan  0  <- FF control

https://en.wikipedia.org/wiki/Comparison_of_browser_engines

WebKit - yup
Blink - yup
EdgeHTML - yup, but I'm not sure how I can get the hash now
Gecko - yup
Servo - not sure what to do with this, and I doubt it changes Gecko's math
Goanna - is same as Gecko
NetSurf - ?
KHTML - ?
Trident - so this is IE11
Presto - last updated march 2015 - discontinued - we don't need to test this

My IE11 (windows7) is borked. I neutered it somehow about 8 years ago so nothing would run in it as a protection measure: not sure what I did now. Also not sure if IE11 can even handle the test (math v2.5) .. the engine one it might since I added error handling. I'm going to be testing my mate's machine in a few days, and he has an unborked IE11, so we'll see what happens
I grabbed a 32bit and a 64bit Palemoon (v28.13 whatever that means: it must be based on FF68+), and the math matches FF68+ 64/32bit - so you won't get any love there. Have not tried Basilisk but I doubt the math changes since it's still based on FF.

Turns out, you can run EdgeHTML and the new Edge side by side, but only if you have group policies (which my free win10 home vm doesn't). But, I since I have already tested the new Edge, I uninstalled it, and the old EdgeHTML turned back up - so I was able to test it
I also set up https://thorin-oakenpants.github.io/testing/engine.html as a standalone page so I could run it in IE11. I also updated the math 2.5 test for the engine function (which runs once on startup) to not spit the dummy. Namely I couldn't use generic.js because it shits it's pants over async .. and some older browsers don't like (...fn[1]...
I even debugged a local test and got the sucker to run in Opera 12.18 32+64bit (i.e. Presto) - seems as if presto hates the word let
I also ran an Opera 36, which was based on chromium 43. Portable.apps had one, not sure of the significance of that release - normally portable.apps uses stubs for opera. The good thing is I have been using an Opera portable in testing for almost 2 years, updated automatically), and AFAIK it's always matched chrome.
	// IE11 32bit (windows7 32bit) (11.0.9600.18860)
	// IE11 64bit (windows10) (11.1082.18860)
  // Opera 12.18 64bit + 32bit
	/*
	36f067c652c8cfd9072580fca1f177f07da7ecf0
 · 1.4645918875615231 <- gecko
 · error
 · error
 · 1.4474840516030247 <- gecko
 · error
 · 1.1071487177940904 <- gecko
	*/

	// opera 36 64bit : Chromium 43 based
	/*
  1b0cf4e345ce9d21f5ae069f88e9e91bf759c5d9
		1.4645918875615231 <- gecko
		0.4828823513147936 <- chromium
		0.1505149978319906 <- chromium
		1.4474840516030247 <- gecko
		0.8813735870195432 <- webkit
		1.1071487177940904 <- gecko
	*/

	// EdgeHTML17 (windows10 64bit)
	/*
	38172d9426d77af71baa402940bad1336d3091d0
		1.4645918875615231   <- gecko
		0.48288235131479356  <- new (not chromium or safari)
		0.15051499783199063  <- gecko
		1.4474840516030247   <- gecko
		0.881373587019543    <- gecko
		1.1071487177940904   <- gecko
	*/

EdgeHTML was different by only the 2nd value, as I said earlier. It didn't match either chromium or webkit
Trident + Presto (and I'm not sure how up to date IE11 is meant to be: my win7 32bit vm is pretty much out of the box with no updates) are different because it can't handle some math functions (log10 and acosh), otherwise it seems pretty generic and even matches

TBH, Trident and Presto won't even run TZP, so I don't even need to care about them

Goanna vs Gecko should be easy, just not via math
KHTML and NetSurf?  If we ignore things that can't run TZP (trident which should be dead outside intranets, and presto) and we ignore really old versions (e.g. FF59 and lower, Opera more than 2 years old etc) and in fact assume that most people are using up to date releases .. I think we're almost there.
@abrahamjuliot .. did you fall asleep reading my notes?

goanna vs gecko
this is in addition to already checking the math hash (or something like isFF) - i.e i'm not checking what this error gives on other browsers
		engine = "gecko"
		// goanna
		// v25.0.0 (oct 2015) based on 24esr
		// v26.0.0 (jan 2016) first to use "goanna" - still based on 24esr
		// v27.0.0 (nov 2016) based on 38esr
		// v28.0.0 (aug 2018) based on 52esr

		let goanna = false
		// 53: 1317307
		try {
			Object.defineProperty([], "length", {get(){}})
		} catch(e) {
			// FF53+: TypeError: can't redefine non-configurable property "length"
			// PM28+: RangeError: invalid array length
			if (e.name == "RangeError") {goanna = true}
			console.debug("53 goanna test:", e.name + ": " + e.message)
		}

Now a PM28 and a FF53+ would be different, but FF52/ESR52 == same: since PM28 re-based itself on ESR52 - but I think we can draw a line in the sand somewhere about how far back we go.
We could probably do the same for something that changed in FF39 to cover PM27... i.e

if 53 test == goanna + 39 test !== goanna then it's PM28
if 53 test != goanna + 39 test = goanna then it's PM27

It would be nice, academically, to have something that covers when the FF/ESR version is the same as the one PM is based on - i.e something totally unique to PM - but I just don't know if it's worth it.

I don't need to explore this further: math seems pretty solid and I'm using it

apple iOS

Safari and Chrome are equal and unique on iOS. I'm guessing this has something to do with iOS only supporting the WebKit engine. So, this would make blink and perhaps other engines difficult to detect on iOS. This finding was via browserstack which only supports chrome and safari on iOS tests, but I plan to get my hands on an iPad to see if results differ in FF.

I'm detecting engine not browser maker .. so wouldn't they return webkit (i.e same as safari)

Yes, engine is detected as webkit.  It's a new hash, but the diffs won't be any good for #3 . I also wonder what Firefox on iPad gives

Looks good too.
I updated the screenshot. Sadly, the trail blocks clipboard access.
There's an ipad mini 2 that can borrow. I'm note sure what version of FF is supported.

maybe I'm blind, the screenshot still shows safari as the control
I've been where you are. Way back at the start of TZP (Jan/Feb 2019) I signed up for three different online test lab trials. They were very limited in terms of what you could test on - I used up my limited tests on various FF/Mac combos and access to different android hardware was almost non-existent. To do anything meaningful meant paying for it.

There it is. It tried to escape me. I updated the comment this time.

ugh .. it cut off the full functions list

Later this week, I'll see if I can get a better screenshot and a clipboard on the ipad.

Here's the iOS clipboard. Safari, Chrome and Firefox match.
 I'll add that to the results and code

@abrahamjuliot .... click me while I last .. interesting graphic

Wow. That is an amazing resource. Thanks for sharing

anything with ZOMBIES and UNDEAD is always excellent


chore: Add new portal containing links to all dev servers

Added a barebones portal workspace that produces a simple static site using astro.
Running yarn dev will now open a single dev server containing links to all the other dev servers. It has a distinct yellow favicon.

In #937, the prod output of this workspace will be hosted on github pages.

I expect we will want to add more things to this page, but that can be done in the future. The purpose of this PR is really to serve as a base for #937 because we need to deploy storybook.

What do you think about having the dev favicon apply to all of the dev servers?

What do you think about having the dev favicon apply to all of the dev servers?

Sure we can look into that in the future. It might be a bit tricky though. It was straightforward here because of Astro


Test - Please accept

Bugreport:
Bug reported by Monkeyyy11#0001
What is the title of your bugreport?: Test - Please accept
Is it a bugreport for the website or for the bot?: Test - Please accept
How can you reproduce the bug? (Explain in steps): Test - Please accept
Which result would normally have to be?: Test - Please accept
What happens if you do the action now?: Test - Please accept
ReportID: 32

➤ LenoxBot commented:
Approve:
tes
Dadi#7808

➤ LenoxBot commented:
Approve:
test
Nickkel#6515

➤ LenoxBot commented:
Approve:
😄
Denarioyt#3352


[bug] In tauri v2, pressing keyboard can cause the app to crash and exit sometimes

Describe the bug

pressing the Arrow key to move the cursor in the editable element

# logs
2023-09-08 22:10:42.123 tauri-app[68475:7612815] TSM AdjustCapsLockLEDForKeyTransitionHandling - _ISSetPhysicalKeyboardCapsLockLED Inhibit
 ELIFECYCLE  Command failed with exit code 1.

press Command+r  or any group key

# logs
2023-09-08 22:26:48.756 tauri-app[73071:7636214] -[NSAutoresizingMaskLayoutConstraint hasSubmenu]: unrecognized selector sent to instance 0x121eb8280
thread 'main' panicked at 'Uncaught exception <NSException: 0x121f7bd10>', /Users/m2/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.22.2/src/platform_impl/macos/app.rs:58:19
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
 ELIFECYCLE  Command failed with exit code 1.

Reproduction
https://github.com/percy507/test-tauri-v2
Expected behavior
No response
Platform and versions
> tauri "info"

[✔] Environment
    - OS: Mac OS 13.2.1 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.72.0 (5680fa18f 2023-08-23)
    ✔ Cargo: 1.72.0 (103a7ff2e 2023-08-15)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-aarch64-apple-darwin (default)
    - node: 16.10.0
    - pnpm: 7.9.5
    - yarn: 1.22.19
    - npm: 7.24.0

[-] Packages
    - tauri [RUST]: 2.0.0-alpha.12
    - tauri-build [RUST]: 2.0.0-alpha.8
    - wry [RUST]: 0.32.0
    - tao [RUST]: 0.22.2
    - @tauri-apps/api [NPM]: 2.0.0-alpha.6
    - @tauri-apps/cli [NPM]: 2.0.0-alpha.12

[-] App
    - build-type: bundle
    - CSP: unset
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - framework: React
    - bundler: Vite

Stack trace
No response
Additional context
No response

It should be the same as https://github.com/tauri-apps/tauri/issues/7760
Could you try removing separators from the app_menu and see if the application still crashes?

After removing separators, the app works fine. Thanks. I will close this issue.


How its possible?

Hi,
Im just curious, how your code is removing response headers if the real header/body is generating after all middlewares?
I checked a few another plugin, but they are more complex.

There is a difference between header and body. The header is completely known and immutable at the moment the client receives the first bytes. The body however could still be unknown at this point. So after the next.ServeHTTP() has been executed the headers of all middlewares and a potential header response of the underlying service is known and therefor can be edited. As the body is unknown you need to do a lot more work to catch it midflight and resend. This is why it also needs more code to do so.

Thank you!


Rainbow screen on first boot

When trying to boot my Raspberry Pi 4 for the first time after writing the SD card image to the SD card, this rainbow screen appears. I've now tried two different SD cards and have the same issue.
Any suggestions?

Think it was a power supply issue.

When trying to boot my Raspberry Pi 4 for the first time after writing the SD card image to the SD card, this rainbow screen appears. I've now tried two different SD cards and have the same issue.
Any suggestions?

Did you got any solution/ Did your raspberry pi 4 got booted successfully ?


[Issue] : Add Single Product View Page and Product MRP

Issue Description
Add  Product MRP in Homepage Product Card and Single Product Page

Add Single Product Page like this

Are you a Hacktoberfest'21 contributor

[X] Yes, I'am Hacktoberfest'21 contributor

If it's a Valid Issue then Can you assign this to me ?

yes you can work, but there's already a product page, you can see here
https://saloni-15.github.io/Heel2Toe/product.html
you can redesign this accordingly

Will Redesign it

hey @codersalman, are you working on this?

Yes

New Product Card Layout 🎉

@saloni-15

[ ] New Product Card Layout
[ ] Single Product Page Redesign

Looks good, but don't add this much of card-detail, just add one line (4-5 words)  card detail and write that MRP above the Buy Now button and instead of Rs can you use ₹ and let the buy now button be blue only, don't change it to red.

http://github.codersalman.me/Heel2Toe/product.html
@saloni-15

The product page looks good, you can leave the cards as they were, remove the changes you have done in cards. I suggest you do a git pull upstream first, and make it even with the original repo, then again add your changes to the product files.

Okay But it's done on my repo
Okay then I'm Pushing the Products Page Only in PR

I've just opened PR checkout @saloni-15


Extend HBase's Scan to allow arbitrary row ranges and keys

Right now, batch gets via Table.get(List gets) (a.k.a. batch gets) does a single scan, reads the results, and adds them to the result array one at a time.
Quick Note:

the Cloud Bigtable ReadRows API allows for an arbitrary set of row ranges and/or row keys. Responses will be returned in lexicographical order.
the HBase batch get API is somewhat expensive in terms of client side CPU. Each Get is transformed to a ReadRowsRequest. The RowFilter, which contains things like column families and columns to read, is extracted.
HBase's MultiRowRangeFilter is difficult to support, since HBase's Filter model and Cloud Bigtable's RowSet work differently when selecting which rows/ranges to look up. See #1008 for more context about MultiRowRangeFilter

Proposal:
Create a new ExtendedBigtableScan object that allows an arbitrary list of row keys and row ranges.  This will allow for a more client-side CPU efficient way to perform lookups in Cloud Bigtable.  See #1207 for a different approach to achieve high throughput.

This was fixed by #1203


[GDScript] Fix lifetime of call base object

Ensures that the lifetime of an Object outlasts calls to it
Also adds a check to Object::~Object() to check for locked state
This solves the immediate problem but might not be elegant, needs deeper investigation, but this should solve the problems
This makes member variables used as the base for a call persist until the end of the call, as a temporary

Fixes: https://github.com/godotengine/godot/issues/86788 (needs confirmation)

I'd say the issue is not in variant as it handles the reference counting correctly, the issue is that the call base isn't copied but instead used directly for the call, making any change to it affect that, and in this case freeing it, Variant is oblivious to any of this as the call isn't on it directly, but on the pointer, at least as far as I can tell in my assessment
To me it looks like this issue is that when calling it does it specifically on the member variable, not the data in the member variable, which isn't correct in my opinion, there are some other cases like this:

https://github.com/godotengine/godot/pull/88905

While we could add some way to mess with refcounting in the call operation itself I'd say that'd be a bit hacky and error prone, I'd say it's the responsibility of the caller to not delete the reference, assuming they can, in this case the compiler fails to do so properly, by not creating a copy to guarantee it

It's true that Godot tries to use pointers to Variant wherever it can, for performance. And that indeed can cause unexpected behaviors. The one you are mentioning about signals, etc. indeed seems to require taking the optimization away in the implementation to provide the right user-visible behavior. However, in this case, provided there's no notion of call-with-base-by-value in user land, we have further freedom to fix the issue at the implementation level, maybe without performance compromises.
Once we narrow it down to whether to frame GDScript or Variant as the flawed piece, the more I think about it, the less sure I am about which one.

Variant: If we assume its contract with RefCounted involves letting them survive calls, we'd try to do apply, maybe somewhat hacky, but very performant and focused, solution there. It would benefit every user of Variant.
GDScript: If we formulate a rule by which a RefCounted called through Variant can't be freed during the call (non-RefCounted wouldn't be an issue, would they?), then GDScript (as well as any other user of Variant) has to ensure proper management.

The latter is looking better to me the more I think about it. That's the rationale behind this PR, isn't it? If that's the idea, I wouldn't oppose to it. If anything, I'd also add assertions to Variant so it's more explicit in the code.

I'd say that unless you're careless in c++ land you won't encounter this, generally the assumption is that the caller ensures the lifetime of any pointer it sends, so with the guarantee in c++ of caller lifetime on values, i.e. Variant(...).call(...) is always alive until the end of that call, and assuming any Variant * passed to a method is not killed, it'll always be safe in c++ land
So to me the issue with option one there is that while it's performant, it isn't free, and the cost comes regardless if you handle things safely or not
So I'd say that generally, assuming you don't do things like passing pointers with uncertain lifetime from c++, it's safe here, and adding ref-count safety measures in Variant (or I'd say, in RefCounted to make it fully secure) would IMO create an overhead that's not needed if you're safe about things
There might be some even more elegant way to do it in GDScript land, perhaps something directly in the VM, but I'd say it's pretty cheap already, it just creates a temporary, and perhaps we could make even more filtering so it's only done when absolutely necessary (it isn't needed, for example, if the member is accessed by a getter, but this PR doesn't make that distinction as far as I recall, I'll go over the code again and see)
But good points and thank you for your analysis
tl;dr; I'd say option one would be useful, but it's mostly unnecessary assuming the use of Variant in c++ land is done safely, which applies generally not just to Variant, and you'd probably have to be a bit badly abusing the types to make it be a problem in c++

I'd say that unless you're careless in c++ land you won't encounter this, generally the assumption is that the caller ensures the lifetime of any pointer it sends, so with the guarantee in c++ of caller lifetime on values, i.e. Variant(...).call(...) is always alive until the end of that call, and assuming any Variant * passed to a method is not killed, it'll always be safe in c++ land

Just to be sure I'm following the root issue here, the problem is not that a Variant was destroyed (as in it's memory being reassigned or its memory page unmapped), but that it was reassigned (i.e., operator=). So, the lifetime in question is that of the object it was pointing to.
In fact, and this is a piece of fresh news, I've just debugged the issue and it seems that the problem is OBJ_DEBUG_LOCK in Object::callp(). I mean, it may be the case that the code for object calls is designed so that the call itself is the last access to the object. If that's true, it's OK from the engine design standpoint (or it may have been the original idea, hard to tell) that an object is released during a call to it, only that in debug builds, OBJ_DEBUG_LOCK still needs to access it.

The issue is that we're calling on a Variant that was reassigned, and the underlying RefCounted was freed, the lifetime is that of the Variant, namely the member variable on the stack
The lock isn't the problem here, that just works as a check to ensure things work right, it doesn't prevent anything

Oh, well, I called the debug lock a "problem," but I didn't mean to imply it is bad or wrong. It was not the most accurate word for what I was trying to say. My point was about what the original intent could have been. I just wanted to share an interesting possibility with you.
Commenting out OBJ_DEBUG_LOCK in Object::callp() there are no longer crashes nor asan complains, which is the same I was experiencing with the MRP in the original issue.
Back to the PR itself, regardless other potential approaches that could be explored, I believe it's good.

Commenting out OBJ_DEBUG_LOCK in Object::callp() there are no longer crashes nor asan complains, which is the same I was experiencing with the MRP in the original issue.

Are you on Mac? The crash seems to happen there specifically because of how Mac handles memory

Are you on Mac? The crash seems to happen there specifically because of how Mac handles memory

Nope, I'm on Windows. To be more precise, I'm generally getting no crashes so I have to use asan to detect the issue.

Likely superseded by:

https://github.com/godotengine/godot/pull/96856

But awaiting confirmation of the original issue

Superseded by:

https://github.com/godotengine/godot/pull/96856


Feature request: XGB-spark: Do train/test-split by column-values

Hi,
Now we can already setTrainTestRatio in spark-xgb which is great. Currently, this splits all examples independently to train or test data.
However, many times there is some additional column what should be used in splitting train and test.
For example, assume that we are predicting purchase price and we have multiple observations per
one customer. Then we would like to do train/test split so that all observations from one customer end up in train or test respectively.  This would be to avoid unwanted leakage between train and test.
So would it be possible add option to do setSplitTrainTrestBy(mycol), where mycol could be a boolean column in the DataFrame.  Then we would simply do the train-test split by values in this column.
Another option to solve this problem would be to allow user to provide testData in the constructor or as a Param.
Thanks.

Consolidating to the feature request tracker #3439. Feel free to re-open this issue when anyone starts working on this.


Color translation wrong in mono?

Godot version: 3.2.2 Mono

OS : Windows 10

Issue description:
When trying to use Color constructor in Mono with texturerect, wrong color appears, in GDNative everything is fine
GD Native
draw_rect(Rect2(0, 0, 10, 10), Color(0xff0000ff)) -> Red, as expected
C#
DrawRect(new Rect2(0, 0, 10, 10), new Color(0xff0000ff)) -> Transparent Color?

Try writing the color using Color(R, G, B[, A]) notation instead, which is less error-prone.

The Mono bindings probably got the Color::hex and Color::hex64 backwards.
It's RGBA, and thus parsed from right to left ARGB:
https://github.com/godotengine/godot/blob/aa564739dde144687ad71dae853cc3aa4d49153f/core/color.cpp#L226-L236

It's RGBA, and thus parsed from right to left ARGB:

See also https://github.com/godotengine/godot/pull/36992 :wink:

That was a typo, it's ABGR (RGBA from right to left). It's not linked to the use of ARGB for HTML notation.

The Mono Color(int) constructor seems correct though:
        public Color(uint rgba)
        {
            a = (rgba & 0xFF) / 255.0f;
            rgba >>= 8;
            b = (rgba & 0xFF) / 255.0f;
            rgba >>= 8;
            g = (rgba & 0xFF) / 255.0f;
            rgba >>= 8;
            r = (rgba & 0xFF) / 255.0f;
        }

I can confirm the bug in 3.2.2-stable.
In GDScript:
print(Color(0xff0000ff))  # 1,0,0,1

In C#:
GD.Print(new Color(0xff0000ff))  # 0,0,0.9961089,0.003891051

It seems fixed in the master branch.

It seems fixed in the master branch.

That might be related to #39609 which was fixed in #39629.

The problem is that this value is interpreted as a long. You can see this by hovering in an IDE:

This code works correctly:
GD.Print(new Color(Colors.Red.ToRgba32())); // Prints 1,0,0,1

This was fixed by #35649 for 4.0, but you have to explicitly write it unsigned:
GD.Print(new Color((uint)0xFF0000FF));

In the 3.2 branch you have to do this:
GD.Print(new Color(unchecked((int)0xFF0000FF)));

But ideally, you would just do this instead, only using the integer constructors for stored values:
GD.Print(new Color(1, 0, 0, 1));

This was fixed by #35649 for 4.0, but you have to explicitly write it unsigned:
GD.Print(new Color((uint)0xFF0000FF));

When I tested it worked fine in master with GD.Print(new Color(0xFF0000FF));.


The great bot overhaul of 2021

It's time we talk about John Bot.

Poll
Quick Poll
Tumblr link
server info
vine commands separate thing ! prefix
Mona's yeeting power
roles via phil

Events
Auto assign newbie
Hey @user, welcome to Swampania! Please select your #roles and write your #introductions or you won't be able to see the rest of the server. You can select multiple roles at a time
Image

Mona's safe fic rec
nsfw fic rec commands
!conspiracy - MEE6

if the message contains these words: gypsy, faggot, holocaust delete the message and assign the member muted role. Send message on same channel saying: User was muted for x crimes

Role selection through phil.

heh heh I hope it's not too important... nefarious grin (#timer ID)
oh okay,  (#timer ID)
hahahaha what? are you serious? I'm a bot not an alarm clock but okaaaaaay (TID)
oh my goooooooooooood spooner fine (TID)
Sure thing,
.....ok.....
Will do,
really ? that's what you need a reminder for? okaaaay
I'll have you know  I am SO MUCH MORE than just a reminder bot. but fine.
You're an ass...but okay,
forever and always,
But of course, dear
DUDE!!  YES I WOULD BE SO HAPPY TO ASSIST
grass grows, birds fly, sun shines, and ... i remind people. I'M A FORCE A NATURE
lmao that's what you need a reminder for? yeah ok
ehhhhhhhh ok
[blinks] what now? yeah uhhh sure thing boss
hopefully you don't mind if I end up a few hours off on that one, been a long day and I may doze off.
fiiiiiiiiiiiiiiiiiine
ooo not sure if I can count that high but I'll give it my best shot!!!
I'd rather boot myself on an unprotected windows XP install than deal with you but we can't all have what we want, can we?
NO.  NOT GON-- screw it.  Of course,
uhhhhhhhhhh oh yeah k i'll probably remember
grumbles yeah yeah fine  can do.
I'm on it, chief.
For the lovely ?
DUDE!!


ngModel doesn't works

Using system.js the components don't recognize the propertie [(ngModel)].

Are you missing import FormsModule?

Thanks man, that was the problem. Solved it. Sorry for the mistake, I just started learning angular 2.

: )


Implement COOP and COEP

See the Mozilla documentation on COOP and COEP.
i noticed that some of the documentation was basically copy-pasted from the Mozilla documentation, so I did the same. Happy to use my own wording if that's undesired.
Fixes #460.

Rebased after https://github.com/hyperium/http/pull/579.

Working on a PR in a dependent lib which could use this if it's close to approval.
Updates look correct to me.

Hello all.
I would also suggest adding the following headers too:

Cross-Origin-Resource-Policy
X-Permitted-Cross-Domain-Policies
Clear-Site-Data

They are headers recommended by OWASP (see https://owasp.org/www-project-secure-headers/#configuration-proposal), and I think that they should exist in http as constants.


Allow committee admin personal info edit

Closes #3702
Closes #3806
Needs https://github.com/OpenSlides/openslides-backend/pull/2487

Meeting-admins:
If participant Ann is an admin in meeting A and B and participant Ben is a participant in only these two meetings then Ann should be able to change the personal information from Ben, but the personal information fields are currently disabled in this scenario.
If Ben is only in one of these meetings then Ann can change the personal information currently

That is indeed an inconsistency, however it was not part of the issue. If you want this changed, we'll have to discuss it with the appropriate people and define the requirements for both the backend and the client.
Regardless, I would suggest doing that separately after this issue is merged

Meeting-admins:
If participant Ann is an admin in meeting A and B and participant Ben is a participant in only these two meetings then Ann should be able to change the personal information from Ben, but the personal information fields are currently disabled in this scenario.
If Ben is only in one of these meetings then Ann can change the personal information currently

That is indeed an inconsistency, however it was not part of the issue. If you want this changed, we'll have to discuss it with the appropriate people and define the requirements for both the backend and the client. Regardless, I would suggest doing that separately after this issue is merged

that is part of the bug issue #3806
see nr 2 of wanted behaviour:

write permission: A meeting admin has write permission for personal information if they are an admin in ALL meetings in which a user is also a participant

Meeting-admins:
If participant Ann is an admin in meeting A and B and participant Ben is a participant in only these two meetings then Ann should be able to change the personal information from Ben, but the personal information fields are currently disabled in this scenario.
If Ben is only in one of these meetings then Ann can change the personal information currently

That is indeed an inconsistency, however it was not part of the issue. If you want this changed, we'll have to discuss it with the appropriate people and define the requirements for both the backend and the client. Regardless, I would suggest doing that separately after this issue is merged

that is part of the bug issue #3806 see nr 2 of wanted behaviour:

write permission: A meeting admin has write permission for personal information if they are an admin in ALL meetings in which a user is also a participant

That has never been a requirement before. It is therefore a feature request.


Check for existing object before migrating

Check for existing object before migrating

JIRA Ticket: (https://jira.lyrasis.org/browse/FCREPO-3643)
What does this Pull Request do?
When migrating an object, if the object already exists in the OCFL repo, throw an exception instead of migrating content on top of what's already there.
How should this be tested?
There are a couple automated tests, but to test manually, run the migration over the same content twice - it should fail the second time because the first object was already migrated.
Additional Notes:
Documentation will need to be checked/updated.
Interested parties
@fcrepo/committers

thanks, fixed


Typos in tutorial page "Generate tag pages"

On the tutorial page Generate tag pages there are several typos in the file names and file paths.

"src/pages/tags/[tag]" has to be replaced by "src/pages/tags/[tag].astro".
"src/pages/posts/tags/[tag].astro" has to be replaced by "src/pages/tags/[tag].astro" (many times)
"/src/pages/posts/tags/[tag]" has to be replaced by "src/pages/tags/[tag].astro"
"src/pages/tags/index.astro" refers to a page which has not been created before, so I am not sure if the file name is correct. That file will be created only in the next lesson. I assume it has to be "src/pages/tags/[tag].astro" again.

Thanks so much for reporting these! Would you be up for creating a PR fixing these?

Thanks so much for reporting these! Would you be up for creating a PR fixing these?

Unfortunately I am not able to do so in the next days. But (if nobody comes first) I can do it in about one week.


Saving the output coordinates

Hello. Thank you for the work. I was wondering if there's implementation to save the 3D coordinates for video in .fbx format.
Thank You

Hi! There is no such thing, however you can check #28 to get where coordinates can be taken to save as you want.

Thanks ! Closing this issue.


Is the label predicted by the model consistent with the label of the dataset?

In UCF101,for example, the model predicts 0 for a video, does it means ApplyEyeMakeup? Or, do you have another dict which maps the output of the model to another?

In the picture the first column is the  result predicted by your pretrained model, and the second is the ground truth, so, it seems like that 3 corresponds to 43，and 76 corresponds to 50 ???
I'm very confused that i do not find any dict that maps the output of a model to its ground truth, it is so odd. By the way, i use python2


Auth sample or extension using OpenIdConnect

Would you be interested in a PR with an auth sample or additional extension using OpenIdConnect? I've been using it for connecting to Azure and was wondering if you might be interested in such. I tried to follow the pattern of your existing sample(s).
The current implementation has a dependency on the Microsoft.AspNetCore.Authentication.OpenIdConnect NuGet package.
Here is the implementation.
let private addCookie state (c : AuthenticationBuilder) = if not state.CookiesAlreadyAdded then c.AddCookie() |> ignore

type ApplicationBuilder with
    ///Enables OpenId authentication with custom configuration
    [<CustomOperation("use_open_id_auth_with_config")>]
    member __.UseOpenIdAuthWithConfig(state: ApplicationState, (config : Action<Authentication.OpenIdConnect.OpenIdConnectOptions>) ) =
      let middleware (app : IApplicationBuilder) =
        app.UseAuthentication()

      let service (s : IServiceCollection) =
        let c = s.AddAuthentication(fun cfg ->
          cfg.DefaultScheme <- CookieAuthenticationDefaults.AuthenticationScheme
          cfg.DefaultChallengeScheme <- OpenIdConnectDefaults.AuthenticationScheme
          cfg.DefaultSignInScheme <- CookieAuthenticationDefaults.AuthenticationScheme)
        addCookie state c
        c.AddOpenIdConnect("OpenIdConnect",config) |> ignore
        s

      { state with
          ServicesConfig = service::state.ServicesConfig
          AppConfigs = middleware::state.AppConfigs
          CookiesAlreadyAdded = true
      }

And here is a sample of the config and usage.
let openIdConfig =
  let clientId = "client_id"
  let tenantId = "tenant_id"
  let authority = sprintf "https://login.microsoftonline.com/%s/" tenantId

  let fn = (fun (opt : Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions) ->
    opt.ClientId <- clientId
    opt.Authority <- authority
    opt.UseTokenLifetime <- true
    opt.CallbackPath <- Microsoft.AspNetCore.Http.PathString("/signin-oidc")
    opt.ResponseType <- "id_token"
    )

  new Action<Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectOptions>(fn)

let app = application {
    url ("http://<IP_ADDRESS>:" + port.ToString() + "/")
    use_router appRouter
    memory_cache
    use_static publicPath
    use_open_id_auth_with_config openIdConfig
    use_gzip
}

Hey, this looks good. I'd happy to include it as a "extension" library - take a look how Saturn.Extensions... projects are organised.

Thanks! I'll take a look and submit a PR.

I used this sample in an in progress "for fun" application at my work, and this sample OpenID + Azure Active Directory authentication worked just fine! 🎉 I would happy to submit a PR if @talbottmike does not have the bandwidth.
The only problem I have is configuring CORS correctly for my Fable UI to use the Saturn API for Open ID auth, but I think that is more of a problem with me than with this Saturn sample. The Saturn auth portion is doing fine.


Feat/support head metadata

@jamesagnew this is the corrected version of https://github.com/hapifhir/hapi-fhir/pull/6152
I've moved the changelog entry to 7.8.0


localization-Chinese-Taiwan in v3.0.0 RC1

Before opening the issue, have you...?

[x] Searched for existing issues

Discussion
I try my best to translate it into Chinese in v3.0.0 RC1
zh-tw.lproj.zip

Thanks, I'll add the localization in the next version.
Question: is Chinese-Taiwan the same as Chinese translation? Are there differences in the language?
Thank you and hope this question is not sensitive as I know there are some geopolitical disputes.

I think when adding it to the project, we can use this one:

Wow I see, right! So many Chinese options. :) We'll do that!

@ting10688 - I noticed that some minor things like "Yes", "No" are not translated but remained English. Is that ok or just an oversight?

@ting10688 - 我注意到諸如“是”、“否”之類的一些小東西沒有被翻譯，但仍然是英文。這是可以的還是只是一個疏忽？

It won’t be a big problem for me, but I still fixed it.
zh-tw.lproj.zip

Made a small modification.
zh-tw.lproj.zip

Thanks @ting10688, I added the files, here is the pull request: https://github.com/MonitorControl/MonitorControl/pull/538

This was added to the master branch. I'll close this issue now. Thank you!


2.0 - App Insights integration

App Insights integration
Hosting startup and AI

Assigned to @bwren

Where to read details about this?
I have found only this info:
Hosting environments can now inject extra package dependencies and execute code during application
startup, without the application needing to explicitly take a dependency or call any methods. This feature can be used to enable certain environments to "light-up" features unique to that environment without the application needing to know ahead of time.
In ASP.NET Core 2.0, this feature is used to automatically enable Application Insights diagnostics when debugging in Visual Studio and (after opting in) when running in Azure App Services. As a result, the project templates no longer add Application Insights packages and code by default.

@hardhub [@]bwren will be documenting the Application Insights integration.  No ETA yet.

Until the docs are done, where can I learn, how this works? Any hint?

I found this blog post interesting in understanding how the injection works. http://www.hishambinateya.com/istartup-vs-ihostingstartup

@bwren can we help you get started on this? Do you have an ETA for this.

@Rick-Anderson Sorry, there was some confusion on this.  Adding @mrbullwinkle who now owns App Insights.  I'll work with him to get this addressed.

@mrbullwinkle Are there any updates to provide on this? Anything you need from me?

@scottaddie it is on my internal VSTS board and I had originally planned to have it done this month. It got bumped by a few other tasks that I had not anticipated. I have two days blocked out next week to start working on this. I will send you an update 11/3 which I am tentatively targeting to have a first draft for your feedback/review.

@mrbullwinkle Just following up on this and hoping to get a status. Anything I can do to help?

per @mrbullwinkle:
I have added tasks to the App Insights backlog:
https://mseng.visualstudio.com/TechnicalContent/_workitems?id=1138727
https://mseng.visualstudio.com/TechnicalContent/_workitems?id=1138735
cc @anthonychu

cc @cecilphillip

@mrbullwinkle Any updates to provide?

@scottaddie Apologies again for the previous delay. I am working on the new App Insights .NET Core content right now,

This issue is addressed in this doc: https://docs.microsoft.com/azure/application-insights/app-insights-asp-net-core


Automated cherry pick of #9538: fix(cloudcommon): query string may be modified in listItemQuery

Cherry pick of #9538 on release/3.6.
#9538: fix(cloudcommon): query string may be modified in listItemQuery

Codecov Report

Merging #9539 (41b694a) into release/3.6 (b9d30c0) will increase coverage by 10.63%.
The diff coverage is 2.31%.

@@               Coverage Diff                @@
##           release/3.6    #9539       +/-   ##
================================================
+ Coverage         5.86%   16.50%   +10.63%
================================================
  Files              828       87      -741
  Lines           129133     9120   -120013
================================================
- Hits              7577     1505     -6072
+ Misses          120876     7483   -113393
+ Partials           680      132      -548

Flag
Coverage Δ

aFlag
16.50% <2.31%> (+10.63%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/apigateway/handler/auth.go
0.00% <0.00%> (ø)

pkg/hostman/diskutils/nbd/driver.go
0.75% <0.75%> (ø)

pkg/hostman/diskutils/nbd/lvmutils.go
4.93% <4.93%> (ø)

pkg/monitor/alerting/conditions/nodataquery.go
0.72% <0.00%> (-0.27%)
:arrow_down:

pkg/monitor/alerting/conditions/query.go
0.00% <0.00%> (ø)

pkg/keystone/models/projects.go

pkg/monitor/models/datasource.go

pkg/mcclient/options/k8s/fed_clusterrole.go

pkg/compute/models/specs.go

pkg/multicloud/aws/host.go

... and 637 more

Continue to review full report at Codecov.

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

/lgtm
/approve


feat: create a more intuitive way to assign display to windows

It is not clear which display has what number. Often the order of displays in Windows settings doesn't match the order of displays in System.Windows.Forms.Screen class. Because of that, user must reorder displays in Windows settings or app settings on each computer powering on or plugging video cable.
Also it would be better to have some GUI to visually see all the displays when assigning them to windows.

Add the names of displays in addition to their numbers.


export Element in window.js for support PlayCanvas engine

加上这一行可以运行
playcanvas 所给的示例。链接是
https://github.com/playcanvas/engine

非常感谢


REQ:  Ability to get a list of requested tv or movies.

Something like /list movies  or /list series and get a list of all the tv/movie titles so we can see at a glance if shows we plan to request are already requested.

This has been requested before, and I know Addarr has this feature. However, I do not intend to implement this in Searcharr. In my opinion, there is no elegant way to send a list of hundreds of items to a Telegram chat. Users would need to search the list for individual items anyway, so just use the Searcharr search command and the Add button will say it's already in the library if applicable. This also reduces the steps to check and add a movie, because you don't have to search the chat and then search with Searcharr before adding--you can just search once and add/cancel.


Remove enabledConfigName field

See also: https://github.com/coda/packs/pull/2926
PTAL @coda/packs

just FYI this will break coda repo when we import this packs-sdk version.

Yup, I'll update the coda repo too.


Moved the test database generation

Moved the test database generation from build.rs files to the top level Makefile
The build.rs files were not being triggered consistently, resulting in sporadic test failures that were hard to diagnose.
In general, we've decided that mixing build steps between build.rs files and Makefiles makes things difficult, and build.rs cannot handle all of the cases we need, so this is part of a larger effort to minimize the use of build.rs

A problem I've noticed is that there are several populate-test-database.sh scattered in the repo of various levels of up-to-date (proxy-attestation-server/populate-test-database.sh was very out of date when I checked as a part of https://github.com/veracruz-project/veracruz/pull/75).
Have we considered consolidating these into a single populate-test-database.sh in, say, the test-collateral directory? That takes an argument specifying the path to a database to populate? This would be useful for tests, examples, and maybe even users.
Orrrrrr, as a part of a larger PR, could a default database be generated in proxy-attestation-server?

A problem I've noticed is that there are several populate-test-database.sh scattered in the repo of various levels of up-to-date (proxy-attestation-server/populate-test-database.sh was very out of date when I checked as a part of #75).
Have we considered consolidating these into a single populate-test-database.sh in, say, the test-collateral directory? That takes an argument specifying the path to a database to populate? This would be useful for tests, examples, and maybe even users.
Orrrrrr, as a part of a larger PR, could a default database be generated in proxy-attestation-server?

Yeah, I've noticed this too: there seems to be three copies of populate_test_database.sh in various subdirectories within the repository, and they all contain different material.  I got confused by this when working on the end-to-end-demo last week, as some of those scripts just don't work.  I'd be in favour of consolidating all of these into a single script, and putting the generated database in test-collateral too.

I had forgotten about the one in proxy-attestation-server. That one is definitely obsolete. The other two (in veracruz-test and veracruz-server-test should be identical, but are not. (PR #146 fixes this).
It's a good idea to put one copy in test-collateral. I will do that.

LGTM, though I see there's conflicting files.  If you fix them, I'll approve again straight away.

All tests pass

+1+1 = +1 reached, merging.


How get dual variables?

Hi all,
This is not an issue per se, but more of a question.
Is there a way/command that allows us to extract the dual variables from the solution?
I'd appreciate any pointer :-)
-GXZ

Hi @XiaojingGeorgeZhang,
If you're using JuMP, please take a look at the JuMP docs. The function you're after is getdual.
If you're using Gurobi.jl directly (which we don't recommend), you can access standard Gurobi attributes (e.g., "Pi") using functions like
https://github.com/JuliaOpt/Gurobi.jl/blob/4a872c1ceed82df150558b62d968b09ab12fb18c/src/grb_attrs.jl#L60
(look around the file for the rest).
In the future, please post questions like this to the Discourse forum. As you say, we try to reserve the Github issues for issues rather than questions.
Good luck using Gurobi.jl!

Closing as this doesn't appear to be an issue with the Gurobi.jl package. Please re-open if that isn't the case.


CAS ios error - the application opens and then closes itself

Project; It works before integrating CAS into the project. When CAS is integrated, the following error appears and the application opens and closes on the real device. ,
It was tested on iPhone 6 real device ( IOS: 12.5.7) and ios 15 pro simulator (17.4) devices.
ERROR

I followed the steps here
XCODE VERSION: 15.2 (15C500b)
FLUTTER VERSION: 3.13.5
PACKAGE VERSION: clever_ads_solutions: ^0.2.4
FLUTTER DOCTOR:
Doctor summary (to see all details, run flutter doctor -v): [!] Flutter (Channel [user-branch], 3.13.5, on macOS 14.3 23D56 darwin-x64, locale tr-TR)     ! Flutter version 3.13.5 on channel [user-branch] at /Users/bau/flutter       Currently on an unknown channel. Run flutter channelto switch to an official channel.       If that doesn't fix the issue, reinstall Flutter by following instructions at       https://flutter.dev/docs/get-started/install.     ! Upstream repository unknown source is not a standard remote.       Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error. [✗] Android toolchain - develop for Android devices     ✗ Unable to locate Android SDK.       Install Android Studio from: https://developer.android.com/studio/index.html       On first launch it will assist you in installing the Android SDK components.       (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed       instructions).       If the Android SDK has been installed to a custom location, please use      flutter config --android-sdk` to update to that location.
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google
Chrome.app/Contents/MacOS/Google Chrome)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[✓] VS Code (version 1.86.2)
[✓] Connected device (1 available)
[✓] Network resources`
PODFİLE
`source 'https://cdn.cocoapods.org/'
source 'https://github.com/cleveradssolutions/CAS-Specs.git'
platform :ios, '13.0'
CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), FILE)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks! :linkage => :static
use_modular_headers!
$casVersion = '~> 3.5.6'
pod 'CleverAdsSolutions-SDK/Optimal', $casVersion
flutter_install_all_ios_pods File.dirname(File.realpath(FILE))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end`

@Str4tos iOS simulator also gives the same error as shown in the image.

Please open a new issue with additional information if the problem still persists.
This issue is closed due to inactivity.


Small fix for neurax.go

Fixed last_to_upper at line 856

Thanks :33

Happy to help

Saya senang bisa membantu

Tanks


lease: recovery leases from backend

In lease pkg, we only needs to recover lease ID and its TTL. When we recovers the kv, we will re-attach key-value pairs to its corresponding leases.

/cc @gyuho @heyitsanthony

lgtm

@gyuho Please take another look. Thanks!

Lgtm. Thanks!


Update wakapi chart

It's old. Bump the appVersion and make sure to check for incompatibilities.

nvm its the newest version available


Query Builder escape function bug

On MySQL and MySQLi driver
system/database/drivers/mysqli/mysqli_driver.php
system/database/drivers/mysql/mysql_driver.php
on the method escape_str
/**
	 * Escape String
	 *
	 * @param	string
	 * @param	bool	whether or not the string will be used in a LIKE condition
	 * @return	string
	 */
	public function escape_str($str, $like = FALSE)
	{
		if (is_array($str))
		{
			foreach ($str as $key => $val)
			{
				$str[$key] = $this->escape_str($val, $like);
			}

			return $str;
		}

		$str = is_object($this->conn_id) ? $this->conn_id->real_escape_string($str) : addslashes($str);

		// escape LIKE condition wildcards
		if ($like === TRUE)
		{
			return str_replace(array($this->_like_escape_chr, '%', '_'),
						array($this->_like_escape_chr.$this->_like_escape_chr, $this->_like_escape_chr.'%', $this->_like_escape_chr.'_'),
						$str);
		}

		return $str;
	}

this cause single quote input into function
$this->db->like() or $this->db->escape_like_str("  ' ", TRUE);
Produce unwanted error

$this->db->like('field', "   '  ");

# suppose become
# \'

# instead
# \\'

Whatever happened to this fix?
I'm looking in https://github.com/bcit-ci/CodeIgniter/blob/master/system/database/drivers/mysqli/mysqli_driver.php and it doesn't set _like_escape_chr to "" anywhere (like the fix does) and so the value remains "!" from DB_driver.php, generating incorrect queries
@narfbg

I don't understand why you think "the fix" sets \ as the escape character - it never did - nor what you mean by incorrect queries.

@narfbg
I was mistaken.  The "fix" you link above actually removes the correct values of _like_escape_chr from the various database drivers.
The end result is that CI is unable to form queries properly that use the like operand, and which contain terms with underscores.
For example, it generates this query: SELECT * FROM a WHERE b like '%first!_last%'
When I try to run this query in mysql, it breaks.
The correctly formed query follows: SELECT * FROM a WHERE b like '%first_last%' --to find entry "first_last"

CI doesn't generate such queries, it puts ESCAPE '!' at the end.
86d2ec40b47f885a6d7e28b9dd519fac3332e7ae

Ah, in that case it must have been fixed in the most recent version, as I can only confirm this issue in 3.0.1 and am currently unable to upgrade to test.  Sorry for the confusion

It's not ... you're confusing what CI generates (which happens via the QB like() method) and what escape_like_str() returns when used on its own.


Bug ERRORs after 0.7.22

Observed behaviour
After updating FontBakery to .22, six errors were reported on Varta variable font. This only happened after changing the name to the canonical fontName[wght].ttf.
Some of the Errors refer to a "previous release" of the font on Google Fonts, but being a new font not yet on the API there is not a previous release.
Others, regarding Family Name, are hard to understand given the rationale is not entirely clear or explanatory.
This is related to #2825
Expected behaviour
To find more explanatory rationals on what is happening or how to proceed. Maybe it could include a note on "Please file an Issue for this"?
Resources and exact process needed to replicate
Fontbakery report
Fontbakery version: 0.7.22

[8] Varta[wght].ttf

💔 ERROR: Version number has increased since previous release on Google Fonts?

com.google.fonts/check/version_bump

💔 ERROR The condition FontBakeryCondition:api_gfonts_ttFont had an error: FailedConditionError: The condition FontBakeryCondition:remote_styles had an error: FailedConditionError: The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

💔 ERROR: Glyphs are similiar to Google Fonts version?

com.google.fonts/check/production_glyphs_similarity

💔 ERROR The condition FontBakeryCondition:api_gfonts_ttFont had an error: FailedConditionError: The condition FontBakeryCondition:remote_styles had an error: FailedConditionError: The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

💔 ERROR: Check name table: FONT_FAMILY_NAME entries.

com.google.fonts/check/name/familyname

--- Rationale ---

Checks that the family name infered from the font filename matches the string
at nameID 1 (NAMEID_FONT_FAMILY_NAME) if it conforms to RIBBI and otherwise
checks that nameID 1 is the family name + the style name.

💔 ERROR The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

💔 ERROR: Check name table: FULL_FONT_NAME entries.

com.google.fonts/check/name/fullfontname

💔 ERROR The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

💔 ERROR: Check name table: TYPOGRAPHIC_FAMILY_NAME entries.

com.google.fonts/check/name/typographicfamilyname

💔 ERROR The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

💔 ERROR: Check if the vertical metrics of a family are similar to the same family hosted on Google Fonts.

com.google.fonts/check/vertical_metrics_regressions

--- Rationale ---

If the family already exists on Google Fonts, we need to ensure that the
checked family's vertical metrics are similar. This check will test the
following schema which was outlined in Fontbakery issue #1162 [1]:

- The family should visually have the same vertical metrics as the
  Regular style hosted on Google Fonts.
- If the family on Google Fonts has differing hhea and typo metrics,
  the family being checked should use the typo metrics for both the
  hhea and typo entries.
- If the family on Google Fonts has use typo metrics not enabled and the
  family being checked has it enabled, the hhea and typo metrics
  should use the family on Google Fonts winAscent and winDescent values.
- If the upms differ, the values must be scaled so the visual appearance
  is the same.

[1] https://github.com/googlefonts/fontbakery/issues/1162

💔 ERROR The condition FontBakeryCondition:remote_styles had an error: FailedConditionError: The condition FontBakeryCondition:familyname_with_spaces had an error: TypeError: expected string or bytes-like object

⚠ WARN: Stricter unitsPerEm criteria for Google Fonts.

com.google.fonts/check/unitsperem_strict

--- Rationale ---

Even though the OpenType spec allows unitsPerEm to be any value between 16 and
16384, the Google Fonts project aims at a narrower set of reasonable values.

The spec suggests usage of powers of two in order to get some performance
improvements on legacy renderers, so those values are acceptable.

But value of 500 or 1000 are also acceptable, with the added benefit that it
makes upm math easier for designers, while the performance hit of not using a
power of two is most likely negligible nowadays.

Another acceptable value is 2000. Since TT outlines are all integers (no
floats), then instances in a VF suffer rounding compromises, and therefore a
1000 UPM is to small because it forces too many such compromises.

Therefore 2000 is a good 'new VF standard', because 2000 is a simple 2x
conversion from existing fonts drawn on a 1000 UPM, and anyone who knows what
10 units can do for 1000 UPM will know what 20 units does too.

Additionally, values above 2048 would result in filesize increases with not
much added benefit.

⚠ WARN Even though unitsPerEm (2048) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations. [code: legacy-value]

⚠ WARN: Is there kerning info for non-ligated sequences?

com.google.fonts/check/kerning_for_non_ligated_sequences

--- Rationale ---

Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).

⚠ WARN GPOS table lacks kerning info for the following non-ligated sequences:

f + f
f + i
i + l

[code: lacks-kern-info]

Summary

💔 ERROR
🔥 FAIL
⚠ WARN
💤 SKIP
ℹ INFO
🍞 PASS
🔎 DEBUG

6
0
2
69
8
81
0

4%
0%
1%
42%
5%
49%
0%

Note: The following loglevels were omitted in this report:

SKIP
INFO
PASS
DEBUG

Current working branch https://github.com/vv-monsalve/Varta/tree/QA-VartaST2

Yep, the "new issue" link mentioned here fontbakery-dashboard #170

After updating FontBakery to .22, six errors were reported on Varta variable font. This only happened after changing the name to the canonical fontName[wght].ttf.

This has been fixed in #2817

Great!
@vv-monsalve, please open new issues for each of the checks that have unclear rationale.


add app icon (256x256)

On launching either the .deb production package or the dev package, the boring default app icon appears in OS window.
I chose to add the 256x256 icon, and it works in linux.
This seems like low hanging fruit, perhaps it was removed from before? My fix didn't work when I tested on mac: mac displays the default electron icon instead of the icon provided.
I will test on windows later tonight.

The 256 doesn't look great in windows, and yet the docs say to specify a 256 for windows. Is this an icon format/antialiasing thing?

I should have used the .ico file. The 256 png does not scale well in my windows test.