GitHubPath not working after 0.1.0

I've got a couple projects, browsr and textual-universal-directorytree, that leverage universal-pathlib for a TUI file browser. I started working on updating dependencies yesterday and noticed an incompatibility with the new version of universal-pathlib: my custom implementation of UPath for fsspec's GithubFileSystem stopped working after the release of 0.1.0. In particular, the method is_dir() is what broke on instances of the GitHubPath:
The following code, I'm calling it example.py,  will correctly know that upath is a directory prior to 0.1.0 but will get this wrong after:
import upath
from upath import UPath, registry
from upath.core import _FSSpecAccessor

class GitHubPath(UPath):
    """
    GitHubPath supporting the fsspec.GitHubFileSystem
    """

    _default_accessor = _FSSpecAccessor

    @property
    def path(self) -> str:
        """
        Paths get their leading slash stripped
        """
        return super().path.strip("/")

    @property
    def name(self) -> str:
        """
        Override the name for top level repo
        """
        if self.path == "":
            org = self._accessor._fs.org
            repo = self._accessor._fs.repo
            sha = self._accessor._fs.storage_options["sha"]
            github_name = f"{org}:{repo}@{sha}"
            return github_name
        else:
            return super().name

if upath.__version__.startswith("0.1"):
    registry.register_implementation("github", GitHubPath)
else:
    registry._registry.known_implementations[
        "github"
    ] = "example.GitHubPath"

if __name__ == "__main__":
    print(upath.__version__)

    github = upath.UPath("github://fsspec:universal_pathlib@main")
    contents = {item.name: item for item in github.iterdir()}
    source_code = contents["upath"]

    print(source_code)
    print(source_code.is_dir())

0.0.23 Output:
0.0.23
github://fsspec:universal_pathlib@main/upath
True

0.1.3 Output:
0.1.3
github://fsspec:universal_pathlib@main/upath
False

I know that GitHub isn't a supported upath implementation yet so I understand if you're unable to support this issue, I'd also like to get it added if that's something you're interested in. I'm happy to share code or submit a PR where I can - right now I'm just stuck on trying to figure out exactly what changed.

Looking at this closer I think I've got the issue figured out, there were leading slashes being passed down to the GithubFilesystem that it didn't like. The following code looks to have resolved the issue without the need to customize the GitHubPath further:
import upath
from upath import UPath, registry
from upath.core import _FSSpecAccessor

class _GitHubAccessor(_FSSpecAccessor):
    """
    FSSpec Accessor for GitHub
    """

    def _format_path(self, path: UPath) -> str:
        """
        Remove the leading slash from the path
        """
        return path._path.strip("/")

class GitHubPath(UPath):
    """
    GitHubPath supporting the fsspec.GitHubFileSystem
    """

    _default_accessor = _GitHubAccessor

With that being said, are you interested in a GitHub implementation for upath and are there any issues you see with the example in this comment? I'm happy to contribute if so. Thanks again for the fantastic library

Hi @juftin
Thanks for reporting the issue!
We're keeping up with the changes in pathlib, and will probably reach a stable interface with python 3.13 that can then be back-ported. In the meantime we're trying the best to not break external UPath subclasses, but can't fully guarantee.
That being said, the best way to ensure your custom implementation will keep on working is to add it to universal_pathlib 😃 So yes, it would be great if you could make a PR.
I wrote some instructions here on how to add new implementations: https://github.com/fsspec/universal_pathlib/issues/117#issuecomment-1641532209
In addition to your suggested changes above, you would need to add a test that derives from the BaseTests class and does the setup. I would probably try to use the universal_pathlib repo for the tests.
Let me know if you need any further advice. If you get stuck, feel free to open a draft PR for discussion.
Cheers,
Andreas

Closed via 8314a65746c4d62c9263d7d98007a8b54f971dc5


Cannot use new API token format

Hi,
when I paste the token received from Samsung in the dialog bog of the integration I get the following error:
User input malformed
Thank you for looking in to it,
Simone

Hi there,
Thank you for opening an issue. For now, I have assumed this is concerning the SmartThings integration?
Please, use the issue template that is shown when you create an issue, since it helps us getting the clarity we need to solve issues.

Hi,
sorry found a bit confusing the template ;-)
I'm on HomeAssistant 0.101.3 on Docker.
The issue is related to SmartThings integration.
Let me know if you need any further info to analyze the issue.
Thank you in advance for your work,
Simone

I'm not familiar with what the "new API token format" is -- as far as I know, it needs to be a UUID.  What is the format for the token you are trying to use and where did you get it from?

Hi, format I get from Samsung site is:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
with obviously a mix of letter and numbers
Simone

That's the format of the current token -- are you sure you didn't accidentally copy + paste white space before or after the token?

That's the format of the current token -- are you sure you didn't accidentally copy + paste white space before or after the token?

No, I'm sure. And just in case I did it again today.
Any way to get a bit more debug info ?
Simone

Can you please edit the issue and fill out the whole issue template, including your HA configuration and logs?  I don't have enough information to know where/how you are getting this error.

Hi,
after digging more into this issue without luck, I update dmy HA installation to 0.102.1 (docker edition).
I created a new token on smartthing site and I was able to add it.
Seems now that I cannot authorize "My App" in the Mobile app: I cannot tap on it:

What am I missing now ?
Simone

I can duplicate this problem. The token format is a valid UUID and when pasted it is accepted OK, and I'm prompted to go over to the Samsung SmartThings App and add the HomeAssistant SmartApp. I get the same screen posted above by @chemelli74 with my valid, working, external https URL listed there. When I tap on that, nothing happens. It doesn't spin an icon, or change the screen, or display an error, just nothing happens. When I go look at my Nginx access and error logs, I see no attempts coming in from the Internet, though my own connections from the external internet are logging correctly. It's like the authentication attempt to my working external URL isn't firing inside the Samsung SmartApp. I can open another issue for this, using the issue template, if preferred. This isn't an issue with the token format, in my opinion, it's an issue with the code in Samsung SmartApp that's trying to perform the authentication against my external URL, I think.

Disregard, the fix for me was to use the SmartThings Classic mobile app to set up the Home Assistant integration, (as it states in the instructions). The SmartThings "modern" mobile app will not work to set up the HA integration.

Hi @waltlillyman , you are perfectly right but I didn't noticed two app on the store. My fault.
I would say you may improve the instructions poiting to the fact that there are 2 app and the Classic one is the one needed. Also the initial issue "token format error" was due to the fact that the URL of my home assistant was not published to internet. Maybe you can improve the message in such situation.
Now integration is completed ;-)
Only contra is that everything is seen as a switch:

Original issue resolved.


Produces irregular results on mobile

Library in its current state causes strange rendering behavior on mobile.

Same thing here

Could you be more specific about strange behavior? On my side I sometimes get a partially empty page

For me, the issue I'm having on mobile is that there's extra space on the right side of the website. In other words, the website was not full width on mobile, but it was on desktop. I found that removing any animations that came in sideways (anything with left or right set to true) fixed it. My guess is that something with the way this library handles sideways animations is causing components to be rendered outside the page.

For me, the issue I'm having on mobile is that there's extra space on the right side of the website. In other words, the website was not full width on mobile, but it was on desktop. I found that removing any animations that came in sideways (anything with left or right set to true) fixed it. My guess is that something with the way this library handles sideways animations is causing components to be rendered outside the page.

Update: I realized I could easily solve this with overflowX: 'hidden' >.< . Maybe that'll work for you too?

Can confirm that overflowX: "hidden" did the trick -- thanks!


feat: add setupJob additionalArgs, default to --init-projections=true

Closes #168. This patch adds the ability to specify additional arguments to pass to the setup job besides the preconfigured ones. By default, --init-projections=true is passed. This ensures that the setup job properly migrates the database between versions.
Definition of Ready

[X] I am happy with the code
[X] Short description of the feature/issue is added in the pr description
[X] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[ ] No debug or dead code
[ ] My code has no repetitions
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[ ] If possible, the test configuration is adjusted so acceptance tests cover my changes

FYI: I called it additionalArgs instead of the proposed additionalArguments to align with the Kubernetes property name (args). Further, even though this changes the setup job behavior, I opted for a semver-minor version bump since I feel this is not breaking (quite the opposite, in fact). Please let me know if this is acceptable.

Closing in favor of #170


Feature/argminmax axis

Should fix #800.

@cycomanic can you confirm that's ok for you, so that I can merge?


Add "metersUnit" and "feetUnit" strings options, for localization

Sorry, poor mistake of non-English speaker  :)
Updated the patch.


CI: IntegrationTests: TestTimer_ExitOnCloseFnCtx: panic: close of closed channel

CI failure
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃   PANIC  package: github.com/cilium/cilium/pkg/hive/job • TestTimer_ExitOnCloseFnCtx   ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
panic: close of closed channel

goroutine 79 [running]:
github.com/cilium/cilium/pkg/hive/job.TestTimer_ExitOnCloseFnCtx.func1.1({0x92c800, 0xc00023af90})
	/home/runner/work/cilium/cilium/pkg/hive/job/job_test.go:577 +0x31
github.com/cilium/cilium/pkg/hive/job.(*jobTimer).start(0xc000201220, {0x92c800, 0xc00023af90}, 0x8c0b60?, {{{0x0, 0x0, 0x0}}, {0x930458, 0xc000177420}, {0x928fc0, ...}})
	/home/runner/work/cilium/cilium/pkg/hive/job/job.go:393 +0x4a3
created by github.com/cilium/cilium/pkg/hive/job.(*group).Start.func1
	/home/runner/work/cilium/cilium/pkg/hive/job/job.go:137 +0x158
FAIL	github.com/cilium/cilium/pkg/hive/job	17.427s

https://github.com/cilium/cilium/actions/runs/4824725040/jobs/8594843070

@dylandreimerink Seems like a flake introduced by https://github.com/cilium/cilium/pull/24558.


[BACKLOG-18004] Disable empty file name

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -Dsurefire.runOrder=alphabetical -B -fn -f 'pom.xml' -pl 'engine,core' -P '!assemblies' -amd clean install && mvn -B -f 'pom.xml' -pl 'engine,core' -P '!assemblies' -amd site

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine,core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/row/ValueMeta.java
  core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java
  core/src/test/java/org/pentaho/di/core/row/RowMetaTest.java
  core/src/test/java/org/pentaho/di/core/row/value/ValueMetaBaseTest.java
  core/src/test/java/org/pentaho/di/core/row/value/ValueMetaFactoryTest.java
  engine/src/main/java/org/pentaho/di/trans/steps/textfileinput/EncodingType.java
  engine/src/test/java/org/pentaho/di/trans/steps/getsubfolders/GetSubFoldersMetaTest.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes: <0.1% (click to expand)
