Errors with self-hosted gitlab instances with subpath in the url

We're experiencing different issues with backstage not correctly calling gitlab's api when using a subpath in the gitlab url.
Our self-hosted gitlab has the url: git.abc.com/gitlab
First issue: Register step fails
When creating a component the scaffolder fails at the registering step because it seems to use a wrong api-url.
We're using a self-hosted gitlab that is only reachable when using the subpath /gitlab.
Even though the url is displayed correctly in the log output, the request is sent to a wrong url, what you can see later in the logs.
Second issue: Gitlab discovery  not working
When using the gitlab discovery feature the same error appears
Expected Behavior
Backstage should use the correct gitlab url so that

the component can be registered porperly
the component scanning works

Current Behavior

Backstage seems to build the wrong api url for some calls (strangely enough it uses the correct url at the publish step)
The component creation fails at the 3. step (register), after templating and publishing correctly
right url: https://git.abc.com/gitlab/dfl/david/-/blob/master/catalog-info.yaml
wrong url: https://git.abc.com/api/v4/projects/gitlab%2Fdfl%2Fdavid

2021-12-03T09:12:17.000Z` Beginning step Register

2021-12-03T09:12:40.000Z info: Registering https://git.abc.com/gitlab/dfl/david/-/blob/master/catalog-info.yaml in the catalog {"timestamp":"2021-12-03T09:12:32.054Z"}
2021-12-03T09:15:35.000Z Error: {"error":{"name":"Error","message":"Error: Unable to read url, Error: Could not get GitLab project ID for: https://git.abc.com/gitlab/dfl/david/-/blob/master/catalog-info.yaml, FetchError: invalid json response body at https://git.abc.com/api/v4/projects/gitlab%2Fdfl%2Fdavid reason: Unexpected token < in JSON at position 0","level":"error","service":"backstage"},"request":{"method":"POST","url":"/locations?dryRun=true"},"response":{"statusCode":500}}
at CatalogClient.addLocation (/tmp/backstage/backstage-test/node_modules/@backstage/catalog-client/dist/index.cjs.js:94:13)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async Object.handler (/tmp/backstage/backstage-test/node_modules/@backstage/plugin-scaffolder-backend/dist/index.cjs.js:146:24)
at async HandlebarsWorkflowRunner.execute (/tmp/backstage/backstage-test/node_modules/@backstage/plugin-scaffolder-backend/dist/index.cjs.js:2184:11)
at async TaskWorker.runOneTask (/tmp/backstage/backstage-test/node_modules/@backstage/plugin-scaffolder-backend/dist/index.cjs.js:2444:143)
at async /tmp/backstage/backstage-test/node_modules/@backstage/plugin-scaffolder-backend/dist/index.cjs.js:2438:9`

2.: When adding gitlab-discovery to the catalog in app-config.yaml the discovery fails with following error:
right url: https://git.abc.com/gitlab/api/v4/groups/dfl/projects?group=dfl&last_activity_after=2021-12-03T11%3A14%3A13.015Z&page=1&include_subgroups=true
wrong url: https://git.abc.com/gitlab/api/v4/groups/gitlab%2Fdfl/projects?group=gitlab%2Fdfl&last_activity_after=2021-12-03T11%3A14%3A13.015Z&page=1&include_subgroups=true

[1] 2021-12-03T11:18:19.229Z catalog warn Processor GitLabDiscoveryProcessor threw an error while reading gitlab-discovery:https://git.abc.com/gitlab/dfl/blob/*/catalog-info.yaml; caused by Error: Unexpected response when fetching https://git.abc.com/gitlab/api/v4/groups/gitlab%2Fdfl/projects?group=gitlab%2Fdfl&last_activity_after=2021-12-03T11%3A14%3A13.015Z&page=1&include_subgroups=true. Expected 200 but got 404 - Not Found type=plugin entity=location:default/generated-7ae1f5b64c6c61003b96425cdfc1f7ab4d53440f

Possible Solution

Allow subpaths in host url in the integrations in app-config.yaml
Fix wrong url build with subpath somewhere deep in the code. I specified the baseURL and apiBaseURL in the integrations but it looks like at a few places these vars are not used correctly

Steps to Reproduce

Gitlab Config in app-config.yaml
'integrations:
gitlab:

host: 'git.abc.com/gitlab'
apiBaseUrl: https://git.abc.com/gitlab/api/v4
baseUrl: https://git.abc.com/gitlab
token: lalilu

scaffolder:
gitlab:
token: lalilu
visibility: 'internal' # or 'public' or 'private'
catalog:
rules:

allow: [Component, System, API, Group, User, Resource, Location]

locations:

type: gitlab-discovery
target: https://git.abc.com/gitlab/dfl/blob/main/catalog-info.yaml'

Im trying to create a default spring boot component from the default backstage spring-boot-sample
Used template:

apiVersion: backstage.io/v1beta2
kind: Template
metadata:
name: springboot-template
title: Spring Boot Service
description: Create a simple microservice using Spring Boot Java with presets
tags:
- recommended
- java
- springboot
spec:
owner: daydy16
type: service
parameters:
- title: Provide some simple information
required:
- component_id
- owner
- java_package_name
properties:
component_id:
title: Name
type: string
description: Unique name of the component
java_package_name:
title: Java Package Name
type: string
description: Name for the java package. eg (com.abc.)
description:
title: Description
type: string
description: Help others understand what this app is for.
owner:
title: Owner
type: string
description: Owner of the component
ui:field: OwnerPicker
ui:options:
allowedKinds:
- Group
- title: Choose a location
required:
- repoUrl
properties:
repoUrl:
title: Repository Location
type: string
ui:field: RepoUrlPicker
ui:options:
allowedHosts:
- git.abc.com
- github.com
steps:
- id: template
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
values:
component_id: '{{ parameters.component_id }}'
description: '{{ parameters.description }}'
artifact_id: '{{ parameters.component_id }}'
java_package_name: '{{ parameters.java_package_name }}'
owner: '{{ parameters.owner }}'
destination: '{{ parameters.repoUrl }}'
http_port: 8080
- id: publish
  name: Publish
  action: publish:gitlab
  input:
    allowedHosts:
    - git.abc.com
    - github.com
    description: 'This is {{ parameters.component_id }}'
    repoUrl: '{{ parameters.repoUrl }}'

- id: register
  name: Register
  action: catalog:register
  input:
    repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
    catalogInfoPath: '/catalog-info.yaml'

output:
repoContentsUrl: '{{ steps.publish.output.repoContentsUrl }}'
remoteUrl: '{{ steps.publish.output.remoteUrl }}'
entityRef: '{{ steps.register.output.entityRef }}'

Context
As long as backstage cant handle host urls with subpaths we cant start using it
Your Environment
local development windows 10 with wsl2 and Ubuntu 20.04.3 LTS and Google Chrome
yarn run v1.22.17
$ backstage-cli info
Debugger attached.
OS:   Linux <IP_ADDRESS>-microsoft-standard-WSL2 - linux/x64
node: v14.18.1
yarn: 1.22.17
cli:  0.9.0 (installed)

Hi @daydy16, sorry to hear that you're having issues.
Regarding the internals, I believe both of these uses the GitlabUrlReader(https://github.com/backstage/backstage/blob/master/packages/backend-common/src/reading/GitlabUrlReader.ts) for reading files if you're interested to learn more about what's happening internally.
Could you try to make host: 'git.abc.com/gitlab' into host: 'git.abc.com' in your app-config.yaml. I'm appending your subpath in the baseUrl and apiBaseUrl should be enough.

Hey @jhaals
Thanks for your quick reply.
It was a copy paste issue in my previous post
host: is configured as you suggested: git.abc.com
If I enter git.abc.com/gitlab the app does not start correctly and says that host url is not valid.
I will have a look at the gitlabUrlReader tomorrow, thx :)

