[FEAT]: Allow analysis of all branches

Request Description
Hi guys,
thanks for your project! I'm currently testing it out and was wondering if you would consider adding a feature that allows for analysis of PRs for all branches and not just on merge for the default branch?
Catching vulnerable dependencies early on would be a very valuable feature. Of course resource consumption is something to keep in mind.
Additional Information
No response

Hi @emil-wire,
great to hear from you.
Yes, of cause we can enable an analysis for any PR.
Would you require any base branch, or prefer a pattern to configure base branches of PRs that should be analyzed?
We could even get more open and make the branches to be analyzed configurable - what would result in one project per branch imported in dependency-track.
WDYT?

First: thanks for being open to this!
For the matter itself: hmm, really good question! I'd like to have every PR analyzed and a per branch project in dependency-track - where the parent project is the default branch.
Since I haven't been able to run technolinator successfully yet, could you tell me if you transmit additional metadata to dependency-track? Like versions, tags, etc.?

First: thanks for being open to this!

always. to everything ;)

For the matter itself: hmm, really good question! I'd like to have every PR analyzed and a per branch project in dependency-track - where the parent project is the default branch.

interesting idea, need to test around a bit, but that's definite valuable.
Since I haven't been able to run technolinator successfully yet, could you tell me if you transmit additional metadata to dependency-track? Like versions, tags, etc.?
Yes, we do:
dtrack:

github:

atm, the (default) branch name is used as version in dtrack, what makes it easy to have any branch as separate entry in dtrack - but that's because of the leak of a good idea, how to version properly. maybe we can stay with this, or use also labels for detected latest versions...

Note: There should be a cleanup of dependency-track projects from branches that got deleted.
We've a similar issue open for deleted or archived repos, guess we can implement it in a way that fits both use-cases: https://github.com/MediaMarktSaturn/technolinator/issues/96

[ ] don't forget about that ;)

always. to everything ;)

awesome :)
Maybe one could use the commit hash as versioning information? Within our org, that would be the lowest common denominator.

Note: There should be a cleanup of dependency-track projects from branches that got deleted.
absolutely. but I think that could be achievable with a little scripting from our side :)

Maybe one could use the commit hash as versioning information? Within our org, that would be the lowest common denominator.

ok, so always put a new version to dtrack with every commit? would you disable all previous version in dtrack with a new one?
I'm always thinking about something like: listening on new GH releases and update the according dtrack project with that version - not sure how practical that would be...

would you disable all previous version in dtrack with a new one?

I don't think I would tbh. But I'm also not 100% sure how to integrate that into our workflow... Do you have an idea?

Can you briefly describe your workflow, @emil-wire ?
Is there a verification about the dependency-track scan results included somewhere (and if: how)?
I'm not quite confident, that dependency-track will be able to deal with that high amount of projects, if a new one is created for each commit (even if only on default branch), but we need to test out.
Maybe that objection also disappears with project hyades that's build to scale out to a really high number of projects.
Just to sort it out, what are your most important demands for now, @emil-wire, did I recap it correct?:

analyzing every PR, no matter of the base branch
BOM creation and upload to dtrack for every branch
inactivation of dtrack projects on deletion of branches (and archiving/deletion of entire repos)
further dtrack project versioning strategies - tbd.

That's also from easy to harder, and maybe we get some nice idea about the versioning, when we realized 1-3 ;)

I don't have demands, only wishes :) Not my place to demand stuff from people who have made my life already much easier (again, can't thank you enough!). But 1. and 2. on the list are spot on.
Hyades sounds amazing, and very sensible. Can't wait for it to be released

Is there a verification about the dependency-track scan results included somewhere (and if: how)?

Verification: currently manual. I triage the boms and am looking for critical and highs only and after validation, create tickets.
we have the usual gitflow at Wire (see https://github.com/wireapp/wire-webapp as an example).
Because we have so many different technologies, environments and programming languages, no commercial tool out there covers our needs, not even 60%. This is where technolinator and dependency track come in. I'd like every PR to any branch to be analyzed because this is where new features come in or significant changes to features are being made and I'd like our devs to be aware of outdated dependencies early on in the development process and fix them during dev - classic SSDLC stuff.
I don't think, that we need to store the sbom for each and every branch in the long term and ideally (once we operationalize this stack across all of our repos and techstack) a simple PR decoration giving the devs feedback would be enough. But we're not there yet, because there is a LOT of heterogeneity in our dev process (I'm tackling this, but it takes time...) - there isn't a one size fits all solution currently. But, because some of our institutional customers lag a couple of versions behind our main branches, there's a need to have a historic record of some kind somewhere and provide a fix on a path of least resistance. Since github is pretty public, I can't go into more details here, but we can setup a call if you'd like and get to know each other :)

inactivation of dtrack projects on deletion of branches (and archiving/deletion of entire repos)

deletion/inactivation could be handled by me building some kind of script that runs once every week or so. no need for you to worry about that, I think the complexity of technolinator would explode and I'm sure most orgs who'd adopt this feature would have some very specific requirements that would be better served by building their own automation around dependency track.

further dtrack project versioning strategies - tbd.

After thinking about this some more, I can see a good way to solve this for us. Each time we cut a release on github, run an action that looks at the PRs that made it into the release, get the bom for that release, attach it to the release artifacts and remove all versions from dtrack that are tied to non release PRs. Sounds simple enough to automate and again highly specific to each org, where I wouldn't want to burden technolinator with that task.
What do you think?

Thx for your thoughts and insights, @emil-wire

After thinking about this some more, I can see a good way to solve this for us. Each time we cut a release on github, run an action that looks at the PRs that made it into the release, get the bom for that release, attach it to the release artifacts and remove all versions from dtrack that are tied to non release PRs. Sounds simple enough to automate and again highly specific to each org, where I wouldn't want to burden technolinator with that task.

That's an idea we also discussed for version handling using technolinator. react on "onRelease" event in the GH app, and either create/upload a new bom of that commit, versioned with the git tag name, or label or re-version (if that's) possible the according dtrack project.
Will realize something when hitting topic 4 of that list, wanting this feature myself for quite some time ;)

are you located in Switzerland, @emil-wire?
Would you like to elaborate on your work or workflows or technologies or learnings maybe on a conference that I'm part of?: https://www.cloudland.org/en/speakers/

Wires development company is located in Berlin, as am I.
Regarding the conference: I'm a security engineer and am on a spree to shift security left at Wire. Generally building out a somewhat automated security program here of which dependency tracking is a priority. Not sure if I have something to contribute to such a conference as currently, we're implementing the basics here...

ok.
I'm a security engineer and am on a spree to shift security left at Wire. Generally building out a somewhat automated security program here of which dependency tracking is a priority.

sounds already like a great abstract.
just think about, we're looking for "user stories" of any kind, so how to shift security left from someone actually doing it is much more desired than from some consultant who just always talk about ;)

analyzing every PR, no matter of the base branch

:rofl: that's already working, there's no check on the base branch of a PR, @emil-wire - would have bet my ass that's different.
https://github.com/MediaMarktSaturn/technolinator/pull/317

BOM creation and upload to dtrack for every branch

atm, this would trigger a parallel bom creation, if there are PRs with the branch to be analyzed as head.
That's fine for a first quick win, but we should optimize that.

sounds already like a great abstract.
just think about, we're looking for "user stories" of any kind, so how to shift security left from someone actually doing it is much more desired than from some consultant who just always talks about ;)

I'll look into it :)

analyzing every PR, no matter of the base branch

🤣 that's already working, there's no check on the base branch of a PR, @emil-wire - would have bet my ass that's different. #317

you sure? I have a bunch of these in my logs:
 technolinator     | {"timestamp":"2024-01-15T16:06:08.355781364Z","sequence":654,"loggerClassName":"org.jboss.logging.Logger","loggerName":"com.mediamarktsaturn.technolinator.events.OnPushDispatcher","level":"INFO","message":"Ref refs/heads/fix/background-task-cherry-pick of repository https://github.com/wireapp/wire-ios not eligible for analysis, ignoring.","threadName":"executor-thread-112","threadId":290,"mdc":{"ref":"refs/heads/fix/background-task-cherry-pick","commitSha":"f627a226033fdf21e0218af431f82031a7e473f1","repository":"wireapp/wire-ios","traceId":"be4744e5"},"ndc":"","hostName":"954b0fa69dfb","processName":"quarkus-run.jar","processId":1}

you sure? I have a bunch of these in my logs:

yes, push to non-default branches are ignored.
but all PRs are analyzed, just do a PR to a non-default branch and see ;)

this issue is not forgotten, but need some time to test a proper setup with dtrack and the archiving/cleanup function in place upfront.


Make better examples using different data sets

MTCARS examples are getting boring.  Create some new examples with different data.

Added a lot of new examples for report_spec and table_spec functions.


add vue-draggable-nested-tree

@phphe
Please read Rule #2 of the Contributing Guide and update your commit:

Always add your items to the end of a list. To be fair, the order is first-come-first-serve.


Zookeeper Driver Update

