Methodology Page: Screen reader focus doesn't land on the intended heading.

Description
The "Learn more" links from the Filter UI point to span IDs in the Methodology page, where  upon navigating to it, the topic is framed beautifully in view.  However,  when using a screen reader this gets confusing. Here's an example:
Get Access "Learn More link" points to /methodology/#access-method

screenshot

In Methodology page, this ID is pointing in this <span>, I believe because we wanted the "How did we determine “priority”?" heading to be centered in view:

Screenshot

However, this is putting the screen reader focus on the paragraph above the intended heading, thus screen reader announces this first.
A screen reader user may get thrown off when this paragraph is announced without a title or context, because coming from the Filter UI link we tell them this link goes to Methodology - Priority Level. The expectation would be that it announces the heading for Priority Level topic.
Recommendation

Put the span before the heading (or put the ID on the heading itself and test if it works), even if it means the heading will not be beautifully centered in view, so that screen reader announces the heading right away.

Can I be assigned this one?


sign: add --all-targets option

This could be useful to easily sign with a succinct key
during (or just before) the snapshot process.
Signed-off-by: Jussi Kukkonen<EMAIL_ADDRESS>

The professional way to sign with succinct key would be to figure out which roles have changed but this would be a quick and dirty solution


Enable destroy naming via AJAX

This makes the destroy link in the namings table (only available to the user who proposed the name) able to submit "remotely", i.e. via rails-ujs ajax. It adds a handler for the successful destroy action as a js template, destroy.js.erb.
Please test manually

Groovy.  Looks like you got this down! :)

Coverage: 93.486% (-0.003%) from 93.49% when pulling 27099f2eefd747c1204a22b626393e5cd763e13f on nimmo-destroy-naming-ajax into 5b12a8b77488db4414f8b0bfdac4a12a7f7dc538 on main.

The whirly has been added to the remote delete button.

@pellaea Potential issue: For destroy, the whirly goes away if you confirm the destroy, after the db action has happend. But it stays on the screen if you cancel at the "Are you sure?" prompt. You have to click outside the whirly to dismiss the whirly.
The choices are: no whirly, or this.
I don't know how to bind to the JS-generated confirm dismiss event, it would need to be written into the original handler, in this case extending rails-ujs probably. Not worth it i believe.

Not important, do away with the whirly?
On Thu, Feb 16, 2023 at 10:41 PM andrew nimmo @.***>
wrote:

@pellaea https://github.com/pellaea Potential issue: For destroy, the
whirly goes away if you confirm the destroy, after the db action has
happend. But it stays on the screen if you cancel at the "Are you sure?"
prompt. You have to click outside the whirly to dismiss the whirly.
The choices are: no whirly, or this.
I don't know how to bind to the JS-generated confirm dismiss event, it
would need to be written into the original handler, in this case extending
rails-ujs probably. Not worth it i believe.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1355#issuecomment-1434053109,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNKWOXKV2IM3DAEL3HTWX3XNJANCNFSM6AAAAAAU26OLDQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Ok. Yeah, the confirm dialog is enough feedback to start with, for this one.

(I appreciate you taking the time to try it, though.  I think it would be
the "correct" way to do it.  But since it's not possible, so be it.)
On Thu, Feb 16, 2023 at 10:55 PM andrew nimmo @.***>
wrote:

Merged #1355
https://github.com/MushroomObserver/mushroom-observer/pull/1355 into
main.
—
Reply to this email directly, view it on GitHub
https://github.com/MushroomObserver/mushroom-observer/pull/1355#event-8543253328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAYTNNP2T4MFQVRQ5V57SF3WX3ZB7ANCNFSM6AAAAAAU26OLDQ
.
You are receiving this because you were mentioned.Message ID:
<MushroomObserver/mushroom-observer/pull/1355/issue_event/8543253328@
github.com>


Allow prefix in route directory structure

Is your feature request related to a problem? Please describe.
There should be a way to declare a prefixed routes directly with the directory structure.
Things like /@:username not seems to be possible without using the router-extras-module.
Describe the solution you'd like
Naming file like<EMAIL_ADDRESS>could work?
But with something like this, someone will want the suffix version too. So I am not sure :/
Describe alternatives you've considered
Using the router-extras-module with:
<router>
  {
    path: '/@:username'
  }
</router>

(full dummy file)
<template>
  <h1>{{ username }}</h1>
</template>

<script>
export default {
  asyncData({ params }) {
    const { username } = params

    return { username }
  },
}
</script>

<router>
  {
    path: '/@:username'
  }
</router>

Additional context
none

@Caceresenzo Depending on the reason behind what you're asking, you might be able to achieve what you want by using the validate() hook. Example:
~/pages/_username.vue
export default {
  validate({ route }) {
    return route.path.startsWith('/@')
  }
}

Failing that, the router-extras-module is probably the best solution.

@danielroe will this leave the @ in the params?

@Caceresenzo Yes.

@danielroe thanks for your time.
Its a little bit hacky, but should do the trick :)


Connection to kubelet based on IP not hostname

There is an issue when connecting to a kubelet endpoint over tls where the certificate used is based on hostname and not ip address.
When trying to connect to a kubelet endpoint in this situation, heapster will fail to connect and throw the following error:
1 kubelet.go:96] failed to get stats from kubelet url: https://<IP_ADDRESS>:10250/stats/metrics/hawkular-metrics-tbd9b/f00788ca-7760-11e5-99ca-3c970e88a56f/hawkular-metrics - Get https://<IP_ADDRESS>:10250/stats/metrics/hawkular-metrics-tbd9b/f00788ca-7760-11e5-99ca-3c970e88a56f/hawkular-metrics: x509: cannot validate certificate for <IP_ADDRESS> because it doesn't contain any IP SANs
Instead of getting the IP addresses from the Kubernetes master, we should use the hostname instead, or at the very least provide a means of configuring which option to use.
Note that using insecure cannot be used as a workaround due to https://github.com/kubernetes/heapster/issues/662

@mwringe What does kubectl get nodes show?

NAME      LABELS                          STATUS    AGE
mynode    kubernetes.io/hostname=mynode   Ready     18h

How about kubectl get nodes -oyaml? Just want to think of the best way to get the node address.

Note that it will work if I happen to name my node the same as its IP address (which is why it just happens to work on my machine but not on any others)

The node yaml output:
apiVersion: v1
kind: Node
metadata:
creationTimestamp: 2015-10-20T19:24:54Z
labels:
kubernetes.io/hostname: mynode
name: mynode
resourceVersion: "944"
selfLink: /api/v1/nodes/mynode
uid: 3e05f4bd-7760-11e5-a89f-3c970e88a56f
spec:
externalID: mynode
status:
addresses:

address: <IP_ADDRESS>
type: LegacyHostIP
address: <IP_ADDRESS>
type: InternalIP
capacity:
cpu: "4"
memory: 11997300Ki
pods: "40"
conditions:
lastHeartbeatTime: 2015-10-21T13:46:35Z
lastTransitionTime: 2015-10-21T13:01:13Z
message: kubelet is posting ready status
reason: KubeletReady
status: "True"
type: Ready
daemonEndpoints:
kubeletEndpoint:
Port: 10250
nodeInfo:
bootID: c8a62c9a-c8b2-4f61-beff-9578eaf25e23
containerRuntimeVersion: docker://1.8.1.fc21
kernelVersion: 4.1.6-100.fc21.x86_64
kubeProxyVersion: v1.2.0-alpha.1-1107-g4c8e6f4
kubeletVersion: v1.2.0-alpha.1-1107-g4c8e6f4
machineID: 3cb44cba06684ed79dd063d7fa1734b2
osImage: Fedora 21 (Twenty One)
systemUUID: 81DD6B6F-5C52-CB11-B83D-8C85C64DBBDB

The Heapster code looks for the IP address when connecting to the node and not the name

@liggitt What do you suggest for this? Node name doesn't have to be a resolvable address afaik & node IP isn't a SAN in node TLS cert.

If the node is accessed by IP, then the IP should be in the node's certificate as a SAN. What setup are you using to create the node's certificate?

By default, does kubernetes connect to the node via the IP & does it validate the node certificate?