I found a few spots that causes the error:
https://github.com/backstage/backstage/blob/master/packages/integration/src/gitlab/core.ts#L141
In my opinion it would be better to use
${config.apiBaseUrl}/projects/${encodeURIComponent
instead of ${url.protocol + url.hostname}/api/v4/projects/${encodeURIComponent
Another problem is, that url.pathname includes the /gitlab suffix, that belongs to the host
So a better way would be to generate the pathname by removing parts of the apiBaseUrl of the path
I "fixed" the compontent registration issue by statically replacing some vars. I'm not sure whats the best way to proceed in this case.

@daydy16 Could you please elaborate on your solution? I'm having the same problem, but I can't fix it yet

@Develbold unfortunately i'm not a developer. As i said, i fixed it by using the javascript "replace" comand and adding /gitlab to some variables.
But I try my best to find the errors and provide a solution.
Btw: at the moment I only fixed the registration issue, not the gitlab component scanner.

Here is my workaround for both issues:
https://github.com/daydy16/backstage-issue-8358/commit/68c87095fa435a0dbfcca3ea65d594b93caba754
I also fixed the component scanner.
The hardest part was to find the right spots in the code.
I tried to fix it in a propper way, so that we could merge it, but i dont know what would be the best approach to do it.
If anyone of the devs could have a look and provide an easy solution, would be awesome!

I also had to fix an issue when pulling a template skeleton from our gitlab instance:
https://github.com/daydy16/backstage-issue-8358/commit/8de52a6080cd67982631d27b2e464c9f17e0ce0c

Here is another fix that is needed for the OAuth Login
https://github.com/daydy16/backstage-issue-8358/commit/c798d641fb03c4deda55bcf9557681a15a532381

@daydy16 Could your findings be turned into a pull request? 🙏

@freben: unfortunately i'm not a developer. I only built a workaround by stripping /gitlab in some vars and adding /gitlab to some others, so that we can test backstage internaly. Thats not how we can use it in production.
I dont know how to fix it in a right way. Maybe there has to be a change in how the gitlab-config-vars from app-config.yaml are used in the code (see:
https://github.com/daydy16/backstage-issue-8358/commit/68c87095fa435a0dbfcca3ea65d594b93caba754)

Are there perhaps some places not using the baseUrl correctly? We have a slightly related problem for bitbucket which is getting fixed by https://github.com/backstage/backstage/pull/9177 but that integration did not even have the concept of baseUrl previously.

Thanks @jhaals. Look's like that's exactly what is missing here.
Should we copy the finding of this pull request  into another one for gitlab?

@daydy16 Yep, although the GitLab config already has a baseUrl that can be set. It's likely more about making sure we're using it were needed. There's likely some significant overlap with #9095 too though, as that's aiming for a general solution to SCM URL parsing, which we definitely wanna move forward :grin:

@Rugvip Can you help me to find out where the baseurl is set?


Link to your scripts

I'm putting together argos scripts in a issue on the argos repo. Would you mind if I add a link?
https://github.com/p-e-w/argos/issues/13

@Hippyjake Sure!


Added fuctionality to switch venv and pythons while in a venv

Previously one had to deactivate and then call create|list|delete etc.... Now you can work with them as you where not inside one.

Sweet ! Hope this gets merged soon.
This will also solve the issue I've opened of regarding 'pythonbrew off' not deactivating the virtualenv.
(https://github.com/utahta/pythonbrew/issues/54)


Add support for sending out notifications

add support for sending out notifications
initially, only email needs to be supported (django documentation)
incorporate sending notifications in starting/finishing jobs

Add a flag to jobs that the creator can set which determines if a notification should be sent out for the job
Add a flag to users which determines the default state for the above flag (i.e. whether the user prefers notifications by default or not)


Added tests for SOAP Pass Through APIs

Test creating and publish SOAP Pass Through API using WSDL definition URL
Test downloading WSDL definition from Publisher/Devportal
Test invoking SOAP endpoint

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


feat: support for google site verification

support for google site verification

Please try another way to do this. Create a file google{your_hash}.html under the source directory and put these lines in it:
---
layout: false
---
google-site-verification: google{your_hash}.html


Update CONTRIBUTING.md

Some Typo issue fixed.<!-- Thank you for submitting a Pull Request. Please:

Read our Pull Request guidelines:
https://github.com/microsoft/vscode/wiki/How-to-Contribute#pull-requests
Associate an issue with the Pull Request.
Ensure that the code is up-to-date with the main branch.
Include a description of the proposed changes and how to test them.
-->

This is not a useful change


Implement PATCH in the API

From what I recall, TastyPie uses PATCH to create or update multiple items.
Is this the right approach though? this requires some discussion.

Closing this for now, because I would like to put patch on hold for a while, it's not that important at all, implementing PUT, POST and DELETE and other missing API features is much more important.


Detach Edge instance to seperate window

Is your feature request related to a problem? Please describe.
The browser window cannot be detached from vscode such that it can be moved to another display/monitor. At the moment it works like having multiple tabs in vscode like in a browser, but you cannot convert a "tab" to a new window at the moment and move it to another screen.
Describe the solution you'd like:
The browser window should be detachable from vscode such that it can be moved to another display/monitor. You should be able to have vscode lets say on display/monitor 1 and the edge instance on display/monitor 2.
Describe alternatives you've considered:
There is no alternative except buying one huge screen instead of 2 small ones. Many people run multiple screens and this is actually a quite common developer setup to have lets say two or three fullhd screens.
Additional context:
This is how it looks like at the moment on a fullhd screen. This is obviously not very comfertable. Not everybody uses one 4 to 8k screen instead of two or threen fullhd ones.

Hi there, you can open the browser in an own window. This used to be the default and you can reset it in the settings:
If you untick the "headless" setting, opening a new instance will open it in an own window.
If you use the generated launch.json, you can select from "launch headless Edge" and "launch Edge", the latter being an own window.

Thank you very much, this works.


feat: add datadog_trace 0.93.1 release

update datadog_trace with release 0.93.1

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


Out of sync of the cost of things - with mods for loot

Description of the problem:
In the combination of our build, where a separate loot is added and so on. For some reason, when we enter the complex, some of the items cost 0 credits (the HOST SEES THE FULL PRICE). When we bring loot to the ship, the players who are not the host do not see the price at all. After takeoff, the next map is loaded - generation gets up due to out-of-sync.
If the host recreates the game with the loot that cost 0 credits, the loot is loaded and shows its real price.
Expected behavior:
To fix the out-of-sync so that everyone can see the price of the loot and the loading of the next card
Additional information:

Nozz-Lethal_Missions-1.1.1
Language settings: en
Windows 10
Our build profile code: LETHAL_LONERS - 018d39a7-c97c-0894-c291-c96af2492a9b

Screenshots (if applicable):

this is rare and should not happen, since the mod does not modify anything of the game objects, it only works by reading the game information. therefore this should not be caused by the mod, I will still take a look and respond as soon as possible.

this is rare and should not happen, since the mod does not modify anything of the game objects, it only works by reading the game information. therefore this should not be caused by the mod, I will still take a look and respond as soon as possible.

After disabling your mod, everything became fine.  I think this is a sign and the problem lies somewhere close...

Add the random appearance of Messi from 1 to 3. Not just 3 at once.

Can you specify the mod version in the config? To make it easier to identify and so on. I will be grateful!

I recently repaired the valve, the mission was with him. But he didn't check in to the task - what did I fix or someone else

To display the keys, I had to manually delete the config - after which everything worked and showed how it should

When I die (playing alone), a window with missions and rewards appears in front of me for a split second and abruptly disappears - I don't even have time to look. Is there any way to set up a reward alert for the dead?

The problem still remains when someone brings in an item that costs nothing. The download to the next card stops
v1.1.4

I'm sorry, I can't figure out what the problem is at all.


Camera initialization error

Long time reader, first time writer.
After the latest update where the camera's are handled differently, I am no longer able to see the camera. the error I see in my log is as follows:
5/12/2020, 5:29:19 PM [Home Alarm] An error occurred while refreshing accessories
5/12/2020, 5:29:19 PM [Home Alarm] TypeError: this.accessory.configureController is not a function
at SS3SimpliCam.setAccessory (/home/hoobs/.hoobs/node_modules/homebridge-simplisafe3/accessories/simplicam.js:97:20)
at SS3Platform.refreshAccessories (/home/hoobs/.hoobs/node_modules/homebridge-simplisafe3/index.js:357:31)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Here is also the config i have for my simplisafe (private info redacted)
{
"platform": "homebridge-simplisafe3.SimpliSafe 3",
"plugin_map": {
"plugin_name": "homebridge-simplisafe3"
},
"name": "Home Alarm",
"cameras": true,
"sensorRefresh": 15,
"persistAccessories": false,
"resetSimpliSafeId": false,
"auth": {
"username"<EMAIL_ADDRESS>"password": "XXXXXX"
},
"cameraOptions": {
"ffmpegPath": "/usr/local/bin/ffmpeg",
"videoOptions": "-vcodec h264_omx -tune false -preset false",
"sourceOptions": "-vcodec h264_mmal"
},
"debug": false
}
the camera options i am using were put in there as a test. I get the same results with or without them. Additionally, the camera appeared and was working prior to the 1.5.0 update and I have 3 other cameras (wyze) that work using the ffmpeg codec.
Please note, i am fairly new at this, so as i read other posts where an entire log is attached, I am not sure how to display mine like that other than what is in the hoobs window.
My hardware is a pi 4 running hoobs 3.something (whatever the latest version is) and the only accessories i connect to homebridge is the simplisafe and the wyze.
All my other accessories for simplisafe are fine like door sensors, smoke detectors and even setting the alarm, it just the doorbell cam.
Any thought would be greatly appreciated.

HI @tkaufthe , my guess is you are not running the correct version of Homebridge. As noted in the release notes, this version of the plugin requires at least version 1.0.0 of Homebridge which is a major update. I am not sure if HOOBS has been updated to this, that would be a question for HOOBS. If not, you can down-grade your plugin. Again, see the README

Thank you very much for the quick reply. I must have read that part of the readme too quickly. I was able to roll back to a previous version of the plugin and it worked.
I then built a new image just based on the Homebridge build, and installed the plugins. That also worked very well. So good in fact, I'll be staying on Homebridge rather than hoobs.. Its just lighter and the mobile gui is much easier to maintain.
Thanks for all the hard work on this plugin.


drop OVS port's "type" attribute

https://github.com/nmstate/nmstate/pull/525
Signed-off-by: Petr Horacek<EMAIL_ADDRESS>

This PR supports https://github.com/nmstate/nmstate/pull/525

@EdDev @cathay4t please take a look

Looks good to me, I think we can merge it when the nmstate PR is merged.
There is one thing that bothers me a bit (only a tiny bit): A user with an older version may read the doc and it will not work for him. Perhaps we should warn in the doc/api that this is correct from version 0.1.1.

@EdDev we can do the same as in oVirt API, have "introduced in" and  "deprecated in" labels.

@phoracek , a nit, sorry: please use a topic in the commit message.
‘ovs: ....’

@EdDev done


can not package the project

Execuse me ,I use 'vue init simulatedgreg/electron-vue my-project' to create a new project,but when i ececuted the comand 'npm run build:win32',it threw an error that 'Error: EPERM: operation not permitted, symlink 'C:\Users\wzh-lian\Desktop\my-project\node_modules._7zip@0.0.6@7zip' -> 'C:\Users\wzh-lian\AppData\Local\Temp
electron-packager\win32-x64\test-win32-x64\resources\app\node_modules\7zip''
Could you explain about that, i changed nothing in the project

It means that you should run cmd as Administrator.
@SimulatedGREG
Execuse me, I have successfully packaged the project ,but when i run the 'my-project.exe',the window is blank.I also ues 'shell.openItem(path.join(__static,'Grgzpt.exe'))',and there is no response about that.  But it works well when i executed the command 'npm run dev
'

@SimulatedGREG
Follow the #246,I used 'yarn' to manage the dependencies of modules,and it works. But it still can not run the 'Grgzpt.exe' in the static folder

@lianshengxing
I'm not entirely sure if shell.openItem will be able to run an *.exe file. There might be Operating System (Windows) level restrictions for opening another program. You may need to run the file using the node child_process.spawn.
So something like...
import childProcess from 'child_process'
import path from 'path'

const grgzpt = childProcess.spawn(path.join(__static, '/Grgzpt.exe'))

https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

@SimulatedGREG
I am sorry about that. If i use 'shell.openItem(path.join(__static,'Grgzpt.exe'))',the 'Grgzpt.exe' could be ran in the development process, but can not in the production. when i use 'const grgzpt = childProcess.spawn(path.join(__static, 'Grgzpt.exe'))',the 'Grgzpt.exe' can not be ran in both process.
Look forward to your reply.

@SimulatedGREG
I have resolved this problem,just use 'shell.openItem'.I want config the '__static' in my older project, I Have tryed it ,just followed the changes in the new project,but failed .could you help me with it?

@lianshengxing
This is not a direct issue with electron-vue, so I will be closing. But for more information about how the __static variable works, I recently answered this same question on a Stack Overflow. This will explain all the moving parts required for the __static variable to work.
https://stackoverflow.com/questions/44337944/how-to-manage-configuration-for-webpack-electron-app/44379300#44379300
Related: https://simulatedgreg.gitbooks.io/electron-vue/content/en/migration-guide.html


Fixed cyclomatic complexity of get function

Splitted get function in 3 functions to fix it cyclomatic complexity from C to B and A

Apologies for the slow review! Pr has some merge conflicts, happy to re-review if you'd like to resolve


HHH-16557 Testcase and bugfix proposal

CachedMutableNaturalIdTest.java contains a new method testCreateDeleteRecreate which fails without the fix
NaturalIdReadWriteAccess.java contains a fix proposal.
I ran the hibernate-core tests and all 12882 tests are passing.

https://hibernate.atlassian.net/browse/HHH-16557

After you update the PR, I will discuss with the rest of the team whether we want this fix just for the main branch, or if the bug is critical enough to also port this to 6.2.

Please also squash the commits and rebase so that this PR only shows a single commit.

I don;t know hw to do it,
git rebase -i HEAD~2
show me an almost endless list of commits.

First you rebase as is i.e. git rebase upstream/6.2 and then you can squash commits with git rebase -i HEAD~2
``

I have following errore when rebasing
git rebase origin/6.2
error: The following untracked working tree files would be overwritten by checkout:
documentation/src/main/asciidoc/integrationguide/Preface.adoc
Please move or remove them before you switch branches.
Aborting
error: could not detach HEAD
Then by removing this file I run into further problems.
I think im faster making a new banch with a new PR

After you update the PR, I will discuss with the rest of the team whether we want this fix just for the main branch, or if the bug is critical enough to also port this to 6.2.

We plan to migrate directly to hibernate6.4, so for me the backport to 6.2 is not important

Then please provide a PR against 6.4 with a single commit.

Then please provide a PR against 6.4 with a single commit.

https://github.com/hibernate/hibernate-orm/pull/8335


Added parameter to limit loglines

i wanted to be able to let the container stop at some point.
Maybe someone else can use this too

Thank you @motey nice feature.


Bug: Remote URL's Formatting Error

Description
I had several builds fail this morning as they tried to push GitHub code to a repo via a drone pipeline. The error occurred in the final step of my pipeline:
  - name: Publish website
    image: appleboy/drone-git-push
    settings:
      remote_name: test_repo
      remote: git@custom_url.com:test/test.git
      branch: gh-pages
      path: /drone/src/website
      key: GIT_PUSH_SSH_KEY
      force: true
    environment:
      GIT_PUSH_SSH_KEY:
        from_secret: GIT_PUSH_SSH_KEY

The error was as follows:
time="2020-03-09T18:33:42Z" level=fatal msg="parse \"git@custom_url.com:test/test.git\": first path segment in URL cannot contain colon"

This is likely occurring because a regression of a previous issue with net/url in 1.14. See this issue: https://github.com/golang/go/issues/29261
Changing the image from appleboy/drone-git-push to appleboy/drone-git-push:0.2.0-linux-alpine to migrate to the last working version resolved the issue.

I will take it.

Awesome! Thanks again! Any idea of an eta till a fix is released?

Yeah, running into this... using "bar@foo.com:repo.git"

Work-around is:     image: appleboy/drone-git-push:0.2.0-linux-amd64

The workaround suggested by decentral1se works for me, but are there any plans to fix this in a "latest" version/tag?

Pretty sure this is unrelated to the linked golang bug.  That bug is specifically about leading space in front of URLs passed to url.Parse.  I'm pretty sure this is a bug related to repo.WriteToken introduced in ca3840a15e46ee814e6bfde00b9e30789b7aac09.
repo.WriteToken calls url.Parse, and url.Parse will (correctly) fail because a string like git@github.com:foo/bar is not a valid absolute or relative URL.
So a workaround would be to specify remote in SSH URL format<EMAIL_ADDRESS> Note that there's a slash between the hostname and the username, not a colon.
It looks like people will only run into this issue if Drone uses authentication for the clone step, e.g., you're running on a private repo or you set DRONE_GIT_ALWAYS_AUTH=true in your Drone server config.  In this case, Drone writes credentials into DRONE_NETRC_*, which activates drone-git-push's repo.WriteToken.

Thanks for @satwell  solution
replace
git@github.com:fh-trier/latex-templates.git

with
<EMAIL_ADDRESS>


Who's using Vert.x - new page

So far, I have about 16 companies who have given permission for their logos to appear in the "Who's using Vert.x?" section, and this number is likely to increase over time.
This is quite a lot, so I'm wondering whether we should put them on a different page to the home page - or perhaps we put a few on the home page and click through more.... to another page with the rest.
Thoughts?

I think, we should only put large or well-known companies to the homepage (this section is all about impressing people, isn't? ^^). Then we can add a link to a separate page to see the rest.
However, I guess 16 isn't too much. If you look at the Groovy webpage, for example, they have 36 companies listed and it still looks OK.
We might have to make a cut eventually and decide who's really going there and who we might have to reject. Otherwise we risk that every small one-man company sends us their logo. WDYT?

I agree - only well known companies on the homepage, then we link to another page.
I don't mind too much if the other companies are small or not well known, I'd consider it a perk of being in the Vert.x community (and a thank you from us) that you can get some free advertising for your company :)

See new pull request #56


docker-compose up: error on datasource

@gkorland We should make it clear in README that you have to build the data source until it will be registered in Grafana and can be automatically installed using grafana-cli.


quiche: remove google quic support

Signed-off-by: Dan Zhang<EMAIL_ADDRESS>Commit Message: Remove support of Google QUIC. QUICHE supports both IETF QUIC and Google QUIC. Given that IETF QUIC has been launched by Google and Google QUIC will be deprecated soon, remove the  support of Google QUIC will lower the future maintenance burden.
Risk Level: low
Testing: existing tests passed
Fixes #16642

Unfortunately this lowers Envoy coverage below the acceptable limit.  Maybe could land with beefing up some of the QUIC unit tests (as QUIC coverage was already pretty low)

Ahh, the joys of CI :-P
/wait

coverage failures are likely real.  PTAL?
/wait


Image calibration does not update

When user changes the calibration of an image a plug-in still uses the old calibration.
Steps to reproduce

Open binary_noise.tif.zip
Run a plug-in that uses calibration, such as MyCommand (below)
Change calibration Analyze > Set scale... > Click to remove scale > OK
Run the same plug-in as in step 2 again

A minimal example
@Plugin(type = Command.class, menuPath = "Plugins>Test>My command")
public class MyCommand extends ContextCommand {

    @Parameter
    private ImgPlus<?> inputImage;

    @Parameter(type = ItemIO.OUTPUT)
    private String result;

    @Override
    public void run() {
        printCalibration();
    }

    private void printCalibration() {
        final StringBuilder builder = new StringBuilder("Image axes are calibrated as:\n");
        for (int i = 0; i < inputImage.numDimensions(); i++) {
            final CalibratedAxis axis = inputImage.axis(i);
            builder.append("Axis ").append(axis.type().getLabel()).append(": ");
            builder.append(axis.averageScale(0, 1)).append(" ");
            builder.append(axis.unit());
            builder.append("\n");
        }
        result = builder.toString();
    }

    public static void main(final String... args) {
        final ImageJ imageJ = new ImageJ();
        imageJ.launch(args);
    }
}

Unit test
I decided also to write a unit test to check if I can reproduce the problem programmatically, and whether it's really related to the UI. The test passes!
    @Test
    public void testCalibrationUpdates() throws ExecutionException, InterruptedException {
        final ImageJ imageJ = new ImageJ();
        final Img<IntType> img = ArrayImgs.ints(10, 10, 10);
        final ImgPlus<IntType> imgPlus = new ImgPlus<>(img, "",
                new DefaultLinearAxis(Axes.X, "mm", 1.0), new DefaultLinearAxis(Axes.Y, "mm", 1.0),
                new DefaultLinearAxis(Axes.Z, "mm", 1.0));

        final String firstPass = (String) imageJ.command().
                run(MyCommand.class, true, "inputImage", imgPlus).get().getOutput("result");
        imgPlus.setAxis(new DefaultLinearAxis(Axes.X, "mm", 3.0), 0);
        final String secondPass = (String) imageJ.command().
                run(MyCommand.class, true, "inputImage", imgPlus).get().getOutput("result");

        assertNotEquals(firstPass, secondPass);
        imageJ.context().dispose();
    }

Ping @maarzt

@rimadoma your unit test only uses ImageJ2 objects (Img and ImgPlus).
What about creating an ij.ImagePlus, feeding it to your command (i.e. let the converter and synchronisation framework do its job), then imp.setCalibration() some new calibration, then re-run your command?

@imagejan Good point, here's the updated example:
@Plugin(type = Command.class, menuPath = "Plugins>Test>My command")
public class MyCommand extends ContextCommand {

    @Parameter
    private ImagePlus inputImage;

    @Parameter(type = ItemIO.OUTPUT)
    private String result;

    @Override
    public void run() {
        printCalibration();
    }

    private void printCalibration() {
        final StringBuilder builder = new StringBuilder("Image axes are calibrated as:\n");
        final Calibration calibration = inputImage.getCalibration();
        builder.append("X-axis: ").append(calibration.pixelWidth).append(calibration.getUnit()).append("\n");
        builder.append("Y-axis: ").append(calibration.pixelHeight).append(calibration.getUnit()).append("\n");
        builder.append("Z-axis: ").append(calibration.pixelDepth).append(calibration.getUnit()).append("\n");
        result = builder.toString();
    }

    public static void main(final String... args) {
        final ImageJ imageJ = new ImageJ();
        imageJ.launch(args);
    }
}

and unit test
    @Test
    public void testCalibrationUpdates() throws ExecutionException, InterruptedException {
        final ImageJ imageJ = new ImageJ();
        final ImagePlus image = NewImage.createByteImage("", 10, 10, 10, FILL_BLACK);
        final Calibration calibration = new Calibration(image);
        calibration.setUnit("mm");
        image.setCalibration(calibration);

        final String firstPass = (String) imageJ.command().
                run(MyCommand.class, true, "inputImage", image).get().getOutput("result");
        calibration.pixelWidth = 3.0;
        image.setCalibration(calibration);
        final String secondPass = (String) imageJ.command().
                run(MyCommand.class, true, "inputImage", image).get().getOutput("result");

        assertNotEquals(firstPass, secondPass);
        imageJ.context().dispose();
    }

The test still passes.

The test still passes.

Sorry, I wasn't concise. I meant to suggest to use ImgPlus in the command, but call it with an ImagePlus input, such that the framework actually has to convert (and keep synced) the two. That's were the issue most likely is.

@imagejan Gotcha, how can I do that without getting For input inputImage: incompatible object ij.ImagePlus for type net.imagej.ImgPlus? That's what I experience, when I try to run the first version of the example, with the second version of the test.

Hi, I'm not a programmer at all, so this kind of went over my head. I'm trying to maintain the same scale (I calibrated all the original images and then saved them as .tif files to conserve that) and segment the images in WEKA (a plug-in). It seems to change the calibration at each step - after the probability map is created and also after that is converted to binary. Do you have any suggestions on how to keep the scale consistent between these steps?

Hi @Katie-Sparx, thanks for reporting.
This issue here is about ImageJ2-style plugins (i.e. org.scijava.Commands) that usually are aware of calibration, but do not work on an updated calibration when it was changed in the legacy UI (i.e. in an ij.ImagePlus object). It's likely an issue with synchronization between the original ImageJ and the ImageJ2 layer.
The problem you report, @Katie-Sparx, sounds more likely to be an issue with Trainable Weka Segmentation itself, as it seems to "forget" the image calibration at each step. From the source code, I can't see where this should happen, as there are multiple places where the calibration of the input image is correctly transferred to the result image.
May I ask you to open a new issue in the fiji/Trainable_Segmentation repository, and describe the exact steps you're following to see the issue? This will greatly help to fix it.


Poc extension system

WIP

PermController is not prepared yet.

The benefits of having indirect Enum implementations for extension functions are that we can implement some functionals later, like querying fees of the functions, right?

I found accessing context in func_wrap is not trivial. One way is accessing it via self which is context, but due to the constraint of the linker.func_wrap, Fn closure should be sync, so captured variable invoke_source should be wrapped in Arc. Another way is accessing it via caller.data, it's also context, but it's a generic, we need to add trait bounds with getter to access the invoke_source.

add trait bounds is fine


KYLIN-4379: use config overwrite for all MR job

see: https://issues.apache.org/jira/browse/KYLIN-4379

Codecov Report

Merging #1109 into master will decrease coverage by <.01%.
The diff coverage is 60%.

@@             Coverage Diff              @@
##             master    #1109      +/-   ##
============================================
- Coverage     25.06%   25.06%   -0.01%
+ Complexity     6226     6223       -3
============================================
  Files          1440     1440
  Lines         87882    87883       +1
  Branches      12291    12292       +1
============================================
- Hits          22030    22025       -5
- Misses        63694    63697       +3
- Partials       2158     2161       +3

Impacted Files
Coverage Δ
Complexity Δ

...he/kylin/engine/mr/common/MapReduceExecutable.java
12.91% <60%> (-0.42%)
6 <0> (ø)

...he/kylin/dict/lookup/cache/RocksDBLookupTable.java
72.97% <0%> (-5.41%)
6% <0%> (-1%)

...org/apache/kylin/rest/util/QueryRequestLimits.java
35.71% <0%> (-4.77%)
5% <0%> (-1%)

...he/kylin/job/impl/threadpool/DefaultScheduler.java
74.41% <0%> (-2.33%)
12% <0%> (ø)

.../apache/kylin/cube/cuboid/TreeCuboidScheduler.java
63.84% <0%> (-2.31%)
0% <0%> (ø)

...a/org/apache/kylin/dict/Number2BytesConverter.java
81.74% <0%> (-0.8%)
17% <0%> (-1%)

...rg/apache/kylin/cube/inmemcubing/MemDiskStore.java
70.21% <0%> (+0.91%)
7% <0%> (ø)
:arrow_down:

...ream/core/storage/columnar/ColumnarStoreCache.java
55.68% <0%> (+3.4%)
8% <0%> (ø)
: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 908ea30...5372989. Read the comment docs.

Pull Request Test Coverage Report for Build 5626

9 of 10 (90.0%)  changed or added relevant lines in 1 file are covered.
6 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.0008%) to 27.524%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

engine-mr/src/main/java/org/apache/kylin/engine/mr/common/MapReduceExecutable.java
9
10
90.0%

Files with Coverage Reduction
New Missed Lines
%

server-base/src/main/java/org/apache/kylin/rest/util/QueryRequestLimits.java
1
47.62%

core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DefaultScheduler.java
2
80.23%

core-cube/src/main/java/org/apache/kylin/cube/inmemcubing/MemDiskStore.java
3
78.42%

Totals

Change from base Build 5622:
0.0008%

Covered Lines:
24189

Relevant Lines:
87883

💛  - Coveralls


[feat]: option for additional 'externalhosts=' in lnd.conf (clearnet/hybrid support)

Prerequisites

[X] I have searched for existing issues that already suggest this feature.

Describe the Feature Request
I'm currently running a fork of this repo with an extra configuration option to add an additional 'externalhosts=' in the lnd.conf
I noticed there's a branch on this repo with the same feature: https://github.com/Start9Labs/lnd-startos/compare/feature/clearnet-hack
can we get this setting integrated in main?
(I guess this will come with 036/040 too, but it would be nice to have already for us DIYers)
Describe the Use Case
This allows the ability to set additional external (clearnet) hostnames, LND will use these to resolve their IP and advertise it on the network.
Describe Preferred Solution
No response
Describe Alternatives
No response
Anything else?
No response

These config changes will very likely be added to Master alongside the release of 0.3.6 but not before then.

These config changes will very likely be added to Master alongside the release of 0.3.6 but not before then.

perfect, thanks!


WUC-21: GitHub Pages

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Multiple JSON + FormData request validation

Describe the bug
I set field required with formData: and json: tags in input request data structure simultaneously. Also I add ForceJSONRequestBody() function for input structure to support multiple request formats (e.g application/json and application/x-www-form-urlencoded).
In this case if I send json request I got validation error
"formData:field": [
      "missing value"
    ],

To Reproduce
package main_test

import (
	"bytes"
	"context"
	"github.com/swaggest/openapi-go/openapi31"
	"net/http"
	"net/http/httptest"
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
	"github.com/swaggest/rest/web"
	"github.com/swaggest/usecase"
)

type TestRequest struct {
	Field string `json:"field" formData:"field" required:"true"`
}

func (a TestRequest) ForceJSONRequestBody() {}

func TestJSONPlusForm(t *testing.T) {
	service := web.NewService(openapi31.NewReflector())

	path := "/test"

	service.Post(path, usecase.NewInteractor(func(ctx context.Context, input TestRequest, output *string) error {
		*output = input.Field

		return nil
	}))

	schema := service.OpenAPICollector.SpecSchema().(*openapi31.Spec)
	assert.NotNil(t, schema)
	assert.Contains(t, schema.Paths.MapOfPathItemValues, path)
	testPath := schema.Paths.MapOfPathItemValues[path]
	assert.NotNil(t, testPath.Post)
	assert.Contains(t, testPath.Post.RequestBody.RequestBody.Content, "application/x-www-form-urlencoded")
	assert.Contains(t, testPath.Post.RequestBody.RequestBody.Content, "application/json")

	req, err := http.NewRequest(http.MethodPost, path, bytes.NewReader([]byte(`{"field":"some-data"}`)))
	require.NoError(t, err)
	req.Header.Set("Content-Type", "application/json")
	rw := httptest.NewRecorder()

	service.ServeHTTP(rw, req)
	assert.Contains(t, rw.Body.String(), "validation failed")
	assert.Contains(t, rw.Body.String(), `"formData:field":["missing value"]`)
	assert.Equal(t, http.StatusBadRequest, rw.Code)
}

Here what's happen:

There're 2 decoders (form + json) for specified path
First decoder returns error because form data is empty and next decoder not triggered

Expected behavior
Validation should be performed according request type header
Additional context
As workaround I can remove required tag

Is the idea for such request structure to accept either application/json or application/x-www-form-urlencoded in the same endpoint and decode successfully both types of requests?

Please try the new v0.2.69.


Utility Functions

Type

[x] Functions:

$isChannelManageable[channelID]
$removeAttachments[channelID;messageID]
$isVideoOn[userID]
$isStreaming[userID]
$isServerDeafened[userID]
$isServerMuted[userID]
$isSelfDeafened[userID]
$isSelfMuted[userID]
$readyTimestamp
$setRolePosition[roleID;newPosition]
$isRoleEditable[roleID]

[x] Improvements

5 new properties in $guild[].

Want a credit? Discord tag or other social media link: Spen#0999
Description
New functions for utility purposes.

Hmm u can also try making isRoleManageable

As we want that for hardmute system

Hmm u can also try making isRoleManageable

$isRoleEditable == $isRoleManageable

Typo at guild.js

$isDeafened and $isMuted is checks the user is server deafened or muted

$isDeafened and $isMuted is checks the user is server deafened or muted

$isDeafened and $isMuted checks for either server or self, returns true for either.
Which is why $isSelfMuted, $isServerDeafened, etc are needed.


Keep data in useQuery result defined when initialData is defined

Fixes #3310

superseded by:

https://github.com/TanStack/query/pull/3834


Needs to be revised

Hello,
There is no alert module anymore.
Kindly review the article and make the required changes / take it offline.
Thank you

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

ID: e86a0fdb-2798-ae95-abb9-ce6c21c4b57d
Version Independent ID: a5fa67b9-23dd-5c5d-b2c8-2a783360313e
Content: Add a welcome message - Commerce | Dynamics 365
Content Source: articles/commerce/add-welcome-message.md
Service: dynamics-365-commerce
Product: ****
Technology: ****
GitHub Login: @psimolin
Microsoft Alias: psimolin

@josaw1, please review.

Thanks for the feedback. This topic needs to be rewritten. Removing the topic for now.


Production Build Question about Comments and SourceMaps

Hi,
I've noticed when I am doing an npm run build:aot that the main.bundle has tons of code comments in it, is it possible to strip \ remove them to reduce the bundle size ? + are source maps needed for production builds ?
cheers,
Christoph
Note: for support questions, please use one of these channels: Chat: AngularClass.slack or Twitter: @AngularClass

I'm submitting a ...
[ ] bug report
[ ] feature request
[X ] question about the decisions made in the repository

Do you want to request a feature or report a bug?

What is the current behavior?

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via
https://plnkr.co or similar (you can use this template as a starting point: http://plnkr.co/edit/tpl:AvJOMERrnz94ekVua0u5).

What is the expected behavior?

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.0-beta.X
Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)

Hi. I am also interested in this. Since in production the source maps should not be delivered, right?


Implement Linked list from scratch along with basic important questions in cpp

Following taks have to be done in this issue:

[x] Insertion of all types
[x] Deletion
[x] Searching
[x] Taking linked list data as user input
[x] Linked list and operator overloading
[x] Reversing a linked list
[x] Recursively reverse a linked list
[x] Finding midpoint of a linkend list
[x] Finding Kth node of LL
[x] Merging two sorted LL
[x] Sorting LL using merge sort
[x] Floyd's Cycle
[x] Doubly LL
[x] Circular LL
[x] List STL

Completed in target time!

Completed within the target time!


docs: Codemagic advanced script doesn't work with patches

Description
The current codemagic "advanced example" is this:
workflows:
  advanced-example:
    name: Advanced Example
    environment:
      vars:
        TYPE: 'patch' # Can be 'patch' or 'release'
      groups:
        # Exports the SHOREBIRD_TOKEN environment variable
        - shorebird
      flutter: stable
    scripts:
      - name: 🐦 Setup Shorebird
        script: |
          # Install Shorebird
          curl --proto '=https' --tlsv1.2 https://raw.githubusercontent.com/shorebirdtech/install/main/install.sh -sSf | bash

          # Add Shorebird to PATH
          echo PATH="$HOME/.shorebird/bin:$PATH" >> $CM_ENV
      - name: 🙌 Shorebird Build
        script: |
          echo "➡ Using type: $TYPE"

          # If type is neither "patch" nor "release", exit with error
          if [ "$TYPE" != "patch" ] && [ "$TYPE" != "release" ]; then
            echo "TYPE must be either 'patch' or 'release'"
            exit 1
          fi

          # Check type and run corresponding command
          if [ "$TYPE" == "patch" ]; then
            echo "🩹 Running patch command"
            shorebird patch android --force
          elif [ "$TYPE" == "release" ]; then
            echo "🚀 Running release command"
            shorebird release android --force
          fi

However, you will probably add a publishing section to your file so that you can get your apps on the stores. The problem is that when you do this, it will try to submit to the App Store you configured, even if you run a patch. Since no file is produced from the patch command, this makes the workflow fail.
I would suggest changing this example to have two workflows, one with the patch command and the other with the release command.
We've actually implemented this in our codemagic.yaml, as well as including a separate iOS and Android workflows, but it keeps it clean by reusing steps where possible. If you'd like, I'd be happy to clean off our domain-specific stuff and put up a PR on this page.
Thanks!

Thanks!  FYI @nilsreichardt

Yes, that makes sense, @mtwichel :+1: Thanks for filling this ticket ❤ You can either just send me the codemagic.yaml and I update the docs, or you fill a PR - just as you like ✌


[Color Picker] VEC4 is rounding incorrectly (from and to RGB)

Description of the new feature / enhancement
I am assuming color values are picked up as RGB and then converted to all other formats.
The conversion to VEC4, however, lacks the precision and or does improper rounding and can not be used to calculate the actual RGB value.
For instance:
rgb( 0, 52, 102 ) -> converts fine to hex (003466)
vec4( 0f, 0.2f, 0.4f, 1f) -> multiplied by 255.0f -> ( 0.000, 51.000, 102.000)
Instead of the blue value of 52, the loss in precision converts to 51.
Hence 0.2f should actually be 0.20392157 which results in (0.20392157*255.0) = 52.0
Or, to limit the amount of decimal numbers, rounding to something like: 0.204
Expected result:
Either always use more and possibly even a fixed amount of decimal numbers (three or four), to ensure a higher accuracy.
Or round in such a way that at least the rounding ensures the RGB values will match.
Scenario when this would be used?
Sometimes it is useful to work with either RGB or VEC4, hence both should be pretty much identical.
The current conversion leaves room to wonder, how much precision was actually lost and if one should rather calculate the values by hand instead of rely on the Power Tools.
Supporting information
No response

anytime any value is rounded, we'll hit this issue.  RGB is int based, not float.  You can do hex fine as that stays int based.  we could increase the precision for vec4 but you'd still run the risk of a this exact issue. Why in calculus you can't cleanly go from differential and integral.  precision is lost in one direction.
With VEC4 we also added in more precision to help with this issue.


[small bug] Custom styles applied to  and  are getting reset to their defaults

I have some custom styles that change the colour of **bold** and *italic* text to orange.
This works fine in obsidan's default "export to pdf" feature (picture below)

However, when using this plugin, these colours are removed (picture below).

Though, these styles can be re-applied by using the custom CSS.

i managed to do a temporary workaround by doing some inline CSS like so:
Produce Clerk

update: I thought that using the custom CSS wouldn't work, but it just turns out i was using CSS wrong and applied the rgb value in the wrong way. So, the severity of this issue isn't nearly as big as i thought it was, and now it's only a minor inconvenience to re-apply the proper CSS

First, make sure that the CSS code snippet is enabled by default; otherwise, you'll need to select it within the export modal. Then, you can enable Debug mode to see which CSS snippet is actually taking effect.

Oh I see that's what the debug button does!
Ah hmm it seems like obsidian's default stylesheet (?) is overwriting any set --bold-color

Disabling this line makes it appear properly

This is where the colour is defined.

This might just be a weird interaction between the Border theme I use and this plugin
Anyways yeah it was pretty easy to fix by just using a custom CSS stylesheet for exporting, i'll close the issue since this is probably a rare, inconsequential bug and not worth investigating


Capture preview fixes

Fixed picture aspect ratio that caused image distortion on preview
Added video symbol overlay to clearly show which are videos

https://github.com/ericlewis/pin-pal/commit/5d5cd2394fbf46366ddf28e48800eb8b9834b5e4


individual messaging to telegram

FYI - I'm not a ruby programmer, so there may be some mistakes, but on my local pc, it works.

Hello, unfortunately seems our use-cases are different, I need to work with telegram like email messaging, in my case users cant use email properly and they miss important issues and updates.


wip: clone changes - gtm page view

What's the purpose of this pull request?

How it works?

How to test it?

Starters Deploy Preview

References

@pedromtec we can close this one right? It was for testing purposes.


Add ‘libbz2.so.1’ alternate library name for FFI

I was investigating why FFI version was not activating in spite of having libbz2 (1.0.6-8) installed on Ubuntu.  I found that only "libbz2.so.1" symlink is created, and not "libbz2.so" when this package is installed.  The latter is only created by the "libbz2-dev" package.
Without "libbz2.so", calling ffi_lib 'bz2' fails.
This PR is to alternatively try to load "libbz2.so.1" to handle this case.
This technique is described here:
https://github.com/ffi/ffi/wiki/Loading-Libraries#linux-packages

Thanks! Sounds reasonable.
But would you please update your PR to not change the version?

@koraktor Sure thing. Updated now.


The fill component gets closed when clicking in the icon modal window

Doing the acceptance for this PR we found that if an user selects an icon from the asset modal window and clicks in the modal itself (that is, not on an icon or button but anywhere else), and then closes the modal window, the fill component gets closed.
Steps to Reproduce

Open a map with some points.
Style the points with an icon using the modal window.
Click anywhere on the modal window.
Close it (by selecting an icon or pressing the esc key)

Current Result
The fill component gets closed.
Expected result
The fill component should remain visible.

Found on that PR, but happening at that moment in production. The reason is, when a component (any dropdown) is opened, we enable a listener over the document in order to close that component if the user clicks out.
So the solution should be disable that listener when the modal is opened, and when it is closed or the icon is chosen, enable it again.

Thanks @javierarce for the report 💋 .

Deployed!


use fractal to decode from array to custom PHP object

using League/fractal, i am attempting to transform data from array to my PHP object...in the following way
    final class StatusDeserializer extends AbstractTransformer
    {

       public function transform(Status $status)
       {
          return new StatusObject(
            $status['name'] ,
            $status['message']
          );
       }
    }

    final class StatusObject {

      private $name;
      private $message;

      public function __construct($name, $message){
          $this->name    = $name;
          $this->message = $message;
      }
    }

    //test implementation here
    $data = [
        'name' => 'foo',
        'message' => 'bar'
    ]

    $this->fractalManager->createData($data, new StatusDeserializer());

But i get this error
Fatal error: Uncaught TypeError: Argument 1 passed to League\Fractal\Scope::filterFieldsets() must be of the type array, object given

Edit
I tried wrapping the array into Fractals collection,  i.e
$data = new Collection([ 'name' => 'foo', 'message' => 'bar' ]);

and it now returns an instance of League\Fractal\Scope instead of my StatusObject instance
Edit 2
Adding ->toArray() brought me back to the first error
$this->fractalManager->createData($data, new StatusDeserializer())->toArray();

see screen shot : https://gmkr.io/s/5a0b755c683d0d77313ff0fa/0
what i'm i missing ?

@willishq ( sorry to mention you directly ) any ideas ?

what i'm i missing ?

transform method should return array (or in case if you use it with Primitive resource just any value). So if you need to transform your data into object you may use Primitive resource:
$this->fractalManager->createData(new Primitive($status), new StatusDeserializer())->toArray();

Please note that Fractal isn't serialization/deserialization library. Please use more appropriate solutions like symfony/serializer for this purposes.

thanks for your feedback @fesor ,
i tried your suggestion
$decoded = $this->fractalManager->createData(new Primitive($status), new StatusDeserializer())->toArray();
but get this error
Type: InvalidArgumentException
Message: Argument $resource should be an instance of League\Fractal\Resource\Item or League\Fractal\Resource\Collection
File: /server/http/vendor/league/fractal/src/Scope.php
Line: 355

when i remove ->toArray() , and do var_dump($decoded) , i get the scope type instead...

object(League\Fractal\Scope)#257 (5) { ["availableIncludes":protected]=> array(0) { } ["scopeIdentifier":protected]=> NULL ["manager":protected]=> object(League\Fractal\Manager)#249 (8) { ["requestedIncludes":protected]=> array(0) { } ["requestedExcludes":protected]=> array(0) { } ["requestedFieldsets":protected]=> array(0) { } ["includeParams":protected]=> array(0) { } ["paramDelimiter":protected]=> string(1) "|" ["recursionLimit":protected]=> int(10) ["serializer":protected]=> object(League\Fractal\Serializer\ArraySerializer)#252 (0) { } ["scopeFactory":"League\Fractal\Manager":private]=> object(League\Fractal\ScopeFactory)#250 (0) { } } ["resource":protected]=> object(League\Fractal\Resource\Primitive)#255 (4) { ["data":protected]=> array(2) { ["service_name"]=> string(5) "joker" ["status"]=> string(4) "cool" } ["meta":protected]=> array(0) { } ["resourceKey":protected]=> NULL ["transformer":protected]=> object(HelloFresh\Purchasing\Infrastructure\Transformer\DeserializerStrategy\HealthStatusDeserializer)#237 (3) { ["availableIncludes":protected]=> array(0) { } ["defaultIncludes":protected]=> array(0) { } ["currentScope":protected]=> NULL } } ["parentScopes":protected]=> array(0) { } }

You're attempting to use Fractal in a way that it's not intended, which is causing the issues. Is there a particular reason you're opposed to returning an array from transform? The internals of Fractal rely pretty heavily on that being an array.


disable context menu on JCEF component

Probably wouldn't be a bad idea to disable the context menu on the JCEF component. No need to "print" or "view source" in these scenarios. Actually we want to avoid direct access to the source to help protect copyright etc...

fixed in commit 778925de85555262483542ac46385888059b41e6


fix chain sync interface

Add global_state: GlobaState field on L1Action. (The output global state of the transaction.)
Use u8 to represent status.
build_genesis function returns the global_state for initialize the rollup cell.

Closing in favor of #22


Improve README

Improve general README (and add a README for each example).

The README could be a walkthrough like https://github.com/massalabs/massa/blob/main/docs/smart-contracts/massa-sc-by-example.rst
Originally posted by @yvan-sraka in https://github.com/massalabs/tictactoe-poc/issues/8#issuecomment-1105088713


Terraform 0.14 upgrade

what

Upgrade to support Terraform 0.14 and bring up to current Cloud Posse standard

why

Support Terraform 0.14

WIP!!!
depends on https://github.com/cloudposse/terraform-aws-lb-s3-bucket/pull/27

/test all

/test all

Need this.

Need this.

/test all

/test all

/test all

/test all

/test all

/test all

/test all

/test all

This lack of TF .14 is holding our whole code base back.  If this isn't going to be approved we need to implement a few of our modules with a different base.  Is there anything we could do to help this progress?  Is there an issue with this module that is preventing it getting reviewed?  Should we not expect it to be able to track the more core modules?

/test all

/terraform-fmt

/rebuild-readme

/test all
Sorry, @xophere , we have close to 200 Terraform modules that need updating and it takes us time to update them all. We are working toward automating some of the updates so hopefully this will go much faster in the future. In this case, there were a chain of modules this module uses that all had to be updated first, so this module took longer than most to get upgraded.


Support for querying against @MappedSuperclass

Hi Timo!
I've posted this on StackOverflow:
http://stackoverflow.com/questions/8702542/can-i-remove-the-discriminator-column-in-a-hibernate-single-table-inheritance
and you said to create a ticket here as this "is easily implemented" ;)
Basicly we'll need the @MappedSuperclass annotation to be treated as an @Entity annotation when generating querytypes.
Summary of our setup:
We are working with single table inheritance for all entities in our application but don't need or want a discriminator column in the database as it would be redundant and cost a lot of space and performance. Hibernate's alternative instead of using
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
(which is already supported by queryDSL) is to use
@MappedSuperclass
so that no discriminator type is required to map the data from an extended entity back to its abstract parent object.
However: The Query DSL querytype generator does not generate an accessor for @MappedSuperclass.
Example:
@MappedSuperclass
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)@Table(name = "client")
public abstract class Client extends AbstractPersistable {
private String name;
// getter, setter...
}