org.pentaho.di.core.row.RowMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.simpleeval.JobEntrySimpleEval

Branch Change: -0.3% :small_red_triangle_down:
Complexity Change: -0.4% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change: -1.3% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.2% :small_red_triangle_down:
Complexity Change: -0.7% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -4.2% :small_red_triangle_down:
Complexity Change: -4.2% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.setvalueconstant.SetValueConstantMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.EncodingType

Branch Change: -1.5% :small_red_triangle_down:
Complexity Change: -2.2% :small_red_triangle_down:
Instruction Change: -0.5% :small_red_triangle_down:
Line Change: -1.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

replaced by https://github.com/pentaho/pentaho-kettle/pull/4645


Reduce the emphasis on location being constrained by time zone.

Small edit based on conversation that occurred in Slack: https://2i2c.slack.com/archives/CKUTXU613/p1689171184086289?thread_ts=1689165877.504429&cid=CKUTXU613 to try and be as inclusive as possible.


ERROR: Install failed. Got error "ApplicationVerificationFailed".

I keep trying to install this program on my iOS 6.1.6 iPod Touch 4th gen, and get application verification errors. Here is the log for install.
Click Extract now
Extracted 48 files, skipping 0 because they exist, with 0 errors.
Extracting finished: Click Install now
WARNING - Program will hang till the installation finish
Due to the app size
Don't worry the app will appear ASAP in your device
"C:\Users\USER\AppData\Local\Temp/ipainstaller/ideviceinstaller.exe" -i "C:\Users\USER\AppData\Local\Temp/ipainstaller/ExtractedPath/Payload\xrec.app"
Uploading xrec.app package contents... DONE.
Installing '(null)'
Install: CreatingStagingDirectory (5%)
Install: ExtractingPackage (15%)
Install: InspectingPackage (20%)
Install: TakingInstallLock (20%)
Install: PreflightingApplication (30%)
Install: VerifyingApplication (40%)
ERROR: Install failed. Got error "ApplicationVerificationFailed".
Installing - DONE

@xAsrielDreemurr Hey I am getting this error. What to do in order to resolve the issue?


fix(http): add aws runtime api to the blacklist urls

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Faster Arbiter_Priority

The logic needed to keep the current grant if still requested is now after the  Bitmask_Isolate_Rightmost_1_Bit module instead of before. This shortens the combinatorial path from grant_previous to grant, allowing for higher clock speeds.
This also addresses the concern raised by @laforest in https://github.com/laforest/FPGADesignElements/pull/16#issuecomment-993663413.

This is an interesting change (and good catch on removing the unnecessary "assign"). However, have you tested this change to confirm it results in a higher clock speed? (either in a stand-alone test harness, or in the actual system using the Arbiter)

I am using the Arbiter in a Xilinx 7-series speed grade -1 device with a 155MHz clock. At a certain point in the design, Vivado couldn't close timing on the path from grant_previous to grant. With the proposed change, timing closure succeeded. So I concluded that, although both versions of the Arbiter seem functionally equivalent, Vivado couldn't reduce one into the other.
I tried to reproduce this today, but my design has evolved for 12 more days and Vivado can now close timing on both versions. However, Vivado still reports .100ns more slack with the proposed f755235 compared to the original c7c3e8b.
It obviously depends on the synthesis tool and the rest of the design, YMMV.

Agreed. Once there is a loop, it's not uncommon to have to manually move things around to get better optimization.
Thank you for doing this work. Those results sound very good. I've accepted the change.

Just a note: since 'grant' is now a reg port, I added an initial block to give it an initial value of zero.


Export to Windows: Missing export template for architecture arm_64

Tested versions
4.2.1
System information
Godot v4.2.1.stable - macOS 14.2.1 - GLES3 (Compatibility) - Apple M2 - Apple M2 (8 Threads)
Issue description
When adding an export to Windows and selecting architecture "arm_64", it says that the export template is missing although I downloaded all export templates via the prompt.

What's unclear to me as a user at this point:

Is Windows Arm (64) supported at all by Godot Engine? If not, the architecture drop-down should not offer this option here.
If Windows Arm (64) is supported by Godot Engine, where can I get the export template for it from?
If Windows Arm (64) is supported, but there is no official default export template for that architecture, it would be nice to get a warning at this step in the GUI instead of pointing to the default export template download & install popup.

Steps to reproduce
See above.
Minimal reproduction project (MRP)
See screenshot

It's this case:

If Windows Arm (64) is supported, but there is no official default export template for that architecture, it would be nice to get a warning at this step in the GUI instead of pointing to the default export template download & install popup.

I agree it would make sense to show a warning explaining that export templates need to be compiled manually for this platform + architecture combination. Same goes for Windows arm32.

Building for ARM64 is supported, but it was mostly pointless since Windows for ARM don't have Vulkan or usable OpenGL drivers. There's no official template.
But with DX12 renderer added, it might be usable.


Unix socket support

This is mostly c&p form tcp. By having a common fd+buffer struct the *recv/send functions could be unified.
There is a small API issue (if you care about linux abstract unix domain sockets that is). Abstract socket names start with 0 byte and that doesn't work well with the single char* addr argument we have now.

Submitted under MIT license.

Linux private namespace isn't portable, no point in exposing it.
Merged. Thanks!

Btw, do we need deadline parameter in unixconnect()? Shouldn't it be always synchronous?

Currently it seems unecessary. EINPROGRESS shoud never happen. We might do something in response to EAGAIN (servers backlog is full).


Use novoda/bintray-release to upload to bintray

Should work.. 🙃

Use https://github.com/StefMa/bintray-release


Branding

Branding changes:

Cleaner style sheets
'Ocean Wallet' name and icon. Chain name is added to main window and network info.

Fixed fee changes to fee tab (preferences dialog).

Could the chain box in the network dialog be made longer in order to include the whole genesis hash?

Could the chain box in the network dialog be made longer in order to include the whole genesis hash?

It does include the whole genesis in a read-only QLineEdit, you can scroll and inspect the whole string.

The wallet freezes on restart if the mapping object download has been enabled.

The mapping URL was wrong, fixed now (eu-west-1). But it shouldn't freeze, but give a 'mapping json error'. Did it give any debug trace?

The startup dialog stills has the old CB logo with the 2 shades of green in it.

I can't see this - can you post a screenshot?

Could the chain box in the network dialog be made longer in order to include the whole genesis hash?

It does include the whole genesis in a read-only QLineEdit, you can scroll and inspect the whole string.

Fine - it would be better, though, if the string could be read without scrolling :)

The wallet freezes on restart if the mapping object download has been enabled.

The mapping URL was wrong, fixed now (eu-west-1). But it shouldn't freeze, but give a 'mapping json error'. Did it give any debug trace?

This only occurs when running ./run_electrum. When running the MACOS executable, it doesn;t freeze but gives an error message.
When it freezes, the GUI freezes but the application keeps retrying connections. See the output of ./run_electrum -v below.
Lawrences-MacBook-Pro:cb-client-wallet lawrence$ ./run_electrum -v
[SimpleConfig] electrum directory /Users/lawrence/.dgldwallet
[get_server] [Errno 61] Connection refused
[Plugins] registering hardware digitalbitbox: ('hardware', 'digitalbitbox', 'Digital Bitbox wallet')
[Plugins] registering hardware keepkey: ('hardware', 'keepkey', 'KeepKey wallet')
[Plugins] registering hardware ledger: ('hardware', 'ledger', 'Ledger wallet')
[Plugins] registering hardware safe_t: ('hardware', 'safe_t', 'Safe-T mini wallet')
[Plugins] registering hardware trezor: ('hardware', 'trezor', 'TREZOR wallet')
[Plugins] registering wallet type ('2fa', 'trustedcoin')
[profiler] Plugins.init 0.0041
[Network] blockchains dict_keys([0])
[Network] starting network
[Network] connecting to wallet.mainnet.gtsa.io:10005:s as new interface
[FxThread] using exchange BitcoinAverage
[wallet.mainnet.gtsa.io] SSL certificate signed by CA
[wallet.mainnet.gtsa.io] connected
[Network] switching to wallet.mainnet.gtsa.io:10005:s
[Network] sending subscriptions to wallet.mainnet.gtsa.io:10005:s 0 0
[wallet.mainnet.gtsa.io] notified of header 11154 586dcc3a74acc224c362acd8b4d387696144d2267f18b453b281d425d25597ac
[Network] fee_histogram []
[Network] relayfee 60
[WalletStorage] wallet path /Users/lawrence/.dgldwallet/wallets/default_wallet
[WalletStorage] wallet path /Users/lawrence/.dgldwallet/wallets/default_wallet
[WalletStorage] wallet path /Users/lawrence/.dgldwallet/wallets/default_wallet
[profiler] Standard_Wallet.load_transactions 0.0008
[profiler] Standard_Wallet.load_local_history 0.0000
[profiler] Standard_Wallet.save_transactions 0.0014
[profiler] Standard_Wallet.check_history 0.0019
[Synchronizer] receiving history GT3NDU8J5NkBeZf6sU2UoHjc1uaiyES5Ld 13
[WalletStorage] saved /Users/lawrence/.dgldwallet/wallets/default_wallet
[profiler] WalletStorage.write 0.0051
[profiler] Standard_Wallet.save_transactions 0.0067
[WalletStorage] saved /Users/lawrence/.dgldwallet/wallets/default_wallet
[profiler] WalletStorage.write 0.0041
[WalletStorage] saved /Users/lawrence/.dgldwallet/wallets/default_wallet
[profiler] WalletStorage.write 0.0041
[wallet.mainnet.gtsa.io] notified of header 11155 e8cd329879f2e77b2d5c0c1e263bc59490f049b008a691b77af68a45a276564f

The startup dialog stills has the old CB logo with the 2 shades of green in it.

I can't see this - can you post a screenshot?

This only occured before running build_osx (I was building with python3 setup.py install). After running build_osx, the logos are ok.


Added Extra courses

I have committed 3 different commits and in these 3 commits I have added 5 more courses. In first commit I have added Introduction to Linux course in the Operating Systems section. In the Second and third commit I have added 4 java programming learning course in the Programming Paradigms Section.

You can comment this in your commits instead of opening an issue.

I didn't know that. That is why I have created the pull request. @ni8mr

But If I don't open a pull request how can my commits be merged with the master branch. @ni8mr

Sorry my bad, i thought this was an issue. Ignore my ignorance.