If a ca is provided to the master for constructing the kubelet client, it verifies the cert.
It looks like connections to the node are IP based (https://github.com/kubernetes/kubernetes/blob/782102d4370f85228ca6aabbc84b998c266b6e6d/pkg/registry/node/strategy.go#L139)
I am not sure how the various setup scripts invoke the master, if they provide a kubelet CA or not

What setup are you using to create the node's certificate?

openshift start --write-config=openshift.local.config --hostname=myNode --public-master=$IP_ADDRESS --master=$IP_ADDRESS
As a work around, if I set --hostname=$IP_ADDRESS then it can connect

Fixed by #664.

I don't believe #664 does not fix this issue, I believe it only allows insecure to work with the kubelet endpoint and this is a separate issue.

#664 "fixes" it for a cluster that doesn't have certificates correctly set up as you had. Heapster cannot fix up poorly configured clusters but we can work with it...

I'm pretty sure the ansible installer adds the node IP to the serving cert (@sdodson, confirm?). Can you open an issue against openshift origin to fix the write-config option to include the IP?

#664 "fixes" it for a cluster that doesn't have certificates correctly set up as you had. Heapster cannot fix up poorly configured clusters but we can work with it...

Are we sure this is a broken setup? Not specifying the IP address in a certificate may not be the best idea, but I don't know if I would say its an invalid setup.

Are we sure this is a broken setup? Not specifying the IP address in a certificate may not be the best idea, but I don't know if I would say its an invalid setup.

There are degrees of invalid. Serving with a cert that doesn't include an address you expect to be contacted on is not a good setup

Ok, makes sense. Do we have a corresponding issue in OpenShift to track this?

Not that I'm aware of. Can you open an issue against openshift origin to add the IP to the node's certificate when running the all-in-one? I think the ansible install already builds the node's serving certificate correctly

@liggitt Ok, I created one here: https://github.com/openshift/origin/issues/5294

I'm pretty sure the ansible installer adds the node IP to the serving cert (@sdodson, confirm?). Can you open an issue against openshift origin to fix the write-config option to include the IP?

No it does not add the node's ip to the node's serving cert. I've added this to https://github.com/openshift/openshift-ansible/pull/609


Consider removing the IO monad

From writing the REPL I get the feeling that a strict language does not work that well with monadic action once a few actions are chained. Adding better syntax for monadic actions could maybe make it convenient enough but as the language isn't pure anyway it is likely better to remove the IO monad for now.

Instead of removing the IO monad it may be worth adding some syntax sugar to make it easier to write monadic actions.
let test = 123
do let x = Some a
do None
None

do <expr> in <expr_2>
// Indentation works instead of in
do <expr>
<expr_2>
==>
<expr> >>= (\_ -> <expr_2>)

do let x = <expr> in <expr_2>
// Indentation works instead of in
do let x = <expr>
<expr_2>
==>
<expr> >>= (\x -> <expr_2>)

let opt =
    do let x = get map "abc"
    return x
match opt with
| Some y -> y
| None -> error "Expected Some"

One idea for making this easier in the repl might be to have an :x <expr> command for executing IO actions, like in the Idris repl.
Imo, I would err on the side of keeping the ugliness for now, and figure out how to make it prettier later.

The repl already executes IO actions directly. Adding :x <expr> may make it more explicit though. I just mimicked ghci which also runs IO actions immediately.


Get back the focus to the browser pop-up

I am working on a modal dialog which helps me upload external files to a web-application. So far I am able to add an external file to the upload popup of the application. But, I am struggling to get back the control from Modal dialog to the upload pop-up. Here’s the locators for the popup div element
<div tabindex="-1" class="ui-dialog-buttons" role="dialog" aria-describedby=" uploadAttachmentsDialog" aria-labelledby="uid1" style="left: 338px; top: 223px; width: 600px; height: auto; display: block; position: absolute; z-index: 20002;">
By using the above “aria-labelledby” attribute I was able to get the pop-up and launch the modal dialog. But, after the modal dialog closes after selecting a file and clicking Open button, I am not getting the focus/control back to the popup. Can anyone please guide me on this. Following is how I have handled the modal
window = RAutomation::Window.new(:title => "Open", :adapter => :autoit)
window.text_field(:ID => "1148").set "path_to_file"
window.button(:ID => "1").click

Got it working without "autoit" adapter.


Organize a "Nearby Places that need photos" walk?

A suggestion I received: An event like "let's take a walk in the city, take some photos, and upload them to Commons" would potentially sound fun and attractive to new contributors. This would be different from a workshop in that, rather than an official "tutorial" on how to use the app, it would be an outdoor exercise and would focus primarily on using Nearby. Thoughts?
@sivaraam @VojtechDostal @nicolas-raoul @neslihanturan

This sounds really interesting! It would be more practical and entertaining if we could find the appropriate place for such an event.
The place would play an important role because if there aren't enough interesting things to capture and upload then it wouldn't be fun. Nearby does show places which need images but I'm not sure if all places that need an image would be interesting enough for such an event. That's why I think we can't just pick the place indicated by Nearby as needing a lot of images. Some groundwork would have to be done to ensure the place is interesting.
Coming to Nearby, we would have to ensure that any crucial bugs in Nearby have been squashed to ensure it doesn't come back to us biting during the event 😉 I'm not sure if there are any, just wanted to mention this.

Yes, I would use it :-)
Ideally the user would be able to select what distance they can/want walk, for instance 1km/2km/5km/10km/20km. The algorithm would then calculate the route, going via as many places with no photo as possible. In the countryside it might not be funny, but in most cities it should find enough places. If there are no places at all that need a picture, switching to ALL Wikidata items (including those with a picture) could be an interesting addition in a subsequent phase.
We have to find a catchy name for this feature, maybe "Adventure" or "Trail" or "Challenge" or something.
I agree with @sivaraam that Nearby bugs must be fixed first, and especially the blue dot must follow the user while they walk :-)

This is an really interesting idea, what about suggesting this feature as a hackathon 2020 idea, if none of us are there? I think this can be implemented during a hackathon scope.

Awesome, thanks for the feedback, everyone! :) It sounds like there are two different (but related) things being discussed here, though:

An implemented feature in the app that would calculate a route for the user
An organized event that is publicized, there is someone to guide everyone, everyone would do the same route. I think in this case, as @sivaraam mentions, we probably would want to scout the place and select it ahead of time, instead of using an automated algorithm

Option 1 sounds great for the hackathon. Actually, Option 2 is probably OK for the hackathon too, but it would require more organizing from someone who is attending the hackathon. :) I think we can implement Option 1 during the hackathon (if people are interested), and then organize Option 2 later.
Yes, we would need to squash all bugs in Nearby before organizing Option 2. In fact, I think we should also have the iOS app up before organizing this event, so that everyone can be included regardless of what phone they are using. Fortunately, we have plans for this in the near future... :)

It sounds like there are two different (but related) things being discussed here, though:

Yeah, you're right. I'm kind of curious as to how 1 came up 🤔 Doesn't matter, though.

An implemented feature in the app that would calculate a route for the user, which is what I think @nicolas-raoul and @neslihanturan are talking about.

An algorithm that plans the route does sound interesting. Though I also slightly suspect that the devil is in the detail.

I think we should also have the iOS app up before organizing this event, so that everyone can be included regardless of what phone they are using. Fortunately, we have plans for this in the near future... :)

Hey, this sounds cool! I didn't know an iOS app was coming up. That would really be a good thing as there are indeed a lot of iOS users out there.

An algorithm that plans the route does sound interesting. Though I also slightly suspect that the devil is in the detail.

Haha, it is possible. I do think that if we don't have strict requirements for the route it would be doable. We don't necessarily need to solve the traveling salesman problem...

Hey, this sounds cool! I didn't know an iOS app was coming up. That would really be a good thing as there are indeed a lot of iOS users out there.

Yes! Well, at least, we have a proposal in the works... I will link you when it's up. ;)

An algorithm that plans the route does sound interesting. Though I also slightly suspect that the devil is in the detail.

Haha, it's possible that that could be the case. I do think that if we don't have strict requirements for the route it would be doable.

Exactly. But one problem is that the route planned might not be an optimal one. That should hopefully be fine. Just speculating 😉

We don't necessarily need to solve the traveling salesman problem...

Yeah. We would just be fine if we're cautious in not getting lost in the details when implementing the solutions. We should plan to improve the algorithm in iterations rather than trying to get the best version in the first attempt.

Hey, this sounds cool! I didn't know an iOS app was coming up. That would really be a good thing as there are indeed a lot of iOS users out there.

Yes! Well, at least, we have a proposal in the works... I will link you when it's up. ;)

Sure! I'll be glad to be involved and contribute in ways I could regardless of the fact that I don't own an iPhone :wink:

Just wanted to share a page which seemed related to this: https://meta.wikimedia.org/wiki/Wikiexpedition

Oh, so that's the name of what we were talking about... 😄
Thanks for the resource! We still have about a year before we start planning this (perhaps longer, depending on the duration of the WMF offline events ban...), but it is great to have more info at our fingertips for when we start.

After v4 release (soon, hopefully!), it will be time to start planning the publicity measures, notably this task and #2428 .
Based on https://meta.wikimedia.org/wiki/Grants:Risk_assessment_during_COVID-19 , unless we limit this event to 10 people or less, we will have to go through a rather complicated risk assessment and apply for approval from the Foundation. So, IMO our options are to either run this for 9 people (+1 for the organizer) and turn any extra participants away, or to just focus all our attention on #2428 instead, which is virtual.
I would personally be in favour of the latter, but interested in others' opinions. @neslihanturan @madhurgupta10 @nicolas-raoul @sivaraam ?

Based on https://meta.wikimedia.org/wiki/Grants:Risk_assessment_during_COVID-19 , unless we limit this event to 10 people or less, we will have to go through a rather complicated risk assessment and apply for approval from the Foundation. So, IMO our options are to either run this for 9 people (+1 for the organizer) and turn any extra participants away, or to just focus all our attention on https://github.com/commons-app/apps-android-commons/issues/2428 instead, which is virtual.

Have you seen the latest update on this? https://diff.wikimedia.org/2022/03/29/announcement-of-the-removal-of-the-covid-travel-policy/

@VojtechDostal That's great news, thanks for sharing! :) I had no idea about that, I guess the grant pages weren't updated yet.
Incidentally, do we know if any hackathons/meetups are currently being planned for this year, or will that be too soon? If they are, it would be fantastic to be able to tag this on to one of those perhaps.

Incidentally, do we know if any in-person hackathons/meetups are currently being planned for this year, or will that be too soon? If they are, it would be fantastic to be able to tag this on to one of those perhaps.

I am not aware of any. Wikimedia Hackathon is mostly happening online this year (https://m.mediawiki.org/wiki/Wikimedia_Hackathon_2022).

Hello all, here is the report of the photowalk that I facilitated last weekend:

10 people joined to the walk, 7 uploaded pictures to Commons
143 photos are uploaded
We worked as 5 groups, each has 2 people,
Here is the report tweet (I edited video of the event too): https://twitter.com/oydorgtr/status/1531550037477666816
Here is the call tweet (also called from telegram): https://twitter.com/oydorgtr/status/1530175574383132672
-Here is the dashboard https://outreachdashboard.wmflabs.org/courses/Özgür_Yazılım_Derneği_and_Yerçizenler/Photo_walk_İstanbul1/uploads

Also here is the wikishootme results:

Fantastic job, thanks a lot @neslihanturan ! :)


dhcpcd: stdout output sometimes empty when redirected to a file

Running dhpcd --dumplease with input from stdin and redirecting stdout to a file outputs nothing to the output. The reason is that printf / fprintf is used to write the output but it is not explicitly flushed when done, or before exiting, and stdout to files is fully buffered by default while stdout to terminals is line buffered by default.
This adds calls to fflush() at the end of dhcp_print_option_encoding() and script_dump(), plus one just before exiting dhcpcd.

Curious, why does the output not flush when dhcpcd exits?  exit() should close stdout, which will implicitly flush it, right?

Curious, why does the output not flush when dhcpcd exits? exit() should close stdout, which will implicitly flush it, right?

Good question, I think it is because with --dumplease the processing in main() pretends that the process forked and by the end of main _exit() is called if the process forked, for which flushing of stdio streams is platform-dependent and I guess not being done in Linux with glibc. The code is a bit difficult to follow though, so I may be mistaken.

Ahh.  It uses _exit().  Then that explains it.  Why it uses _exit() I don't know, but that answers my question.  Thanks.