@Entity
public class ClientSimple extends Client {
should support a query like this:
query.where(QClient.client.name.equals("..."));
with the query.list ultimately returning a List of Client objects than can then be mapped to ClientSimple objects.
This behaviour is neccessairy, because another application instance of the same base application might extend the Client in a different way (ClientAdvanced) but still has to use most of the same querying methods to find objects of the Client type but then cast them to ClientAdvanced.

Nice. Also worked for me.
Thank you.


DR2-1693 Folder opex creator changes.

This checks the childCount against the returned number of children.
There's a unit test for it as well.

As I said in the other one, childCount is mandatory so this will error if it's missing.


Allow sorting by using orderBy

This pull request adds the option to sort the search results by using the orderBy function.

Can we close this as https://github.com/statamic-rad-pack/meilisearch/pull/36 includes these changes?


No more data since 1-2 Weeks

I am getting this error arround 6000times in the Logfile. It worked like a charm for multiple weeks before. But now randomly stopped working.
1 ERROR (MainThread) [alphaess.alphaess] Cannot connect to host openapi.alphaess.com:443 ssl:default [Try again] 2024-06-15 06:59:55.132 ERROR (MainThread) [alphaess.alphaess] Error: Cannot connect to host openapi.alphaess.com:443 ssl:default [Try again] when calling https://openapi.alphaess.com/api/getEssList 2024-06-15 06:59:55.132 ERROR (MainThread) [alphaess.alphaess] 'NoneType' object is not iterable 2024-06-15 06:59:55.133 ERROR (MainThread) [custom_components.alphaess] Unexpected error fetching alphaess data: 'NoneType' object is not iterable Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 315, in _async_refresh     self.data = await self._async_update_data()                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "/config/custom_components/alphaess/coordinator.py", line 30, in _async_update_data     jsondata: json = await self.api.getdata()                      ^^^^^^^^^^^^^^^^^^^^^^^^   File "/usr/local/lib/python3.12/site-packages/alphaess/alphaess.py", line 296, in getdata
Is ist possible that the API changed something in the backend?

I suspect that is not an API backend issue - the error is stating that your home assistant cannot connect to the openapi.alphaess.com server.  That's more likely to be a firewall or DNS issue in your own network.
If you can get terminal access to your home assistant box (you may need to install a terminal add-on from the add-on store) then you can run curl with the openapi URL to see if basic connectivity is working correctly, you should get a response like this:
~ $ curl https://openapi.alphaess.com/
{"code":6012,"msg":"AppId is empty"}~ $


Multiverse Spawn On Death

Anytime a player dies, for example, a player dies in the world "Creative", they respawn at the spawnpoint of my default world, "Survival". Instead, I want them to respawn at the spawnpoint of the world "Creative". Is this possible?

Did that work? Can I close this ticket?

No, sadly it did NOT work. Still, whenever I die in any world I respawn in my original world. I have a feeling that this has to do with a conflict with Essentials, because that also tries to handle spawning/teleporting.

Without further info, closing as unrelated to MV. Please reopen/provide more info if needed.


Request for updated iOS SDK version with the xcprivacy manifest

Subject: We need to incorporate the xcprivacy manifest into our app . Starting March 13, Apple will send notifications when uploading builds to the App Store, and this will become mandatory from May 1. All the SDKs used in our app needs to incorporate the xcprivacy manifest.
Reference: https://developer.apple.com/news/?id=3d8a9yyh
Actions needed: We need the compatible xcprivacy manifest version IOS SDK with xcprivacy manifest. We are expecting a seamless upgrade by upgrading to the latest version.

AlamofireImage isn't on the list of SDKs that require a manifest, nor do I believe it uses a restricted APIs, so it shouldn't need a manifest. If you are getting a warning from ASC, please include the warning message so I can narrow down the API that needs to be declared.

@jshier  The issue is that AlamofireImage links to an outdated version of Alamofire in the package dependencies here https://github.com/Alamofire/AlamofireImage/blob/master/Package.swift, can we get a new version with that updated to use Alamofire 5.9.1?


Building Vapor app using Docker fails on Mac when including VaporToOpenAPI

We have a number of Vapor apps that we've started adding docs to using VaporToOpenAPI. Building in Xcode works as expected, as does building on Gitlab CI. However, when trying to build in Docker on my (M1) Mac, the build fails.
I've reproduced this on the smallest possible Vapor project (using vapor new from the command line). The docker build succeeds with the bare project, but after adding VaporToOpenAPI to the package file, the build fails at the swift build step.
Package.swift
// swift-tools-version:5.9
import PackageDescription

let package = Package(
    name: "crash-test",
    platforms: [
       .macOS(.v13)
    ],
    dependencies: [
        // 💧 A server-side Swift web framework.
        .package(url: "https://github.com/vapor/vapor.git", from: "4.89.0"),
        .package(url: "https://github.com/dankinsoid/VaporToOpenAPI.git", .upToNextMajor(from: "4.4.6"))

    ],
    targets: [
        .executableTarget(
            name: "App",
            dependencies: [
                .product(name: "Vapor", package: "vapor"),
                .product(name: "VaporToOpenAPI", package: "VaporToOpenAPI")
            ]
        ),
        .testTarget(name: "AppTests", dependencies: [
            .target(name: "App"),
            .product(name: "XCTVapor", package: "vapor"),

            // Workaround for https://github.com/apple/swift-package-manager/issues/6940
            .product(name: "Vapor", package: "vapor"),
        ])
    ]
)

Docker command:
docker build -t crash-test:latest .
Dockerfile used is the standard template provided by the Vapor project
Excerpt from the build log is below:
#5 59.49 /usr/bin/clang -target aarch64-unknown-linux-gnu -g -O2 -DSWIFT_PACKAGE=1 -fblocks -fmodules -fmodule-name=CNIOBoringSSL -I /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/include -fmodules-cache-path=/build/.build/aarch64-unknown-linux-gnu/release/ModuleCache -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -D_DARWIN_C_SOURCE -fPIC -fno-omit-frame-pointer -MD -MT dependencies -MF /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_req.c.d -c /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/crypto/x509/x509_req.c -o /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_req.c.o
#5 59.58 /usr/bin/clang -target aarch64-unknown-linux-gnu -g -O2 -DSWIFT_PACKAGE=1 -fblocks -fmodules -fmodule-name=CNIOBoringSSL -I /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/include -fmodules-cache-path=/build/.build/aarch64-unknown-linux-gnu/release/ModuleCache -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -D_DARWIN_C_SOURCE -fPIC -fno-omit-frame-pointer -MD -MT dependencies -MF /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_obj.c.d -c /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/crypto/x509/x509_obj.c -o /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_obj.c.o
#5 59.67 /usr/bin/clang -target aarch64-unknown-linux-gnu -g -O2 -DSWIFT_PACKAGE=1 -fblocks -fmodules -fmodule-name=CNIOBoringSSL -I /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/include -fmodules-cache-path=/build/.build/aarch64-unknown-linux-gnu/release/ModuleCache -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -D_DARWIN_C_SOURCE -fPIC -fno-omit-frame-pointer -MD -MT dependencies -MF /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_lu.c.d -c /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/crypto/x509/x509_lu.c -o /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_lu.c.o
#5 59.81 /usr/bin/clang -target aarch64-unknown-linux-gnu -g -O2 -DSWIFT_PACKAGE=1 -fblocks -fmodules -fmodule-name=CNIOBoringSSL -I /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/include -fmodules-cache-path=/build/.build/aarch64-unknown-linux-gnu/release/ModuleCache -D_GNU_SOURCE -D_POSIX_C_SOURCE=200112L -D_DARWIN_C_SOURCE -fPIC -fno-omit-frame-pointer -MD -MT dependencies -MF /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_ext.c.d -c /build/.build/checkouts/swift-nio-ssl/Sources/CNIOBoringSSL/crypto/x509/x509_ext.c -o /build/.build/aarch64-unknown-linux-gnu/release/CNIOBoringSSL.build/crypto/x509/x509_ext.c.o
#5 60.98 error: compile command failed due to signal 9 (use -v to see invocation)
------
process "/bin/sh -c swift build -c release                 --static-swift-stdlib                 -Xlinker -ljemalloc -v" did not complete successfully: exit code: 1

I'm having the same issue, has there been any progress on this?

@dankinsoid any update on this please?

hi, I'll try check

@owainhunt Unfortunately I didn't reproduce the bug on my M2 machine, maybe it's possible with M1 only, but I don't have a M1 device


feat: add like function

What this PR does: https://github.com/arana-db/arana/issues/621

Codecov Report
Base: 36.74% // Head: 36.74% // No change to project coverage :thumbsup:

Coverage data is based on head (645ab63) compared to base (0f1ed59).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #625   +/-   ##
=======================================
  Coverage   36.74%   36.74%
=======================================
  Files         199      199
  Lines       22312    22312
=======================================
  Hits         8199     8199
  Misses      13199    13199
  Partials      914      914

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

PS: add an integration test of show tables like ....


postgresql schema

i use schema to group tables in my db.  i usually write my query like this
SELECT * FROM auth.user

so i write a TableName() like this
func (*User) TableName() string { return "auth.user" }

but postgresql complains that relation "auth.user" does not exists. initial digging suggest that the Quote() function in godb simply apply quote around identifier, resulting in "auth.schema". while proper postgresql schema identifier should be "auth"."schema"
if i want to contribute a fix, should i modify the adapter's Quote() function or somewhere else?

Hi,
You're right, I've started with a very naive quoting approch and just hacked a bit around it later.
Thanks for your proposition. But I have to consider all cases before replying to you. Then I made the change myself as it's not a big work once the code was checked.
You were almost right about the Quote method, but I left it as-is, and share the split & merge work as it's common to all adapters. In fact the code already exists but just for some cases.
As help is always appreciate, and I don't want to break something, you can :

do a review of my pull request : https://github.com/samonzeweb/godb/pull/43
try the code using go get github.com/samonzeweb/godb@betterquote (only with go modules, not with GOPATH)

I will not be available tomorrow, but I'll try to react ASAP.
Sam.

the PR looks good to me. i also tested betterquote branch and it works with my existing code
thank you

PR merged, see version tag v1.0.13 .


Attempt to fix benchmarks step

What does this PR do?
Attempt to fix the broken benchmarks build stage

:broken_heart: Build Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-01-27T09:38:14.178+0000

Duration: 18 min 14 sec

Steps errors
Expand to view the steps failures

Shell Script

Took 0 min 1 sec . View more details here
Description: ./scripts/jenkins/run-benchmarks.sh

Read file from workspace

Took 0 min 0 sec . View more details here
Description: src/github.com/elastic/apm-agent-java/apm-agent-bulk-2023-01-27T094427Z.json

:grey_exclamation: Flaky test report
No test was executed to be analysed.
:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark tests.

run jdk compatibility tests : Run the JDK Compatibility tests.

run integration tests : Run the Agent Integration tests.

run end-to-end tests : Run the APM-ITs.

run windows tests : Build & tests on windows.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)