@mkghosh thank you so much for helping us! :pray:
I have some considerations about your PR:

The Introduction to Programming with Java Part 1 and 2 should be in the "Introduction to Computer Science" section.
Introduction to Java Programming – Part 1 and 2 should not be part of our curriculum because we don't have a specific field for programming languages. Our focus is more related to CS concepts instead of programming languages. We are "language agnostic", students can create their projects in whatever language they want. If we start to add such kind of courses, our list will be endless.
Introduction to Linux :+1:

Can you refactor your PR?
Thanks in advance!

@ericdouglas I am glad to know that my addition did help you. I will try to refactor it now but I am not sure that I can do it just now because I am using an Android mobile to see this but any way I will try now if successful I will create another pull request. Thank you too.

@ericdouglas I tried to mean that it helped the community. Thanks.

@mkghosh don't worry. You can fix it later, no problem! :smile:

@ericdouglas I have updated the file as you suggest. Please review the changes.

@mkghosh perfect! Thank you so much! :pray:

@ericdouglas you are most welcome.


[TVMScript] A0: Relax IRBuilder infra

This PR introduces the ir_builder for relax dialect.
Note that it's only a PR for infrastructure, which does not support all features yet.
cc @junrushao @yongwww

Thanks @Hzfengsy for adding the IRBuilder Infra for Relax! 🚀
Thanks @yongwww and @MasterJH5574 for the reviews!


Update peer deps.

Codecov Report

Merging #9 (9a38cbb) into main (76273d6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #9   +/-   ##
=======================================
  Coverage   93.06%   93.06%
=======================================
  Files           4        4
  Lines         101      101
=======================================
  Hits           94       94
  Misses          7        7

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 76273d6...9a38cbb. Read the comment docs.


MockSpan toString method

MockSpan#toString() for debug purposes. It also simplifies implementation of "LoggingTracer"
class LoggingTracer extends MockTracer {
        protected void onSpanFinished(MockSpan mockSpan) {
            System.out.println(mockSpan);
        }
    }

It closes https://github.com/opentracing/opentracing-java/issues/82

@bhs @yurishkuro could you please review?

In Jaeger clients we tend to only include span context + span name in the toString output. Are you sure you want all of the fields? If so, perhaps a JSON representation would make more sense.
Aside from that I'm ok with this change.

I was thinking about it too, however I could not find any contra argument against all fields. Actually, it can help with debugging and It can be also used for simple demo as mentioned above (when https://github.com/opentracing/opentracing-java/issues/104 is moved to contrib there could be some logging tracer for demo purposes).
+1 on JSON.

Actually is JSON really necessary here? Implement it properly for all logs/tags is not very clean in java 1.6 without introducing any 3rd party lib.
Better would be to stick with {spanId: 1, traceId: 1, parentId:0, operationName: "name"} or do not use JSON and just call #toString() on all span's properties.

{spanId: 1, traceId: 1, parentId:0, operationName: "name"}

+1 (only better order them traceId, spanId, parentId)

(LGTM)

I imagine this is uncontroversial, so let's merge. thanks again.


better explain the limitations of repro::automate() compared to manual

Add more detail to:

First, the project can only rely on R packages for the Dockerfile and second, it can have no multilayered preprocessing for the Makefile.

Related:
https://github.com/aaronpeikert/repro-tutorial/blob/29777a48b4045e0e256c06b973a2991766441ec2/manuscript.Rmd#L560


Resolve class with runtime argument

Hi,
i want to register some class with init. This class needs one runtime argument and one dependency. I want to resolve this registered class with a runtime argument. Is this possible that DIP takes care of other dependency (which is not runtime argument)?
For example, i have class A which depends on runtime argument SomeViewModel and UseCase which is not a runtime argument. I want to register this class A like this ->  container.register ( factory: A.init ). Is it possible to resolve this class by passing a runtime argument? Problem is that this class besides runtime argument has other dependency UseCase which is not runtime argument. I can register class A like this -> container.register { (viewModel: SomeViewModel) in A(viewModel: viewModel, useCase: try self.container.resolve()) }. This works but i want to find a way to register class A like this -> container.register ( factory: A.init ).
EXAMPLE
class SomeViewModel { }
class UseCase { }
class A {

    init(viewModel: SomeViewModel, useCase: UseCase) {  }

}

class B {

    init(a: A) {   }

}

func registerDependencies() {
        container.register ( factory: A.init )    // -> i want to register class A  like this
        container.register ( factory: UseCase.init )

        container.register { (viewModel: SomeViewModel) in B(a: try! self.container.resolve(arguments: viewModel)) } // -> i want to resolve this class by passing runtime argument but it's not working because DIP try to resolve A with one argument (SomeViewModel)

        let test = try! container.resolve(arguments: SomeViewModel()) as B
}

You can resolve UseCase when you resolve A and pass it along with viewModel argument.

Ok. Thanks :) it's working


Access to Kartaview photos blocked in id-editor

URL
https://www.openstreetmap.org/edit#map=15/48.8696/2.3205
How to reproduce the issue?
In OSM ID-editor, we should be able to see photos uploaded on Kartaview. This is not the case anymore on my laptop (and others), although it used to work well until a few weeks ago.
To reproduce the bug:

open id-editor https://www.openstreetmap.org/edit#map=15/48.8696/2.3205
try to display Kartaview photos in the contextual menu "Map Data" on the right

Nothing is displayed on my side, and I obtain the following access errors in the developer tools:

Thanks a lot for your help!
Screenshot(s) or anything else?
No response
Which iD Editor versions do you see the issue on?
Released version at openstreetmap.org/edit
Which browsers are you seeing this problem on?
Firefox, Chrome, Microsoft Edge

You need to get in touch with Kartaview and ask them to fix their server settings.

Yes, its working now. Thanks!


[Bug] Theme switches to light even when dark is set

At random times new tab shows a white background as if the light theme was set. However it says dark theme is in use in the settings.
This is really annoying since it hurts my eyes haha. I don't know why or when this happens but perhaps someone else has had it too?
Version: 0.18, not from chrome webstore but self build using npm build

Thanks for the bug report. I've got a few questions to try to narrow down the cause:

Is it FOUC (flash of unstyled content), where the page is white but just for a moment? Or is it persistent?
If it's FOUC, is there anything that might be slowing down the initial page load? Are there some other extensions that load first? Is it a slow system and/or a slow HHD?
If it's persistent, does the theme load properly when you refresh the page?
Is it the light theme or the base styles without a theme?

I'm the same as you and prefer a dark theme. Anything white hurts the eyes when browsing at night! Especially sudden unexpected flashes.
It used to happen before where when loading the page it would flash white first before the theme was loaded. More recently I rewrote the theme loader to be synchronous and to load the theme before the page is actually rendered.
Under the hood, the way it currently works is there's a base set of styles that make up most of the CSS. These base styles are inline in the HTML so they will always load regardless. Then there are the themes which are small CSS that set some variables (CSS custom properties) and provide minor tweaks. The user's chosen theme is loaded into localStorage when the theme is changed in the settings or when the extension is updated. On a new tab page load we get the theme from localStorage and inject it into a <style> tag.
This theme loading strategy is a bit complex since a theme needs to be pre-loaded and then injected, but it does allow for a lot of power around theming. User customisable themes would be possible for example (it's not a feature now but something I'd like to add in future).

It is persistent among other tabs and when i close the browser.
There is no page slowdown
When I refresh the page the theme does not load properly and just stay on light theme while the settings clearly say dark theme.
For now I can't clearly see the difference between light and without style.
It persists across reloads, browser restarts or when i open up a new tab.

For now I will update to the latest git commit to see if the issue persists. Will close after 30 days if it's gone.

Thank you for the info :slightly_smiling_face:
I ran into what might be the same issue and fixed it in #1349. Although what you reported may be a different issue, since you mentioned the light theme is being loaded instead of your chosen theme (and not "no theme"). Closing the issue for now as there's a chance the bug is fixed, but please reopen if you encounter it again.

The bug I saw was in essence a race condition between the browser's HTML parser + DOM constructor, and inserting textContent into the theme <style> node. This extension omits all unnecessary tags in newtab.html, so the browser adds any implicit standard HTML tags automatically. If that happened at exactly the same time as setting the style node textContent, it inserted text into unexpected parts of the document, breaking the DOM and theme. This could cause page to load with "no theme".
The fix creates the a style node and inserts it in the DOM dynamically, which should prevent the race condition. The theme loader is a little larger but overall the performance is actually better!

I'm reopening the issue as I've observed the same thing happening. My fix didn't work as expected.

I haven't run into this issue in a long time so I'm going to consider it fixed. There have been various improvements to theme loading since this issue was created including a complete overhaul of how the themes work internally.
Additionally, the latest release has a bunch of theme changes including an auto light/dark theme by default https://github.com/maxmilton/new-tab/releases/tag/v0.23.0. It's been submitted to the Chrome Webstore and once approved it will roll out to users.


No module named 'geoio'" error when attempting to import 'geoio'

Install 'geoio' using the following pip command:
pip install geoio


Created a CONTRIBUTING.md file.

Keeping in mind all the pointers given by you I have made this file.

Sure, will make the desired changes.

I have made all the desired changes please have look.

Hey sorry @parth-gpt , but I have requested some more corrections please do that. I have given the comments in the same place where correction is needed

Okay on it.

Can you please check now.?

Can you please check now.?

You have not updated the issue link point it to the new issues page and you have written 'issues' two times

Can you please check now.?

You have not updated the issue link point it to the new issues page and you have written 'issues' two times

Done


Add guide for using an existing database with PostgREST

More of an idea. See https://gitter.im/begriffs/postgrest?at=5d443b4f41d5cd61b59f2930.

Too much to do already as to come up with an example. Also, in general pgrst works with any db. Users can come to gitter chat if issues arise.


Parameter of type DateTime should only be nullable when it is not required

Since #3346 parameters of type Datetime which are required are rendered as nullable in the header section while the parameter itself in the method isn't nullable. Because of this the generated client does not compile.

We also have this particular issue on a project. DateTime should only be nullable when not required, otherwise not-nullable.


Fix sonar bug

[INFO] Running org.apache.iotdb.db.engine.overflow.io.OverflowProcessorTest
INFO  [2019-03-01 09:35:08,331] [main] org.apache.iotdb.db.auth.user.BasicUserManager:77 - Admin initialized
INFO  [2019-03-01 09:35:08,333] [main] org.apache.iotdb.db.auth.authorizer.BasicAuthorizer:63 - Initialization of Authorizer completes
WARN  [2019-03-01 09:35:08,335] [main] org.apache.iotdb.db.engine.overflow.io.OverflowResource:130 - Cannot read position info, returning a default value
java.io.FileNotFoundException: data/data/overflow/test/0/positionFile (No such file or directory)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
	at org.apache.iotdb.db.engine.overflow.io.OverflowResource.readPositionInfo(OverflowResource.java:109)