Add maxColumns and removeEmptyRows parameters to ExcelHelper.ToDataTable()

Is your feature request related to a problem? Please describe.
Many times ExcelHelper.ToDataTable() returns DataTable like

The issue is probably caused by that cells has applied formatting, but in practice users might be loading thousands of unnecessary columns and rows which also has performance impact.

or it does not load DataTable at all, because of weird System.IndexOutOfRangeException, when cell count is for example 5, but row count is 4 (I do not know how to create such an excel, but I attach an example with that exception
ExcelWithOutOfRangeException.xlsx

Describe the solution you'd like
So I thought an elegant solution would be to extend method signature of ExcelHelper.ToDataTable() with maxColumns and removeEmptyRows like
public static DataTable ToDataTable(byte[] excelBytes, ExcelFormat excelFormat, bool removeEmptyRows = false, int? maxColumns = null)

Describe alternatives you've considered
Removing columns and rows can be done later when DataTable is already loaded (except that case throwing System.IndexOutOfRangeException) but it requires unnecessary additional loop through DataTable and is so common operation that it would be great to have it in one method and not have to write it separately.
Additional context
if there will be an interest in these features, I'll be happy to send a pull request.

@Ninjanaut, great thanks for your reporting and your valuable thoughts, sounds great to me, and it would be great if you could make a PR to fix it

Should be closed by #123 , #124
A new version 1.20.0 should work now, please report if this issue still exists, thanks.


Add KbdXylo project

Add KbdXylo project - demonstrates library usage, threads, classes, and platform-dependent imports.

Nice work please change the name of the project also include a Readme.md file including a brief description on the project.

Name changed to be clearer and README added.
Please let me know if you need anything else.

I am having some issue while installing the requirements can you guide me on solving this issue?

Only the top two requirements are needed on Windows. On POSIX systems, the additional two GObject libraries are required for boombox.

Only the top two requirements are needed on Windows. On POSIX systems, the additional two GObject libraries are required for boombox.

I am still having some issue

Likely an issue with how Boombox is implemented in Windows, as this works in Linux-based systems. I can have a look later.

On Windows, it will now set the is_alias flag of winsound, so that it does not try to verify the passed file location.
Please try again and let me know if the issue persists, thanks.

On Windows, it will now set the is_alias flag of winsound, so that it does not try to verify the passed file location. Please try again and let me know if the issue persists, thanks.

now the program seem to work but this issue seem to exist

volume is now passed to play_tone as a keyword-argument, which is ignored on Windows.
See boombox for more information.

LGTM, really nice work, Leave a ⭐ and also contribute more fun projects like this.👌


Expose ‘keepAlive’ option

Hi @bitinn, I wonder if you'd consider exposing the keepAlive option to http.request/https.request?
https://nodejs.org/api/http.html#http_http_request_options_callback
https://nodejs.org/api/https.html#https_https_request_options_callback

I actually prefer using a custom agent to achieve the same thing in this scenario, I don't think it's necessary to expose this options directly. What do you think, and do you actually see a huge improve in performance?
https://nodejs.org/api/http.html#http_new_agent_options

Hmm, fair point.  I guess it's for the convenience of setting a flag rather than a few extra lines.
I'll run some tests and get back to you……

here is a keepAlive wrapper for node-fetch, based on this stackoverflow post
// fetch: add option keepAlive with default true
const fetch = (function getFetchWithKeepAlive() {
  const node_fetch = require('node-fetch');
  const http = require('http');
  const https = require('https');
  const httpAgent = new http.Agent({ keepAlive: true });
  const httpsAgent = new https.Agent({ keepAlive: true });
  return async function (url, userOptions) {
    const options = { keepAlive: true };
    Object.assign(options, userOptions);
    if (options.keepAlive == true)
      options.agent = (parsedUrl => parsedUrl.protocol == 'http:' ? httpAgent : httpsAgent);
    delete options.keepAlive;
    return await node_fetch(url, options);
  }
})();

const response = await fetch('https://github.com/');
const response = await fetch('https://github.com/', { keepAlive: false });

I would probably have gone with Ilan Frumer solution instead than having to reconstruct agents for each request

I would probably have gone with Ilan Frumer solution

same thing : ) the two agents are initialized in the const fetch = ... IIFE and stay constant
ive added the fetch function name to make it more clear


Error when using Deployer with Laravel Valet

I'm using Laravel Valet, I just tried to run dep deploy and got:
Fatal error: Cannot redeclare output() (previously declared in
~/.composer/vendor/laravel/valet/cli/includes/helpers.php:39) in
~/.composer/vendor/deployer/deployer/src/functions.php on line 520

What should I do?

Can you give us the steps to reproduce this error?
I guess you are globally requiring both valet and deployer?

Just global require both.

This is a known problem with composer global requires, they can conflict and it is still an unsolved issue. It is not unique to valet and deployer.
I would suggest you use the phar installation method.
https://github.com/deployphp/deployer/blob/master/README.md#installation

Yep, that worked form me, thank you.


Add rails completion from @mernen

Bash completion for Rails from:
https://github.com/mernen/completion-ruby/blob/master/completion-rails

Thank you for your review. It's a good approach, but in this case the easiest way to use this script is to add it to the custom folder, because there is no other way to install it (except for Homebrew).
I was trying to help other people using Bash-it and Rails to get some basic completion by enabling this script quickly instead of copying it.
This script only provide completion for most common rails commands, and I still use it for Rails 6.0 without any issue, but if it will cause any problem for this project it's okay to not include it.

closing it as stating the license problem above


envelop/app

envelop/app
Description
Single install & import integrations of almost every useful/needed tool to create & deploy a GraphQL API with envelop, right now this proposal is using:

graphql-modules
graphql-ws
graphql-helix
graphql-codegen
graphql-tools
graphql-scalars

Goals:

Minimize boilerplate
Allow deep customization / configuration

Integrations with:

[x] Fastify (DONE)
[x] Express (DONE)
[x] Next.js (DONE)
[x] Vanilla HTTP Server (TODO)
[x] Koa (DONE)
[x] Hapi (DONE)

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist:

[x] I have followed the CONTRIBUTING doc and the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works (WIP)
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Codecov Report

Merging #119 (fe022f8) into main (5221ce4) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #119   +/-   ##
=======================================
  Coverage   75.49%   75.49%
=======================================
  Files          20       20
  Lines         510      510
  Branches       89       89
=======================================
  Hits          385      385
  Misses        125      125

Impacted Files
Coverage Δ

packages/core/src/create.ts
74.21% <100.00%> (ø)

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 5221ce4...fe022f8. Read the comment docs.

thanks @enisdenjo for the suggestions, improvements implemented 🎉

@dotansimha I'm encountering these errors because of the GraphQL version, but it's needed to be able to test the defer & stream directives implementation

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f644c81). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #119   +/-   ##
=======================================
  Coverage        ?   89.15%
=======================================
  Files           ?       51
  Lines           ?     1466
  Branches        ?      342
=======================================
  Hits            ?     1307
  Misses          ?      156
  Partials        ?        3

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 f644c81...4f97c93. Read the comment docs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@1ea19b0). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #119   +/-   ##
=======================================
  Coverage        ?   91.16%
=======================================
  Files           ?       57
  Lines           ?     1585
  Branches        ?      364
=======================================
  Hits            ?     1445
  Misses          ?      137
  Partials        ?        3

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 1ea19b0...8742bbb. Read the comment docs.

rebased on PR #230

Closed in favor of https://github.com/PabloSzx/graphql-ez


Add MP3 frame duration property

https://stackoverflow.com/questions/383164/how-to-retrieve-duration-of-mp3-in-net/13269914#13269914
This very helpful answer has been up since '12, however such a workaround should be handled by the library. So I simply modified the code a little bit and put it in a property in MP3 frame. No idea if this is applicable in any other frame types, since I'm not too familiar with audio processing, however it should do the thing for the MP3 use case.

I've not really tested it at all and the code was copied from the attached SO answer which was accepted. The code was adjusted accordingly so that the code looks cleaner.


Add Kinesis Indexing Service to core Druid

Major changes to review

SeekableStreamSupervisor and Kafka/Kinesis implementation classes
SeekableStreamIndexTask and Kafka/Kinesis  implementation classes
SeekableStreamIndexTaskRunner and Kafka/Kinesis  implementation classes
RecordSupplier and Kafka/Kinesis implementation classes

Motivation
The motivation for this PR is to add kinesis-indexing-service to core druid extensions and provide an abstraction seekablestream for streaming systems with the following characteristics:

Seekable: ability to seek to a specific point in the stream - so that we can store the offsets transactionally in an external system to ensure correctness and can return to a specific record if we need to retry after a failure
Partition-able: so that ingestion can be scaled out and handled by multiple indexing tasks
Partition-ordered: so that we have deterministic results from replica tasks that are independently reading the same partition

Major changes

Merged identical Kafka/Kinesis supervisor/task logic into common abstract classes
Created the RecordSupplier abstraction instead of using Kafka/Kinesis client APIs directly
Implemented incremental handoff and checkpointing for Kinesis
Introduced abstractions to avoid working with Kafka/Kinesis specific implementations like partition, shard, offsets, sequence number, shardIterators etc. directly
unit test coverage for Kinesis