Cross-crate links do not preserve platform selected

Browsing the documentation for windows and clicking through to another crate results in platform being forgotten.
e.g. click Evented on this page

Thanks for reporting, but this is a little bit complicated.
Cross-crate links are currently using documentation URL set by crate owner.
Link of Evented trait is coming from mio's package.documentation URL. And not every crate is using docs.rs in their documentation links. I need to make a docs.rs specific rustdoc to generate 100% correctly linked documentation. I actually want to make this but I am afraid it will become so hard to maintain. rustup is making docs.rs job is a lot easier for different target platforms, and this is one of the downsides of docs.rs because of stock rustdoc.
Another example is enums: https://docs.rs/acme-client/0.2.0/acme_client/enum.ErrorKind.html If you check links of each type in this enum, you can see they are all using a different website originally set by crate owners.

Since we started passing --extern-html-root-url, we no longer read package.documentation, so I think this is now feasible to implement. The example given, ErrorKind, links to all docs.rs urls in the latest version (except for std::io::Error).
The only concern I have is that if that for cross-crate links, the other crate might not have built the same targets as you did, resulting in a 404. I think this would be solvable by redirecting to the default target if a rustdoc page with a non-default target gives a 404.
So, the way I propose to implement this is by adding the current platform to --extern-html-root-url. This would only fix future builds (all existing links would still lose the platform), but shouldn't require terribly much effort from docs.rs.