We need to care about this failed UT.

[ERROR] Failures:
[ERROR]   IoTDBMetadataFetchIT.databaseMetaDataTest:226->showTimeseriesInJson:385 expected:<...        Compressor: [UNCOMPRESSED,
                     args: {max_point_number=3, compressor=SNAPPY]},
                 ...> but was:<...        Compressor: [SNAPPY,
                     args: {max_point_number=3]},
                 ...>
[INFO]
[ERROR] Tests run: 50, Failures: 1, Errors: 0, Skipped: 1

notice the error.
In a merged PR, I changed the output of time series schema, which put compressor out of args. You may need to merge with origin/master to fix this error.


Change the default port or add the ability to change it

I just tried to run the tool and it tried to run on port 8888. Unfortunately, I have resilio-sync running on that port. Is there a way to change the port? (It worked after turning off the service.). Better if we can have it run on port 3000 like meteor 😄
Let me know what you think. I can help :-)

@THPubs
It's one of the first task is going to fix in the next version. :).
Related issue #15

Perfect :smile:


CI: do git shallow clone for GH/cilium/cilium

We have witnessed that fetching https://github.com/cilium/cilium became slow on some CI worker nodes. E.g. https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-K8s/2080/console failed due to timeout while fetching the Cilium repo:
<..>
Receiving objects:  85% (97770/114429), 59.45 MiB | 82.00 KiB/s
Receiving objects:  85% (97799/114429), 59.46 MiB | 74.00 KiB/s
Receiving objects:  85% (97939/114429), 59.56 MiB | 77.00 KiB/s
error: index-pack died of signal 15
fatal: index-pack failed

Currently, the way Jenkins fetches the Cilium repo is the following:
Cloning repository http://github.com/cilium/cilium
 > git init /home/jenkins/workspace/Cilium-PR-Ginkgo-Tests-K8s # timeout=10
Fetching upstream changes from http://github.com/cilium/cilium
 > git --version # timeout=10
using GIT_ASKPASS to set credentials
 > git fetch --tags --progress http://github.com/cilium/cilium +refs/heads/*:refs/remotes/origin/*

Instead, we could do a shallow git clone which should drastically reduce number of objects to be fetched (8218 vs 114429):
> git clone --depth 1 http://github.com/cilium/cilium
Cloning into 'cilium'...
warning: redirecting to https://github.com/cilium/cilium/
remote: Enumerating objects: 8218, done.
remote: Counting objects: 100% (8218/8218), done.
remote: Compressing objects: 100% (6481/6481), done.
remote: Total 8218 (delta 2072), reused 4268 (delta 1183), pack-reused 0
Receiving objects: 100% (8218/8218), 22.61 MiB | 5.75 MiB/s, done.
Resolving deltas: 100% (2072/2072), done.

AFAICS, this is already implemented. I couldn't find a single Jenkins job for which the "Shallow clone" checkbox wasn't checked. /cc @nebril


Add support Closure for 'query-logger' in DbalFactory.

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Fixed issues
-

What's the purpose of this PR?

What's the purpose of this PR?

Ability to set query-logger as Closure.

Do you have use-cases where it's needed?

For example, I want send to Cycle ORM separate Logger and configure him.
For yii-cycle I send:
'query-logger' => static function(ContainerInterface $container) {
	$logger = new MyLogger();
	$logger->someThing('cycle-orm');
	return $logger;
}

For another package:
'logger' => static function(ContainerInterface $container) {
	$logger = new MyLogger();
	$logger->someThindg('another-package');
	return $logger;
}

It should be done with usage Dependency Injection instead.
See https://github.com/yiisoft/docs/blob/master/guide/en/concept/di-container.md

I'm should set in container alias for my Logger class and use him as string for query-logger, right?

Yes, it is.

Ok, I understand 👍
May be remove Closure support in my PR and save refactoring and tests?

I think it is better to make a new PR.

Ok! I will make it.


Update V4.document-compliance-gateway.markdown

updating required and option field for PUT API CALL

@dtsmani This PR has a merge conflict that you will need to resolve. It looks like some of this material may have been part of the previous PR and your branch wasn't updated to include that information.


Use singleton chunks on pdist's diagonal

Attempts the second approach from this comment. Namely tries to perform an optimization with pdist where it replaces chunks on the diagonal with singleton chunks that have also been run through cdist. This way unnecessary additional computations can be totally avoided as those chunks will be dropped. Can be tweaked further by trying to split chunks into smaller and smaller blocks, which should improve the performance.

Unfortunately just using singleton chunks appears to have very poor performance compared to simply ignoring the diagonal. Probably slowly breaking the diagonal into smaller and smaller chunks would be more performant. Though it is unclear whether it will be performant enough to justify the effort or added complexity.