The logic in KinesisIndexTask and KafkaIndexTask has not been merged yet, due to Kinesis not yet supporting incremental handoff, but this will be implemented in a follow-up PR. The code in the two index tasks are left as is for now.
incremental handoff in now implemented for Kinesis Index Task
The unit tests for Kinesis depends on LocalStack, a local AWS testing stack, which requires a running Docker instance
docker dependency is no longer required as mocks are used instead
Definition of Abstractions
SeekableStreamSupervisor
merged the logic from KinesisSupervisor and KafkaSupervisor, most notably the logic in runInternal() and the helper methods.
RecordSupplier
abstraction for fetching records from Kafka Server/Kinesis Stream. The implementation for Kafka is trivial as Kafka provides a KafkaConsumer which basically encapsulates all of the logic. KinesisRecordSupplier on the other hand is a full-fledged buffer implementation.
SeekableStreamIndexTaskRunner
merged logic from KinesisIndexTask (which didn't have the TaskRunner abstraction) and IncrementalPublishingKafkaTaskRunner. There is a slight discrepancy in fetching the next sequence number/offset in which the kafka task will read from starting offset (inclusive) to end offset (exclusive) while the Kinesis task reads from start sequence number (inclusive for 1st task, exclusive for all subsequent tasks) to end sequence number (inclusive). This is because Kinesis sequence numbers cannot be calculated simply like Kafka's, so instead of making an expensive API call to get the next sequence number, we store the current-already-read-to sequence number instead.
OrderedPartitionableRecord, SeekableStreamPartition, SeekableStreamPartitions
abstractions over the Kafka/Kinesis partition/shard, offset/sequence number concepts. These classes help to avoid working with Kafka/Kinesis specific types directly
Compatibility with other streaming systems
This abstract design is specifically aimed at partition-able, partition-ordered stream systems such as Kafka and Kinesis. Systems that do not have partitions or do not offer ordering within partitions are not good fits under this abstraction.

I have looked at the abstractions/Api added by this PR and am not convinced that this is the best abstraction for  Streaming Ingest Task.
First when you read the code you can not really tell what is the semantic around T1 and T2 ? can this be any object really? or does it have to be comparable ? or it extend numbers ? IMO we need to clear that out. is it really true that every record is part of a partition and has a sequence number?
My biggest concerns is that this abstraction will only work with Kafka/Kinesis. For instance the proposed abstraction of Record as
Record(String streamName, T1 partitionId, T2 sequenceNumber, List<byte[]> data)

will not fit Both Pulsar and Pravega of of the box, as far i can tell there is no notion of partition in both system.
Other question is that why the data is an ordered list of bytes ? does order really matter?
Also This Pr models both the record Id and a position in the stream with the pair of  <T1,T2> which can be problematic as well. I think it is better to have an abstraction for record Id independent from a position in the stream
Now i understand that this currently works nice with Kinesis and Kafka, but i am afraid that if we want to add support to another system will  lead to an entire code refactor -> PR with yet 16K line refactor. Thus i really recommend to have a proposal as a design review and then go from there.

First when you read the code you can not really tell what is the semantic around T1 and T2 ? can this be any object really? or does it have to be comparable ? or it extend numbers ? IMO we need to clear that out. is it really true that every record is part of a partition and has a sequence number?

I haven't read the patch yet, but I think it is useful to have an abstraction for ordered-partitionable streams (like Kafka and Kinesis have). It's because we have a lot of logic specifically around dealing with those kinds of systems when it comes to partition discovery, task creation, work assignment, and metadata handling. A lot of that shared code won't apply if the streams do not have an ordered-partition concept.
It seems like Pulsar topics are ordered-partitionable (they can have partitions, and those partitions have messages with ordered sequence IDs) so it should be able to fall under the same abstraction. I am not familiar with Pravega so I don't know about that one.

@gianm am not expert of Pulsar but if am not wrong Pulsar record id is per topic and not TopicPartition and  i think Consumer don't have the choice over the partition...https://pulsar.apache.org/docs/latest/getting-started/ConceptsAndArchitecture/#subscription-modes.
What am saying here is that instead of reviewing a 18K lines change PR, We need to have a Proposal to define basic abstractions like what is a record/recordId what is a partition, what is a sequence Number, what does seekAfter means, what does a checkpoint means etc ...

@b-slim thanks for the comments. The motivation for creating the SeekableStream abstraction is for seekable order partition-able streams, like Kafka and Kinesis, I should have been more specific in the pr description and naming the classes.
Regarding Pulsar, after digging into the docs for a bit, it seems that Pulsar is partition-able, but does not guarantee ordering within the partitions when shared subscription mode is used on the consumer side. So I think Pulsar and other systems like it do not fit the characteristics / share enough similarities with Kafka/Kinesis indexing service to be grouped under the same abstraction. In my understanding the Kafka indexing service is designed to support types of systems with these characteristics:

ability to seek to a specific point in the stream - so that we can store the offsets transactionally in an external system to ensure correctness and can return to a specific record if we need to retry after a failure
partitionable - so that ingestion can be scaled out and handled by multiple indexing tasks
partition-ordered - so that we have deterministic results from replica tasks that are independently reading the same partition

As for the Record class, it should probably be named something like OrderedPartitionableRecord as its purpose was not to serve as a generic record for any streaming task. The reason why it contains an order list of List<byte[]> data is because in our current Kafka supervisor implementation, a record's value is an array of bytes, as in IncrementalPublishingKafkaIndexTaskRunner
final byte[] valueBytes = record.value();
final List<InputRow> rows = valueBytes == null
        ? Utils.nullableListOf((InputRow) null)
        : parser.parseBatch(ByteBuffer.wrap(valueBytes));

and in KinesisRecordSupplier, when deaggregate is configured, UserRecord.deaggregate() returns a List<UserRecord>, which, is likely to maintain the order in which the messages were inputted into the aggregator
if (deaggregate) {
    data = new ArrayList<>();

    final List<UserRecord> userRecords = UserRecord.deaggregate(Collections.singletonList(kinesisRecord));
    for (UserRecord userRecord : userRecords) {
          data.add(toByteArray(userRecord.getData()));
    }
} else {
    data = Collections.singletonList(toByteArray(kinesisRecord.getData()));
}

I will update the pr description to include more details, and address the code reviews individually.

Thanks @jsun98 for being willing to add more detail to the PR description. I'd suggest including,

Definition of the abstractions being introduced & how they apply to Kafka and Kinesis.
Discussion of any other streaming systems you are aware of that these abstractions may (or may not) apply to.
Discussion of any approaches you considered when developing this (not sharing code at all, some other ways of sharing code) and why you chose the method you implemented.

I think it will help people understand the approach you took and make it easier to review it.

@b-slim Also as an FYI - this is a module that our customers have been running in production for some time now

@fjy please read my review, the questions I raised are about the abstraction mostly, not sure how this has to deal if this running on your customers clusters ....thanks.

@gianm included the points you mentioned in the PR description

Thanks!!

@dclim thanks for the comments! just fixed them please take a look.
Also added the refactored Kinesis Indexing Task and implemented incremental handoff. Major changes are in SeekableStreamIndexTask, SeekableStreamIndexTaskRunner, IncrementalPublishingIndexTaskRunner, KinesisIndexTaskRunner.

Can you review and add back the documentation for the extension? Add it to docs/content/development/extensions-core/kinesis-ingestion.md and add references to this page from the extension list.
As part of this, can you make sure that there's a blurb related to the deaggregate configuration that in order to use this functionality, they will need to add the aws kinesis lib? Adding a link for where they can fetch it from and where they should put it (in the kinesis extension directory) would be helpful.

@jihoonson thanks for the comments! I've fixed most of the stuff you mentioned and also left some discussion

LGTM, thank you @jsun98!

It looks to me like this patch is ready to go. @b-slim are you ok with merging this now and doing some of the followups you suggested (like API changes) in #6496?

I don't think i can get to re-review the entire thing before next year, so if there is enough consensus that this is good to go, then good it is.


Insert cannula view improvements

I saw a comment about the  "inserting cannula" button is too easy to press involuntarily, or before the enduser is actually ready. This tries to rectify that by forcing the enduser to "slide to insert cannula" thereby making it slighly harder to insert the cannula by mistake.
This adds a dependency on dabear/SlideButton (https://github.dev/dabear/SlideButton ) which is a fork of no-comment/SlideButton( https://github.com/no-comment/SlideButton ) to omnible.
An open question is if this should live as a core part of loopkitui instead.

Thoughts, @ps2?

Yes, there is understandably a good amount of anxiety around this action for some, and welcome a chance to make it feel more controlled. Questions below:
Reliability: it's very important that the activation mechanism is very reliable; i.e. users don't have trouble activating it, and we need to consider users with less fine motor control skills.
Accessibility: How does this work during voiceover use?
Changes from upstream: Can you explain why we're not just using the original SlideButton repo?
Design: button corners that match the radius of the slide control do a better job of indicating that the control "fits" in the slot, and can be slid.

And the instruction steps above should probably not say "Tap below".

Reliability seems to be no problem, as it doesn't disengage.
Accessibility: Any good strategy for testing this, or articles to describe the problem? I could always add an extra accessibility label if that helps.
Changes from upstream: I was not initially able to modify the repo to accept "some View"  (or the concrete type of the actionText variable) in instead of String for the title without breaking backward compatibility. However, I might have found a way, so will try to upstream changes.
Looks: better?

upstream PR here: https://github.com/no-comment/SlideButton/pull/2 .

Heh, I meant adjusting the frame corner radius to match the circular control, not vice versa. :)
Having a squarish control in the squarish frame might look a little better than circular control in the squarish frame, but the way it looks in the upstream repo is what I was referring to; i.e. circular control in a frame with matching corners.
As for testing voiceover, this is a good resource: https://developer.apple.com/documentation/accessibility/supporting_voiceover_in_your_app/.  It takes a little time to figure out how to use voiceover, but it's really good to be able to see how people with vision impairments use the app.  I'm more worried about enacting the control, vs the labeling (though that is important too).

This is a very different control (slider vs button), and I think visual difference is ok/nice here.  The mixing of shapes (square/circle) on the single control is definitely not great, and I'm not a fan of the square/square slider. I think the one looks ok. Would be good to check it in dark mode, too.

I'll make the change to circular version, and change to the upstream version as well, once my changes to upstream is merged.

Changed to upstream slidebutton.
Please tell me which of these options are better, and I'll change

Current version, inherits some style from loop with actionButtonStyle(.primary):

Current version without actionButtonStyle(.primary):

Slidebutton with .actionButtonStyle(.primary) and indicatorColor: .accentColor, indicatorBrightness: -0.2, backgroundColor: .accentColor

I'm leaning towards 2, which is the default from upstream slidebutton, but I feel 3 has better contrast. Thoughts?

I chose option 4, Like option 2 Default from upstream, without actionButtonStyle(.primary), but with font explicitly set to (.headline)
Additionally I worked with upstream SlideButton to make it work correctly with voiceover. I consider this ready for merge

Thanks! I think option 4 is the right choice.

I installed this on a test phone. See bug report (item 3 below)

I love this change to the UX.
I would like to see this expanded to the Deactivate Pod button as well.
There's a problem with the continue button displayed after the cannula insertion is completed. It does not have the correct format (although it does work).

Thanks. I'll look into the continue button, should be a Quick fix. Pete; i'll create a pr for omnikit as well

Thanks for the feedback, can you retest @marionbarker ?

opened identical PR but for the omnikit repo: https://github.com/LoopKit/OmniKit/pull/13

I confirm the Continue button matches the expected format on the screen displayed when the Cannula is Inserted.

I posted on zulipchat some alternative sizes for the SlideButton to address Patriq's concern for people who have poor motor control:

https://loop.zulipchat.com/#narrow/stream/312259-Omnipod-DASH/topic/insert.20cannula.20improvements.20.2F.20accessiblity.20for.20voiceover/near/398099389

I got several PM indicating they like the middle size of the three that were shown (indicatorSize of 60, 90 or 120).
The size modification requires a one-line change (of line 99 of OmniBLE/PumpManagerUI/Views/InsertCannulaView.swift) from
SlideButton(action: {

to
SlideButton(styling: .init(indicatorSize: 90), action: {

If @ps2 has an opinion, let us know.

It should be standard size, I think.  If the user has increased font size via dynamic type, I think it's fine if the button expands based on larger type, but generally we should target standard size hit boxes.

Anything preventing this from being merged?

Anything preventing this from being merged?

No, I just needed to get some time to look at this, and review it in the context of making a decision about whether preceeding screens are still valid, and whether it would make sense to do this for deactivate as well.
I just tried it out, and it seems fine. I think the transition from round button to square as the UI transitioned into the "in-progress" state was a little unusual, but not a blocker, and it does need to eventually transition into a standard action button for the "continue" state.
I'll go ahead and merge this. Thanks!


Graph is flickering

What did you do?
I'm using Prometheus to gather metrics from a few node js services (Node JS library being used: https://github.com/siimon/prom-client). The data is being collected, so far so good.
This metric in particular is an integer (0, 1, 2, 3, ...), and this is how I see it in Prometheus graph.

But, when I update the graph (same metric, of course), it changes to:

This is a very simple graph, showing four lines of integer number (one line per service) and, every time there is an update in the graph, those values keep rounding -1 down.
This behaviour seems to be happening with floating number as well, as I see this in CPU and memory graphs too. Here is the CPU usage (delta(process_cpu_seconds_total{service_name="myservice"}[5m])) of one of the services:

And, same graph, just refreshed:

I would guess that Prometheus is trying to round the data, but I cannot tell for sure.
Thanks
What did you expect to see?
The graphs to be concise.
What did you see instead? Under which circumstances?
Graphs are flickering.
Environment

System information:

Output of uname -srm: Darwin 17.4.0 x86_64

Prometheus version:

  build user:       root@149e5b3f0829
  build date:       20180314-14:15:45
  go version:       go1.10

Prometheus configuration file:

global:
  scrape_interval:     5s
  evaluation_interval: 5s

  external_labels:
      monitor: 'my-monitor'

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'services'
    static_configs:
      - targets: [
        's1:3000',
        's2:3000',
        's3:3000',
        's4:3000',
        's5:3000'
      ]

Care to explain why this is expected? If the data point was collected at a timestamp t, and the x-axis of the graph includes t, why would the the data at t flicker?
And why you assumed I'm using a counter? It's a gauge (that particular number also decreases).

Hmm... I get it. Probably the I'm misusing the delta function in there.
But, should I expect to see it also when I request only the metric itself?
In my first example, I'm just selecting it from the dropdown menu and clicking in execute.

The graph tab offers only promql execution, so that's an instant vector selector being evaluated. If you wanted raw data you'd need to query metricname[5m] on the console tab.

Indeed. Wasn't aware of the differences in between selecting via the dropdown and by typing it in the console tab. I probably missed that in the documentation.
But still, even though if this is normal/ intended behaviour, would it be possible to make the graph tool reflect exactly the output of the console? I'm just asking because it's weird to see the graph flickering, specially when someone (like me) doesn't know that this can happen.

The graph and the console do have the exact same output for a given timestamp, it's all the same code. The graph tab does not support raw data though.

The graph and the console do have the exact same output for a given timestamp, it's all the same code.

Yes, I would expect that. Makes total sense and sounds logical.

The graph tab does not support raw data though.

I'm aware that plotting data in graphs might involve issues like this. My point is, does it makes sense to make it support the raw output at some point in the future? It is just a suggestion, and, since there are tools like Grafana, it might not make sense at all to make it support the raw data.


Issue #549: Upgrade kafka-avro-serializer dependency

Fixes #549
Updated versions of the following libraries:

io.confluent.kafka.avro.serializer, from 5.2.2 to 7.4.0
org.apache.avro.avro, from 1.8.2 to 1.11.2
com.google.guava.guava, from 27.0.1-jre to 32.1.1-jre
org.apache.kafka.kafka-clients and org.apache.kafka.connect-api, from 2.4.1 to 3.5.1

Fixed also a couple of compilation error in CommonExtension.kt and KafkaErrorServiceTest.kt

@ali-ince we had to downgrade to 2.14.3 as with 2.15 was complaining about classes compiled with Java 17.

also just checked the jackson jdk compatibility and it looks like it is still on java 8? 😕

also just checked the jackson jdk compatibility and it looks like it is still on java 8? 😕

Yep I checked it to, that's odd...


IO error: Utility 'mysqldump' not found in client home '/usr' (/usr)

I can't dump or restore any database. If I install dbeaver.rpm it works but flatpak doesn't.
2020-08-19 09:08:53.929 - IO error: Utility 'mysqldump' not found in client home '/usr' (/usr)
2020-08-19 09:08:53.932 - java.io.IOException: Utility 'mysqldump' not found in client home '/usr' (/usr)
at org.jkiss.dbeaver.utils.RuntimeUtils.getNativeClientBinary(RuntimeUtils.java:121)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLDatabaseExportHandler.fillProcessParameters(MySQLDatabaseExportHandler.java:72)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLDatabaseExportHandler.fillProcessParameters(MySQLDatabaseExportHandler.java:1)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLNativeToolHandler.getMySQLToolCommandLine(MySQLNativeToolHandler.java:33)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLDatabaseExportHandler.getCommandLine(MySQLDatabaseExportHandler.java:57)
at org.jkiss.dbeaver.ext.mysql.tasks.MySQLDatabaseExportHandler.getCommandLine(MySQLDatabaseExportHandler.java:1)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.executeProcess(AbstractNativeToolHandler.java:158)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.doExecute(AbstractNativeToolHandler.java:241)
at org.jkiss.dbeaver.tasks.nativetool.AbstractNativeToolHandler.lambda$0(AbstractNativeToolHandler.java:52)
at org.jkiss.dbeaver.runtime.RunnableContextDelegate.lambda$0(RunnableContextDelegate.java:39)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)

seems to be similar to #9192
close as duplicate.
anyway, thanks for the bug report

I've got the same issue - @uslss are you sure that other issue is similar, do you mean the file access denial part of it?
My connection in question is not via SSH, but I cannot perform a mysql dump regardless of the output folder of the .sql file. Is there a work around for this issue?

I'm running into this error. I'm trying to import the mysql sakila test db, and can't seem to import the schema (.sql).

Got the same probleme, my dbeaver is freshly installed. I don't think that's the same problème with the issues #9192, i got the same probleme with my local BDD

I had the same issue and this fixed it in my case: https://github.com/dbeaver/dbeaver/issues/8508#issuecomment-758028691

Still hapenning

seems to be similar to #9192 close as duplicate. anyway, thanks for the bug report

This is not even close to #9192

Yep, not the same, still a bug.


ThreadLocalScopManager and parallelStream

Hey guys, I was just testing some ways to implement tracing using a POC application I created.
One of the services (product service) is called by the order service, but the products services don't expose an endpoint that return all the products at once, so I have to call it several times.
I know it's not good, not the best approach, but it's just a simulation that can occur in the real world.
The API is not well formed, so the items is represented by a Map<String, Long>, which is the item UUID and the item quantity.
My code run something like this (Kotlin):
val items = order.items.keys.parallelStream()
  .map(catalogAPI::getProduct)
  .collect(Collectors.toList())

My problem: as the parallelStream runs on another Thread(Pool), and the default implementation of the ScopeManager is ThreadLocalScopeManager, this doesn't work, as it loses the reference to the original span.
Question is, why it's not implemented using InheritableThreadLocal?
Second question is: there's some easy approach to solve this problem?
Thanks in advance and sorry about the bad english.

You can use custom thread pool (https://www.baeldung.com/java-8-parallel-streams-custom-threadpool) that will transfer context to worker threads.

Hi, I agree that I can use a custom thread pool, but the code can become much more verbose and relying on that can be error-prone, since one can simply forget to change the thread pool.
I created a "new" ScopeManager and Scope and it seems it solved my problem, although since I don't know the whole architecture of the opentracing I don't know to what kind of errors it could lead.
PS.: I'm using a kind of outdated version, but I think that the behavios should be similiar in newer implementations.
package br.udi.william.demos.distributedtracing.orderweb.config

import io.jaegertracing.Configuration
import io.jaegertracing.samplers.ProbabilisticSampler
import io.opentracing.Scope
import io.opentracing.ScopeManager
import io.opentracing.Span
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Primary

@org.springframework.context.annotation.Configuration
open class JaegerOpentracingConfig {
    @Bean
    open fun jaegerTracer(): io.opentracing.Tracer {
        val sampler = Configuration.SamplerConfiguration()
        sampler.withType(ProbabilisticSampler.TYPE).withParam(1)
        val reporter = Configuration.ReporterConfiguration()
        return Configuration("order-web")
            .withSampler(sampler)
            .withReporter(reporter)
            .tracerBuilder
            .withScopeManager(InheritableThreadLocalScopeManager())
            .build()
    }
}

class InheritableThreadLocalScope(
    private var scopeManager: InheritableThreadLocalScopeManager,
    private var wrapped: Span?,
    private var finishOnClose: Boolean
) : Scope {
    private var toRestore: InheritableThreadLocalScope? = scopeManager.tlsScope.get()
    init {
        scopeManager.tlsScope.set(this)
    }
    override fun close() {
        if (scopeManager.tlsScope.get() == this) {
            if (finishOnClose) {
                wrapped?.finish()
            }

            scopeManager.tlsScope.set(this.toRestore)
        }
    }

    override fun span(): Span? = wrapped
}

class InheritableThreadLocalScopeManager : ScopeManager {
    var tlsScope: InheritableThreadLocal<InheritableThreadLocalScope> = InheritableThreadLocal()

    override fun activate(span: Span?, finishSpanOnClose: Boolean): Scope {
        return InheritableThreadLocalScope(this, span, finishSpanOnClose)
    }

    override fun active(): Scope? {
        return tlsScope.get()
    }
}

I don't see how inheritable TL would help when using a thread pool, since the worker threads creation is not correlated with the caller thread.
I agree custom executor leads to uglier code, but that's a defect in ForkJoinPool design, since it does not allow reconfiguring its default "common" pool. To my knowledge, overriding it via byte code manipulation is the only way.

@yurishkuro well, on my testing it worked just fine, at the least on the tests I did, which of course may have a lot of errors.
Do you have any examples of doing it through byte code manipulation? Not gonna lie that I was reading about ByteBuddy to create a agent and do some "magic stuff", but running the jar without the javaagent com lead to bizarres errors, so I stepped back a little bit.

I haven't seen an example anywhere, opened a ticket https://github.com/opentracing-contrib/java-specialagent/issues/102

Nice, thanks. Gonna take a look at this specialagent, I didn't know about him. Thanks a lot.

Update: you're correct @yurishkuro , without stress to the VM the behavior indeed work, but when under load it behaves as it should be, it loses the reference to the point that the behavior is non-deterministic, leading to undesired/undefined behaviors.


Just change the font size

I found a sample and did something different on it
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "span",
      "txtContent": "@currentField",
      "style": {
        "font-size": "20px"
      }
    }
  ]
}

In the production tenant, I see:

when doing the same in my dev tenant, I do not get any change when pressing Preview.
Can I please have a simple sample that will will always work even if the list is configured for Alternating row styles?
Thank you
I notice the column I was testing was Multiple lines of text. Does it matter?

@Ofer-Gal
All those div HTML tags made me have a suspect. How was the multi-line text column configured? Was it normal text or RTF (Rich Text Format)?
Reference: https://learn.microsoft.com/en-us/sharepoint/dev/declarative-customization/column-formatting#supported-column-types
I'm asking this because I tried your code with a multiple line with no RTF and here is the result:

Yes I realized later, it does not support rich text.
 :-)


Header

This is a first run at the header area with keyboard and screenreader a11y.
Questions remain around:

hover states for touch devices
what opening-time/clock/upcoming event/login info should live in the header
where the search box should appear on mobile
how a user accesses content within the dropdown from a narrow-screened device

TODOs include:

[ ] swapping out CSS shapes and the Wellcome Logo for items in the svg-sprite
[ ] throttle/debouncing a window resizing event
[ ] allow components that handle their own layout on the page to be previewed without being contained in a .container div (because e.g. they contain their own .container elements).
[ ] decide on how to support the sticky header on scroll (native position:sticky + polyfill vs. JS vs. position:fixed).
[x] swapping out placeholder components in the dropdown for e.g. cards
[x] ensuring the mobile burger appears before other page elements in the tab-order (I thought this could be a rare occurrence of where tabindex="1" might be a good idea, but if we add skip-links, this wouldn't be the case (need to research the data on skip-links – a cursory glance indicates guardian and ft don't seem to have them anymore but gov.uk and BBC news do).
[x] Add translucent page overlay when dropdown visible.

Could we pull the dropdowns out until we actually know what they're going to be, we're implementing hypothetical features, which means we can't ship to users as they won't work?
I would be tempted to do the same with search - but it's fine in here.
Using js- to target components feels like a bit of a hack where we could be more explicit about how we target (basically using style names for non-style things) components.
All in - these are things we can iron out over time though with more use cases.

Removed the dropdowns for now.
As long as we agree on the convention up front, I'm not convinced that we should throw out the js- prefix classes for hooking into JavaScript – I guess any perceived semantic hackiness of it doesn't feel like it runs the risk of getting us into trouble further down the line and it's a formula that's stood the test of time. That's my 2¢ anyhow.

As long as we agree on the convention up front

I personally think we shouldn't really be doing that with anything - the ability to change, try new things, and improve is still vital. If someone thinks of a better way of doing something, having something that was done prior should not stop them.
Abstraction is a way of helping with this. e.g.
function getComponent(name) {
  // either
  document.querySelectorAll(`.js-${name}`);
  // Or
  document.querySelectorAll('[data-component="${name}"]');
}

Having these abstractions also allows you to run both methods at the same time, and deprecate once we've there's a convincing argument for one or the other.
I quite like that approach - doing it all the wrong ways.

getting us into trouble further down the line

I still can't see the difference in using data-component vs js-component?

Looks good, just need to think about progressive enhancement.
I'm thinking for the non javascript version (mobile) we should either expose the navigation by default and only add the menu button with javascript, as it's redundant without it, OR have the navigation at the bottom of the page (where it doesn't get in the way of the content) and have the menu button as an anchor link to it.

either expose the navigation by default

👍 - I'd say this should probably be the best option all round - I can't see why you would choose to hide it?

Yeah, the more relevant question is where it displays. I think having it at the bottom of the page is preferable.

bottom of the page

How comes the break in the status quo (the top)?
I can see it making a bit of sense - but there was a lot of talk about having a contextual nav there?
I am also going to take a punt that the top nav is not used all that much - as is the case with most sites.

This line ensures the menu will be visible if JS doesn't fire. Hiding the burger icon for that case is a good shout – I'll push that up.

re: bottom of the page
It just means on small screens the navigation is pushing the content off the screen. The BBC and, I think, the guardian do something similar.


Missing input field titles in Livechat on iOs app

We have angular app where livechat widget is included. Everything works as expected on desktop/android, but not on iOS app. Part of titles are missed there.
iOs app has WebView which loads our app.
SyncGene.zip

@Bor1ss how do you integrate our widget in the Angular app?

@kamil-szostakowski  script is included in index.html

Hi @Bor1ss sorry for the late response. I don't see the index.html in this .ipa file, anyway I was thinking about a simple Xcode project reproducing your issue.


[Task]: Deduplicate toast component in CE & EE

Closing it coz of change in release plan. Tracking it in epic https://github.com/appsmithorg/appsmith/issues/20460


Add (half)SipHash implementation

KMM implementation of (half)SipHash
Let me know your throughts, feedback, suggestions

Thanks for your quick review, much appreciated!
I've pushed the requested tweaks.
I am only able to run the tests on a Windows machine.
No clue if we need additional testing other (native) targets, I'll leave that up to you.
Btw, is it possible to add badges to the README with the supported platforms/targets?
Something like this should work I guess:
![badge-platform-android]
![badge-platform-jvm]
![badge-platform-js]

I am only able to run the tests on a Windows machine. No clue if we need additional testing other (native) targets, I'll leave that up to you.

Don't worry, Unit-tests passed. See runs

Btw, is it possible to add badges to the README with the supported platforms/targets? Something like this should work I guess:
![badge-platform-android]
![badge-platform-jvm]
![badge-platform-js]

LGTM, currently supports Tier 2

Do you already know when you would like to publish a new version? No pressure, just curious :)

@Entreco v0.2.0 has been released and will be pushed to Maven in about 1 hour :)