Fixed in https://github.com/rust-lang/docs.rs/pull/1418 (I guess that means https://github.com/rust-lang/docs.rs/issues/1397 was a duplicate of this issue).


MWPW-134543 Set up workflow for testing milo changes

Try out workflow dispatch from Milo. The jobs is the same as run-inside.yml. Once the workflow dispatch works, some E2E tests will be moved to GitHub Actions.

Codecov Report

Merging #304 (1757944) into stage (f101d28) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            stage     #304   +/-   ##
=======================================
  Coverage   88.22%   88.22%
=======================================
  Files          27       27
  Lines        2590     2590
=======================================
  Hits         2285     2285
  Misses        305      305

see 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Not found MaterialTextField and MaterialIcon in latest updated version

Install latest version 1.0.3 of XF-Material-Library that added MaterialTextField and MaterialIcon from nuget package source in my visual studio 2017 for xamarin.forms projects, but i dont found these controls even it is updated. Please update nuget package source.

Will check on this.

Thanks for quick reply.... If any update please let me know as soon as possible as I needed it. Once again thanks for this very much useful library.

The issue has been fixed. I already uploaded the newest version of the package and can now be downloaded. Turns out I forgot to rebuild the project before I created the package.


not run on GPU

Hi @MaybeShewill-CV,
Thank you for your great work,
I am trying to run your works on C++ by using mnn-lanenet project.
By MNN convert cpkt --> pb--> *.mnn file. My host PC has GPU card GTX2070 and i run with *.mnn model on Docker. I got only 2 fps.
After checking GPU load, i found that model was not load on GPU (Used GPU RAM memory did not change) , lanenet seem run on CPU.  I used pre-traied model provided by you.
How to check and setting to  run lanenet on GPU ?
Thank you so much.