Applied a similar strategy in PR ( https://github.com/jakirkham/dask-distance/pull/84 ) with many simplifications. Performs significantly better than this implementation. Though still employs the same basic strategy with one tweak. Does not try to rechunk the result at all, but does work on smaller pieces near the diagonal. So effectively does use smaller chunk sizes to avoid duplicate computations.


Relax doctest constraint.

Stackage and nixpkgs are now on doctest 0.22, so the tests don't build. Simply relaxing the constraint seems to solve the problem.

@AlexeyRaga @HuwCampbell Is it possible to merge this and release a minor version?

I could merge but don't have hackage permissions for this repo.
Also I think just a hackage metadata update should do it, @AlexeyRaga can you do that one?

Sure.

@HuwCampbell I have merged it, and I'll bump a release.
But looks like ATM we have problems with windows builds? So the CI release won't be happening because because of these failures...
Do you have WIndows handy to check what is going on there?
Alternatively I can disable Windows builds in CI for now

Oh, perhaps we just need to start using newer version of Cabal...


Support fs.open() flags being a number vs. string

Hi everyone!
I'm trying to do this and I'm getting flags is not valid:
fs.open("/file.txt", fs.constants.O_RDWR | fs.constants.O_CREAT, function(err, fd) {
  if(err) throw err;
  fs.fstat(fd, function(err, stats) {
    if(err) throw err;
    fs.close(fd);
  });
});

Hey @tinchoz49, this is a bug, thanks for filing.  We currently assume flags are in string form ('w+' is closest to what you'd want), and don't yet support passing flags as a bitwise number.  We should.
Fixing this would involve making our code do what node does:

docs where it discusses flags being a String or Number
code for stringToFlags() in node

A simple fix would be to alter our O_FLAGS object to use numeric keys vs. strings, and convert strings to numbers like node does.

@rscotchmer not sure what you're looking to do for your 0.3 bugs, but this one might be interesting to you.  I could mentor you through it, if you have interest.  No pressure if you have other things you want to try next.

@humphd I'd love to work on this!  Thanks for notifying me!

@rscotchmer great, here are some more thoughts.
We currently use strings for flags, and we should switch to using numbers.  If a string is passed to us, we should convert it into a number.  See the code I linked to above from node, which does what we want.
  Instead of doing this, we'd want to convert that to use the flags number, and bitwise & (and) it with the constant we want to check against.  The constants we want are defined in https://github.com/filerjs/filer/blob/master/src/constants.js#L88.
We could start by converting the code in the first comment above into a test we add to the fs.open.spec.js test file, and add more as we go.  I have no doubt you'll find other bugs while fixing this, since we probably don't do the right thing in all cases with flags vs. what node does.
Let me know what questions you have, or further help I can give.  I'm happy to guide you as you deem necessary.

Hey everyone, thanks to start working on this!


Fix scrollspy so TOC expands when sections are clicked

I noticed that clicking an internal link in the right TOC does not actually "open" that section in the TOC because the scrollspy data offset is too little. So this increases by 3x, so that the TOC is updated when the header is a bit further into the middle of the screen.

Gonna self-merge this one because I think it's pretty straightfoward and fixes a bug here!


Question: Respond to a click on the dragable item

If the user clicks on the item and does not hold the mouse key I would like to run some function.
Normally I would add an "onClick" handler to the element, but it seems like the listeners are colliding with that method.

I don't mind adding a delay to the start of the drag if that is necessary.

@ofirgellerSM The API allows constraining the activation via a delay or distance. Something like that:
// All of these are imported from '@dnd-kit/core'.

const sensors = useSensors(
  useSensor(PointerSensor, {
    activationConstraint: {
      distance: 8,
    },
  })
)

<DndContext sensors={sensors}>
  // […]
</DndContext>

 const pointerSensor = useSensor(PointerSensor, {
    activationConstraint: {
      distance: 0.01
    }
  })
  const mouseSensor = useSensor(MouseSensor)
  const touchSensor = useSensor(TouchSensor)
  const keyboardSensor = useSensor(KeyboardSensor)

  const sensors = useSensors(
    mouseSensor,
    touchSensor,
    keyboardSensor,
    pointerSensor
  )

this works perfectly with touch and drag

Not working for me. Clicks still not being delivered. #477 doesn't work either.

@awgv's answer worked for me. But I encountered another problem. When I try to drag an element, the click functionality gets triggered and opens the popover component while also dragging the element. How can I avoid the click once a component is dragged?

@awgv's answer worked for me. But I encountered another problem. When I try to drag an element, the click functionality gets triggered and opens the popover component while also dragging the element. How can I avoid the click once a component is dragged?

const {  isDragging } = useSortable();

 { if(!isDragging){ console.log("click"); } }>

@awgv's answer worked for me. But I encountered another problem. When I try to drag an element, the click functionality gets triggered and opens the popover component while also dragging the element. How can I avoid the click once a component is dragged?

const {  isDragging } = useSortable();

 { if(!isDragging){ console.log("click"); } }>

The thing is shadcn's components are built on Radix, so the events gets triggered when the pointer is down, i.e. onPointerDown.
So I simply added this to the trigger component and the issue got resolved.
onPointerDown={e => e.preventDefault()}

@chirag-9121
Ideally you should check the whatever function is being called with the dragging check.
preventDefault() in general is not a good idea as it will completely block the bubble phase.
But depending on what you are doing, it might not have difference.

It works for me. Thanks @chirag-9121 🙏

Would be worth adding this solution clearly to the sortable docs 👍


Payload is set, but getting Error: 3 INVALID_ARGUMENT: Task.payload_type is not set

I'm using typescript to create cloud tasks. This is how my code looks
const {CloudTasksClient} = require('@google-cloud/tasks'); //using the latest version, updated via ncu
function payloadBody(seconds:number, task: string){
            return {
                'time': seconds,
                'task': task,
                'docId': ds.id //getting that from a firestore onCreate event
            };
        }

function generateTask(payload:any){
        return {
            httpRequest: {
              httpMethod: 'POST',
              url,
              body: Buffer.from(JSON.stringify(payload)).toString('base64'),
              headers: {
                'Content-Type': 'application/json',
              },
            },
            scheduleTime: {
              seconds: payload.time,
            }
        };
    }

const task = generateTask(payloadBody(<some time here>, '<task name here>'));
const queuePath: string =await tasksClient.queuePath(project, location, queue);
await tasksClient.createTask({parent:queuePath, task});

But I get this error:
Error: 3 INVALID_ARGUMENT: Task.payload_type is not set.

Here's a snippet of code that worked for me in one of my projects:
      await client.createTask({
        parent: queuePath,
        task: {
          httpRequest: {
            httpMethod: 'POST',
            headers: {
              'X-GitHub-Event': params.name || '',
              'X-GitHub-Delivery': params.id || '',
              'X-Hub-Signature': params.signature || '',
              'Content-Type': 'application/json',
            },
            url,
            body: Buffer.from(params.body),
          },
        },
      });

One thing that jumps out at me is that I'm not base64 encoding the buffer).

This is most likely due to using an old library version. Please update to the current version 2.0.0. Feel free to reopen.

Oops, that was all my lack of experience with json objects. See where I have
await tasksClient.createTask({parent:queuePath, task});
where it should be
await tasksClient.createTask({parent:queuePath,task: task});
Thank you for your help.


Null propagation cannot be used for primitive type lists (string)

I want to parse a null propagation expression for a list with a string:
Simple test scenario:
public class TestClass{
    public List<string> MyList {get; set;}
}

var dataSource = new TestClass();
// Let MyList null...

var expressionText = "np(myList.FirstOrDefault())"
LambdaExpression e = DynamicExpressionParser.ParseLambda(ParsingConfig.Default, dataSource.GetType(),
               typeof(object), expressionText, null);
            var result = (e.Compile()).DynamicInvoke(dataSource);

Here I get the exception : The 'np' (null-propagation) function requires the first argument to be a MemberExpression
Null propagation for a property works:
var expressionText = "np(myList.Count)"
LambdaExpression e = DynamicExpressionParser.ParseLambda(ParsingConfig.Default, dataSource.GetType(),
               typeof(object), expressionText, null);
            var result = (e.Compile()).DynamicInvoke(dataSource);

Can you try MyGet version System.Linq.Dynamic.Core.1.0.23-ci-13135 ?

Looks good:
          var dataSource = new TestClass();

         var expressionText = "np(MyList .FirstOrDefault())";
         LambdaExpression e = DynamicExpressionParser.ParseLambda(ParsingConfig.Default, true, typeof(Receipt),
            typeof(object), expressionText, dataSource);
         var resultRec = (e.Compile()).DynamicInvoke(dataSource);

{Param_0 => Convert(IIF(((Param_0 != null) AndAlso (Param_0.MyList != null)), Param_0.MyList .FirstOrDefault(), null))}

https://github.com/StefH/System.Linq.Dynamic.Core/pull/368

@Franki1986 Can you do some more tests please? To make sure it works also on real database calls?

Sure, I will do it tomorow. But I am using Linqtodb not ef core. But if the expression is right I think it will also work with ef..

I am not sure what kind of test scenario I could do against a database? If I understand, I have to generate a methodExpression that could return null.

Instead of using DynamicExpressionParser manually, you can just use a Linq Select:
Example:
var resultDynamic = DBContext.MyClasses.AsQueryable().Select("np(MyList.FirstOrDefault())");

I hobe this is getting in the right direction, because it is the closest I can create with the database and LinqToDb, because a string list cannot be mapped directly to a database table and the expression then coould only be applied to the resulting data. So I created a parent and child class for 1 to n.

public class Parent{
    public int Id {get; set;}
    public List<Child>ChildList {get; set;}
}

public class Child{
    public int Id {get; set;}
}

       using (var db = new DbContext())
       {
            var query = db.GetTable<Parent>().LoadWith(g => g.ChildList);
            var resultA = query .Select(c => c.ChildList.FirstOrDefault() != null).ToList();

            var query2 = query .Select("r => np(r.ChildList.FirstOrDefault()) != null", null);
            var result2 = query2 .ToDynamicList();
       }

Resulting expression debug string:
                  "{Table(PARENT).LoadWith(g => g.ChildList).Select(Param_0 => (IIF(((Param_0 != null) AndAlso (Param_0.ChildList!= null)), Param_0.ChildList.FirstOrDefault(), null) != null))}";
The result list is the same..

And if you get the Id and provide a default value, like:
var query2 = query .Select("np(r.ChildList.FirstOrDefault(), 42)");

Sorry for the late response, I wasn't at the pc over the easter days.
So this
var query2 = qu.Select("np(ChildList.FirstOrDefault().Id, 42)", null);
produces the expression:
{Table(PARENT).LoadWith(g => g.ChildList).Select(Param_0 => IIF((((Param_0 != null) AndAlso (Param_0.ChildList != null)) AndAlso (Param_0.ChildList.FirstOrDefault() != null)), Param_0.ChildList.FirstOrDefault().Id, 42))}
which returns 42 for Ids that would return null.
Works!
Will there be a direct nuget release or do you put this change in a future release?

@Franki1986 Thanks a lot for this test.
One last request : can you capture the real SQL which was produced?

[Table("PARENT")]
public class Parent{
    [Column("ID")]
    public int Id {get; set;}
    [Association(ThisKey="ParentId", OtherKey="Id", CanBeNull=true, Relationship=Relationship.OneToMany, IsBackReference=true)]
    public List<Child>ChildList {get; set;}
}

[Table("CHILD")]
public class Child{
    [Column("ID")]
    public int Id {get; set;}
    [Column("PARENT_ID")]
    public int ParentId {get; set;}
}

LinqToDb didn't have eager loading till version 3 (pre release), so this is the SQL that is produced for a version under 3, where for each child a subselect is done:
SELECT
	t1.ID
FROM
	PARENT t1

DECLARE @p1 Integer -- Int32
SET     @p1 = 24

SELECT FIRST 1
        r.ID,
		r.PARENT_ID
FROM
        CHILD r
WHERE
        r.PARENT_ID = @p1

DECLARE @p1 Integer -- Int32
SET     @p1 = 25

SELECT FIRST 1
        r.ID,
		r.PARENT_ID
FROM
        CHILD r
WHERE
        r.PARENT_ID = @p1

and so on...

Is this sufficent for you?

Yes. I will merge PR and release new version.


add job to check oss licenses

Summary

add oss licenses directory
add job to check oss licenses

Fixes: #2258
we need to check what to do with some libraries that does not have licenses
E0916 09:33:08.668941   16133 library.go:115] Failed to find license for github.com/alibabacloud-go/cr-20160607/client: cannot find a known open source license for<EMAIL_ADDRESS>whose name matches regexp ^(?i)((UN)?LICEN(S|C)E|COPYING|README|NOTICE).*$ and locates up until<EMAIL_ADDRESS>E0916 09:33:08.757242   16133 library.go:115] Failed to find license for github.com/alibabacloud-go/tea-xml/service: cannot find a known open source license for<EMAIL_ADDRESS>whose name matches regexp ^(?i)((UN)?LICEN(S|C)E|COPYING|README|NOTICE).*$ and locates up until<EMAIL_ADDRESS>
those dependencies were introduced in https://github.com/sigstore/cosign/pull/2008

Codecov Report

Merging #2259 (7904906) into main (63fe875) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2259   +/-   ##
=======================================
  Coverage   28.56%   28.56%
=======================================
  Files         131      131
  Lines        7855     7855
=======================================
  Hits         2244     2244
  Misses       5305     5305
  Partials      306      306

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

I don't have any context, but can I ask a high level question - What is the purpose of copying in licenses into the repo? Is this a common practice in OSS? I would have assumed that if you're trying to verify if you can use a repo due to licenses, you'd want to go to the source of truth (each dependency repo) for the license, rather than trust this repo to provide them (since we could modify the licenses)

Great question! From the projects that I've worked on (and it's not authoritative by any means, just my experience), it used to be that all the code would be vendored in, but since things changed along the way with go mods, etc. We started to vendor only in the LICENSE as well as check them to ensure that we're not using code that has licenses that are not compatible with our license.
FWIW, the tooling we use is here:
https://github.com/google/licensecheck
I think as far as going to source, we do grab the LICENSE at the version it's imported, so if we did modify, one could see the change, but I think it's more just for tooling purposes.
Not sure this helps :)

@mattmoor who probably remembers more details about licenses than I have already forgotten.

I don't really see any need to check in the licenses. Can we verify they meet our policies without doing that?

The main purpose of this is to enable including the directory generated by go-licenses into kodata so that the publicly released images as in compliance with open source licenses.  This is why in some cases the directory also includes source code (since some licenses require that).  This was added when policy-controller came in, so perhaps it can be ripped out of cosign now.
IANAL, but this is my understanding of why Knative/Tekton did this.

If we care about the licenses and use libraries/code that have Licenses, I think we should track that.
Maybe we will only accept or use it in the future if the lib/code has specific licenses.
If we don't want to track or care about this now, we can close this PR

to get back to this, we don't want to do the license check and then this job will be not needed, correct?
also i don't know which policy in this regard we follow/have
cc @dlorenc @bobcallaway

closing this for now, if we decide to have this or similar job I can make that happen


chore: use lake -q in test to request no extra output

As some background, the absence of this option is the cause of the mathlib breakage in leanprover/lean4#3835.


Add Telemetry for Extension

Integrate Telemetry for Extension.

Users Online
User Events Report ( Upload / Download ) with time to time.
By demographic

https://github.com/Microsoft/vscode/issues/18035


Frontend - Integration for Change Password

Implement the necessary frontend components and UI interactions for the change password functionality.
Expectation
Enable users to change their passwords conveniently and securely through the frontend interface.

Yes, I can, give me assign. this is my telegram @leo1228codeforce .


Ord 0.21.0 very slow to index