fix: add request serializer for DAB create views

add a custom create serializer for viewsets imported from DAB RBAC in order to fix issues in test suite with openapi generator
update DAB version to 2024.5.18

JIRA: AAP-23971

Holding off on merging this PR until we get a new release of DAB with a fix for the failing e2e test.

Updated to a DAB version that has a fix for the failing e2e test, verified locally as well. Once we get approval from reviewers, we should go ahead and merge this PR.


Support for typing.cast call

The code-base I'm modernizing has the following code:
project_acl_list = cast(Optional[List[str]], project.acl)

Unfortunately, this is not transformed.
I'm willing to fix that, but I don't know yet how...
Could we discuss how to implement the transformation for this code?

Absolutely!
I'm not an expert either, but you should be able to figure out how it's constructed fairly quickly by loading the code like this
import ast
tree = ast.parse("project_acl_list = cast(Optional[List[str]], project.acl)")

and then you can inspect the tree in your local variables if you're using something like pycharm (easiest by far 😄), or if that's no possible, you manually map it by accessing the body, like this-ish
for element in tree.body:
    print(element)
    print(element.__dict__)

Let me know if you have any trouble 👏

This is what it looks like for me 🙂

The problem is that cast function has too generic a name which could be not from typing module, but from somewhere else, so we cannot rely on this. Relying on Optional name is also not good, as the code could contain other generic types.