@diennv MNN project was used to run on mobile devices. Use origin tf tools to run the model on gpu. README file will guide you there:)

@MaybeShewill-CV , i got it.
Thank for your support


update to electron 1.3.8

According to the release notes this fixes the a11y issue on Windows.
/cc @egamma @alexandrudima

a11y has got to be the least accessible way to write accessibility.


Flutter run -d web should expose a way to configure bound port

Use case
I'm attempting to use flutter run -d web on https://gitpod.io/ which requires ports to be expose not be bound to localhost.
Proposal
I'd like to add an additional flag to flutter run -d web which configures which port and what interface to bind to. e.g.
$ flutter run -d web --host <IP_ADDRESS> --port 8080

/cc @DanTup for gitpod.io explorations.

From flutter run -h -v
...
    --web-hostname                                    The hostname to serve web application on.
                                                      (defaults to "localhost")
    --web-port                                        The host port to serve the web application from. If not provided,
                                                      the tool will select a random open port on the host.
    --[no-]web-allow-expose-url                       Enables daemon-to-editor requests (app.exposeUrl) for exposing
                                                      URLs when running on remote machines.
```

FWIW, I'm actively working on some things to make this work better on GitPod. The best way will be to run with the built-in debugger functionality (rather than from the terminal) as it will be able to automatically expose ports (as well as provide debugging, hot-reload-on-save, DevTools, etc.).
The few things left are noted in https://github.com/flutter/flutter/issues/32436#issuecomment-607778147 (plus there may be a GitPod bug or two currently being investigated).


Sharing models through Hugging Face Hub

Hi there!
This project is very cool. I see you host and share models with your own hosted server. Would you be interested in sharing your models in the Hugging Face Hub? The Hub offers free hosting of over 25K models, and it would make your work more accessible and visible to the rest of the ML community.  We can help you set up a Qurator organization if it makes sense.
Some of the benefits of sharing your models through the Hub would be:

wider reach of your work to the ecosystem
freely hosted demos with Streamlit/Gradio. See demos from TrOCR and DocTR.
versioning, commit history and diffs
repos provide useful metadata about their tasks, languages, metrics, etc that make them discoverable
multiple features from TensorBoard visualizations, PapersWithCode integration, and more

Creating the repos and adding new models should be a relatively straightforward process if you've used Git before. This is a step-by-step guide explaining the process in case you're interested. Please let us know if you would be interested and if you have any questions.
Happy to hear your thoughts,
Omar and the Hugging Face team
cc @NielsRogge

Hi Omar and Hugging Face team,
Thank you for reaching out. Apologies for the delayed reply, but we have all our hands on the completion of a scientific publication about this tool (deadline next week), but I would very much like to get into this asap.
We are fans of HuggingFace and e.g. also produce BERT models for NER and EL on historical German text, similar to those from dbmdz. Given that Qurator is a fixed term funded project that ends soon, setting up an organization profile for the Berlin State Library, which is also the legal entity where we are based and just one of the partners in the Qurator project, would seem the most sensible to me. My one concern with this is the potential red tape that could follow internally from that.
Let me look into our internal procedures, and check the step-by-step guide more closely, and we will either start the setup process soon or get back to you in case of questions.
Meanwhile thanks again for contacting us and for the great services that HuggingFace provides. If we can benefit from it and contribute to extend its reach for NLP and computer vision in particular, that would be great.
Cheers from the @qurator-spk team

Hey all! I wanted to follow up after some time to see if this was still of interest from your side :)
cc @NimaBoscarino

Yes, we are still interested, albeit being very slow to proceed with this.
Meanwhile I've created an org account at https://huggingface.co/SBB and uploaded two of our models there (the Eynollah tool here requires up to 10 models, so we wanted to start with something more simple). We still need to update the model cards, upload some additional stuff, and then test how to set up demos.
There's also been some work under the scope of https://github.com/bigscience-workshop/lam which resulted in the publication of https://huggingface.co/datasets/biglam/berlin_state_library_ocr.
None of this has so far been officially approved by the org, who will only take a policy decision regarding this in 2023, so we will remain in "testing things out" mode at least until the end of this year.

That sounds great! Let us know if there's anything that we can do to help out at any point, for example with creating the demos 😊

We may be slow, but we are persistent :smirk:
All models for this tool are now up on the HuggingFace Hub at https://huggingface.co/SBB, including initial model cards, which we will continue to refine further over the coming weeks.
As a next step we will look into this

freely hosted demos with Streamlit/Gradio. See demos from TrOCR and DocTR.

@NielsRogge Now we do ;)
With many thanks to our colleague Dorian Grosch, we now finally have our suite of 13 Eynollah models available in a Hugging Face Space for demo purposes: https://huggingface.co/spaces/SBB/eynollah-demo. 🎉


cant create account

Hi, thank you for this. Been looking for a comment system i could host on heroku for a while.
Now the issue i am facing is that i can't create and account despite setting the option to true.
Did i miss something in the readme or is this an issue i have to fix.
If so kindly help me.
I didn't set the smtp options, only the domain name and changed account the option to true

Were you able to solve this? Having the same issue


Removed references to legacy 'rat' license checker

What does this PR (Pull Request) do?

[x] This PR resolves #3716

Removes the .rat-excludes file and references to it - which, to my knowledge, constitutes all references to 'rat' throughout the project (grep and find show me nothing else).
Which Traffic Control components are affected by this PR?
None
What is the best way to verify this PR?
Run weasel on the repository to verify that license checking still works as expected (./pkg -v weasel should produce no output and an empty dist/weasel.txt file)
The following criteria are ALL met by this PR

[x] Tests are unnecessary
[x] Documentation is unnecessary
[x] An update to CHANGELOG.md is not necessary
[x] This PR includes any and all required license headers
[x] This PR does not include a database migration
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4085/
Test PASSed.


one possible fix for issue #39

This is my suggestion for a fix for Issue #39.
It fills the table by looping over all months. If the distance exists and is not 0, the previous behaviour is used (a link to that months calendar with the distance). Otherwise the entry is set to "0 km".
@martin-ueding I think you intended to not include any text for 0 km. Please feel free to change it again, but it looks odd to me.

That is a good idea. I have so many activities that I didn't need this so far. I like your patch. Merged it.


[Bug]:

What did you expect to happen?
If I use the arrow keys to highlight an autocomplete result (after I've typed it out), I want SPACE to select it.
What happened?
Clicking SPACE does not select the autocomplete I've highlighted. Instead:
(a) For 'CS 1200', if I highlight 'CS 1200.HON' and click SPACE, it selects 'CS 1200'

Here's the deal: Pretty soon ENTER will initiate a new search. ENTER also selects the autocomplete term you have navigated to using arrow keys. I wanted a way to replace ENTER's functionality without causing a new search.
However, I realize that SPACE isn't the ideal thing to use because a person may have multiple names (first, middle, last).
TAB is an accessibility key, idt we should mess with that.
So @TyHil if you can't find a way to do this I'm fine closing the issue

I suppose there could be a plus button on the right of each search result that would add it without doing a new search?

I could try to make clicking not automatically search
But anything we can do from the keyboard?

I can't think of anything from the keyboard
I feel like clicking and ENTER should have the same functionality tho

Okay sure. That's how it will be once https://github.com/UTDNebula/utd-trends/pull/298 is merged in

Okay sure. That's how it will be once https://github.com/UTDNebula/utd-trends/pull/298 is merged in


[BUG] 'ABCMeta' object is not subscriptable with Python 3.8

Describe the bug
This is the error in my local installation:
clvm -h
usage: clvm [-h] [-v] {connect,instance,jupyterlab,rdp,redirect,ssh,ssm,vscode,web} ...

Command Line Utility to connect or redirect ports to a Cloud Virtual Machine

positional arguments:
  {connect,instance,jupyterlab,rdp,redirect,ssh,ssm,vscode,web}
    connect             [ERROR] failed to import connect - 'ABCMeta' object is not subscriptable
    instance            [ERROR] failed to import instance - 'ABCMeta' object is not subscriptable
    jupyterlab          remote jupyter lab notebook management
    rdp                 [ERROR] failed to import rdp - 'ABCMeta' object is not subscriptable
    redirect            [ERROR] failed to import redirect - 'ABCMeta' object is not subscriptable
    ssh                 start/stop ssh session
    ssm                 [ERROR] failed to import ssm - 'ABCMeta' object is not subscriptable
    vscode              vscode utilities
    web                 [ERROR] failed to import web - 'ABCMeta' object is not subscriptable

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

There is no such error with Python 3.9
Command Line Utility to connect or redirect ports to a Cloud Virtual Machine

positional arguments:
  {connect,instance,jupyterlab,rdp,redirect,ssh,ssm,vscode,web}
    connect             connect to a virtual machine
    instance            vm instance management
    jupyterlab          remote jupyter lab notebook management
    rdp                 redirect ports to a virtual machine and launch rdp session
    redirect            start/stop port redirection session
    ssh                 start/stop ssh session
    ssm                 session manager utilities
    vscode              vscode utilities
    web                 initiate http port redirection session and start either browser or gui app

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

Fixed in py-vm-instance project and released.


Implement detectGame()

It's on the v2.4.0 branch. Currently the master branch targets the current MO2 release so people can install it simply by using the built-in "Download archive" from Github, see the README.


A running subscription without a yield never gets killed if using iced_native::subscription::unfold.

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
(maybe should be a discussion, maybe should be an issue, I consider this a bug, even if just a documentation issue)
I created a subscription with iced_native::subscription::unfold, and found it to run forever, even when the message indicating it finished got updated and the subscription function of the Application was called. After lengthy investigation, I found that the async function needs to yield at least once after the state is updated to get killed.
What is the expected behavior?
I would have expected that the subscription would be killed once the main application state got updated. There was nothing in the documentation to point me to suspect that I needed to yield to release the subscription and let it be killed.
IMO this definitely should be somewhere in the documentation, it's a very easy issue to hit, and not necessarily obvious. Ideally there should be a yield somewhere in the system (maybe after every iteration or when the returned Message is None?), but am not familiar enough with future streams to offer a good solution.
Version
0.4
Operative System
Linux
Do you have any log output?
No response

What do you mean by yielding?
If by yield you mean never awaiting and returning control to the async runtime, then that would be against the contract of a Future (i.e. blocking in an async context is forbidden).

Sorry yes, by yield I do mean awaiting. However I also never block inside my async function, I can even use awaits inside of the main core of my function, but if I neglect to do it when transition to the "finished" state of my stream, now I'm stuck busy looping, when I would have expected returning a command to pull me out of that state. Probably not useful to discuss without a concrete example, so here's pretty much exactly what I've implemented:
(Sorry, I don't have the code in front of me, and went from memory, there might be some errors, but the control flow is the important bit here anyways)
enum UploadState {
    Creating,
    Uploading(f32),
    Finished,
}

// assume this is in my app impl or something
fn subscription(&mut self) -> Subscriotion<Message> {
    // assume the impl sets this when it gets the Message::Finished message
    if self.finished {
        return Subscription::none();
    }
    subscription::unfold(UploadState::Creating, async |state| {
        match state {
            UploadState::Creating => (Some(Message::Uploading(0.)), UploadState::Uploading(0.)),
            UploadState::Downloading(progress) => {
                if (progress < 100.) {
                    progress += 1.;
                    tokio::sleep(Duration::from_millis(100);
                    (Some(Message::Uploading(progress)), UploadState::Uploading(progress))
                } else {
                    (Some(Message::Uploading(100.)), UploadState::Finished)
                }
           }
            // This will now busy loop forever, unless I put an await in this match arm
            UploadState::Finished => (Some(Message::Finished), UploadState::Finished)
         }
    })
}

A naive expectation would be that if a message is returned that would return control to the runtime somehow, after all a message should get sent out, but it doesn't, and the message gets queued until I put an await inside the final match arm.
I don't think this is good behaviour because it means you have to yield arbitrarily to get a message out, even if your function does no sync blocking.

A Subscription represents an asynchronous stream of messages. Because of its concurrent nature, there are no guarantees in the order of operations between a subscription and the iced runtime.
In other words, when a Subscription produces a Message there is no guarantee update will be called immediately. A Subscription runs on its own and the application processes its messages asynchronously.
Therefore, your Subscription is incorrectly implemented because it assumes update and subscription will be called right after the Finished message. This assumption is incorrect, and an infinite loop happens as a result.
However, the application should eventually process the Finished message and kill the infinite loop, which does not happen... This is the bug that needs fixing! I have opened #1349, which should fix this issue.
But keep in mind that your Subscription is still incorrect and will not work as you expect it to. Even with the fix, multiple Finished messages may be produced by the Subscription before it is finally canceled.

Perfect! Thank you for looking into this.


[zuul] Add job to deploy from nightly bundles

This job doesn't build STF, but deploys from the pre-built and published bundles.
This is useful to be able to do periodically to make sure our latest bundles are deploying, and no dependencies are out-of-date, for example
Depends-On: https://github.com/infrawatch/service-telemetry-operator/pull/496
Depends-On: https://github.com/infrawatch/service-telemetry-operator/pull/497

recheck

recheck
I changed the base of the PR


Allow a theme composition function as option

Hi,
thanks for your work, this module has been a tremendous help in my projects!
Proposition
Having an option allowing to specify a function that will be used in place of getTheme
having contextTheme, confTheme and propsTheme as parameters and the resulting theme object as return value.
It would allow specifying manually the merge behavior.
Use cases:

Change the order of priority between theme sources.

I have a project where i'd like to have this priority order configuration < context < props instead of context < configuration < props.
Configuration would be present in a component / component library as functional defaults / reset, context would allow to have consistent styles between elements throughout the app / site, and props would allow specific components to have different styles.

CSS modules composition (example with tachyons)

Let's say i have a component which CSS module is defined by multiple composes statements:
header.context.css
.header {
  composes: f-subheadline f-headline-l from 'tachyons-type-scale';
  composes: measure-narrow from 'tachyons-typography';
  composes: lh-title from 'tachyons-line-height';
  composes: mt0 mb4 from 'tachyons-spacing';
}

I'd like to deeply merge it to only modify the bottom margin and inherit the rest of the properties (i could softly merge it but i'd have to rewrite all the other statements, thus defeating the purpose / advantages of this library's approach)
header.props.css
.header {
  composes: mb2 from 'tachyons-spacing';
}

The resulting classname would contain both mb4 and mb2 transformed classes, and the one written last in tachyons library would take precedence according to css specificity.
Having access to a custom compose function would allow defining rules such as:
If two or more properties from different sources begin with the same 2 letters, only keep the one which comes from the highest priority source
If i understand properly the caveat in this specific case would be making sure having a localIdentName
starting by [local] (webpack example) in development and production, because react-css-themr only gets the transformed final classNames. So only using a hash as a classname would forbid any direct comparison.

What is your opinion about this ?


Refactor the test case for pool expansion for the cspc v1 apiversion

Is this a BUG REPORT or FEATURE REQUEST?
Choose one: BUG REPORT or FEATURE REQUEST

What happened:
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:

This Pr has the fix : https://github.com/openebs/e2e-tests/pull/333


Move tests to a separate module

In this way the bundles would be much smaller

Done through #273