I am building a pair of ord 0.21.0 indexes:
$ ps -wwwef | grep ord21 | grep -v grep
gm       3114880 3353832 92 Oct12 pts/12   2-07:01:50 /usr/local/bin/ord21 --height-limit 870001 --index-runes --index /home/gm/.local/share/ord/index-0.21-without.redb server --http-port 51021 --csp-origin https://without21.ordstuff.info --decompress
gm       3115151 3353612 90 Oct12 pts/11   2-06:17:16 /usr/local/bin/ord21 --height-limit 870001 --index-runes --index /home/gm/.local/share/ord/index-0.21-with.redb --index-sats --index-addresses server --http-port 50021 --csp-origin https://with21.ordstuff.info --decompress

$ tail -f ord21[yn].log
==> ord21n.log <==
[2024-10-14T22:30:16Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 267 ms
[2024-10-14T22:30:16Z INFO  ord::index::updater] Block 814996 at 2023-11-02 17:55:57 UTC with 3176 transactions…
[2024-10-14T22:30:17Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 788 ms
[2024-10-14T22:30:17Z INFO  ord::index::updater] Block 814997 at 2023-11-02 17:57:34 UTC with 1968 transactions…
[2024-10-14T22:30:18Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 1378 ms
[2024-10-14T22:30:18Z INFO  ord::index::updater] Block 814998 at 2023-11-02 17:57:44 UTC with 1339 transactions…
[2024-10-14T22:30:19Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 389 ms
[2024-10-14T22:30:19Z INFO  ord::index::updater] Block 814999 at 2023-11-02 18:13:12 UTC with 3156 transactions…
[2024-10-14T22:30:19Z INFO  ord::index::updater] Wrote 0 sat ranges from 0 outputs in 196 ms
[2024-10-14T22:30:19Z INFO  ord::index::updater] Committing at block height 815000, 0 outputs traversed, 8166981 in map, 254420874 cached

==> ord21y.log <==
[2024-10-15T12:26:40Z INFO  ord::index::updater] Wrote 195672 sat ranges from 1657 outputs in 17 ms
[2024-10-15T12:26:40Z INFO  ord::index::updater] Block 429996 at 2016-09-15 22:30:07 UTC with 35 transactions…
[2024-10-15T12:26:40Z INFO  ord::index::updater] Wrote 16290 sat ranges from 81 outputs in 1 ms
[2024-10-15T12:26:40Z INFO  ord::index::updater] Block 429997 at 2016-09-15 22:37:13 UTC with 972 transactions…
[2024-10-15T12:26:40Z INFO  ord::index::updater] Wrote 241416 sat ranges from 2039 outputs in 31 ms
[2024-10-15T12:26:40Z INFO  ord::index::updater] Block 429998 at 2016-09-15 23:19:45 UTC with 1485 transactions…
[2024-10-15T12:26:40Z INFO  ord::index::updater] Wrote 1759050 sat ranges from 3228 outputs in 90 ms
[2024-10-15T12:26:41Z INFO  ord::index::updater] Block 429999 at 2016-09-15 23:21:13 UTC with 609 transactions…
[2024-10-15T12:26:41Z INFO  ord::index::updater] Wrote 323202 sat ranges from 1190 outputs in 138 ms
[2024-10-15T12:26:41Z INFO  ord::index::updater] Committing at block height 430000, 18419984 outputs traversed, 3920730 in map, 343196804 cached

Note the 'no sats' index started doing a commit at 10:30pm yesterday and now it's 2:40pm. That's over 16 hours for a commit. I've not seen a commit take more than 2 hours before.
The index files are both currently 25G:
$ ls -lh index-0.21-with*
-rw-r--r-- 1 gm gm 25G Oct 15 07:49 index-0.21-with.redb
-rw-r--r-- 1 gm gm 25G Oct 15 07:49 index-0.21-without.redb
$ df .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.8T  1.3T  570G  69% /home

This is likely caused by the fractal ord server I am running on the same server. Fractal sees frequent reorgs which triggers a lot of disk I/O to restore from the snapshot.
I'll shut down the fractal ord server and see if that fixes the problem.

I was also running a couple scratch indexes on 0.21.0. (1 was sats/runes/addresses and the other was runes/addresses.) After running overnight, this morning both of them were stopped while committing at block 350000. I watched them both stay there for a couple hours, then pressed ctrl-c and watched them attempt to stop for a couple hours before killing them. Seems like something's up here!

This is likely caused by the fractal ord server I am running on the same server.

No fractal running on mine, although I did just update Bitcoin core to v28.

I got past 350000 by setting commit-interval to 10. currently near 412000. This is an index build from scratch - with-address/runes
windows machine commit interval 10 .. bitcoin 26.1

I enabled logging and restarted from scratch again, with the default commit interval. I'm in the 300,000s now and it's starting to get pretty slow committing to disk.

I got past 350000 by setting commit-interval to 10. currently near 412000. This is an index build from scratch - with-address/runes windows machine commit interval 10 .. bitcoin 26.1

I restarted from scratch again, this time with --commit-interval 20 and I've gotten farther in a couple hours than I got overnight with the default setting. Something sure seems off here!

this may be related to #3804

this may be related to #3804

Perhaps it's related but it's new set of symptoms, for me anyway. My system that has been able to crank out a runes/addresses index in 12 hours on 0.20.0 with default 5000 commit interval was stuck at block 350000 overnight on 0.21.0, and even with commit-interval 20 is taking way too long. I'm coming up on a full day and I'm only to block 640000 or so for a runes/addresses/no-sats index.

We didn't change any indexing logic from 0.20.1 to 0.21.0 so this is weird. Let me try to reindex on our dev server as well.

I get the same noticeable slowness tooSent via the Samsung Galaxy Note20 Ultra 5G, an AT&T 5G smartphone
-------- Original message --------From: raph @.> Date: 10/16/24  15:00  (GMT-08:00) To: ordinals/ord @.> Cc: Subscribed @.***> Subject: Re: [ordinals/ord] Ord 0.21.0 very slow to index (Issue #3999)
We didn't change any indexing logic from 0.20.1 to 0.21.0 so this is weird. Let me try to reindex on our dev server as well.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

I can confirm it is slow as f*ck. Previously I was capable of building a full indexing in 4 days. Now 4 days later it still indexing blocks from 2016

We didn't change any indexing logic from 0.20.1 to 0.21.0

The change was likely done before as nobody re-indexed when 0.20.1 was release because the DB schema version wasn't bumped
Suggestion: setup a nightly representative performance test and plot the results. Take a look for e.g. at  https://github.com/sharkdp/hyperfine

nobody re-indexed when 0.20.1 was release because the DB schema version wasn't bumped

I actually did reindex with 0.20.1 due to the issue with address indexes crashing, and I didn't see this performance issue in that version.

nobody re-indexed when 0.20.1 was release because the DB schema version wasn't bumped

I actually did reindex with 0.20.1 due to the issue with address indexes crashing, and I didn't see this performance issue in that version.

Did you do a --index-transactions --index-addresses --index-sats --index-runes ?

Did you do a --index-transactions --index-addresses --index-sats --index-runes ?

No, just addresses/runes.

I think I've pinned it down to a regression in redb from version 2.1.3 to 2.1.4. I'm going to test this now and if it fixes it then merge #4003 and make a release.

Out of curiosity, why did you pick redb instead of a performant file based database for ord?

@gus4rs Write a PR replacing redb with another database, show that it has improved performance, and we will consider it.

I though you weren't considering another databases, given that  https://github.com/ordinals/ord/issues/4004 was closed so hastily

Here's the same but without --index-sats. It doesn't start getting slow until block 805k:
0.20.0 (redb 2.1.3) - 8 to 10 minutes per commit:
[2024-09-04T03:41:28Z INFO  ord::index::updater] Committing at block height 800000, 0 outputs traversed, 12639276 in map, 169547160 cached
[2024-09-04T03:50:04Z INFO  ord::settings] Connecting to Bitcoin Core at <IP_ADDRESS>:8332/
--
[2024-09-04T04:27:19Z INFO  ord::index::updater] Committing at block height 805000, 0 outputs traversed, 13444507 in map, 199075184 cached
[2024-09-04T04:36:54Z INFO  ord::settings] Connecting to Bitcoin Core at <IP_ADDRESS>:8332/
--
[2024-09-04T05:14:26Z INFO  ord::index::updater] Committing at block height 810000, 0 outputs traversed, 13179841 in map, 229436297 cached
[2024-09-04T05:24:36Z INFO  ord::settings] Connecting to Bitcoin Core at <IP_ADDRESS>:8332/
--
[2024-09-04T06:10:31Z INFO  ord::index::updater] Committing at block height 815000, 0 outputs traversed, 8166981 in map, 254420874 cached
[2024-09-04T06:18:24Z INFO  ord::settings] Connecting to Bitcoin Core at <IP_ADDRESS>:8332/

0.21.0 (redb 2.1.4) - 3 minutes to 19 hours per commit:
[2024-10-13T07:56:25Z INFO  ord::index::updater] Committing at block height 800000, 0 outputs traversed, 12639276 in map, 169547160 cached
[2024-10-13T07:59:36Z INFO  ord::index::updater] Block 800000 at 2023-07-24 03:17:09 UTC with 3721 transactions…
--
[2024-10-13T08:36:15Z INFO  ord::index::updater] Committing at block height 805000, 0 outputs traversed, 13444507 in map, 199075184 cached
[2024-10-13T12:28:32Z INFO  ord::index::updater] Block 805000 at 2023-08-27 03:31:42 UTC with 3196 transactions…
--
[2024-10-13T13:33:28Z INFO  ord::index::updater] Committing at block height 810000, 0 outputs traversed, 13179841 in map, 229436297 cached
[2024-10-14T21:40:41Z INFO  ord::index::updater] Block 810000 at 2023-09-30 09:51:04 UTC with 1690 transactions…
--
[2024-10-14T22:30:19Z INFO  ord::index::updater] Committing at block height 815000, 0 outputs traversed, 8166981 in map, 254420874 cached
[2024-10-15T17:06:28Z INFO  ord::index::updater] Block 815000 at 2023-11-02 18:26:42 UTC with 3372 transactions…

origin/master (redb 2.1.3) - 3 to 4 minutes per commit:
[2024-10-20T03:58:37Z INFO  ord::index::updater] Committing at block height 800000, 0 outputs traversed, 12639276 in map, 169547160 cached
[2024-10-20T04:01:42Z INFO  ord::index::updater] Block 800000 at 2023-07-24 03:17:09 UTC with 3721 transactions…
--
[2024-10-20T04:37:56Z INFO  ord::index::updater] Committing at block height 805000, 0 outputs traversed, 13444507 in map, 199075184 cached
[2024-10-20T04:41:35Z INFO  ord::index::updater] Block 805000 at 2023-08-27 03:31:42 UTC with 3196 transactions…
--
[2024-10-20T05:18:11Z INFO  ord::index::updater] Committing at block height 810000, 0 outputs traversed, 13179841 in map, 229436297 cached
[2024-10-20T05:22:17Z INFO  ord::index::updater] Block 810000 at 2023-09-30 09:51:04 UTC with 1690 transactions…
--
[2024-10-20T06:11:20Z INFO  ord::index::updater] Committing at block height 815000, 0 outputs traversed, 8166981 in map, 254420874 cached
[2024-10-20T06:15:04Z INFO  ord::index::updater] Block 815000 at 2023-11-02 18:26:42 UTC with 3372 transactions…


fix oss client download bug

Signed-off-by: cuidajun.cdj<EMAIL_ADDRESS>
Description
fix oss source_client download bug

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[x] 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)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1448 (41354f9) into main (33dd163) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1448      +/-   ##
==========================================
- Coverage   43.79%   43.76%   -0.03%
==========================================
  Files         117      117
  Lines       10678    10678
==========================================
- Hits         4676     4673       -3
- Misses       5530     5534       +4
+ Partials      472      471       -1

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
43.76% <ø> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

client/daemon/peer/peertask_piecetask_poller.go
47.10% <0.00%> (-3.63%)
:arrow_down:

client/daemon/peer/peertask_file.go
58.77% <0.00%> (+1.52%)
:arrow_up:


make sure tests run with '--isolation'

see #214 for a case where the tests missed a regression because they're not isolated.

The example in the PR runs into an error when nosetests is used without the --isolation option. Since we've moved over to the py.tests framework, I think this issue is no longer relevant. Moreover we have the py.tests equivalent option --boxed in the Makefile.


Fixing and testing MoveToParent to work when reader is positioned on …

…attribute node.
Perhaps this helps to make the use of ReadSubtree possible and stable.

Sorry, I already had my changes. Now I've pushed it! Thanks for partifipation.


split the package-release.sh script into 2 scripts to allow building without making a tarball

The script 'package.sh' can be used in the same way the previous single script was, and does the same; but using the script 'release.sh' alone creates a directory with the built libraries instead of a tarball

I'll be honest, i'm not a huge fan of splitting the script into two parts. I'm also not sure if this is actually necessary. If people want to build dxvk from source, they are better off doing it manually in my opinion. Packagers might also need more control over the build process than what the script provides.

873deed4a31c884f1d54420f0b42a2c0d3dc4be0 adds an option to disable creating the tarball.


Add Vietnamese language support

I can't merge this, you've added files in addition to the translation files. Please remove those files so I can merge your PR.

Thanks for your mention. I just create new PR with only .yml file.


Use key instead of modelName for foreign keys

From https://github.com/samselikoff/ember-cli-mirage/issues/443#issuecomment-172881023
/cc @cs3b

I was generalizing the hasmany/belongsto tests so I can try different schemas, and found the issues related to this. I'll throw up a PR for the generalized tests and maybe you can use it to test the weird scenarios.

Specifically, I think I can solve all of them by allowing an inverse option like Ember Data's:
```responseIds: Mirage.hasMany('comment', {inverse: 'parent'})``
that could also help with the 2 associations / 1 model issue (#350)
At least if I get it working that way, you can refactor it and there will be lots of tests to help.

I actually started working on this this morning, it's pretty complicated but I should have it done soon

I think #350 is done actually

https://github.com/samselikoff/ember-cli-mirage/pull/546

awesome, thanks!

@2468ben just merged this in, master if you want to give it a go!

@samselikoff works great everywhere I've tried it, thanks again!


Re-enable all warnings

Description of the change
Fixes #207

Checklist:

[ ] Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
[ ] Linked any existing issues or proposals that this pull request should close
[ ] Updated or added relevant documentation
[ ] Added a test for the contribution (if applicable)

:ping_pong: @thomashoneyman


Can not ORDER BY a column from a FUNCTION

Search before asking

[X] I have searched the EvaDB issues and found no similar bug report.

Bug
cursor.query("SELECT HomeSaleForecast(3) ORDER BY ma;").df()

crashed with the following errors:
09-14-2023 06:17:03 ERROR [statement_binder_context:statement_binder_context.py:raise_error:0147] Found invalid column ma
ERROR:evadb.utils.logging_manager:Found invalid column ma
---------------------------------------------------------------------------
BinderError                               Traceback (most recent call last)
[<ipython-input-15-b8688bcf0d02>](https://localhost:8080/#) in <cell line: 1>()
----> 1 cursor.query("SELECT HomeSaleForecast(3).ma ORDER BY MA;").df()

8 frames
[/usr/local/lib/python3.10/dist-packages/evadb/binder/statement_binder_context.py](https://localhost:8080/#) in raise_error()
    146             err_msg = f"Found invalid column {col_name}"
    147             logger.error(err_msg)
--> 148             raise BinderError(err_msg)
    149
    150         if not alias:

BinderError: Found invalid column ma

Environment

Colab Notebook

Are you willing to submit a PR?

[X] Yes I'd like to help by submitting a PR!

#1130 will fix this issue.


Feature Request: Beacon Light as Camera Tally Light

Hi, I came across your beacon app in conjunction with bitfocus companion. I am using it to control my black magic switcher and would really like to use the beacon app as a tally light for my cameras. I looked to see if I could control the beacon with a feedback option for my buttons, but I didn't see beacon as an option there.
Thanks for your work on this.

Using beacon's robust API, or, with the beacon module in Companion, you should have no problem doing this. Use Triggers within companion to accomplish this. The Trigger can monitor a feedback state or variable from your ATEM and then trigger an action to beacon accordingly.


Enabled extended urlencoded; added injection to login; added outline …

Target:  Example / Implementation for noSQL Injection #90 by @lirantal
This is my crack at adding some nosql query selector injections for the login page. There was some complications as I approached this. Many were brought up in previous discussions.
I decided to write a replacement findOne query in the validateLogin() that would allow the attack to gain admin privileges (I just realized I misspelled this word in my commit. hah). I think injection is at login is probably the sexiest demonstration of the attack.
I wanted to retain the use of comparePassword(). So in the instructions to prevent query selector injection using $in, there is also instructions to revert back to only querying mongo for username and calling comparePassword in the app. But it's commented out by default.
The application ofthis feature wasn't as ham-fisted as I expected, but you guys can be the judge.

login_spec.js failed because I don't raise "Invalid password". This is because the new query doesn't check for user and password individually anymore. Any suggestions on how to abide by this while still allowing the new query?

Thanks @bilkoh
I could have made the same change too :/ but really the question is how to retain the vulnerability with the login along with the nosql injection as it's not likely to be an easy path for educators to start commenting on and off code to demo things.

I appreciate the direction @lirantal.
Having better understood the problem, I'm not sure I can add much by way of a solution. I would like to join any consensus that a secondary api login, or a new feature be the appropriate demonstration.

@bilkoh let's see what others think? maybe they can give us a direction on how to combine the two options


Improve reading of limits

Consider the following:
<math xmlns='http://www.w3.org/1998/Math/MathML'>
 <munder>
  <mrow>
    <mi>lim</mi>
    <mo></mo>
  </mrow>
  <mrow>
    <mi>n</mi>
    <mo>→</mo>
    <mi mathvariant='normal'>∞</mi>
  </mrow>
 </munder>
</math>

The limit is read as "     modified lim  of with      n      right arrow  infinity below."
I am not sure how it is spoken in other circles, I have always spoken it as "limit n tends to infinity" (or perhaps " approaches instead of tends, and tending instead of tends). The current reading is a bit confusing and verbose.

Where did this MathML come from? The <mo></mo> that is part of the mrow with lim is wrong.   is "invisible function apply" and that only makes sense after munder, not as part of it. If it isn't there, then it reads as "the limit as n approaches infinity".
If  <mo></mo> is coming from a common tool, I'll try and introduce a clean up.

This came from ChatGPT > GPT4 > Default. One prompt you can use is "State three common limits where n tends to infinity." I did have a strong feeling that I've seen this elsewhere too. I quickly looked online and here's a Wikipedia page that has contents that read similarly: https://en.wikipedia.org/wiki/List_of_limits. Read what comes after "The limit superior and limit inferior of a sequence are defined as."

I used GPT4 from openai.com and didn't get that result.
The wikipedia pages sound poor because they aren't 'lim' -- MathCAT didn't have rules for "lim inf" and "lim sup". Even I had added them, I never would have guess that the space between "lim" and "inf" is U+2006. I just added rule that will handle that.
Fixed in 87772db.

Confirming that some cases have been fixed in the new version - thanks!
Sorry that GPT4 didn't generate sufficiently similar results for us. Can you maybe try to toy with it a bit more by tweaking the prompt or such to see if it gives you limits read in the manner I described? I get the modified lims quite consistently on ChatGPT so am hoping that it will show up in your esting soon enough.
Let's work with Wikipedia pages for now.  Please read what comes after "Formally speaking, an estimator Tn of parameter θ is said to be weakly consistent, if it converges in probability to the true value of the parameter:[1]" on https://en.wikipedia.org/wiki/Consistent_estimator for another potential case.

Also, for GPT4 testing, please use Microsoft Edge. Not sure why but on Firefox, the limits are rendered differently as "     lim  of sub      n      right arrow  infinity."

I've never seen "plim" as a variant of "limit" before. I can add a rule for it. What would you like it to say? Maybe "p lim" for a terse reading and "probabilistic limit" otherwise?
Also, "Pr" is used for "probability" on that page. Do yo want that read as "Probability"? Reading "P" as probability is a bit dangerous without more context, but I think it is safe for "Pr".

What do you mean by a "first reading" and "otherwise?" Can you give another example of where MathCAT reads something differently the first time VS every time after?
I am honestly conflicted between expanding to "probability" for plim or pr. It would probably clarify things and improve comprehension, but it also feels like verbosity that could add up if I am going through a document filled with expressions containing plenty of pro-ba-bi-li-ty's. I am not sure.
Also, I mainly wanted to draw your attention to the "with      n      right arrow  infinity below" part within "   plim with      n      right arrow  infinity below                   t     sub      n     is equal to  theta."

What do you mean by a "first reading" and "otherwise?" Can you give another example of where MathCAT reads something differently the first time VS every time after?

I didn't write that. I did mention a terse vs non-terse reading. The MathCAT settings allow you to control the verbosity of what is spoken.

Also, I mainly wanted to draw your attention to the "with n right arrow infinity below" part within " plim with n right arrow infinity below t sub n is equal to theta."

I think that reading is a good reading when something is below something else. However, for certain notations, we have specialized ways of speaking those notations. The limit notation is one, sum and integrals are another ("sum from i equals 0 to n"). But in order to speak the specialized method of speech, MathCAT needs to recognize the notation. If the base were "log", I don't think you'd want to hear "log as n goes to infinity".  So just because there is n -> ∞ , you don't necessarily want to say "as n goes to infinity". I need to identify as many limit-like bases as possible. If you have a list, please let me know. Otherwise, I'll just have to add them one-by-one as you or others come across them.

My bad for misreading (and misquoting) "terse" as "first." Unfortunately, I don't have a list but am happy to continue reporting atypical limit cases as I come across them. Expanding "pr" and "plim" to "probability" and "probability limit" for Verbose makes complete sense. Reading "plim" as "p lim" for Terse also makes sense to me. The reading for Medium (the mode I use) is debatable, but my preference I think is to expand it to "probability" and "probability limit."

Thanks for confirming.
FYI: I've been working on two talks for a conference this week. That along with the conference means some bug fixes will be slow to happen, even if they are simple like this one.

Of course, and good luck with the conference! :)


child_exited_tree signal fires before child has exited the tree

Godot version
4.0 dev (d9f8cad)
System information
Windows 10
Issue description
The new child_exited_tree signal should fire once a child has exited the tree, but it fires too early.
Steps to reproduce

Add a child node.
Connect the child_exited_tree signal
remove the child

Minimal reproduction project
childExit.zip

For reference, this signal was added in https://github.com/godotengine/godot/pull/57541. cc @reduz

I wonder now, if it would be more useful to keep it as the child_exiting_tree signal...

Should we split this into two tickets? Rename child_exited_tree as child_exiting_tree and create a child_exited_tree signal?

Can this be re-opened?
child_exited_tree was never created. I do see in the rename PR the author thought it was not needed, but I have a use case for it.
I want to use this for navigation. When a destructible environment object is destroyed, I want to re-bake nav mesh, but the only hook I have is "exiting". So if I call bake in here, the nav mesh will still include the destroyed object. Yes, this can be worked around, but it's not ideal.
Further, I find the slightly off parallels between enter and exit confusing. I initially saw "child_entered" and assumed the other would be "child_exited". Only after it wasn't working did I look closer and realize it was "exiting". "child_entering" and "child_exiting" or "child_entered" and "child_exited" make more sense as pairings, but we have a mix between the two currently.

Please open a proposal for this as it's a new feature and this has been closed for a long while

I actually just started a discussion here: https://github.com/godotengine/godot-proposals/discussions/9036


Adding a job with Web Editor fails due to budget/plan=null

Trying to create a job on the deployed EODC backend fails with the Web Editor.
I took the Use Case 1 process graph, replaced the collection ID with s1a_csar_grdh_iw, pasted it in the "Code" section of the Web Editor, switched to "Visual Model", clicked "Run now" and received the following error:
{
  "code": 500,
  "id":" bac82216-2f99-4f6f-bb3e-d86751bd96b4",
  "links": ["http://openeo.eodc.eu/redoc#tag/Job-Management/paths/~1jobs/post"],
  "message": "{'budget': ['Field may not be null.'], 'plan': ['Field may not be null.']}",
  "service":"jobs"
}

The result is the same when I click on "Create" instead.
According to the API spec, null is allowed (it's even the default); in this case, the default plan should be used.

Thanks for spotting this. I could recreate the error on my dev instance. Apparently the web editor is sending empty fields for those fields. The job works if you did not include such empty fields in the HTTP request all. We will fix this soon.
FYI @sophieherrmann
@bgoesswe this is an interesting "borderline" case, which is not tested by he validator. Maybe it could be updated to always send all allowed fields for each request, even if empty? This would spot issues like this one.


Updating troubleshooting

Changed debug method over to CDK Field Agent and replaced old logging suggestion with the logging page.

This change is

/assign

@heckj I'm not sure I'm 100% happy with it, but hopefully, things are clearer now. I'm very open to suggestions if you have any for clarification.

@hyperbolic2346 works for me - thanks for the updates!!
/approve
/lgtm


RBAC for Dapr CLI Commands (Kubernetes)

Ask your question here
What roles and permissions are required to run the various Dapr CLI commands? We are trying to automate some of the operations (e.g. cert rotation) and it is very difficult to figure out what permissions are necessary.

A k8s service account with namespace admin to the dapr-system namespace cannot perform dapr status -k
A k8s service account with a clusterrolebinding to the dapr-operator-admin role cannot perform dapr status -k
Most of the commands do not have namespace flags that allow scoping the command to a specific namespace.

What rolebindings do we need to allow a service account to run the various commands (list, status, renew certificate etc)?

Apologies.
I can confirm that giving a service account dapr-operator-admin allows it to run dapr status -k


Versions >32.0.0 on PyPI have broken substrait support

Describe the bug
The substrait subpackage cannot be imported from any version >32.0.0 on PyPI.
To Reproduce
pip install datafusion==33.0.0 && python -c "from datafusion import substrait as ss"

produces this error
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "$USER/.venv/mlirdev/lib/python3.11/site-packages/datafusion/substrait.py", line 19, in <module>
    from ._internal import substrait
ImportError: cannot import name 'substrait' from 'datafusion._internal' ($USER/.venv/mlirdev/lib/python3.11/site-packages/datafusion/_internal.abi3.so)

The same is true for versions 34 and 35 but 32.0.0 works.
Expected behavior
Import works and package is usable.
Additional context
The exact wheel that is download in above command is datafusion-33.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

Note I transferred this issue into the datafusion-python repo as I think we should begin triage there

FYI _ tried the v38.0.0. from pypi-test and problem remains.
Rebuilding the code locally and using the wheel created then works fine maturin build  --features substrait


232.0

Description of proposed changes

Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Closing b/c this type of PR needs to be from a topic branch based off of testnet for merging into main, not from testnet directly. Will open another PR.


Chart needs a new Service in order to support calls

I patched this but obv. this could be done more elegantly
apiVersion: v1
kind: Service
metadata:
  name: mattermost-udp-service
  namespace: {{.Release.Namespace}}
spec:
  ports:
  - protocol: UDP
    name: udp-calls
    port: 8443
    targetPort: 8443
  type: LoadBalancer
  selector:
    app.kubernetes.io/instance: mattermost

Could you please elaborate more your proposal?

@stafot Calls plugin required UDP port 8443 to be exposed - https://docs.mattermost.com/configure/calls-deployment.html
Separate mattermost-rtcd chart seems to do the job, but integrated processing with plugin not supported.
There is no way to expose mattermost UDP/8443 with mattermost-operator - nether operator create needed ports nor CRD for installation.mattermost.com support for additional ports declaration to expose it manually.

Operator (to me) seems like overkill. In my (simple) scenario I just needed to add the mentioned service.
Would be nice if that template just gets included and one could enable it via values.yaml.

Yes an additional service with a related flag to enable it on demand seems as reasonable proposal. Feel free to propose it in a pull request if you are in a rush.

Actually RTC works for me by some magic; I see UTC traffic between my and
node addresses and have no idea how it reach pod - there is no services and
pod do not use host address. My best idea is 1) my machine send udp packet
towards server, priecing my firewall and NAT and at same time 2) pod send
UDP packet towards me, piercing nodes iptables (i.e. creating firewall
state to pass traffic, so both sides create states in firewalls to pass
traffic.
For some network configurations such 'magic' isn't possible and some
service needed.
пт, 2 дек. 2022 г., 0:10 Pat @.***>:

+1 would be great to add to the chart. Presumably since the Calls plugin
is still in beta it should live behind a flag.
In my case I went with NodePort
https://kubernetes.io/docs/concepts/services-networking/service/#nodeport-custom-port
which is why I specified port 30001 in my manifest:
apiVersion: v1kind: Servicemetadata:
name: mattermost-rtc-servicespec:
ports:

nodePort: 30001
port: 30001
protocol: UDP
selector:
app.kubernetes.io/instance: mattermost ## should match the Helm name of your Mattermost deployment

Why 30001? Because those are the rules
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
for NodePorts.
In my view the main pro of NodePorts is that they are cloud provider
agnostic and should be generally available; the con is running on a 'weird'
port. Pro of LoadBalancer is that it works on default port 8443, but con
is LoadBalancers are 1) not supported at every cloud provider and 2)
where they are supported, they may not be free.
In testing I noticed that Mattermost clients appear to automatically load
custom RTC port config from the server anyway, so a 'weird' port like
3000whatever may not matter anyway b/c it's not a user-facing detail.
—
Reply to this email directly, view it on GitHub
https://github.com/mattermost/mattermost-helm/issues/384#issuecomment-1334365863,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABHROZVCB2CUNU542NZLZDTWLEA4TANCNFSM6AAAAAASJ753W4
.
You are receiving this because you commented.Message ID:
@.***>


Adding AllowMajorVersionUpgrade to DMS Replication Instance

https://github.com/cloudtools/troposphere/issues/1463

Thanks!


CNV-39660: Change auto-compute resource limits feature to use featureGate

📝 Description
This PR changes out the label selector-based implementation of auto-compute resource limits to the featureGate-based version.
Jira: https://issues.redhat.com/browse/CNV-39660
🎥 Demo
Before

After

/cherry-pick release-4.16


Text between  tags inside other tags not rendered in word

For example "Hello my firend" will display only "Hello" in resulting word document.

+1


Added standalone openstack secret file support + CA Bundle

What this PR does / why we need it:

Added support for a standalone openstack secret file (same as existing gcs)
Added support for the custom CA Bundle file for private/self signed openstack API

@goruha It's the same principle as the third party GCP secret already there but with multiple mandatory keys.
In some cases, I don't like my access credentials being passed and available in clear via helm/tiller command (aka "helm get" for example), so this give the options to either use the default env.secret and pass them  by values or create your own secret and handle it yourself.

Thanks
Gael.

@G-Harmon @jdolitsky  To be honest, I missed PR that add external secrets for GCP
The problem here is that chart would be huge if we will provide custom external secrets configs for each storage type.
I think we need to make a general solution that allows using external secrets for any kind of storage type.
On weekend I will have time to dive into this case and came back with the solution.
If you can suggest your vision early it would be perfect.
Thanks

@goruha , I'm not sure why you @'ed me. You probably have the wrong person.

@goruha Just coming back here to see if there is any hope to have the CA Bundle support in :)
Dunno where the discussions are on the external secret file general solution.
Thanks
Gael.


Detect, that bot started

Hey, is there way to detect, that bot started? I want to make console.log that bot was started

The issue tracker is only for bug reports and enhancement suggestions. If you have a question, please ask it in the Discord server instead of opening an issue – you will get redirected there anyway.