I should add, you only need the --py39-plus flag. Docs: https://github.com/asottile/pyupgrade#pep-585-typing-rewrites

If I run pep585-upgrade and then pyupgrade it doesn't work. Also, pyupgrade changes unrelated code. I think I'll resolve issues in manual mode.

Sounds like a good plan 🙂
I'll close this for now then. Thanks for the report, and you contribution earlier 👏   Good luck upgrading the rest of your project!

@sondrelg I think I know the solution, but it requires an additional dependency: astroid, which is used in pylint. The cool thing about astroid is that it allows to do inference. Do you allow me to introduce the dependency which will reduce the number of false positives and false negatives?

Yes go for it 👍


Added examples to Terra-Text for Date and Time format

Summary
Added examples to Terra-Text for Date and Time format.

Thank you for contributing to Terra.
@cerner/terra

packages/terra-core-docs/src/terra-dev-site/test/text/DateTest.test.jsx this file should be added as doc examples not as test files. because test files are not visible for consumers on terra-ui site.
so I would suggest you to move both Date and Time examples to https://github.com/cerner/terra-core/tree/30f54551c748ff894fa7e6da2c4f2032da2a980f/packages/terra-core-docs/src/terra-dev-site/doc/text/example

Summary
Changes made to Text.jsx to fix the issue : UI text for date and hour format is not read correctly by the screen readers
Thank you for contributing to Terra. @cerner/terra

did we fixed the terra-text source code here ? can we update the pr description in relation to what has been changed. even the title ?

@swetasingh9714 , can you add the respective screenshot here on how the new examples looks like after this change ? and make sure we have tested the same with default and fusion theme.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time
https://developer.mozilla.org/en-US/docs/Web/API/HTMLTimeElement/dateTime
Can we update the examples to html semantic elements   as shown on above links instead of using labels to identify them !!


Update riot.js

Find tags by name