Hello!
Are there any thoughts of updating the Zookeeper driver version? This is currently using 3.4.5 and there are a lot of newer versions with bug fixes and improvements. I believe the minor version more up to date would be 3.4.14 (https://zookeeper.apache.org/doc/).
I was just wondering if this is something you're considering to do in a close future or if there any concerns with the driver's version update.
Thanks a lot!

Providing more context to the request:
My team is struggling with an issue where our Zookeeper clients are unable to reconnect to the cluster when new ZK nodes join in with different IP addresses than the older nodes' IPs.
This issue has already been reported in the Zookeeper library and has been fixed in version 3.4.13. Therefore my request ☝

@MarianaLeal I am investigating updating to 3.4.13 in this PR: https://github.com/zk-ruby/zookeeper/pull/107
If you are able to reproduce, can you try that branch?

Hello @malmckay , sorry for the delay.
It is hard to reproduce the issue using your test branch due to the nature of how our dependency tree is built.
I was able to run our project with the test branch with success so I'd say that, from our side, the driver update is approved 👍


Add CrystalScan and LunarScan to madara

Closes: #455
Closes: #460
Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[ ] Added the isNsfw = true flag in build.gradle when appropriate
[ ] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[ ] Have tested the modifications by compiling and running the extension through Android Studio
[ ] Have removed web_hi_res_512.png when adding a new extension

Make a PR for each source. And properly test your PRs. If you can't even do the most basic stuff like testing the changes you've made after we've babied you through the last 2 PRs then I'll have to revoke your rights to make pull requests.
For example, are you sure the date format for Crystal Scan is dd/MM/yyyy?

Make a PR for each source. And properly test your PRs. If you can't even do the most basic stuff like testing the changes you've made after we've babied you through the last 2 PRs then I'll have to revoke your rights to make pull requests.
For example, are you sure the date format for Crystal Scan is dd/MM/yyyy?

Testing the PR is kind of difficult, my PC isn't good, I just do it to see if it works because it takes a long time to do it, and the date is on the Brazilian calendar.

Make a PR for each source. And properly test your PRs. If you can't even do the most basic stuff like testing the changes you've made after we've babied you through the last 2 PRs then I'll have to revoke your rights to make pull requests.
For example, are you sure the date format for Crystal Scan is dd/MM/yyyy?

Testing the PR is kind of difficult, my PC isn't good, I just do it to see if it works because it takes a long time to do it, and the date is on the Brazilian calendar.
The Brazilian calendar is dd/mm/yyyy

Have you even tried parsing the date on the Kotlin playground? https://pl.kotl.in/X39Wgyq59

On another note, having a terrible PC is also not an excuse for skipping the actual testing. Use your phone if you can't boot an emulator.
You have generally ignored our recommendations to split up PRs and make a separate branch for each PR repeatedly and we're tired of babying you through pull requests.


Printing Timeout in the app logs

After hitting your API with required fields,
I am getting like this
{"multicast_id":4231954657571255714,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1625429707507780%c47ae36ef9fd7ecd"}]}

I thing the API returned success, but in the app logs its printing like this.
TIMEOUT 2021-7-5 1:44:49 <MY_NUMBER> hello

I tried building my own server using firebase FCM but it returns MismatchSenderId error
{
 multicast_id:<PHONE_NUMBER>481949700,  success: 0,  failure: 1,  canonical_ids: 0,  results: [ { error: 'MismatchSenderId' } ]
}

What I need to do, Please help me out.
Thanks in advance.

Timeout because you send different time with the device
server or sender time need to be the same with device time. if 1 hour different, it will be timeout or expired
https://github.com/ibnux/Android-SMS-Gateway/blob/2a253e342af58939ddc49dde7a6d82cabe4c7c6d/app/src/main/java/com/ibnux/smsgateway/layanan/PushService.java#L157
if you use your own Firebase account, you need to build your own android release with firebase configuration

After adding my firebase google-service.json and rebuilding the APK its working now.
Thank you.


"speed" effect does not work

To reproduce:
filename = "test.wav"

effect = torchaudio.sox_effects.SoxEffectsChain()
effect.set_input_file(filename)
effect.append_effect_to_chain("speed", 1.0)
x,sr = effect.sox_build_flow_effects()
x.shape

effect = torchaudio.sox_effects.SoxEffectsChain()
effect.set_input_file(filename)
effect.append_effect_to_chain("speed", 2.0)
x,sr = effect.sox_build_flow_effects()
x.shape

x.shape will be the same for both.
The "tempo" effect does work, though. Weird, because these two effects have the same interface in SoX.

Hi Loren,
Can you try adding "rate" as well at the very end?
filename = "test.wav"
si, _ = torchaudio.info(filename )

effect = torchaudio.sox_effects.SoxEffectsChain()
effect.set_input_file(filename)
effect.append_effect_to_chain("speed", 1.0)
effect.append_effect_to_chain("rate", si.rate)
x,sr = effect.sox_build_flow_effects()
x.shape

effect = torchaudio.sox_effects.SoxEffectsChain()
effect.set_input_file(filename)
effect.append_effect_to_chain("speed", 2.0)
effect.append_effect_to_chain("rate", si.rate)
x,sr = effect.sox_build_flow_effects()
x.shape

I believe sox command line as a convenience layer that automatically adds the rate, but this is not in the C interface.  This should be a workaround.

This resolves the issue on our end, and so I will close this issue. Please feel free to re-open if this does not fix it.

Thanks @engineerchuan --- unfortunately now I get this error after x,sr = effect.sox_build_flow_effects():
python: effects_i_dsp.c:189: update_fft_cache: Assertion `fft_len >= 0' failed.
Aborted (core dumped)

On both the last release and master with python 3.7.4, this is successful
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 1.0)
>>> x,sr = effect.sox_build_flow_effects()
>>> x.shape
torch.Size([2, 276858])
>>>
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 2.0)
>>> x,sr = effect.sox_build_flow_effects()
>>> x.shape
torch.Size([2, 276858])

However, not this:
>>> si, _ = torchaudio.info(filename )
>>>
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 1.0)
>>> effect.append_effect_to_chain("rate", si.rate)
>>> x,sr = effect.sox_build_flow_effects()
>>> x.shape
torch.Size([2, 276858])
>>>
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 2.0)
>>> effect.append_effect_to_chain("rate", si.rate)
>>> x,sr = effect.sox_build_flow_effects()
Assertion failed: (fft_len >= 0), function update_fft_cache, file effects_i_dsp.c, line 189.

I cannot reproduce the original issue. If this continue, please feel free to re-open or create new issue. In any case, please provide copy and paste the output from our environment collection script. You can get the script and run it with:
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py

Hi @vincentqb, if you look at your first code block, x.shape is the same for both; it should be half in the second case. That was the original issue. The issue now is your second code block: using @engineerchuan 's workaround causes this error.
I'll try to use your script, though.

Indeed, good point :)

I at least don't get the segmentation fault when doubling the sample rate in the second part. This also reproduces the original code example.
>>> filename = "_static/img/steam-train-whistle-daniel_simon-converted-from-mp3.wav"
>>> si, _ = torchaudio.info(filename)
>>>
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 1.0)
>>> effect.append_effect_to_chain("rate", si.rate)
>>> x,sr = effect.sox_build_flow_effects()
>>> x.shape
torch.Size([2, 276858])
>>>
>>> effect = torchaudio.sox_effects.SoxEffectsChain()
>>> effect.set_input_file(filename)
>>> effect.append_effect_to_chain("speed", 2.0)
>>> effect.append_effect_to_chain("rate", si.rate*2)
>>> x,sr = effect.sox_build_flow_effects()
>>> x.shape
torch.Size([2, 276858])

The SoxEffectChain implementation is removed from torchaudio in #977 and the replacement implementation can handle this in the similar manner. (you still need to add "rate", but it is documented clearly https://pytorch.org/audio/0.7/sox_effects.html#applying-effects-on-tensor
import torchaudio

data, sr = torchaudio.sox_effects.apply_effects_file('test/torchaudio_unittest/assets/sinewave.wav', [['speed', '1.0'], ['rate', '16000']])
print(data.shape, sr)

data, sr = torchaudio.sox_effects.apply_effects_file('test/torchaudio_unittest/assets/sinewave.wav', [['speed', '2.0'], ['rate', '16000']])
print(data.shape, sr)

torch.Size([1, 64000]) 16000
torch.Size([1, 32000]) 16000

I am closing this issue, but @lorenlugosch if you are still experiencing the error with the latest torchaudio, let us know.


Add minder auth token command

Summary
This command allows you to retrieve a token from the identity provider
used by the given configuration. This is handy when trying to do work on
a direct API, for debugging, or for working with other tools in the
ecosystem (e.g. trusty).
It'll try to authenticate and print out a token to be used, or simply
read the token that's already in credentials.json.
An ideal flow would be minder auth login then minder auth token.
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

@dmjb addressed your comment, can you revisit this?


Add examples how to integrate this in editors

Initial checklist

[x] I read the support docs
[x] I read the contributing guide
[x] I agree to follow the code of conduct
[x] I searched issues and couldn’t find anything (or linked relevant results below)
[x] If applicable, I’ve added docs and tests

Description of changes
The extensions for Atom and VS Code are still pending. Also documentation for other editor integrations is welcome.

Atom linte-remark: https://github.com/wooorm/linter-remark/pull/15
Emacs lsp-mode: https://github.com/emacs-lsp/lsp-mode/pull/3283
nvim-lspconfig: https://github.com/neovim/nvim-lspconfig/pull/1606
vim-lsp-settings: https://github.com/mattn/vim-lsp-settings/pull/516
vscode-remark: https://github.com/remarkjs/vscode-remark/pull/65

I think this closes https://github.com/unifiedjs/unified-language-server/issues/2.

I’ve got the plug-in for Sublime Written. The biggest holdup is issue #6
the remark configs and such should fallback to global node.


Refseq/Genbank accession as input

Would be useful if one could use the accession number as input, and CCtyper would automatically download fasta.

This is now implemented through the web interface


Flaky Interactive Window

These tests seem to depend on the window being focused, when the window is in the background they fail (macOS):
1) Interactive Window
       Interactive window scrolls after execute:
     Error: asPromise TIMEOUT reached
      at asPromise (extensions/vscode-api-tests/src/utils.ts:128:16)
      at addCellAndRun (extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts:38:25)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at Context.<anonymous> (extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts:90:4)

  2) Interactive Window
       Interactive window has the correct kernel:
     Error: asPromise TIMEOUT reached
      at asPromise (extensions/vscode-api-tests/src/utils.ts:128:16)
      at addCellAndRun (extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts:38:25)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at Context.<anonymous> (extensions/vscode-api-tests/src/singlefolder-tests/interactiveWindow.test.ts:110:3)

hopefully fixed with that change - verified by forcing IW blur when running locally and it did repro without the change.


Gradle support

Is it possible to provide the library in Maven Central so it can be used with Android Gradle?

Create! Thanks Jeff.

Thanks! Please update this thread when available :)

Hello, How to integrate this sdk to my eclipse project? thanks


HBASE-28238 rpcservice should perform some important admin operation to priority ADMIN_QOS

The updateConfiguration operation called by admin should be considered a higher priority operation and given to the priority queue, but is currently considered to have the same priority as read and write requests. If the handle is occupied, the configuration cannot be updated. In fact, in our scenario, some abnormal phoenix sql is killed by controlling the amount of data that scan can filter with dynamic parameters. Abnormal sql often results in a full handle. In this case, the configuration cannot be dynamically modified to implement emergency traffic limiting.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 24s
Docker mode activated.

On hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java:
Can we add related checks in TestRSQosFunction.testAnnotations?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


Add Muller-Intuitiv by Netatmo support

Muller-Intuitiv provides equipments that are label as 'by Netatmo'.
I'm reverse engineering their propiretary API, which is mostly compatbile with Netatmo, so I was thinking to use and modify pyatmo. My ultimate goal is to add support to home-assistant which uses this module
I think it might be good to add this support in your library as it might not be a lot of effort. To do so, I will need need some guidance to do it the right way (hint : I'm not a python developper)
Some hardcoded values have to be customized to work properly:

The Base URL which is https://app.muller-intuitiv.net
adding a 'user_prefix': 'muller' into oauth2 request

I have done a very ugly "patch" to test this approach:
helpers.py
_BASE_URL: str = "https://app.muller-intuitiv.net/"

oauth2_session.py : OAuth2Session::request
        data['user_prefix'] = 'muller'
        log.debug("Requesting url %s using method %s.", url, method)
        log.debug("Supplying headers %s and data %s", headers, data)
        log.debug("Passing through key word arguments %s.", kwargs)
        return super(OAuth2Session, self).request(
            method, url, headers=headers, data=data, **kwargs
        )

Currently the followin llittle script works fine: I'm able to retreive all informations needed. I will then need to adapt / add some custom class for parsing their JSON, but I think this part can be easier for me.
authorization = pyatmo.ClientAuth(
    client_id=CLIENT_ID,
    client_secret=CLIENT_SECRET,
    username=USERNAME,
    password=PASSWORD,
    scope="read_muller write_muller",
)
r = pyatmo.HomeData(authorization)
r.update()
r.process()
print(r.homes)
for home_id in r.homes.keys():
    r = pyatmo.HomeStatus(authorization, home_id)
    r.update()
    r.process()
    print(r.rooms)

Hi @cmucchietto ,
is this product only available in France? I'd be happy to assist you with this and investigate how to implement this. Feed free to get in contact with me on Discord.

Hi!
I have the same request, to support the Saunier Duval Migo thermostat, which is not visibly branded as Netatmo but clearly uses their back-end.
@cmucchietto's research seems on point. I had to make a few changes to the code to make it work with my thermostat (haven't checked thoroughly, but at least HomeData completes successully):

Change _BASE_URL to https://app.migo-thermostat.com/;
In ClientAuth, pass user_prefix="sdbg" to the fetch_token function. Turns out it supports kwargs so this works well. Not specifying it yields oauthlib.oauth2.rfc6749.errors.InvalidGrantError: (invalid_grant).

It would be awesome if these two things could be made customizable. Refactoring _BASE_URL  to be properly configurable seems a bit above my pythoning skills, but if you need help for testing I should be able to give some! It would a good step towards a Home Assistant integration 🙂
Fun fact: I'm guessing user_prefix is a sort of "customer ID" for Netatmo's backend. Calling an API like WeatherStationData with the sdbg prefix yields pyatmo.exceptions.ApiError: 403 - Forbidden - Method does not support this user prefix. (13) when accessing 'https://app.migo-thermostat.com/api/getstationsdata'. They must be whitelisting APIs per-user-prefix.


Highlighting not reset in some cases

Hi @jonsmithers, in some cases the plugin doesn't reset the highlighting, it seems. For example in the following code, the function declaration is highlighted incorrectly.
/*
 * @param {{ interval?: number, timeout?: number }} [options] timeout and polling interval
 */
function waitForPredicate() {}

When I disable the plugin, it works correctly again.
I have noticed similar effects at some other occasions, as well. On one accasion I had a file where I put a template literal at the top and the rest of the javascript code was incorrectly highlighted after that. If you want me to give you any more information, please let me know.

That's very interesting. I can totally reproduce it. For some reason, the javascript syntax kind of doubles-up in a weird way on the curly braces in the jsdocs.
I think this is because vim-html-template-literals causes syntax/javascript.vim to get sourced twice. Vim sources it naturally the first time (because you opened a js file), and then vim-html-template-literals sources syntax/html.vim which internally sources syntax/javascript.vim again, since html can contain javascript. I had incorrectly assumed that this was harmless.
This should be fixed now on the dev branch.


Add a GLSL compiler for expressions

This PR adds the possibility to compile expressions for a GPU target; the end result is then GLSL code snippets, that can then be fed into the ShaderBuilder class.
This was mostly a large refactoring to move the logic and tests from the old ol/style/expressions.js module to the new ol/expr/gpu.js one.
This also contains several improvements to expressions parsing, including:

Better handling of type hints
Parsing of the in operator
Added the band and palette operators
Better test coverage by bringing many tests from ol/style/expressions.js

Also addresses https://github.com/openlayers/openlayers/issues/15099
Note that with this PR everything should work exactly like before.

Thanks for the work on this, @jahow.  I reviewed a rebased version of the first commit in #15130.  I don't think the conflicts here should be too bad.

I wanted to try out the case operator, as documented in OpenLayers v8.1.0 API - Module: ol/style/expressions.

In 8.1.0 I got an Unknown operator case
In the dev release: https://www.npmjs.com/package/ol/v/8.1.1-dev.1696585991703 I got an Unsupported operator case

Does this PR add support for the case operator? What is the status of this PR?

This is under active development, I hope to finish this PR by the end of the week

Cool, thanks! I tried to build this branch, but I'm running into an error:
> shx rm -rf build/ol && shx mkdir -p build/ol && shx cp -rf src/ol build && node tasks/serialize-workers.cjs && node tasks/set-version.js

build/index.js → build/full/ol.js...
[!] (plugin commonjs--resolver) SyntaxError: Unexpected token (820:11) in /home/brands/repos/openlayers/build/index.js
build/index.js (820:11)
818: import {parse as _ol_expr_expression$parse} from './ol/expr/expression.js';
819: import {Ops as _ol_expr_expression$Ops} from './ol/expr/expression.js';
820: import {Get" as compilers$Get"} from 'compilers.js';
                ^
821: import {GeometryType" as compilers$GeometryType"} from 'compilers.js';
822: import {Var" as compilers$Var"} from 'compilers.js';
    at Parser.pp$4.raise (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:22922:13)
    at Parser.pp$9.unexpected (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:20130:8)
    at Parser.pp$9.expect (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:20124:26)
    at Parser.pp$8.parseImportSpecifiers (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:21256:12)
    at Parser.parseImport (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:26499:32)
    at Parser.pp$8.parseStatement (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:20306:49)
    at Parser.pp$8.parseTopLevel (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:20187:21)
    at Parser.parse (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:19959:15)
    at Function.parse (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:20009:35)
    at Graph.contextParse (/home/brands/repos/openlayers/node_modules/rollup/dist/shared/rollup.js:26161:38)

Somethings sprinkles some double quotes in there, which I assume is not intended.
I'm happy to test a version that builds completely. I'll be notified about changes in this PR. :sparkles:

Cool, thanks! I tried to build this branch, but I'm running into an error:

This has been fixed in the meantime, I've updated the branch so you can check it out!

This is finally ready for review! (I largely underestimated the work it would take me)

Thanks for taking on this huge effort, @jahow.  The changes look great to me.  Apologies for the conflicts, but they look minor.

Thanks for the review @tschaub :slightly_smiling_face:


updated ReactVideoView.java to fix seeking issue on android

This PR fixes a bug when trying to seek in the Video component on Android. Before, the video would skip to the beginning of the video if the user tried to seek, but now it works as expected.
To test, simply use the video component on android, and you are now able to seek.

@monahans can you please use the constant ? "3" seems strange here, nobody will understand.
As sample there is already:
https://github.com/react-native-video/react-native-video/pull/2555/files
https://github.com/react-native-video/react-native-video/pull/2511/files

Updated to use MediaPlayer.SEEK_CLOSEST

When will the PR be in the latest beta release?


NullReferenceException in dotnet try verify

Describe the bug
I created a new demo with dotnet try demo and tried to do a dotnet try verify. I only get an exception as follows.
Did this error occur while using dotnet try or online?

[x] dotnet-try
[ ] online

What kind of error was it?

[ ] User Interface (UI):  For example the output never displayed
[ ] Service Error: For example "The service is temporarily unavailable. We are working on it"
[x] Other: NullReferenceException

Screenshots
C:\Users\dejhbk0l\Desktop\myTutorial>dotnet --list-sdks
2.1.700 [C:\Program Files\dotnet\sdk]
2.2.300 [C:\Program Files\dotnet\sdk]
3.0.100-preview6-012264 [C:\Program Files\dotnet\sdk]

C:\Users\dejhbk0l\Desktop\myTutorial>dotnet tool list --global
Package Id      Version          Commands
-------------------------------------------
dotnet-try      1.0.19317.5      dotnet-try

C:\Users\dejhbk0l\Desktop\myTutorial>dotnet try demo
Hosting environment: Production
Content root path: C:\Users\dejhbk0l\Desktop\myTutorial
Now listening on: https://localhost:55183
Application started. Press Ctrl+C to shut down.
Application is shutting down...

C:\Users\dejhbk0l\Desktop\myTutorial>dotnet try verify
Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at WorkspaceServer.PackageRegistry.CreateForTryMode(DirectoryInfo project, PackageSource addSource) in F:\workspace.1\_work\1\s\WorkspaceServer\PackageRegistry.cs:line 169
   at MLS.Agent.CommandLine.CommandLineParser.<>c.<Create>b__7_2(VerifyOptions verifyOptions, IConsole console, StartupOptions startupOptions) in F:\workspace.1\_work\1\s\MLS.Agent\CommandLine\CommandLineParser.cs:line 91
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass2_0.<<InvokeAsync>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at MLS.Agent.CommandLine.CommandLineParser.<>c.<<Create>b__7_3>d.MoveNext() in F:\workspace.1\_work\1\s\MLS.Agent\CommandLine\CommandLineParser.cs:line 131
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c.<<UseParseErrorReporting>b__16_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c__DisplayClass8_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c.<<UseSuggestDirective>b__7_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c.<<UseParseDirective>b__6_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c.<<UseHelp>b__14_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass3_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c.<<RegisterWithDotnetSuggest>b__17_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Invocation.InvocationExtensions.<>c__DisplayClass5_0.<<UseExceptionHandler>b__0>d.MoveNext()

C:\Users\dejhbk0l\Desktop\myTutorial>

Please complete the following:

OS

[x] Windows 10 v1803
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Commandline

[x] cmd

I may have a workaround (because I've run into something similar myself).
dotnet try verify requires a director argument.  Try dotnet try verify . (Note the additional '.')

Super fast response and working workaround :) Thanks!

This is fixed in #380


bug: jump back(c-o) not work as expected

Did you check docs and existing issues?

[X] I have read all the flash.nvim docs
[X] I have searched the existing issues of flash.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
10
Operating system/version
manjaro
Describe the bug
origin->A->origin(c-o)->B->A(c-o)
what I expected:  jump back to origin not A, because I jump to B from origin, c-o should bring me to origin.
Steps To Reproduce
as descripted.
Expected Behavior
jump back to where I am from.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  { "folke/flash.nvim", opts = {} },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Can you please be clearer what doesnt work? Provide every step including what flash commands you use.
Also see the jumplist option

@folke need more tests about which plugin is affecting the , sometimes  doesn't even bring me back to previous position before flash jump.


OCM-12269 | ci: fix with reducing the number of sg in id:73068

OCM-12269 | ci: fix with reducing the number of sg in id:73068

/retest

/retest

@xueli181114 @jerichokeyne Could you help review this PR?Thanks.

/retest

/lgtm

/approve


Isolated Node Editing Behavior

We want to improve the editing behaviour when isolated nodes are involved. The current approach, using brackets (like cursor before,after an isolated node) is not ideal.
Goals of a better approach:

Less possible selection states (only as many as needed!)
Delete/Backspace always deletes something
typing (or typing over) is always possible
ability to insert before an isolated node (when on first position)
ability to insert at the back of the document (when last node is an IN)
ability to insert between two isolated nodes

The following grid defines interactions for different scenarios which we can treat differently. E.g. when an isolated node is wrapped in text, we don't need before/after brackets, while in scenarios where two isolated nodes are touching each other or when you have an IN at the beginning or very end of a document, we need a way to put the cursor before or after that first or last node.
The following grid describes the expected behaviour (to be discussed) in different situations. The short bars are text elements, the tall bars are isolated nodes. Blue marks a selection or cursor. Isolated nodes offer before after selection points (horizontal blue lines) but only in cases when they are needed. As an example we use a document that has nothing but 2 isolated nodes as content.

Things that spring into my mind:

deleting the isolate node instantly might be questionable. Deleting at the end of a text node does not remove visual content, only merge, i.e. removing the break.
we probably need a place to put the cursor while in-between two INs, so that the Contenteditable remains focused. Things like getting the bounding box of the selection rectangle need to reflect this.
maybe we need to apply a similar approach as with drop teaser (but inside container editor), otherwise this might get jumpy.

I intended to make the behaviour consistent with inline node, which would mean that when the cursor is right after an inline node

backspace deletes it (like a character)
shift-left selects the inline node
(no difference between an isolated node 'character' and a regular char)

yeah definitely we need islands like the brackets. they would 'appear' above and below an isolated node. Can we disable them in the normal case and only enable then if necessary (like two IN are touching each other)
yeah either we do it that way or we use the brackets markup and color it with an outline. We need to make sure the brackets don't expand visually. not sure if an element with height: 0 and an outline is displayed at all.

I think we are pretty good here.
Surely we will iterate. But closing this having finished the first (proper) iteration.


proposal: daemon process

Signed-off-by: Keming<EMAIL_ADDRESS>cc @aseaday @terrytangyuan

Where the stdout log will be ?

Some ideas:

manually redirect to files
use journalctl if the process is controlled by systemd
auto redirect to a file and provide access like envd log --name <container_name>

Where the stdout log will be ?

Some ideas:

manually redirect to files
use journalctl if the process is controlled by systemd
auto redirect to a file and provide access like envd log --name <container_name>

manually redirect to files which we record it in documents LGTM

Do we need to store the logs in files? I think we can just print in STDOUT. and show them in envd logs

@gaocegege Since there're multiple processes at the same time, it's hard to put everything in the same stdout

@gaocegege Since there're multiple processes at the same time, it's hard to put everything in the same stdout

Currently, the stdout looks like:
time="2022-08-11T09:41:16Z" level=info msg="zsh exists at /usr/bin/zsh"
time="2022-08-11T09:41:16Z" level=info msg="ssh server v0.2.0-alpha.13+1fec011 started in <IP_ADDRESS>:2222"
[I 09:41:17.144 NotebookApp] Writing notebook server cookie secret to /home/envd/.local/share/jupyter/runtime/notebook_cookie_secret
[I 09:41:17.280 NotebookApp] Serving notebooks from local directory: /home/envd/mnist
[I 09:41:17.280 NotebookApp] Jupyter Notebook 6.4.12 is running at:
[I 09:41:17.280 NotebookApp] http://96956beaaa6c:8888/
[I 09:41:17.280 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 09:41:17.282 NotebookApp] No web browser found: could not locate runnable browser.
time="2022-08-11T09:41:17Z" level=info msg="starting ssh session with command 'zsh'" session.id=179e909a-21b0-4031-b901-6b8e81cc8036
time="2022-08-11T09:41:17Z" level=info msg="agent requested" session.id=179e909a-21b0-4031-b901-6b8e81cc8036
time="2022-08-11T09:41:17Z" level=info msg="handling PTY session" session.id=179e909a-21b0-4031-b901-6b8e81cc8036
[I 09:41:34.769 NotebookApp] 302 GET / (<IP_ADDRESS>) 0.740000ms
[I 09:41:34.773 NotebookApp] 302 GET /tree? (<IP_ADDRESS>) 0.580000ms
[W 09:41:37.119 NotebookApp] 401 POST /login?next=%2Ftree%3F (<IP_ADDRESS>) 2.280000ms referer=http://localhost:38571/login?next=%2Ftree%3F
[W 09:41:39.143 NotebookApp] 401 POST /login?next=%2Ftree%3F (<IP_ADDRESS>) 1.890000ms referer=http://localhost:38571/login?next=%2Ftree%3F

SSHD is also a deamon service. One stdout makes it hard to track the logs. Let's say if user launch an envd container for training job with tensorboard launched also, envd logs should only show the stdout of the python train.py instead of combining them together. Also store them separately can help debug when there's a problem.

Do we need to store the logs in files? I think we can just print in STDOUT. and show them in envd logs

the stdin/stdout/stderr still returns the problems what file descriptor we pass to the super process run the daemon subprocess. We could force them gather into a file or split them out.

Here is an example to demonstrate how to use it for jupyter-lab:
def jupyter_lab():
    expose(local_port=8888, host_port=8888, svc="jupyter")
    runtime.daemon(commands=["jupyter-lab"])

def build():
    base(os="ubuntu20.04", language="python")
    install.pip_packages(["numpy", "jupyterlab"])
    jupyter_lab()

cc @Xiaoaier-Z-L

Do we need to store the logs in files? I think we can just print in STDOUT. and show them in envd logs

the stdin/stdout/stderr still returns the problems what file descriptor the super process pass to its daemon subprocess as fd 0,1,2. We could force them gather into a file or split them out.

SGTM

I am merging this to move forward. But feel free to comment if there is any problem.


--no-proxy flag not working any more?

Just installed dinghy from homebrew on a new macbook pro today. Having a problem where the http proxy is started even though I specify the --no-proxy flag that used to work? Running dinghy 4.4.0
MacBook-Pro:test dan$ dinghy up --no-proxy
Starting the dinghy VM...
Starting NFS daemon, this will require sudo
Waiting for NFS daemon...
Mounting NFS /Users/dancarr
Starting the FsEvents daemon
Starting DNS
2dad110e202c1341d240d542df3d153d5c08a5a0b60584205e21ccb1b00c1a42
   VM: running
  NFS: running
 FSEV: running
PROXY: running

Your environment variables are already set correctly.
MacBook-Pro:test dan$ dinghy version
Dinghy 4.4.0

Ah yeah, I need to do some renaming. That container runs both proxy and DNS now, so dinghy starts it for DNS even if you specify --no-proxy. Basically all that option does it disables forwarding ports 80 and 443, so that you can run something else on those ports.

The next version of dinghy will show separate status lines for DNS and PROXY, even though they run in the same container


New package: Metal v0.0.1

Registering package: Metal
Repository: https://github.com/JuliaGPU/Metal.jl
Created by: @maleadt
Version: v0.0.1
Commit: 1f21291652be2acec9087359e7de31000aceb898
Reviewed by: @maleadt
Reference: https://github.com/JuliaGPU/Metal.jl/commit/1f21291652be2acec9087359e7de31000aceb898#commitcomment-76714188
Description: Metal programming in Julia

Package name similar to 3 existing packages.
1. Similar to Metis. Damerau-Levenshtein distance 2 is at or below cutoff of 2.

2. Similar to Mera. Damerau-Levenshtein distance 2 is at or below cutoff of 2.

3. Similar to MeCab. Damerau-Levenshtein distance 2 is at or below cutoff of 2.

None seen relevant here.

I was not able to install the package (i.e. Pkg.add("Metal") failed). See the CI logs for details.

I was not able to load the package (i.e. import Metal failed). See the CI logs for details.

Metal.jl requires Julia 1.8, while AutoMerge uses 1.7, so that isn't going to work.
I'll wait a couple of days and merge this manually.

Perhaps make it 0.1.0? Otherwise it will be impossible to make patch releases.

That's a good point. I wanted to make an initial release ASAP to 'reserve' the name (and pass the 3 day waiting period), and am going to release 0.1 as soon as I publish a blog post announcing the package, if that makes sense.


North Bay Python 2024

Schedule: https://2024.northbaypython.org/
Playlist: https://www.youtube.com/playlist?list=PLaeNpBNgqQWu1WqbrERc3MyrT7jarNM_n

Resolved by #1162


upgrade to fix url-parse vulnerability

used the npm-audit tool to resolve this vulnerability automatically. #34

Fixed on the last commit on master.


[Travis CI] Expected feature release number in range of 9 to 14, but got: 8

$ export JAVA_HOME=~/oraclejdk8

$ export PATH="$JAVA_HOME/bin:$PATH"

$ ~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"

Ignoring license option: BCL -- using GPLv2+CE by default

install-jdk.sh 2019-09-17

Expected feature release number in range of 9 to 14, but got: 8

The command "~/bin/install-jdk.sh --target "/home/travis/oraclejdk8" --workspace "/home/travis/.cache/install-jdk" --feature "8" --license "BCL"" failed and exited with 3 during .

JDK8 end of life
Workaround is to force trusty dist: https://travis-ci.community/t/error-installing-oraclejdk8-expected-feature-release-number-in-range-of-9-to-14-but-got-8/3766/4 (more info https://travis-ci.community/t/install-jdk-sh-failing-for-openjdk9-and-10/3998/3) but we'll have to update at some point.

Released in 1.6.0: https://plugins.jetbrains.com/plugin/7642-save-actions/versions


Template Variable Not Populated [Payment Confirmation Screen]

Your payment has been sent to %{recipient} @nima. The expected processing time for this order is 1 day. You can check the status of your order on your purchases page.

fixed


Add rubocop adapter or remove it as a dependency at all

Done https://github.com/ignat-z/ducalis/pull/136
RuboCop is still alive


[wip] use new pouchdb wrappers

This PR demonstrates how transform-pouch will work with the refactored pouchdb-wrappers. This uses a directory-relative import and so requires a little extra instrumentation to run yourself. As a result, this PR is presented primarily to demonstrate how using pouchdb-wrappers will change due to the refactor.
Once pouchdb-wrappers' new version has been published, this PR can update its dependency and be considered for merging.

I've merged this branch into nh-refactor with a dependency on<EMAIL_ADDRESS>which we published earlier today.


👨💻 Compilation of Pull Requests

Below I will place the links to the pull requests that I think should be accepted and the links to the comments where I explain why.

[x] https://github.com/tiangolo/sqlmodel/pull/322

In this PR (https://github.com/leynier/sqlmodel/pull/37) pointing to a fork, you can see that the tests are successful. I think that It is not necessary to add extra tests for this PR because the existing tests validate the change since without the change of this PR the tests fail. Source

Thanks @leynier! As these PRs are already merged, I'll close this one. Thanks for the interest and help! :cake:


Fix juice sync bug when get sfile uid/gid val -1

 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.wangliangl seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #2500 (554259f) into main (eba3200) will decrease coverage by 0.00%.
The diff coverage is 28.57%.

@@            Coverage Diff             @@
##             main    #2500      +/-   ##
==========================================
- Coverage   61.63%   61.62%   -0.01%
==========================================
  Files         137      137
  Lines       25577    25587      +10
==========================================
+ Hits        15764    15768       +4
- Misses       7967     7969       +2
- Partials     1846     1850       +4

Impacted Files
Coverage Δ

pkg/object/file.go
71.31% <0.00%> (-1.16%)
:arrow_down:

pkg/object/file_unix.go
88.46% <40.00%> (-11.54%)
:arrow_down:

pkg/chunk/utils_unix.go
73.33% <0.00%> (-20.00%)
:arrow_down:

pkg/meta/redis.go
71.79% <0.00%> (-0.05%)
:arrow_down:

pkg/meta/sql.go
66.09% <0.00%> (+0.09%)
:arrow_up:

pkg/chunk/cached_store.go
77.56% <0.00%> (+0.17%)
:arrow_up:

pkg/meta/tkv_etcd.go
77.09% <0.00%> (+0.88%)
:arrow_up:

pkg/vfs/writer.go
79.66% <0.00%> (+1.01%)
:arrow_up:

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

Fixed in #2502


Disable colors via NO_COLOR

Add support for NO_COLOR env variable
see https://no-color.org/ for more info

We've considered this quite a few times, I recommend searching the issues next time.


Add an updated home image

This will be the default now. I also have to adjust water-gui.py to make the new image to fit.

I made a local test, and I found that home.jpg is shown fine with size 678, 455:

So, the size for home.jpg will be 678, 455.


chore(relayer): missing test coverage.

…exer

I'd like to suggest to change the PR's title to "chore(relayer): add missing test coverage"


Cleanup NetBeans license header for module debugger.jpda

Review and cleanup the license header in debugger.jpda
Oracle donated NetBeans to the Apache Software Foundation.
Your task now is to replace the old license header that has Oracle (and/or Sun Microsystems
and/or NetBeans) in it with the standard Apache Software Foundation license header.
For an empty file that supports headers you must add the Apache license header.
Note that you have to use the proper license header for Java, .properties or HTML files.
Look at the nearby files for templates and copy-paste the license header.
When done commit the changes with a commit message that starts with first line
"[NETBEANS-54] Module Review " and a message body describing your review.
See a longer explanation about what we are doing here: https://cwiki.apache.org/confluence/display/NETBEANS/List+of+Modules+to+Review
Please announce in a comment when you have started work.
Files that need to be looked at in debugger.jpda:
debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/JspLineBreakpointApp.txt

I volunteer to do this one.

Hm, I'm not certain that file works with a license header. Please select another issue.

Or, please investigate how that file is being used. It might be simpler to exclude it from nbbuild/build.xml ("rat" task).

You might be right:
https://github.com/apache/incubator-netbeans/blob/685504b42d44522d8feb2ad360975160648049c3/debugger.jpda/test/unit/src/org/netbeans/api/debugger/jpda/JspLineBreakpointTest.java#L41
I'll give a shot adding the license to it (but I'm also positive things will break). Depends on how long the travis build takes i'll give it a shot or not :)

Might be simpler to just exclude the file from "rat" task.

Yeah I will do that. I added the license last night and my travis build
succeeded. I am reaaaaaaaaaaalllllllly skeptical so I'm going to exclude it
from rat :)
On Wed, Oct 11, 2017 at 1:53 PM, Emilian Bold<EMAIL_ADDRESS>wrote:

Might be simpler to just exclude the file from "rat" task.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/emilianbold/incubator-netbeans/issues/40#issuecomment-335911557,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADUDwbqf3A2MAANN9O3Vnvxy6ox8udx0ks5srQ6XgaJpZM4PwMpG
.

cool, done.


change error master host name

when start worker or TFsShell, the master hostname is wrong.

+1

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/2803/Failed Tests: 1org.tachyonproject:tachyon: 1tachyon.client.TachyonFSTest.toStringTest
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/2805/
Test PASSed.

+1 LGTM


Lexer bug

Interesting edge case; I was testing some compiler work by writing a cons-cell ADT for use as a fallback in languages that don't have an underlying list mechanism and ran into a weird error:
carpet.parse.CoastalParseError: ("Incorrect top-level form <class 'carpet.parse.TokenCallEnd'>", 27)
breaking the code down a bit we get to the heart of what failed:
>>> import carpet
>>> l = carpet.Lex("""
...     case l
...         | (List.DCons x xs) { f x; iter f xs; }
...         | _ {
...             ()
...         }
...     esac
... """)
>>> l.next()
TokenKeyword(case)
>>> l.next()
TokenIdent(l)
>>> l.next()
TokenOperator(|)
>>> l.next()
TokenCallStart()
>>> l.next()
TokenNSADT(List.DCons)
>>> l.next()
TokenIdent(x)
>>> l.next()
TokenIdent(xs)
>>> l.next()
TokenCallEnd()
>>> l.next()
TokenBlockStart()
>>> l.next()
TokenIdent(f)
>>> l.next()
TokenIdent(x)
>>> l.next()
TokenSemiColon()
>>> l.next()
TokenIdent(iter)
>>> l.next()
TokenIdent(f)
>>> l.next()
TokenIdent(xs)
>>> l.next()
TokenSemiColon()
>>> l.next()
TokenBlockEnd()
>>> l.next()
TokenOperator(|)
>>> l.next()
TokenIdent(_)
>>> l.next()
TokenBlockStart()
>>> l.next()
TokenUnit()
>>> l.next()
TokenUnit()
>>> l.next()
TokenUnit()
>>> l.next()
TokenUnit()
>>> l.next()
TokenUnit()
>>> l.next()
TokenCallEnd()

It's interesting because the minimal test case does exactly what you would expect:
>>> ll = carpet.Lex("{ () }")
>>> ll.next()
TokenBlockStart()
>>> ll.next()
TokenUnit()
>>> ll.next()
TokenBlockEnd()
>>> ll.next()
TokenEOF()

I believe this is because I don't actually call parse_block for case forms, but rather a custom block reader, but still, the lexer should be the same. Will look into this shortly.

I did lie however, I do call parse_block:
https://github.com/lojikil/coastML/blob/master/carpet/parse.py#L1264

And naturally it's more complex than just something with the _ base case...:
>>> import carpet
>>> l = carpet.Lex("_ { () } esac")
>>> l.next()
TokenIdent(_)
>>> l.next()
TokenBlockStart()
>>> l.next()
TokenUnit()
>>> l.next()
TokenBlockEnd()
>>> l.next()
TokenKeyword(esac)
>>> l.next()
TokenEOF()

Ah, here we go: a whitespace consumer bug? or something with unit specifically?

f = """
... | _ {
...     ()
... }
... esac
... """
l = carpet.Lex(f)
l.next()
TokenOperator(|)
l.next()
TokenIdent(_)
l.next()
TokenBlockStart()
l.next()
TokenUnit()
l.next()
TokenUnit()

Seems fairly Unit specifically, at least at first blush:

ff = """
... | _ {
...     10
... }
... esac
... """
ll = carpet.Lex(ff)
ll.next()
TokenOperator(|)
ll.next()
TokenIdent(_)
ll.next()
TokenBlockStart()
ll.next()
TokenInt(10)
ll.next()
TokenBlockEnd()

(this is the first time I'm doing my debugging for a language fully in public; usually I just write obscure asciidoc notes to myself and push the fix later hahah)

and the fix is trivial:
index 219f30b..2412708 100644
--- a/carpet/parse.py
+++ b/carpet/parse.py
@@ -511,7 +511,7 @@ class Lex:
                 return TokenOperator(self.src[o:no], self.line, self.offset)
         elif self.src[o] == '(':
             if self.src[o + 1] == ')':
-                self.offset += 3
+                self.offset = o + 2
                 return TokenUnit(self.line, self.offset)
             self.offset = o + 1
             return TokenCallStart(self.line, self.offset)

The issue was that I was originally using the raw offset, but the raw offset is not necessarily where we actually started, since we consumed whitespace first; I should hunt for other code that uses the same += instead of o + N


[SeaTunnel#1142] Translate spark apis from scala to java

Purpose of this pull request

Check list

[x] Code changed are covered with tests, or it does not need tests for reason:
I have done compilation tests and unit tests, please review.

[ ] If any new Jar binary package adding in you PR, please add License Notice according
New License Guide

[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

@asdf2014 @yx91490 In the process of this pr review, #1190 had been changed some base api codes,  so my changes comes after #1190. If necessary, I may need to reopen a PR to resolve these conflicts.

@TyrantLucifer IMO, you can use the git merge dev command to resolve code conflicts, no need to create a new PR

@TyrantLucifer IMO, you can use the git merge dev command to resolve code conflicts, no need to create a new PR

OK, I will try it.

Hi @TyrantLucifer, thanks for your contribution, however there are some code conflicts here, would you please fix them first, thanks a lot

@asdf2014 I had been resolved the conflicts of this pr, please review. Thank you!

@TyrantLucifer It seems that you omitted some scala files, like SparkStreamingExecution, SparkStreamingSink, SparkStreamingSource.

@TyrantLucifer It seems that you omitted some scala files, like SparkStreamingExecution, SparkStreamingSink, SparkStreamingSource.

Well, I found a compilation error when I tried to convert the stream-related API, as shown below

The specific code is as follows：
SparkStreamingSource.java
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.seatunnel.spark.stream;

import org.apache.seatunnel.spark.BaseSparkSource;
import org.apache.seatunnel.spark.SparkEnvironment;

import org.apache.spark.rdd.RDD;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.streaming.dstream.DStream;

import scala.runtime.BoxedUnit;

/**
 * a SparkStreamingSource plugin will read data from other system
 * using Spark Streaming API.
 */
@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule")
public abstract class SparkStreamingSource<T> extends BaseSparkSource<DStream<T>> {

    public void beforeOutput() {

    }

    public void afterOutput() {

    }

    public abstract Dataset<Row> rdd2dataset(SparkSession sparkSession, RDD<T> rdd);

    public void start(SparkEnvironment sparkEnvironment, SparkStreamingDataHandler handler) {
        getData(sparkEnvironment).foreachRDD(rdd -> {
            Dataset<Row> dataset = rdd2dataset(sparkEnvironment.getSparkSession(), rdd);
            handler.handle(dataset);
            return BoxedUnit.UNIT;
        });
    }

}

SparkStreamingSink.java
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.seatunnel.spark.stream;

import org.apache.seatunnel.spark.BaseSparkSink;

/**
 * a SparkStreamingSink plugin will write data to other system
 * using Spark Streaming API.
 */
@SuppressWarnings("PMD.AbstractClassShouldStartWithAbstractNamingRule")
public abstract class SparkStreamingSink extends BaseSparkSink<Void> {
}

SparkStreamingDataHandler.java
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.seatunnel.spark.stream;

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;

@FunctionalInterface
public interface SparkStreamingDataHandler {
    void handle(Dataset<Row> dataset);
}

SparkStreamingExecution.java
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.seatunnel.spark.stream;

import org.apache.seatunnel.common.config.CheckResult;
import org.apache.seatunnel.env.Execution;
import org.apache.seatunnel.spark.BaseSparkSink;
import org.apache.seatunnel.spark.BaseSparkSource;
import org.apache.seatunnel.spark.BaseSparkTransform;
import org.apache.seatunnel.spark.SparkEnvironment;
import org.apache.seatunnel.spark.batch.SparkBatchExecution;

import org.apache.seatunnel.shade.com.typesafe.config.Config;
import org.apache.seatunnel.shade.com.typesafe.config.ConfigFactory;

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.streaming.StreamingContext;

import java.util.List;

public class SparkStreamingExecution implements Execution<BaseSparkSource<?>, BaseSparkTransform, BaseSparkSink<?>> {

    private final SparkEnvironment sparkEnvironment;

    private Config config = ConfigFactory.empty();

    public SparkStreamingExecution(SparkEnvironment sparkEnvironment) {
        this.sparkEnvironment = sparkEnvironment;
    }

    @Override
    public void start(List<BaseSparkSource<?>> sources, List<BaseSparkTransform> transforms, List<BaseSparkSink<?>> sinks) {
        SparkStreamingSource<?> source = (SparkStreamingSource<?>) sources.get(0);

        List<BaseSparkSource<?>> subSources = sources.subList(1, sources.size());

        sources.subList(1, sources.size()).forEach(s -> {
            SparkBatchExecution.registerInputTempView((BaseSparkSource<Dataset<Row>>) s, sparkEnvironment);
        });

        source.start(sparkEnvironment, dataset -> {
            Config config = source.getConfig();
            if (config.hasPath(SparkBatchExecution.RESULT_TABLE_NAME)) {
                SparkBatchExecution.registerTempView(config.getString(SparkBatchExecution.RESULT_TABLE_NAME), dataset);
            }
            Dataset<Row> ds = dataset;
            for (BaseSparkTransform transform : transforms) {
                if (ds.head().size() > 0) {
                    ds = SparkBatchExecution.transformProcess(sparkEnvironment, transform, ds);
                    SparkBatchExecution.registerTransformTempView(transform, ds);
                }
            }

            source.beforeOutput();

            if (ds.head().length() > 0) {
                for (BaseSparkSink<?> sink : sinks) {
                    SparkBatchExecution.sinkProcess(sparkEnvironment, sink, ds);
                }
            }

            source.afterOutput();

            StreamingContext streamingContext = sparkEnvironment.getStreamingContext();
            streamingContext.start();
            streamingContext.awaitTermination();
        });

    }

    @Override
    public void setConfig(Config config) {
        this.config = config;
    }

    @Override
    public Config getConfig() {
        return this.config;
    }

    @Override
    public CheckResult checkConfig() {
        return CheckResult.success();
    }

    @Override
    public void prepare(Void prepareEnv) {

    }
}

I think it should be compilation error caused by using spark-streaming API of Scala version in Java. I have tried to modify RDD and DStream to Java version, but the subsequent data sources connected in stream form are all developed in Scala. I don't know how to solve this problem. In order not to affect other functions, I did not submit this part of the code. Do you have any other good solutions?

It is quiet difficult, seems need to convert scala API to java API(for example, DStream to JavaDStream ...), may cause too mach problems when scala call java in plugins. I have no other better suggestions.

It is quiet difficult, seems need to convert scala API to java API(for example, DStream to JavaDStream ...), may cause too much problems when scala call java in plugins. I have no other better suggestions.

OK, then I will only submit the question mentioned above, the version of spark streaming api is temporarily using the Scala version, what do you think?

It is quiet difficult, seems need to convert scala API to java API(for example, DStream to JavaDStream ...), may cause too much problems when scala call java in plugins. I have no other better suggestions.

Hi @yx91490, I had been resolved all the problems that you raised, please review, thank you!

good job, LGTM!

Hi @yx91490, If you have no problem here, what we should do next? I see this pr had not been updated for two days.

Sorry I don't have permission to merge, you can ask @CalvinKirs for help.

Sorry I don't have permission to merge, you can ask @CalvinKirs for help.

Let's we waiting CI. thx your review.

Sorry I don't have permission to merge, you can ask @CalvinKirs for help.

Let's we waiting CI. thx your review.

Hi @CalvinKirs CI had been done, pls review, thx you!


Tonic does not handle grpc-encoding: identity when compression is enabled

Bug Report

Version
0.6.2

Platform
Unix (Darwin and Debian)

Crates

Description
When receiving a grpc-encoding header that is i.e. grpc-encoding: identity, Tonic fails to uncompressed the response and returns an
Err(
    Status {
        code: Unimplemented,
        message: "Content is compressed with `identity` which isn't supported",
        metadata: MetadataMap {
            headers: {
                "grpc-accept-encoding": "gzip,identity",
            },
        },
        source: None,
    },
)

I believe this is coming from here: https://github.com/hyperium/tonic/blob/0583cff80f57ba071295416ee8828c3430851d0d/tonic/src/codec/compression.rs#L63-L100
Ideally, this code should ignore compression if it is enabled and the identity value is set for grpc-encoding
As a note for testing this: we are currently using the GCP PubSub emulator  to do some testing. The grpc-encoding header sent back is identity and this is causing an issue for our code if we have compression enabled.

Is there anything blocking from reviewing the change in the PR? We have a similar issue with a Java server who's responses are encoded with identity and fail to be delivered.

@matze its merged 😊

Much appreciated, thanks David!


ecal.core.core.mon_monitoring() and mon_pubmonitoring() improperly parsing binary data

Problem Description
When I use mon_monitoring() ecal.core.core module — Eclipse eCAL™ (eclipse-ecal.github.io) and mon_pubmonitoring() ecal.core.core module — Eclipse eCAL™ (eclipse-ecal.github.io) I expect that it would publish a message’s contents in the key ‘tdesc’. When the contents are binary format, It only takes two bytes of data, and cuts out the remainder. This is a problem for people using the function with binary messages because it reports incomplete data.
How to reproduce

Execute the function X.mon_monitoring()
example excerpt output from X.mon_monitoring() :

'dclock': 1020535,
'dfreq': 15759842,
'direction': 'publisher',
'hname': 'something_generic',
'pid': 165476,
'pname': 'C:\\Program Files (x86)\\ecal_play_gui.exe',
'rclock': 3,
'tdesc': b'\x00',
'tid': '221785844831500',
'tname': 'Gateway_RadarSensorHealth',
'tsize': 0,
'ttype': '',
'uname': 'eCALPlayGUI'},

example output from X.mon_pubmonitoring()

Compare to eCAL monitor's output

Example binary message:
binary_messages.zip
How did you get eCAL?
Download from Release Page
Environment

ecal5                    5.10.1

windows 10 enterprise
Python 3.10.5

eCAL System Information
No response

I think this might be caused by the \x character somehow?

Hi @66hades,
the monitoring API provides all eCAL registration/monitoring layer (used for discovery) except the message content (payload in case of a pub/sub, request or respond in case of services). It just contains all kind of runtime attributes of the eCAL entities process, publisher, subscriber and service.
The tdesc field is the so called topic description that is - together with the topic type and encoding - needed to deserialize a payload content that is encoded with any kind of serialization technique.

Ah, thank you for the detailed response, I appreciate it 😊

@rex-schilasky that link send broken, and some of the documentation pages are blank, is there an issue with the online documentation?

@66hades I can't find any issue with the documentation. Can you provide some more details please?

@66hades I can't find any issue with the documentation. Can you provide some more details please?

The specific function "pub_set_description" is not documented on that page, and not found in the repository.
Also, the publisher webpage is blank, contains no information

Hi, we will check this next week. The python / C and C++ API's are in redesign phase for upcoming eCAL6 on master branch. The online documentation is based on that branch unfortunately and could be broke in some way.
Regarding pub_set_description .. this function won't be available anymore in eCAL6. Descriptor and type names has to be defined in the publisher constructor. See
https://eclipse-ecal.github.io/ecal/_api_python/ecal.core.core.html#ecal.core.core.pub_create


Provide a way to produce empty Values and OsValues iterators (possibly implement the Default trait?)

Why? Because sometimes I need to be able to produce placeholder values to represent the case where there were no values. Currently this is possible using Option<Values>, but this is clunky since iterators support naturally the case of "length zero", iterating zero times.
I'd imagine that implementing the Default trait would be a good solution.

Seems doable. Thanks for the suggestion!


Notification and new story(?) notification

Describe the bug
I don't have any new updates but it says I have 5 new notifications and 9 new stories to watch.
To Reproduce
Steps to reproduce the behavior:

Go to 'main page'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS] Windows
Browser [e.g. chrome, safari] chrome
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

they are just placeholders for testing only. Implementing a notification system is not in the scope of project. Thanks for the feedback!


Adding features to it

We can use opencv to take picture to detect disease insted of loading the picture from file

@rammya29 it is doing the needful. Please go through the code again.

We can use FPDF module in python to generate the report of the detection.

Shall I assign this issue to you?

Yes, please assign to me


After running run_param_tuner.py, the .model file is not generated in the checkpoints folder.

There is only one .log file in the folder after running run_param_tuner.py

Please post the detailed logs

got the same issue, the console did not have any useful logs
I searched and the memory overflow was likely caused by the large size of the test.csv file
Is there any way to solve it?


can_drop_data with embedded subwindows disabled ignores viewport content_scale_factor

Tested versions
4.3dev1, 4.2rc
System information
MacOS
Issue description
With project setting embed_subwindows enabled and Viewport.content_scale_factor set to a value other than 1.0, such as when using a HiDPI display (MacOS Retina), _can_drop_data is not calculated using the vp scale factor, and returns false when it should return true. This effects all Controls, such as Tree such that it's not possible to drag and drop tree items when the Viewport is scaled.
_drop_data position is also incorrect by the same scale factor offset.
With embed subwindows ENABLED:
https://github.com/godotengine/godot/assets/33969780/58e8263c-c09a-403c-8058-8f03751b4f40
with embed_subwindows DISABLED:
https://github.com/godotengine/godot/assets/33969780/5a224ba1-553b-49a1-936d-c8cbc8373cfd
Steps to reproduce
See MRP.
Minimal reproduction project (MRP)
can_drop_data_with_non_embedded_subwindows_bug.zip

I can confirm the problematic behavior in the following case on Windows 10:

embed_subwindows is disabled
Viewport.content_scale_factor is not 1.0

In your issue description you write:

With project setting embed_subwindows enabled

Am I correct to assume, that you mean "disabled" instead of "enabled"?

Am I correct to assume, that you mean "disabled" instead of "enabled"?

Yes, that's what I meant - sorry. I corrected it above. The second video above demonstrates the issue.

I have tested https://github.com/godotengine/godot/pull/67531 and with that PR merged, the problem doesn't happen for me on Windows. Since that PR is not going to make it into 4.3, a dedicated solution would be helpful.

I was hoping for that PR to be merged - do you know why it won't make it into 4.3? Do you have a sense of where in https://github.com/godotengine/godot/pull/67531 the change is made that fixes this issue?
The backstory on how this issue came up: because of the blurry embedded tooltips, menus and popups that are confounding to fix per https://github.com/godotengine/godot/issues/54030, I devised a workaround using non-embedded subwindows that provides properly rendered 2x popup windows. This is done by not setting the popup content_scale_factor, but resizing the popup by 2X, and setting the transform scale of the child Control to 2X. NOTIFICATION_SORT_CHILDREN and NOTIFICATION_DRAW then resize the child control to fit the popup Viewport. This gives you perfect 2X subwindows. This could be implemented in the engine where tooltips and popup menus are being rendered and connected to the screen HiDPI.

do you know why it won't make it into 4.3

Yes, feel free to pm me on Godot rocket chat for details - let's keep this issue about the bug itself.

Do you have a sense of where in #67531 the change is made that fixes this issue?

Yes, see the linked PR.

I'm also having problems with _can_drop_data on 4.2 on Linux. I'm not doing anything with sub-windows so I'm not sure if it's the exact same thing or not but it looks pretty much the same. It seems changing content_scale_factor and resizing the window gets things misaligned, and drop data doesn't work as expected.

@zen14774 in order to find out, if this is the same problem, you have two options:

you could try out Godot with the changes of the linked PR and see if your problem is solved
you could try to post a minimal reproduction project of your problem

@Sauermann I tested the linked PR (it was easier than I expected!) and it does solve the issue, thanks!


Change the theme forget your config in "custom"

Tested versions
v3.6.beta5.official [2a347ab86]
System information
w10 64
Issue description
In the editor options there is a theme called "custom".
I customized that theme with my highlight colors.
Next, I selected the "adaptive" theme to see what it would look like.
Then I went back to my "custom" theme and... surprise, all your highlight settings have been forgotten and now you'll have to do it again.
What is the purpose of this "custom" theme if it doesn't save your settings?

Steps to reproduce
It is only necessary to define a custom color for the "custom" theme.
Now activate the "adaptive" theme (for example).
Go back to the "custom" theme, you will notice that your customization has been forgotten.
Minimal reproduction project (MRP)
...

"Custom" indicates that there is not a preset that exactly matches all the current values of individual settings. If you change at least one individual setting, then it is already considered "Custom". When you select a standard theme, all settings are reset to the theme values. So a less confusing term would be "preset" rather than "theme".

Changing how where custom highlighting colors are set would break people's existing syntax themes upon upgrading, so I don't think it's a good fit for 3.x where stability is highly valued.


Web2Exe broke printing

For this one project I'm making an application that handles data, and one window generates a summary of this data that you're supposed to be able to print.
When I was working on this and added the print button it was working fine, I got the chrome print dialog with the preview as expected.
However after packaging the application and running it I tested the printing function it was broken. The window now said something along the lines of "NW.js is missing something to support previews". The message was in Swedish because my work computer is installed in that language, so I don't know what the proper message would be.
I was confounded. I had no idea what I'd done to break it. And I thought it was just the packaging so I tried in my dev environment and it wasn't working there anymore either.
Just a few minutes ago I was going into the package.json to bump the version up to 1.0.0 for the first release and found that Web2Exe had changed it. Presumably I forgot to open the project in readonly mode at one point.
I restored it from my IDE's history to how it was before then, and decided to check printing again which now worked as before.
So something Web2Exe did to my package.json broke the printing feature. I've yet to determine what. But I will comment with more information should I get any.

It might be this bit. I don't know what webkit plugin is for.
"webkit": {
    "plugin": false
  }

Yes indeed - nwjs uses the PDF plugin for print previews so the webkit plugin needs to be true.


[FEATURE] Adding multi language support system

I want to add multi language support system to the website which can help us understand in their native language.

@amanver45
Thanks for your contribution but i dont need multi language support for my project now


Redeploying Application on Docker Stack

Initially deploying my Docker Stack to Kubernetes goes well, but when I try to run the docker stack deploy command again after updating my application server's image, it doesn't seem to have any effect. Is docker stack deploy supposed to be able to update pods in place when the image it specifies has changed?
docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:22:34 2019
 OS/Arch:           darwin/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:29:19 2019
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
 Kubernetes:
  Version:          v1.16.6-beta.0
  StackAPI:         v1alpha3

docker info:
Client:
 Debug Mode: false
 Plugins:
  app: Docker Application (Docker Inc., v0.8.0)
  buildx: Build with BuildKit (Docker Inc., v0.3.1-tp-docker)
  mutagen: Synchronize files with Docker Desktop (Docker Inc., testing)

Server:
 Containers: 54
  Running: 41
  Paused: 0
  Stopped: 13
 Images: 143
 Server Version: 19.03.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.19.76-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.778GiB
 Name: docker-desktop
 ID: ATEJ:ATOG:NUAW:QLLS:J2XD:VCXQ:PL55:UZFK:QAPP:H6FP:YWSW:GD7Y
 Docker Root Dir: /var/lib/docker
 Debug Mode: true
  File Descriptors: 282
  Goroutines: 240
  System Time: 2020-03-11T18:50:05.2191357Z
  EventsListeners: 3
 HTTP Proxy: gateway.docker.internal:3128
 HTTPS Proxy: gateway.docker.internal:3129
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: true
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

Hi! Thanks for your feedback. Unfortunately we're no longer maintaining this repository so I will close this issue.


Readme review.

This review has the goal of making the README clearer and straight. Some of the Readme informations that were deleted are in the wiki.

Can one of the admins verify this patch?

add to whitelist

For me, it is ok now.
It makes the README more readable and direct.

I'm OK with this. Makes things much more straight-forward. Text looks good. 👍


Create pre-release 0.1.0

How about adding a 0.1.0, so we could stability stable in composer.json.
It also helps in keeping apps stable and composer updates fast.
You can still change anything during 0.x - according to semver.

Good idea, I'll do it tomorrow.

Done. Sorry for the delay with this.

@dmeroff Time for another one? :)

@schmunk42  Yes, I'll add it in a few days.

Added pre-release 0.2.0.


how to set dominant-baseline to middle?

Hi
I use many fonts to write text element in svg.
when I change font-size, the baseline of text is incorrect for positioning!
cause I have 3 text element with different size dynamically
have you support dominant-baseline to middle and convert this svg to png?
thanks advance

dominant-baseline not support with this library!

Same as #298

Closing as duplicate of @298.


Implement windows event logging

Currently, the windows sys logger is a stub for standard logging.  This PR implements windows event logging as the “syslog" for the NATS server on windows.
Using the -s or -r parameters on windows will enable logging to the windows event log.

The event source is NATS-Server, and data is written to the Application log.
Writing to the event log requires an elevated privilege.  If the user does not have required privileges, the server panics.
Log messages are written to the Application event log in the following format: pid[<pid>]:[<type>]: Message
Notice, Trace, and Debug messages are written as info messages and Errorf or Fatalf log messages are logged as event log errors.
Remote logging is supported.
Includes tests and vendoring

Here is what a NATS server log entry looks like in the windows event viewer:

Coverage decreased (-0.3%) to 89.217% when pulling 1df5af049168670554508355a8ff7e0a6251876e on windows-event-log into bc5f864bccff29999230385222460d5047874f9f on master.


Jdbc4.3

with working module-info.java

 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.:x: rene-ye sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #571 into JDBC4.3 will decrease coverage by 0.04%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             JDBC4.3     #571      +/-   ##
=============================================
- Coverage      46.52%   46.48%   -0.05%
+ Complexity      2217     2214       -3
=============================================
  Files            108      108
  Lines          25363    25363
  Branches        4177     4177
=============================================
- Hits           11800    11789      -11
- Misses         11533    11548      +15
+ Partials        2030     2026       -4

Flag
Coverage Δ
Complexity Δ

#JDBC41
46.34% <ø> (-0.1%)
2211 <ø> (ø)

#JDBC42
46.38% <ø> (+0.01%)
2208 <ø> (-4)
:arrow_down:

Impacted Files
Coverage Δ
Complexity Δ

...om/microsoft/sqlserver/jdbc/SimpleInputStream.java
51.11% <0%> (-1.49%)
11% <0%> (-1%)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
44.94% <0%> (-1.13%)
16% <0%> (-1%)

...n/java/com/microsoft/sqlserver/jdbc/Parameter.java
61.58% <0%> (-0.65%)
63% <0%> (-1%)

...rc/main/java/com/microsoft/sqlserver/jdbc/dtv.java
62.78% <0%> (-0.43%)
0% <0%> (ø)

...oft/sqlserver/jdbc/SQLServerPreparedStatement.java
51.03% <0%> (-0.25%)
159% <0%> (ø)

...m/microsoft/sqlserver/jdbc/SQLServerResultSet.java
32.54% <0%> (-0.25%)
240% <0%> (ø)

...om/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
52.67% <0%> (ø)
239% <0%> (-1%)
:arrow_down:

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
54.02% <0%> (+0.16%)
0% <0%> (ø)
:arrow_down:

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
39.61% <0%> (+0.21%)
44% <0%> (ø)
:arrow_down:

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
60.75% <0%> (+0.44%)
88% <0%> (+1%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

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

Maven-javadoc-plugin3.0.0 was released today, fixing the compatibility problem with module-info.java. It is no longer necessary to comment out the javadoc plugin, a new PR will be created to reflect these changes.


Remove wallet submodule

Description

I'll just have removed the submodule today (morning) as we discussed for it appears not to be ideal for people outside cardano-wallet. Development of feature will start diverging between cardano-wallet and cardano-sl after a while and after the scope of sl has been decided.
In the end, we'd be wasting efforts trying to move the current CI infrastructure to cardano-wallet, not mentioning the trouble for exchanges to migrate. In particular, I wasn't aware that we were planning only one more release on the legacy code; hence, there's no such thing as a transition period.
Linked issue

Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[x] I have read the style guide document, and my code follows the code style of this project.
[x] If my code deals with exceptions, it follows the guidelines.
[x] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[x] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

How to merge
Send the message bors r+ to merge this PR. For more information, see
docs/how-to/bors.md.

bors r+

bors r+

bors r+


Fix for Obsidian 1.6.x compatibility

Will merge and release this after 1.6.x becomes public. Before that we will have a nightly build that need to install manually for Obsidian insiders.

It's expected to work on previous versions of Obsidian after merging this. The only problem is we changed the icon for open in new window. So I think it's fine to keep the minAppVersion.

Will merge and release this after 1.6.x becomes public. Before that we will have a nightly build that need to install manually for Obsidian insiders.

@Acylation / @marcusolsson have you considered using BRAT for delivery of nightly builds / beta testing? It is super easy to setup and a big part of Obsidian ecosystem is using it these days to test plugins and deliver beta versions etc.
Here are details: https://tfthacker.com/brat-developers#manifest-beta.json

@GitMurf Love BRAT! Didn't know about the manifest-beta.json file though. I've added it to the CI now, so every merged PR will create a beta release now. Let me know if it doesn't work 🙏

@marcusolsson worked like a charm. Nice work and thank you!

Merge upon Obsidian 1.6.2 becomes public.


🐋 Docker cover frontend and backend

Docker should cover both frontend and backend before being publicly introduced

Development to continue on https://github.com/zer0bin-dev/zer0bin/tree/docker


How to implement JsonSchema for other types?

Hi!
Just a disclosure, I'm exploring Rust, if there's something obvious, I probably don't see it.
Is there an example for how implement JsonSchema for custom types?
I have this struct that's returned as a part of Axum response and JsonSchema is not implemented for sqlx::types::Json
#[derive(Serialize, FromRow, Debug, JsonSchema)]
struct Store {
    id: String,
    theme_id: String,
    display_name: String,
    status: StoreStatus,
    slug: String,
    gdpr: Option<String>,
    gdpr_enabled: bool,
    theme_overrides: sqlx::types::Json<StoreTheme>,
    // the trait bound `sqlx::types::Json<StoreTheme>: JsonSchema` is not satisfied
    owner_id: String,
    owner_profile_picture: Option<String>,
    owner_social_links: sqlx::types::JsonValue,
    owner_name: String,
    owner_username: String,
    owner_bio: Option<String>,
}

Thank you for any suggestions!

you have two options here:

do not use the sqlx json type except when you insert extract into the database (easiest)
create a newtype that wraps it and implements jsonschema

Your issues is more one of how to use sqlx.
you don't need FromRow to use the query_as! macro, and generally you don't directly query the struct for things like this. using it like this might be easier
query!("select a as "a: sqlx::types::Json<MyA>" from ...").map(|rec| Mystruct { a: rec.a.0 } ).fetch_one(db).await

You can also override the type schemars generates for a field:
#[derive(Serialize, FromRow, Debug, JsonSchema)]
struct Store {
    #[schemars(with = "StoreTheme")]
    theme_overrides: sqlx::types::Json<StoreTheme>,
}

It's convenient, but it's also easy to forget to update the attribute if you change the field's type.
As a side note, I'd rather not have any internal types (e.g. used by database queries) in API request/response types, and would totally separate the two, even duplicating every field and creating From<...> conversions if needed. This way the API won't depend on internal libraries and you are less likely to leak implementation details as well.


Suggestion: reopen files with new name with Rename - All Files

Extend command Rename - All Files to reopen all files that are currently opened in VS Code and renamed in order to avoid keeping files open that no longer exist.

You're right - I noticed it too :(.  Long live VSCode updates ;-)

@makuhn ,
would it be OK just for me to close all open windows first instead?  What is your opinion?

This is ok. Actually I do the same manually (closing all no longer existing files and reopening them again).

I'm on it!