Hi Kysonic, thanks for the PR!
Please point this at the dev branch. Master is supposed to be stable. Same goes for your other one :)

What's the use case for this new feature?
You should not edit the distributable directly, but the source files under lib folder.
Thanks!

Ok!

duplicate of #504


Long duplicate method names (even under 64 characters) leads to stack overflow in parser

This is similar to issue #1034 except the method names are not actually longer than 64 characters, they're at 58 characters in length. The body of the method is empty too, and there is no invalid tokens necessary.
It looks like length management is messed up under duplicate names and that alone leads to stack overflow.
class Foo {
  iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii {}
  iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii {}
}

Like the other issue, adding more is if it does not crash will make it crash too if it isn't already. This one I think is more interesting from a user perspective because the identifier is less than 64 characters, adding more to exceed it is not surprising either, though it shouldn't crash in this fashion. Without stack protector this leads to a segfault in my case.
Output
[graphite@graphite bin]# ./wren_test a.wren
[./a line 3] Error at 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii': Class Foo already defines a method 'iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii'.
*** stack smashing detected ***: terminated
Aborted (core dumped)

Can we fix this with a simple:
#define ERROR_MESSAGE_SIZE (80 + MAX_VARIABLE_NAME + MAX_VARIABLE_NAME + 15)

The problem is we need to allow for MAX_VARIABLE_NAME to be included TWICE - since that's what we do in some error messages - or else change the error message to not include the function name.
Thoughts?


chore: rewrite package for Adonis 5

Is there an example somewhere on how to write tests for a provider?

I believe we should also add an instructions.ts file that will ask the user which driver he want to installed (GCS and S3).
This would install the package in user-land and also add the configuration.
An example could be find here: https://github.com/Slynova-Org/symfony-encore/blob/master/instructions.ts

I added the instructions file.

What are the next steps?

Any idea when this PR will be merged?


Tempreature offset

Hello.

When I set temp in Auto mode on homekit menu to 80F, it show on thermostat 78F. In Cool mode I set 80F it shows on thermostat 83F. Heat mode, I set 80F, shows 78F. Ambient Temp on homekit icon shows correct temp (the same on thermostat).

Scheduled temp auto range on thermostat; Lets say I set Low temp to  65F (starts Heater if temp below 65F), AC to 77F. Delta is 12
As soon as thermostat synced with homebridge it set Delta to 5, something like 72F and 77F. So looks like this plugin overides Thermostat scheduled settings.

Is any way to adjust all these?
Thermostat - Venstar T7850
Thank You

I'm seeing not quite the same behavior, but similar. I'm using this module with a Venstar T3900.
With a schedule set in heat mode (let's say 60°F), every time I open Home.app, the thermostat temperature would drop 1 degree. By turning on some debug logging, I could see that SetTargetTemp is called with a float value to set in Celsius (15.55 which is approximately 60°F converted to C). APISendControl is then sent the same value (15.55). When converted to °F, this results in 59.99°F. I didn't follow further, but I'm guessing the thermostat truncates, rather than rounds and sets the temperature to 59°F. I have solved this by changing index.js:243 to read: opts.targettemp = Math.round(this.convertctof(opts.targettemp));
Now, the temperature stays at the appropriate value. I'm sure this isn't an optimal fix, so I plan on investigating further to see if there's a better spot to perform this rounding or if further changes are necessary.
Thanks for creating this project.


feature (#8): Add Storybook

Can now view components during development, without needing to try out in consuming projects
Highlights a couple things already:

We can pick some smarter default styles
We need to include the sr-only class within these styles
We may want to set a better default font (but also, maybe not?)
There are inconsistent props (e.g. placeholder & disabled) between the 2 selects; let's try to reconcile those

(re-opened to try Netlify)

Gonna go ahead & merge to get Storybook available at the main URL


Order columns for Data Skipping

Initial draft for #75 .
Feedback would be welcome! :)

@robertkossendey just for my understanding, I always thought that potentially all cols are indexable it is just computationally more expensive on e.g. long strings or are these not indexable at all? I was just wondering as the list is called indexable_data_types. For example, if I have a short string, it may be a candidate for indexing or am I mistaken? Thanks.

@Triamus you are totally right, the naming is a bit off 😅  Can you think of a more fitting name?

@robertkossendey well naming is the hardest thing in CS... not perfect but what about efficient_index_types?

@Triamus updated 👍

@robertkossendey - this looks like a good start, but it might be nice to have something that's a bit more generic.

we need to let users specify the columns they want first
we want smart default behavior
we want to let the user customize the columns in any order they'd like

The only way we can do that is by letting the user optionally pass in a function.  It should be generic enough so the user can do any of these operations:

Put IntegerType cols first, then StringType cols, then anything goes for the other cols
Put all the columns that start with "c" first, then anything goes

Any arbitrary logic with the logic you've coded as the default.
Let me know if you think that's possible.

@MrPowers could you describe the interface you envision for the function? Right now I don't think I can follow you 😅

@robertkossendey - here's a renameColumns function that takes a function as an argument - this is just to give you an idea of a function that takes another function as an argument.  The example is in Scala, so it's not the best.  Looks like there is no quinn equivalent yet.
We should probably invoke reorder_columns with a function that takes a StructType as an argument and returns a StructType.
That way the user could specify arbirarty reordering logic based on column names, column types, or even the nullable property.  If the function is set to None, then we'll automatically apply intelligent reordering logic.
I am going to add the quinn function now.  I will ping back here when that's built.  Should be easier for you to see what I'm saying when the quinn function is built.

@MrPowers ahh okay, it should default to the "intelligent" ordering if the function is None that was the missing part for me! Will add this later :)

I added a reorder_columns_sorted function here that behaves like the Python sorted function: https://github.com/MrPowers/quinn/pull/48
Going to try to add a more generic reorder_columns function that's instantiated with a function that takes a StructType argument and returns a StructType.  The reorder_columns function will be harder to use, but more flexible.

@MrPowers I've added the possibility to provide a sort UDF. Is that going in the direction of your idea?

@robertkossendey why are we changing the spark.databricks.delta.properties.defaults.dataSkippingNumIndexedCols in the function? Is the assumption that an unknowing user wants the default behavior to not only reorder the columns but also expand the statistics collection to a potentially large number of cols? And wouldn't that impact all following table ops even if the reorder_cols function is not invoked? Is that the intention or am I misunderstanding the code flow?

I am not sure if this changes too much the scope of the function, but shouldn't this re-order be done in place?
I mean the function should receive a Delta table and apply an ALTER TABLE ALTER COLUMN to that table with the order of the new columns. This is because saving the dataframe with the columns re-ordered I think will not affect the physical order of the columns.

@brayanjuls - yea a metadata only operation would obviously be ideal, but is that possible for Delta 1.0?  I think you'd need column mapping to be enabled to make this a metadata-only thing.  I'm also not sure about if you made it an in-place operation if the column statistics would be re-generated for the new columns.  I know very little about how this all works under the hood.

@brayanjuls @MrPowers my assumption was that a user would use this function on their first write to a table. That's also why it is Delta Table agnostic, you pass a data frame and the function returns a Delta Table.
@Triamus you are right, maybe we should make setting this property optional. It is also risky, since the user might reorder the columns in later steps of his pipeline. WDYT?


BEM conventions for all name formats

Hi
I use in my projects a BEM convention for both classes, variables, mixins and placeholders. I think it could be usefull to allow strictbem and hyphenatedbem conventions on them.
 I know you handled these rules previously.

thank you for the quick response :)
On other repos much more popular, I have to wait for days ! (yes, i'm thinking of you Foundation)

@ncoden See our docs, we support strictbem and hyphenatedbem according to the same RegEx's as scss-lint.
Sorry for the delay.

@benthemonkey we dont for variables, mixins or placeholders though, I think that's the issue here.

Ah, sorry. Yeah I think it makes sense for all the format related rules to have identical configs.

Ok. Can I make a PR or do you take care of that @benthemonkey ?

@ncoden go for it. Please be sure to update the docs as well. Thanks!

Pull request: https://github.com/sasstools/sass-lint/pull/604
poke @benthemonkey

This is available and resolved in sass-lint 1.6.0


unicode_literals breaks PySide

From<EMAIL_ADDRESS>on 2013-06-27T00:37:39Z
Revision d12c3026caee is breaking PySide for Python 3. See the review comments attached to the revision.
A couple of options:

Revert the change and return to the u() syntax.
Decide to drop support for 3.0-3.2 and go back to using u'' style syntax.

The last option may be viable now since we are much further into the Python 3.3 world than we were back when issue #1243 was being discussed.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1466

From<EMAIL_ADDRESS>on 2013-06-26T22:55:43Z
Actually, it breaks it for Python 2 and Python 3.
Summary: unicode_literals breaks PySide  <span class="oldvalue"> (was: Unicode) </span>

From ccordoba12 on 2013-06-28T21:13:20Z
Jed, if it's ok for you, please prepare a bookmark with the u'' syntax until Pierre tell us his opinion on the issue. This way we can have time to test things with PySide before the final release.
Labels: Cat-Miscelleneous

From<EMAIL_ADDRESS>on 2013-07-01T12:15:48Z
This issue was closed by revision dc89e9df301e .
Status: Fixed

From<EMAIL_ADDRESS>on 2013-07-01T12:14:11Z
After asking about Python 3.0-3.2 support on the mailing list [1] it seems there is reason to keep compatibility with 3.0-3.2 particularly for Ubuntu. This is good enough reason in my mind to keep the special u() functions Pierre originally created to handle unicode literal support. So I'm essentially going to revert revision d12c3026caee and put us back to where we originally started.
[1] https://groups.google.com/d/msg/spyderlib/ye-K8GUPhso/I2tOoRqF-AkJ

From ccordoba12 on 2013-07-01T13:00:14Z
We can also drop support for u() once 14.04 arrives

From<EMAIL_ADDRESS>on 2013-07-01T12:18:23Z
Tested the solution on:

Win 7 using Python 2.7 (PyQt and PySide)
Ubuntu 12.04 using Python 2.7 (PyQt and PySide) and 3.2 (only PyQt)
Ubuntu 13.04 using Python 2.7 (PyQt and PySide) and 3.3 (PyQt and PySide)

Looks good in all these combinations.

From ccordoba12 on 2013-07-01T12:20:42Z
I was a little bit against going back to the "u()" function (specially if there is no easy way now to test 3.2 both on Windows and Linux) but this is fine if people wants to install Spyder in the last Ubuntu LTS (which comes with 3.2).
Thanks Jed for taking the time to do the revert operation.


Parallax Effect

Hi do you same in objective C can you share it

I am afraid, i don't have the same in objective-c but i think its possible to use swift code in objective-c projects too.

@objc public class RKParallaxEffect: NSObject should do it.

@johndpope: Thank you for help.
@Gantaios: Can you confirm if the solution by @johndpope works ?


Screen recording permissions request loop on MacBook (M1) with Sonoma 14.4.1

Hi,
I am stuck in a screen recording permissions request loop.
Installed screen-area-share version 1.4.1 (screen-area-share-1.4.1-universal.dmg) on a MacBook (M1) running Sonoma 14.4.1
When I launch it, I get the prompt:

I click open settings and toggle screen-area-share to allow and it asks me to restart it (quit & reopen):

But then when it reopens (or if I launch it manually) it just prompts for missing permissions again.
Even a reboot does not help.
Any idea?
Thanks!

Thank you for your work @mPyKen! I am glad to report that version 1.3.3 worked.
screen-area-share-1.4.0-arm64.dmg did not work (Mac claimed the .app file was damaged).
But screen-area-share-1.3.3-x64.dmg worked. I was able to enable record screen and audio permissions, and it started working.
Let me know if you need help troubleshooting what the issue might be with the later versions.
Thanks!

Glad it worked! There seems to be something missing in the auto build... I would appreciate if any developer on Mac os could investigate this

Hmm, 1.3.3 does not work for me on M3 mac.

1.3.3 is an x86 build, it is not compatible with an M3 mac. Could you try the 1.4.0 or 1.4.1 build instead?

Building the latest master manually does work on macOS 14.5 on my M3 Mac.


Speed up cargo install by fetching Artichoke git with git CLI

This shaves a minute off of image build times.


values-pt

Added Portuguese string translations

Reviewed and looks okay. Merging to the base-master now.


poseLandmarker.detectForVideo does not work with tasks vision 0.10.9 javascript version

Have I written custom code (as opposed to using a stock example script provided in MediaPipe)
None
OS Platform and Distribution
Mac OS 14.1 (23B74)
Mobile device if the issue happens on mobile device
No response
Browser and version if the issue happens on browser
Chrome Version 121.0.6167.85 (Official Build) (arm64)
Programming Language and version
Javascript
MediaPipe version
0.10.9
Bazel version
No response
Solution
Pose
Android Studio, NDK, SDK versions (if issue is related to building in Android environment)
No response
Xcode & Tulsi version (if issue is related to building for iOS)
No response
Describe the actual behavior
poseLandmarker.detectForVideo should return pose landmarks
Describe the expected behaviour
I receive an error
Standalone code/steps you may have used to try to get what you need
When I run "poseLandmarkerResults = poseLandmarker.detectForVideo(videoElement, Date.now());"

This is the error I receive:

Error: Encountered multiple errors: Adding proto packet of type mediapipe.NormalizedRect to stream norm_rect was not ok: $Graph has errors:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment., WaitUntilIdle failed: $CalculatorGraph::Run() failed in Run:
Packet timestamp mismatch on a calculator receiving from stream "free_memory". Current minimum expected timestamp is 1 but received 0. Are you using a custom InputStreamHandler? Note that some InputStreamHandlers allow timestamps that are not strictly monotonically increasing. See for example the ImmediateInputStreamHandler class comment.; WaitUntilIdle failed

----------

I use tasks-vision-0-10-9.js and https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>
Other info / Complete Logs
No response

I changed "poseLandmarker.detectForVideo(videoElement, Date.now());" to "poseLandmarker.detectForVideo(videoElement, performance.now());" and it works now :)


server groups should be able to be saved to a workspace

And probably should be saved there by default if a workspace file already exists.

@studiology -- Adam, thank you for your suggestions.  Please add them here:

SQL Server feedback


Create holder.min.js

Pull Request for https://github.com/twbs/bootstrap/issues/16845

Hi @mkrdip!
Thanks for wanting to contribute to Bootstrap by sending this pull request!
Unfortunately, your pull request seems to have some problems:

Normal pull requests should never be against the gh-pages branch.

You'll need to fix these mistakes and revise your pull request before we can proceed further.
Once you've fixed these problems, you can either ask the maintainers to re-open this pull request, or you can create a new pull request.
Thanks!
(Please note that this is a fully automated comment.)


Remove material-table dependency

Codecov Report

Merging #23 (b38ff9c) into master (896ce1c) will decrease coverage by 0.15%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
- Coverage   44.98%   44.82%   -0.16%
==========================================
  Files         124      123       -1
  Lines        2301     2260      -41
  Branches      373      373
==========================================
- Hits         1035     1013      -22
+ Misses       1266     1247      -19

Impacted Files
Coverage Δ

packages/metablock-react/src/table/MetaTable.tsx
75.00% <0.00%> (+20.45%)
:arrow_up:

packages/metablock-react/src/table/index.ts
100.00% <ø> (ø)

packages/metablock-server/src/dev.ts
32.25% <25.00%> (+0.11%)
:arrow_up:

...metablock-react/src/forms/schema/EditableTable.tsx
24.00% <100.00%> (-2.93%)
:arrow_down:

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 896ce1c...b38ff9c. Read the comment docs.


Add TimeStamp to PlaceMark?

EDIT: I completely missed to mention that this concerns serialization, apologies!
Are there plans to support timestamps for Placemark in the future (and perhaps elsewhere where valid?).
If e.g.
<TimeStamp>
    <when>2022-04-02T10:00:00</when>
</TimeStamp>

is added as a custom Element it will be incorrectly positioned, meaning validation against the KML v2.2 schema will fail. I think it is expected to follow immediately after <description>.
I had similar positional issues when trying out CDATA as a custom <description> Element, but ended up removing the CDATA tag and just set Placemark.description to the html I wanted, since quick-xml escapes structural characters in "value positions" anyway.

@blipmusic thanks for this issue as well! Ideally I'd like to support all valid kml types but have mostly prioritized geometries.
I'm still going through the specification for this part, but would all elements including TimeStamp and others go after description and before coordinates? If so, we could move the writing of custom elements into that spot and users could be responsible for custom Element objects being the correct order. If not I'm open to and PRs for adding a TimeStamp type!

Thanks for the additional info! I think for now it would be best to at least not force the user to generate KML that would be invalid against the spec, so would updating write_placemark to something like this work until the additional elements are created?
    fn write_placemark(&mut self, placemark: &Placemark<T>) -> Result<(), Error> {
        self.writer
            .write_event(Event::Start(BytesStart::owned_name(b"Placemark".to_vec())))?;
        if let Some(name) = &placemark.name {
            self.write_text_element(b"name", name)?;
        }
        if let Some(description) = &placemark.description {
            self.write_text_element(b"description", description)?;
        }
        for c in placemark.children.iter() {
            self.write_element(c)?;
        }
        if let Some(geometry) = &placemark.geometry {
            self.write_geometry(geometry)?;
        }
        Ok(self
            .writer
            .write_event(Event::End(BytesEnd::borrowed(b"Placemark")))?)
    }

If we know geometry needs to be last and everything else is after description then users can handle the order of any elements that aren't officially supported with Element. Would that work?

I'm considering this initial issue closed by #25 since at least now we aren't preventing users from generating correct KML, but I think a separate issue for adding these elements with full support could make sense. Thanks again!


Rigidbodies have crazy movement when used with joints

Godot version:

3.0.2
OS/device including version:

linux mint
Issue description:

I try to make a simple ragdoll and the movement went crazy with bullet but not in godot physics. I think it has something to do with the size of objects.
I tried to test with default size collision shapes and rigidbodies with joints and the result is stable. So I guess it is related to the size as the collision shapes have the size pram smaller than 1 in the attach project.
Steps to reproduce:
check project , switch physics engine and run the scene
Minimal reproduction project:

BUG.zip

Still valid in the current master branch.

I didn't have the time to check this yet. However the instability may come from the too small body weight.

Still valid in 3.2.4 beta3
Changing mass doesn't fix it.


Allow enabling dates when it’s not explicitly disabled

Demo: http://jsfiddle.net/eliland/gzHW3/
Documentation: http://amsul.ca/pickadate.js/api.htm#method-set-disable-enable-dates
The docs clearly state that passing an array like this: [ dateArray, dateArray, ... ] to the enable method should work, but - I think - after upgrading to 3.4.0 it doesn't anymore. See demo, and I can't get it to work right in the documentation example either.

Came across this issue and wanted to add in my workaround. It's based on flipping disabled dates.
// Disable all the dates.
picker.set('disable', true);
picker.set('enable', false);

// Disable the dates you want to enable.
picker.set('disable', enableDates);

// Flip the dates.
picker.set('disable', 'flip');
picker.set('enable', 'flip');

@tkishoni so weird but works fine. Thank you.

Might be good to mention an example like this in te documentation. The intuitive approach is:
picker.set('disable', true); //Disable all
picker.set('enable', enableDates); //Enable some

Fortunately can stop banging my head against the wall after finding this issue 😄

Hello everyone.
I know this is a late post, but I was facing the same issue and I wanted to share the workraround I used to help others in the future.
So, what I basicaly did was this:
 picker.set('disable',[{ from: MIN_DATE, to: MAX_DATE }]]); //Disable all  picker.set('disable','flip') //Enable all  picker.set('disable',LIST_OF_DATES_YOU_WANT_TO_DISABLE); //Disable the dates you want to disable
I hope this helped


Allow banks to modify their partner information.

This PR addresses some of the issues pointed out in the monthly stakeholder meeting.
Specifically it:

Makes the button to view partner information more obvious
Provides a link to edit partner information from that page
Cleaned up the partners controller to remove the need for the export hash on the partner and just call the profile.
Removed the large (and unwieldy) export_hash from the partner model
Updated the approve_partner page to use the instance variable that is just calling the partner profile and not the export hash.
Allows the editing of partner information -- I used the same form for consistency as some banks also have partners.

New Button:

Edit Button:

Partner Edit Page:

I'm not sure I like the new editing route (partnerbase) but I honestly couldn't think of anything better.

@seanmarcia awesome! I'll be digging in and testing this out soon. Thanks!