text:
Interoperability between several copies of fp-ts

I'm trying to work with a library that imports fp-ts and exports a function with an Either<string, string> return value. However, an attempt to store the return value in variable with Either<string, string> type causes the compiler to run out of memory. I can get the code to compile by replacing the library Either with local Either by doing libraryCall(...args).fold(left, right), however this makes the code confusing since one would expect the two Either types to be compatible since they both originate from fp-ts.

It's this issue:
https://github.com/microsoft/TypeScript/issues/30429
The v2 branches coming soon don't exhibit the issue because there are no classes for it to choke on comparing.

https://github.com/microsoft/TypeScript/pull/31541

What is the first TypeScript version number where this should work?

Version 3.5.0-dev.20190525 seems to still have the problem :-/

Never mind. Seems to work after all.

Actually, The problem still happens when you use npm link to link two packages.

I added a comment on microsoft/TypeScript#30429

This problem might not exist at all in fp-ts 2.

I did encounter this problem several times in fp-ts v1, but haven't seen it since v2. Which makes sense, because that was one of many reasons for moving away from the previous class-based approach. Closing this issue now, should it turn out to still be an issue, feel free to reopen.

authors: cyberixae grossbart leemhenson


text:
Add matechs-effect to ecosystem

Add https://github.com/mikearnaldi/matechs-effect to ecosystem

Thanks @mikearnaldi

source: gharchive/pull-request

authors: gcanti mikearnaldi

repo: gcanti/fp-ts

license: mit

license_type: permissive

license_source: bigquery


text:
Pairing command doesn't work

System Health details
Health OK
Checklist

[X] I have enabled debug logging for my installation.
[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of any previous issues..

Describe the issue
When using the service send pairing command we get the following error.
[rfplayer.send_pairing_command. extra keys not allowed @ data['device_address']. Got None
Reproduction steps
Just send pairing command
Debug logs
[rfplayer.send_pairing_command. extra keys not allowed @ data['device_address']. Got None

Diagnostics dump
No response

Services.yaml file fixed

source: gharchive/issue

license_source: github-api


text:
Added description to Extract Files

Noticed a "TODO" in the description field. Just added a basic description. Feel free to add more if needed.

Good spot, I totally missed this!

repo: gchq/CyberChef


text:
Improve observability of compaction jobs

There is not one place to go to to find out all the information about the lifecycle of a compaction job (i.e. when it was created, when it was pulled off the queue, how long it took to run, whether it succeeded, etc). This information is scattered around various logs in Cloudwatch. We should record this information in a Dynamo table.
Suggested design:

Have one DynamoDB table that will be used to record information about the lifecycle of all compaction jobs (for all Sleeper tables, i.e. not one Dynamo table per Sleeper table).
Key design: hash key of compaction job id, sort key of timestamp of update.
Record the following stages of the lifecycle of a compaction job:

Job creation
Job pulled off the queue
Job finish time
Job finish status - success? total number of records read, number written (these 2 are not necessarily the same as an iterator may filter out records), the rate at which records were written).

Note that it is possible that a compaction job may be pulled off the queue twice as SQS does not guarantee that a message will only be delivered once, so maybe each compaction task should get a unique id so that we can separate the updates from the different tasks?
We could also record the lifecycle of compaction ECS tasks - creation time, total run time, total number of records processed, etc.
We will need a Java class that can report the status of a particular compaction job (by querying Dynamo for the relevant information), and a script in scripts/utility to make that class easy to use.
We will also need to update the documentation to explain how to use that script.

I've made some more issues for this:
#158 Create DynamoDB table for compaction job events
#160 Record compaction job created event in DynamoDB
#161 Record compaction job processing events in DynamoDB
#162 Client to report compaction job status
#159 Create DynamoDB table for compaction task events
#163 Record compaction task events in DynamoDB

Completed by the subissues listed above.

repo: gchq/sleeper


text:
enhance: [Ver.0.50] 編集データの一覧を表示する時に、データIDで表示している部分をタイトル名で表示するようにする

データIDで表示しても分かりにくいし、せっかく編集データのタイトルを編集できるようにしたので、そっちで表示するようにしたい。

一瞬だけデータIDが表示されるけど十分許容範囲だと思う。
ちゃんとタイトル名を設定しているものはタイトル名が表示されるようになったので、close

repo: gckohaku/WebClock

license: MIT


text:
End Of Content instead of No Matches for lists

For listed content, such as a user's bookmarks, I think it makes more sense to say End of Content rather than No Matches. It also allows more flexibility about when we enter the card. By going with End of Content I can use a conditional to remove the View More button if the content received from API is less than we asked for.  This would remove the user clicking View More just to get a "No Matches" response. (Except in the situation where we content lines up perfectly with the limit)

I think the wording of “No Matches” was originally intended for when filters returned no results. It makes sense in that context, but doesn’t work in the situation you bring up.
Could we use both but make sure they’re used in the right context? Thanks

Yeah, context is important.
Looking at how many spots this needs to be done for each object, going to tackle it slowly between working on other things, as it's not urgent.

authors: bmrgould markwooff

repo: gctools-outilsgc/gccollab-mobile


text:
Authors are written in lowercase in publications

I used the academic-admin tool to import publications automatically as written here.
Why did I get the authors' last names and initials in lowercase for all publications?

The generated markdown looks good
---
title: "Tunable Microwave Single-Photon Source Based on Transmon Qubit with High Efficiency"
date: 2020-03-01
publishDate: 2020-06-28T08:24:42.330115Z
authors: ["Yu Zhou", "Zhihui Peng", "Yuta Horiuchi", "O.V. Astafiev", "J.S. Tsai"]
publication_types: ["2"]
abstract: ""
featured: false
publication: "*Phys. Rev. Applied*"
url_pdf: "https://link.aps.org/doi/10.1103/PhysRevApplied.13.034007"
doi: "10.1103/PhysRevApplied.13.034007"
---

BibTex in the same folder
@article{PhysRevApplied.13.034007,
 author = {Zhou, Yu and Peng, Zhihui and Horiuchi, Yuta and Astafiev, O.V. and Tsai, J.S.},
 doi = {10.1103/PhysRevApplied.13.034007},
 issue = {3},
 journal = {Phys. Rev. Applied},
 month = {Mar},
 numpages = {11},
 pages = {034007},
 publisher = {American Physical Society},
 title = {Tunable Microwave Single-Photon Source Based on Transmon Qubit with High Efficiency},
 url = {https://link.aps.org/doi/10.1103/PhysRevApplied.13.034007},
 volume = {13},
 year = {2020}
}

How do I make all initial letters in names capital?

I had the same issue, updating Hugo solved it. See #1731

Thank you. Solved my problem

I had the same issue, updating Hugo solved it. See #1731

repo: gcushen/hugo-academic


text:
Set one warning for an input with two different units!

Guideline: Donor Lymphocyte Infusion (DLI) Volume
https://www.mdcalc.com/donor-lymphocyte-infusion-dli-volume#use-cases
input: Donor WBC has two units [10^3 cells/microL and 10^9 cells/L]
The numerical spectrum representing the warning is the same in both units. For example, for very high, the numerical range for both Donor WBC units is greater than 500. OR operator cannot be used because it displays a warning for one of the units.
@KalliamvakosKon  How this problem can be fixed?

Per UCUM (https://ucum.org/ucum.html) your units should be 103/uL and 109/L. Currently there is a known bug that can occur when units contains special characters. Here are some solutions:

Using constant comparison: Donor WBC>500 103/uL OR Donor WBC>500 109/L
If the above bugs out Use expression: Donor WBC.magnitude>500 AND (Donor WBC.unit=='10*3/uL' OR Donor WBC.unit=='10*9/L')
If the above bugs as well Use expression: Donor WBC.magnitude>500. This will require that the archetype contains only those two units and no other.

With the first approach "Using constant comparison: Donor WBC>500 103/uL OR Donor WBC>500 109/L", I have got this notification "There are incomplete elements/expressions.
Are you sure you want to switch tab?" and also this just  working for one warning, this means all the warning message are same as the first warning I have set for this input! (even for warning too low or very high I see Too high).
I didn't get any notification but still same situation as above.
Do you mean I need a separate archetype for just for Donor WBC and its units?
or do you mean in the same archetype Donor WBC should has these two units and no other?

authors: KalliamvakosKon MaryamRazavi

repo: gdl-lang/common-clinical-models


text:
issue #72 UI design added

Description
I made a Minimal UI for the website
Checklist

[x] I am making a proper pull request, not spam.
[x] I've checked the issue list before deciding what to submit.

Related Issues or Pull Requests
Figma file added and link to the file is
https://www.figma.com/file/eStGe5ro0aLBSHVvNzK9Us/Design-Editor-UI-Design-(Community)?node-id=0%3A1
(This entire UI took much time to be made, plz make it a medium issue)
Add relevant screenshot or video (if any)

Description
I made a Minimal UI for the website
Checklist

[x]  I am making a proper pull request, not spam.
[x]  I've checked the issue list before deciding what to submit.

Related Issues or Pull Requests
Figma file added and link to the file is https://www.figma.com/file/eStGe5ro0aLBSHVvNzK9Us/Design-Editor-UI-Design-(Community)?node-id=0%3A1
(This entire UI took much time to be made, plz make it a medium issue)
Add relevant screenshot or video (if any)

I appreciate your work but We need to stick with the simple and easy design so others can code that...

@ronitblenz Okay Your request has been accepted ..

Thanks alot @ZiaCodes It was really great to interact and work with you😇

authors: ZiaCodes ronitblenz

repo: gdscjgec/Image-Editor


text:
一段时间后lucky服务会自动关闭，希望增加一个进程守护的功能

一段时间后lucky服务会自动关闭，希望增加一个进程守护的功能
已点star

我运行在小米ax6000 官方路由系统上面一个月以上都没出现过关闭现象，你是通过什么方式安装的呢？运行在什么路由系统上？

使用了哪些功能

ax3600
只使用了端口转发
运行在openwrt上，内核5.15
github下载安装包安装的
一个星期内出现了两次这种情况

猜测可能是UDP转发底层有BUG，我先想办法复现查一下。

转发规则设置里面的UDP参数部分你是怎样设置的，截图我看看。

两次自动关闭是发生在使用moonlight过程中？

一次是moonlight，一次是我昨天配置dsm的时候

路由器重启了，看不到日志了。应该还会复现，到时我发上来

好的，你先看看能不能捕获到异常日志，不行的话我发个debug版你试试。

好的，你发我吧，我试试

稍等，我先修改一下，让lucky尽量捕获崩溃日志而避免程序崩溃，并在后台设置增加一个开关让用户决定是否保存崩溃日志。
今天晚些时候再发布了。

好，辛苦了

先加下我QQ:272288813


text:
DataSource batch size may be Long

I find that in DataSourceTask.scala, the variable batchSize is type Int, I think it can be Long for large volume data.

@pangolulu
The batchSize is used when we want to read data batch by batch. The default value is 100 messages.
The raw data can be any size, like infinite stream.

authors: clockfly pangolulu

repo: gearpump/gearpump


text:
Fix UnicodeDecodeError on Windows

Hi,
I'm currently in the process of adding quantumflow to conda-forge and stumbled upon the following error when running the tests:
================================== FAILURES ===================================
_______________________________ test_copyright ________________________________

    def test_copyright() -> None:
        """Check that source code files contain a copyright line"""
        exclude = set(["quantumflow/version.py"])
        for fname in glob.glob("quantumflow/**/*.py", recursive=True):
            if fname in exclude:
                continue
            print("Checking " + fname + " for copyright header...  ", end="")

            with open(fname) as f:
>               for line in f.readlines():

quantumflow\config_test.py:39:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <encodings.cp1252.IncrementalDecoder object at 0x000002A23D3F1930>
input = b'# Copyright 2020-, Gavin E. Crooks and contributors\n#\n# This source code is licensed under the Apache License, Ver..., vers in versions.items():\n        print(name.ljust(name_width), vers, file=file)\n    print(file=file)\n\n\n# fin\n'
final = False

    def decode(self, input, final=False):
>       return codecs.charmap_decode(input,self.errors,decoding_table)[0]
E       UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1001: character maps to <undefined>

..\_test_env\lib\encodings\cp1252.py:23: UnicodeDecodeError

Logs: https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=419963&view=logs&jobId=240f1fee-52bc-5498-a14a-8361bde76ba0&j=240f1fee-52bc-5498-a14a-8361bde76ba0&t=06d62fd2-ab49-5add-9ee5-83b6882d7d2b
I believe this is due to a missing encoding definition but cannot verify it, as don't have a windows machine, which is why I added the full OS suite here. Once verified, I can remove it again, if required.
It is tested using a patch though, with the logs and PR here: https://github.com/conda-forge/staged-recipes/pull/17115

I don't have a windows box either, so the code has not been tested on windows. Looks like the way I'm testing the examples is failing on windows also.

I think the failures on windows are unrelated, as everything works on my side.
Before I complicate this further, should be easier if I just add the patch downstream and close this PR again, what do you think?

Most of the builds are failing because black is unhappy (Change single quotes to double quotes). But the window's builds are failing when they run examples\examples_test.py. (That test doesn't live in the main quantumflow code directory, so maybe its getting skipped on your end?)

black is unhappy

Fixed

That test doesn't live in the main quantumflow code directory, so maybe its getting skipped on your end?

Ahh yes, that's it. I'm only running what's under the main dir.
The failures on macOS are due to  sudo apt-get from what I can see. Should we ignore that and take mac-os out again or do you want to substitute it with brew? (If the deps are available there haven't checked yet)

You can take the macos test out for now. I like the idea, so I'll fix it up latter. (I code on mac, so nothings likely to be actually broken on a mac build)

Will do

I code on mac, so nothings likely to be actually broken on a mac build

Me too which is why I'm more trial-and-erroring my way through windows, sorry about the excessive use of build time. 😄

For windows, we probably need to fix the directory as "/" is only used on UNIX.

I had to take out the requirements.txt step as that fails on windows. If this is needed, I'd write a separate script for that.
Otherwise, this should be good to go. Before merging, I would create a separate PR though to have a cleaner commit history.

authors: BastianZim gecrooks

repo: gecrooks/quantumflow-dev


text:
建议增加红包记录功能

最好有红包记录功能
什么时候抢的 抢了谁的红包 抢了他多少钱 当天抢了多少

扫雷 讨论以及出售请加微信CaShenYeFaCa

repo: geeeeeeeeek/WeChatLuckyMoney


text:
Add most recent Python versions in Travis CI

Add more recent Python versions including development branches and nightly build.
The motivation came from reading @brettcannon's article : https://snarky.ca/how-to-use-your-project-travis-to-help-test-python-itself/ . Trying to activate the newest Python versions on CI jobs is in most case a win-win situation: if everything works fine, there is nothing to worry about. If an issue is spotted, it is good to know about it to fix it on your side or to open a bug on CPython ( https://bugs.python.org/ ).
Also, if a failures is spotted, you can use the allow_failures option in your matrix build (more information about this in the link above).
Also, nightly and 3.7-dev may be a bit too recent/unstable so I can remove then if need be.
More information about how this PR happened on https://github.com/SylvainDe/CIthon .

Coverage remained the same at 96.037% when pulling d5ab81cf9ea3585ae34151efbd38f3d4bf133ccc on SylvainDe:master into 6d4689431fdb1a79ae24831a899a3618ab4c40cc on geeknam:master.

Hello @SylvainDe,
Thanks for taking the time to contribute to this project!
As per the CONTRIBUTING.md file this project requires that we first make changes to the develop branch and when fully tested we merge into master.
As such, can you please checkout that branch and resend your PR to that branch?

@mnemonicflow Sure, I'll do this as soon as possible. Before I go any further, can you confirm that you are happy with the config file as is ?

@SylvainDe Yes, your changes are fine.

Should I merge this?

@geeknam I guess https://github.com/geeknam/python-gcm/pull/119 should be merged first?

Yeah, I thought that we should merge all new things into develop branch first... Now if we merge that PR from the develop branch, and then merge the develop branch into master we'll have two commits for the same thing

authors: SylvainDe coveralls geeknam mnemonicflow

repo: geeknam/python-gcm


text:
Open Source Ansible for DevOps' manuscript

As I've met my 300-sponsor-goal on GitHub Sponsors, I'm going to work on getting the manuscript of this book added to this repository, and ideally also add some CI automation that publishes the book to the book's website, maybe at https://www.ansibleforkubernetes.com/book or something like that.

As this is a text manuscript, and not necessarily software, I'm considering using either a CC license (is that even open source?), or maybe GPL v3... have to look into licensing a work like this.
I'll still be selling copies through LeanPub, Amazon, iBooks, etc. of course, but I'm considering setting the LeanPub version to either a lower price or free, while allowing people to pay still if they desire. I'll probably add a blurb in the preface, as well as a sponsorship note on the book's website, to highlight ways to sustain the book's continued development.

IMHO a CC license even if it's not technically Open Source(?[IANAL]) still lives up to the spirit of the promise.

Again IMHO Attribution-NonCommercial 4.0 International is at least very roughly equivalent to the GPL v3.

FYI, this was done: https://github.com/geerlingguy/ansible-for-devops-manuscript

repo: geerlingguy/ansible-for-devops


text:
customizable vagrant machine name

I would like to customize the machine name for the vagrant box.
In the VagrantFile I mean.

Closing in favor of #136, which will hopefully fix both this and that issue :)

authors: frob geerlingguy

repo: geerlingguy/drupal-vm


text:
Connect pantheon db to drupal-vm

Hi,
is it possible to connect the db of the vm to a remote db on pantheon?

Sort-of; you can have Drupal point to a database anywhere, as long as the database configuration in settings.php can point to that database over the active network connection on your computer.
However, what most people would do is grab a copy of the database off pantheon, or use Drush sql-sync to sync the database from Pantheon to your Drupal VM instance; this way you don't have to deal with the tremendous latency of using a database over the Internet.

authors: cromosom geerlingguy


text:
Windows release broken since 0.10.2 release

What happened?
After installing the 0.11.1 release and trying to execute it we get an error related to a missing dependency.
gefyra.exe
[ERROR] Could not create a valid configuration: No module named 'packaging'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "gefyra.__main__", line 5, in <module>
  File "gefyra.api", line 1, in <module>
  File "gefyra.api.bridge", line 8, in <module>
  File "gefyra.local.bridge", line 4, in <module>
  File "docker", line 2, in <module>
  File "docker.api", line 2, in <module>
  File "docker.api.client", line 10, in <module>
  File "docker.auth", line 7, in <module>
  File "docker.utils", line 3, in <module>
  File "docker.utils.decorators", line 4, in <module>
  File "docker.utils.utils", line 9, in <module>
ModuleNotFoundError: No module named 'packaging'

What did you expect to happen?
We expect the execution  to show the help message, as happens if we try the gefyra-0.10.1-windows-x86_64 release
 gefyra.exe
[INFO] There was no --endpoint argument provided. Connecting to a local Kubernetes node.
usage: gefyra [-h] [-d] [--kubeconfig KUBECONFIG] [--context CONTEXT] {up,run,bridge,unbridge,list,down,check,version,telemetry} ...

The Gefyra client. For more help please visit: https://gefyra.dev/reference/cli/

positional arguments:
  {up,run,bridge,unbridge,list,down,check,version,telemetry}
                        the action to be performed

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           add debug output
  --kubeconfig KUBECONFIG
                        path to kubeconfig file
  --context CONTEXT     context name from kubeconfig

How can we reproduce it (as minimally and precisely as possible)?
Download the windows release 0.10.2 or  0.11.1
Unzip
Try to execute gefyra.exe
The execution ends with an error
[ERROR] Could not create a valid configuration: No module named 'packaging'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "gefyra.__main__", line 8, in <module>
  File "gefyra.local.utils", line 6, in <module>
  File "docker", line 2, in <module>
  File "docker.api", line 2, in <module>
  File "docker.api.client", line 10, in <module>
  File "docker.auth", line 7, in <module>
  File "docker.utils", line 3, in <module>
  File "docker.utils.decorators", line 4, in <module>
  File "docker.utils.utils", line 9, in <module>
ModuleNotFoundError: No module named 'packaging'
```

### What Kubernetes setup are you working with?

<details>

```console
$ kubectl version
# paste output here
```

</details>

### OS version

<details>

```console
# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
BuildNumber  Caption                   OSArchitecture  Version
19044        Microsoft Windows 10 Pro  64-bit          10.0.19044

```

</details>

### Anything else we need to know?

Although the app looks a python app self-contained and shouldn't be affected, we have tried to test uninstalling a local installation of python with scoop, without luck.

Thanks @gusjer! This seems to be related to the updated docker-py package. We will investigate this and get back to you as soon as possible.

@gusjer we just released 0.11.2 - it contains a fix for the Windows build, which is currently a bit hard for me to confirm, since I don't have a Windows development setup available. It looks like the "packaging error" is fixed though.

@SteinRobert I can confirm the new release gets ride of the "packaging error". thanks!

@gusjer thank you so much for confirming! If you have any other issues, suggestions or questions, please feel free to reach out to us via Github issues or discussions.

authors: SteinRobert gusjer

repo: gefyrahq/gefyra


text:
Ctrl+w crashes khal

0.7.1.dev74+ng6e92587-1
I hit ctrl+w while the location field was focused, and ikhal crashed:
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/khal/ui/__init__.py", line 846, in start_pane
    loop.run()
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 278, in run
    self._run()
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 376, in _run
    self.event_loop.run()
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 682, in run
    self._loop()
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 719, in _loop
    self._watch_files[fd]()
  File "/usr/lib/python3.5/site-packages/urwid/raw_display.py", line 393, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/usr/lib/python3.5/site-packages/urwid/raw_display.py", line 493, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 403, in _update
    self.process_input(keys)
  File "/usr/lib/python3.5/site-packages/urwid/main_loop.py", line 503, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/lib/python3.5/site-packages/urwid/wimp.py", line 643, in keypress
    return self._current_widget.keypress(size, key)
  File "/usr/lib/python3.5/site-packages/urwid/container.py", line 1128, in keypress
    return self.body.keypress( (maxcol, remaining), key )
  File "/usr/lib/python3.5/site-packages/urwid/container.py", line 2269, in keypress
    key = w.keypress((mc,) + size[1:], key)
  File "/usr/lib/python3.5/site-packages/khal/ui/__init__.py", line 631, in keypress
    return super(EventEditor, self).keypress(size, key)
  File "/usr/lib/python3.5/site-packages/urwid/listbox.py", line 985, in keypress
    key = focus_widget.keypress((maxcol,),key)
  File "/usr/lib/python3.5/site-packages/khal/ui/widgets.py", line 72, in keypress
    self._delete_word()
  File "/usr/lib/python3.5/site-packages/khal/ui/widgets.py", line 86, in _delete_word
    text = self.get_edit_text().decode('utf-8')
AttributeError: 'str' object has no attribute 'decode'

Versions of all of khal's dependencies:
$ pacman -Q $(pactree  khal | grep -o "python.*" | sort | uniq)
python 3.5.1-1
python-atomicwrites 0.1.8-3
python-chardet 2.3.0-2
python-click 6.2-1
python-click-log 0.1.3-1
python-click-threading 0.1.2-1
python-configobj 5.0.6-2
python-dateutil 2.4.2-2
python-icalendar 3.9.1-2
python-lxml 3.5.0-1
python-packaging 15.3-2
python-pkginfo 1.2.1-3
python-pytz 2015.7-1
python-requests 2.9.1-1
python-requests-toolbelt 0.5.1-1
python-setuptools 1:19.4-1
python-six 1.10.0-1
python-tzlocal 1.2-2
python-urllib3 1.14-1
python-urwid 1.3.1-2
python-xdg 0.25-3

Thanks! I believe I just fixed this, if not, please reopen.

Yes, it's been fixed. Thanks!

I'm really wondering if this worked at all in python 3 before.

authors: geier hobarrera

repo: geier/khal


text:
Update q-io, so it won't override Array.prototype

@j0tunn @sipayRT @eGavr
Все готово для интеграционных тестов.
Но я очень сомневаюсь, что апдейт на неподдерживаемую уже 2 года ветку — хорошая идея в долгосрочной перспективе, посмотрите #588, пожалуйста.

@rostik404 @DudaGod прогоните кто-нибудь интеграционную проверку с этой веткой

Coverage remained the same at 83.598% when pulling a0aecde5aeef8658aa80e7e39752a8691310a5cd on fix/array-prototype into bb234cfdbcbcbd32851c6c7cd385e744db7d1a51 on master.

сейчас домой дойду и прогоню на всех проектах

Прогнал интеграционно на всех проектах - проблем нет.

@DudaGod @j0tunn можно вливать?

authors: DudaGod SevInf coveralls j0tunn

repo: gemini-testing/gemini


text:
MSIS 2.0 tests fail

    Start 55: setup:python:mini2dns_msis2_eq

55: Test command: /Users/zettergm/opt/anaconda3/bin/python3.8 "-m" "gemini3d.model" "/Users/zettergm/Projects/gemci/cfg/equilibrium/mini2dns_msis2_eq" "/Volumes/PegasusR4i/simulations/CI_cases_inputdata/mini2dns_msis2_eq"
55: Environment variables:
55:  GEMINI_SIMROOT=/Volumes/PegasusR4i/simulations/CI_cases_inputdata
55: Test timeout computed to be: 900
55: ERROR STOP msis20.parm not found, required by MSIS 2.0
55: Traceback (most recent call last):
55:   File "/Users/zettergm/opt/anaconda3/lib/python3.8/runpy.py", line 194, in _run_module_as_main
55:     return _run_code(code, main_globals, None,
55:   File "/Users/zettergm/opt/anaconda3/lib/python3.8/runpy.py", line 87, in _run_code
55:     exec(code, run_globals)
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/model.py", line 218, in <module>
55:     cli()
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/model.py", line 214, in cli
55:     setup(P.config_file, P.out_dir)
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/model.py", line 142, in setup
55:     equilibrium(cfg)
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/model.py", line 158, in equilibrium
55:     dat = equilibrium_state(cfg, xg)
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/plasma.py", line 335, in equilibrium_state
55:     atmos = msis_setup(p, xg)
55:   File "/Users/zettergm/Projects/pygemini/src/gemini3d/msis.py", line 98, in msis_setup
55:     raise RuntimeError(
55: RuntimeError: MSIS failed to run: return code 1. See console for additional error info.
1/1 Test #55: setup:python:mini2dns_msis2_eq ...***Failed    1.20 sec

Gemini3D now outputs a gemini3d.run -features string with feature codes. I need to update PyGemini to read those codes. Currently they are written to JSON by GemCI, which is for reproducability.

this was enabled in  f4047b8

authors: mattzett scivision


text:
Human gene products inflated

17510 from UniProt (which seems to be all annotated human gene products)
8591 as HGNC (PANther annotation), which are exact duplicates form PAnther
so for example MRPL39
http://amigo2.berkeleybop.org/amigo/search/bioentity?q=MRPL39
Please, please can this be fixed. We can't use human annotation for any analysis whilst this issue persists.

See my comment here https://github.com/geneontology/helpdesk/issues/99#issuecomment-371574707 for an explanation of why this is persists

Dupe of: https://github.com/geneontology/helpdesk/issues/99

authors: ValWood cmungall kltm

repo: geneontology/amigo


text:
Is "neutrophil mediated immunity" an "immune response" ?

Hello,
"neutrophil mediated immunity" is not a child of immune response; however it has "immune response" in its definition. Can you check whether it may be missing a parent ?
Thanks,
Pascale
Reported by: pgaudet
Original Ticket: geneontology/ontology-requests/11080

Alex's response on Oct 25, 2017

I need to investigate this issue a bit more closely, in terms of looking back at the original immunology revision of 2006, to see if terms have moved at some point and to reread some of the discussions.  Also the QuickGO derived graph views in Amigo aren't working well today.

I think the immune effector process terms are intended as a parts list for processes that are parts of immune responses.
As to the distinction between the two terms "immune response”  and "immune system process”, I quote from our paper describing the revision (https://academic.oup.com/bioinformatics/article-lookup/doi/10.1093/bioinformatics/btm029, PMID:17267433) :

A new high level term in the biological process ontology, ‘immune system process’, has been created to group all processes directly related to the functioning of the immune system, including developmental and tolerance processes in addition to the activation and effector mechanisms of the immune system. Terms covering antigen sampling, processing and presentation, which operate continuously, also fall under this high-level term, as well as basic terms such as ‘leukocyte migration’ and ‘leukocyte homeostasis’, which cover processes that occur both apart from and as part of immune responses.

The term ‘immune response’, which previously existed in the GO, is now a child of the ‘immune system process’ term. Children of the ‘immune response’ term include the basic processes of ‘innate immune response’, ‘adaptive immune response’, and ‘humoral immune response’, as well as a grouping term for organ or tissue specific immune responses such as those in the mucosa. Because the GO allows for multiple inheritance, many subterms are children of more than one of these terms covering basic types of immune response. An example is the GO term ‘humoral immune response mediated by circulating immunoglobulin’, which has is_a relationships to both ‘humoral immune response’, as a direct child, and ‘adaptive immune response’, via several intermediate terms. Such dual parentage accurately reflects how these processes are alternatively regarded by working immunologists.

I will get back you next week.

Thanks,
Alex

I am still unsure what to do about this one. There are two very closely related terms in the ontology,

immune response process: Any immune system process that functions in the calibrated response of an organism to a potential internal or invasive threat.
and
immune effector process: Any process of the immune system that can potentially contribute to an immune response.

Looks like the 'immune effector processes' children are 'part of' immune response, so perhaps the 'immune effector process' term is needed for is_a completeness.
I'll close this.
Thanks, Pascale

authors: gocentral pgaudet

repo: geneontology/go-ontology


text:
Obsoletion request: cellular metabolic process and regulation of cellular metabolic process terms

Please provide as much information as you can:

GO term ID and Label

GO:0044237 cellular metabolic process
GO:0046950 cellular ketone body metabolic process
GO:0046379  extracellular polysaccharide metabolic process
GO:0031323  regulation of cellular metabolic process
GO:0006521  regulation of cellular amino acid metabolic process
GO:0031324  neg regulation of cellular metabolic process
GO:0031325  pos regulation of cellular metabolic process

The reason for obsoletion is that these terms are redundant terms to:

GO:0008152  metabolic proces
GO:1902224  ketone body metabolic process
GO:0005976  polysaccharide metabolic process
GO:0019222  regulation of metabolic process
GO:0006521  regulation of amino acid metabolic process
GO:0009892  neg reg of metabolic process
GO:0009893  pos reg of metabolic process

Related to clean up of cellular process terms - https://github.com/geneontology/go-ontology/issues/28908

"Replace by" term (ID and label)
Cellular term annotations should be moved to the corresponding non-cellular terms

Are there annotations to this term?

GO:0044237 cellular metabolic process: 41 EXP
GO:0046950 cellular ketone body metabolic process: 4 EXP
GO:0046379  extracellular polysaccharide metabolic process: 46 EXP
GO:0031323  regulation of cellular metabolic process: 6 EXP
GO:0006521  regulation of cellular amino acid metabolic process: 8 EXP
GO:0031324  neg regulation of cellular metabolic process: 0 EXP
GO:0031325  pos regulation of cellular metabolic process: 4 EXP

Are there mappings and cross references to this term? (InterPro, Keywords; check QuickGO cross-references section)

7 mappings/cross refs to review

Is this term in a subset? (check the AmiGO page for that term)

GO:0044237 cellular metabolic process - in do_not_annotate
GO:0046950 cellular ketone body metabolic process - in goslim_pir
GO:0046379  extracellular polysaccharide metabolic process - not in any subset
GO:0031323  regulation of cellular metabolic process - in do_not_annotate
GO:0006521  regulation of cellular amino acid metabolic process
GO:0031324  neg regulation of cellular metabolic process: gocheck_do_not_annotate
GO:0031325  pos regulation of cellular metabolic process: gocheck_do_not_annotate

Any other information

Checklist for ontology editor
Check term usage and metadata in Protégé

[x] check term usage in the ontology
[x] check internal mappings: RHEA, EC, MetaCyc
[x] check subset usage
[x] check taxon constraints

Check annotations

[x] create Annotation Review spreadsheet

Annotation Review template: https://docs.google.com/spreadsheets/d/1izV3q1jnq_Ybg5MJ53O_b5BCTkGtjl_Fi-cOg3-7eBE/edit#gid=0

Instructions: https://wiki.geneontology.org/Annotation_Review_Request

[x] create annotation review ticket: https://github.com/geneontology/go-annotation/issues/new?assignees=&labels=annotation+review&template=annotation-review-for-obsoletion.md&title=Review+annotations+to+[INSERT+GO+TERM]
[x] find external mappings (via IEAS), include in obsoletion notice
[x] tag curators in Annotation Review ticket. Responsible annotator for each group: https://github.com/geneontology/go-site/blob/master/metadata/group-contacts.csv

Notification

[x] create obsoletion announcement
[x] announce to GO friends (go-friends@mailman.stanford.edu)
[x] paste the text in the ontology ticket

Four Reactome pathways fixed as suggested (but is this this suggested term correct? GO:0006521 regulation of amino acid metabolic process)

Which Reactome pathways are they? What were the annotations?
I think the idea is that since metabolic process has been moved under 'cellular process' that 'regulation of amino acid metabolic process' has 'cellular process' as a parent and there's no need to have a separate 'regulation of cellular amino acid metabolic process' term. So, parentage-wise, I don't think that those should change going from 'regulation of cellular amino acid metabolic process' to 'regulation of amino acid metabolic process'

Which Reactome pathways are they? What were the annotations?

The GO BP terms associated with Reactome pathways R-HSA-1428517 "Aerobic respiration and respiratory electron transport", R-HSA-163675 "ChREBP activates metabolic gene expression", R-HSA-74182 "Ketone body metabolism", and R-HSA-350562 "Regulation of ornithine decarboxylase (ODC)", each needed updating to replace a cellular~ term with a plain metabolism one; no arguments from here about the metabolism versus cellular-metabolism distinction. The failure of the usage survey done as part of a GO obsoletion to pick up these Reactome instances is a known problem due to how we capture the BP terms and export that information in a GAF, that we are slowly working on.

Hi @deustp01
The TAS and NAS are now included in the reports. I thought this would result in Reactome's annotations being included in reports. Can you give a specific example of an annotation you expect to be reported that was missing? Looks like we may need to fix something else.
Thanks, Pascale

Can you give a specific example of an annotation

The three BP-to-pathway annotations in my last comment.

looks like these changes have already been made, but the email said we have until Oct14th.

The terms listed in this ticket are still showing up in protege and the latest go-edit.obo, so it doesn't look like these have been obsoleted. I didn't tag SGD in the annotation review since the annotations should be replaced automatically with Noctua. I can assign someone, but thought it was unnecessary since it was going to be done computationally.
I did obsolete a few precomposed terms (20919 and 20920) that only had PomBase annotations after those got cleaned up.


text:
Obsoletion request: regulation of respiratory system process

Please provide as much information as you can:

GO term ID and Label

Reason for deprecation Put an x in the appropriate box:

[x]  The reason for obsoletion is that this term was an unnecessary grouping term.

"Replace by" term (ID and label)
If all annotations can safely be moved to that term

child
"regulation of respiratory gaseous  exchange by nervous system"

Are there annotations to this term?

How many EXP:2 have been removed (incorrect term used)

Are there mappings and cross references to this term? (InterPro, Keywords; check QuickGO cross-references section)

Is this term in a subset? (check the AmiGO page for that term)

Any other information

Single inheritance.
All annotations covered by child term.

Checklist for ontology editor
Check term usage and metadata in Protégé

[ ] check term usage in the ontology
[ ] check internal mappings: RHEA, EC, MetaCyc
[ ] check subset usage
[ ] check taxon constraints

Check annotations

[ ] create Annotation Review spreadsheet

Annotation Review template: https://docs.google.com/spreadsheets/d/1izV3q1jnq_Ybg5MJ53O_b5BCTkGtjl_Fi-cOg3-7eBE/edit#gid=0

Instructions: https://wiki.geneontology.org/Annotation_Review_Request

[ ] create annotation review ticket: https://github.com/geneontology/go-annotation/issues/new?assignees=&labels=annotation+review&template=annotation-review-for-obsoletion.md&title=Review+annotations+to+[INSERT+GO+TERM]
[ ] find external mappings (via IEAS), include in obsoletion notice
[ ] tag curators in Annotation Review ticket. Responsible annotator for each group: https://github.com/geneontology/go-site/blob/master/metadata/group-contacts.csv

Notification

[ ] create obsoletion announcement
[ ] announce to GO friends (go-friends@mailman.stanford.edu)
[ ] paste the text in the ontology ticket

Same as #29297?

authors: ValWood pgaudet


text:
Odd behavior with check-secrets

We just recreated our lab (new Vault, proto-bosh, CF foundation, jumpbox, CA certs). I upgraded just my user on the jumpbox to genesis 2.7.7.

Upgraded proto-bosh env file from 1.9.0 to 1.10.2==[]=[ 12:42:48 ]=[ cfoss-ops-jumpbox jumpbox/0 ]=[ ~/deployments/bosh-deployments ]=[]==
diff --git a/cfoss-ops.yml b/cfoss-ops.yml
index 0005218..8ef07bc 100644
--- a/cfoss-ops.yml
+++ b/cfoss-ops.yml
@@ -1,6 +1,6 @@
 kit:
   name:    bosh
-  version: 1.9.0
+  version: 1.10.2
   features:
     - aws
     - proto

Ran genesis check-secrets. No warnings or issues with certs. Warning about params.env becoming genesis.env==[]=[ 12:42:50 ]=[ cfoss-ops-jumpbox jumpbox/0 ]=[ ~/deployments/bosh-deployments ]=[]==
$ genesis check-secrets cfoss-ops.yml
[WARNING] Kit bosh/1.10.2 requires environment file to specify genesis.env
        but cfoss-ops is using params.env.  Please update your environment file as this
will be removed in a later version of Genesis
Verifying availability of selected vault...ok
Validating 37 secrets for cfoss-ops under path '/secret/cfoss/ops/bosh/':
Completed - Duration: 0 seconds [37 validated/0 skipped/0 errors]

Updated from params.env to genesis.env==[]=[ 12:43:12 ]=[ cfoss-ops-jumpbox jumpbox/0 ]=[ ~/deployments/bosh-deployments ]=[]==
$ git diff
diff --git a/cfoss-ops.yml b/cfoss-ops.yml
index 0005218..9eb58cc 100644
--- a/cfoss-ops.yml
+++ b/cfoss-ops.yml
@@ -1,11 +1,11 @@
 kit:
   name:    bosh
-  version: 1.9.0
+  version: 1.10.2
   features:
     - aws
     - proto
-params:
+genesis:
   env:   cfoss-ops
   # These properties definte the host-level networking for a proto-BOSH.

Ran genesis check-secrets. Now I get 9 warnings==[]=[ 12:43:20 ]=[ cfoss-ops-jumpbox jumpbox/0 ]=[ ~/deployments/bosh-deployments ]=[]==
$ genesis check-secrets cfoss-ops.yml
Verifying availability of selected vault...ok
Validating 37 secrets for cfoss-ops under path '/secret/cfoss/ops/bosh/':
  [ 2/37] blobstore/server X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [ 4/37] credhub/server X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [ 6/37] nats/director X509 certificate ... warning!
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [ 7/37] nats/health/monitor X509 certificate ... warning!
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [ 8/37] nats/server X509 certificate ... warning!
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [10/37] ssl/mbus X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [11/37] ssl/server X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [12/37] ssl/uaa X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
  [13/37] ssl/uaa-sp X509 certificate ... warning!
          [⚠ ] Subject Name '(( param "What IP will BOSH be accessible on?" ))' (found 'xx.xx.xx.xx')
          [⚠ ] Subject Alt Names (missing: (( param "What IP will BOSH be accessible on?" )); extra: xx.xx.xx.xx)
Completed - Duration: 0 seconds [28 validated/0 skipped/0 errors/9 warnings]

As discussed in person, this was because the entire params block was changed to genesis.  The required solution to the warning is to create a new genesis block in your environment file if it doesn't already exist, and move env from under params to be under genesis.
This was done to better delimit ownership of control.  genesis is meant for things that impact deployment and management of the environment file, whereas params block is specifically for things only the kit needs for building its manifest. In this vein, a couple of other items have also moved to be under genesis:

params.bosh becomes genesis.bosh_env
params.vault_prefix (and the legacy params.vault) become genesis.secrets_path

To rectify this issue, I will create a Genesis Migration Process to explain this detail.

GMP-GEN-0001 has been created to inform users of this change of behaviour, and how to remedy it.

authors: dennisjbell michaelmccaskill

repo: genesis-community/genesis


text:
Question: How to check if .cti file is correctly working with harvester?

First of all, thanks for harvesters!
Background
I have a question on how to check if the .cti file which I use is fully working with harvesters.
I know that one shouldn't copy the .cti file into another location, because it "may need to retrieve relevant libraries to link".
I read issue #200 and also the faq section about that point.
However for me it seems, that this strongly depends on the .cti implementation of the according vendor.
I was able to copy the .cti file of Baumer (′libbgapi2_gige.cti.2.12.0′) into a location of my choice (This might be wanted if you don't want or can install full libraries due to their license).
And it is working without setting an additional environment variable, linking or other things.
Test
I checked the following script (modified  example from the readme) with my camera (Daheng, GigEVision camera).
from harvesters.core import Harvester
import numpy as np  # This is just for a demonstration.

h = Harvester()

h.add_file("/home/me/Projects/GenICam/libbgapi2_gige.cti.2.12.0")

h.update()

h.device_info_list[0]

ia = h.create(0)
ia.remote_device.node_map.Width.value = 64

ia.remote_device.node_map.Height.value = 64

#ia.remote_device.node_map.PixelFormat.value = "Mono64"

ia.start()

with ia.fetch() as buffer:
    # Let's create an alias of the 2D image component:
    component = buffer.payload.components[0]

    # Note that the number of components can be vary. If your
    # target remote device transmits a multi-part information, then
    # you'd get two or more components in the payload. However, now
    # we're working with a remote device that transmits only a 2D image.
    # So we manipulate only index 0 of the list object, components.

    # Let's see the acquired data in 1D:
    _1d = component.data
    print("1D: {0}".format(_1d))

    # Reshape the NumPy array into a 2D array:
    _2d = component.data.reshape(component.height, component.width)
    print("2D: {0}".format(_2d))

    # Here are some trivial calculations:
    print("AVE: {0}, MIN: {1}, MAX: {2}".format(np.average(_2d), _2d.min(), _2d.max()))

ia.stop()
ia.destroy()
h.reset()
quit

Terminal Output was
(.venv) me@metoo:~/Projects/GenICam$ python ./launch_harvester_exp.py
1D: [0 0 0 ... 1 0 1]
2D: [[0 0 0 ... 1 0 0]
 [1 0 1 ... 0 0 1]
 [1 1 1 ... 1 0 0]
 ...
 [1 1 1 ... 1 1 0]
 [0 0 0 ... 1 1 0]
 [1 0 1 ... 1 0 1]]
AVE: 0.45751953125, MIN: 0, MAX: 1

I think I get the image data just as I should.
Different to the example in the readme is, that ′h.device_info_list[0]′ is not returning anything in the terminal. Not sure if this is normal and just related to the camera I'm using.
Question
My actual question is:
Is harvester fully working, if I use the .cti file as described above or is there anything I should be aware of?
Unfortunately the available information in the internet is not very comprehensive for this specific topic. :/
@kazunarikudo can you help here?

Hi,
Doesn't even the following line display anything after the h.update() call?
print(h.device_info_list)

Not sure if this is normal

The list should contain one or more devices if there actually is a camera that the GenTL Producer can detect. As far as you can acquire an image then the GenTL Producer should have detected the camera. Since at least you can acquire images, maybe you should try to have an opportunity to check what each line does.

I was able to copy the .cti file of Baumer (′libbgapi2_gige.cti.2.12.0′) into a location of my choice

I do not mind if it works for you: Again, however, you should keep in mind that you will need to know the GenTL Producer enough as its developer knows; at least I would like to emphasize that a client should not move a GenTL Producer around. Even if a feature did not work as expected, nobody can help you as long as the usage breaks the expected condition.
Feel free to come back here if you still have a question after you had a sufficient amount of time for learning.
Regards, Kazunari.

Thanks @kazunarikudo for the response!

Doesn't even the following line display anything after the h.update() call?
print(h.device_info_list)

If I add the print statement as you suggest, the following information is shown in the terminal:
[{'access_status': 1, 'display_name': 'MER-503-20GC-P', 'id_': 'devicemodul00_21_49_02_73_e9', 'model': 'MER-503-20GC-P', 'parent': <genicam.gentl.Interface; proxy of <Swig Object of type 'std::shared_ptr< GenTLCpp::TLInterface > *' at 0x7efc76e98c90> >, 'serial_number': 'QU0200110184', 'tl_type': 'GEV', 'user_defined_name': None, 'vendor': 'Daheng Imaging', 'version': None}]

It seems that the camera is correctly detected and also images can be acquired.

I do not mind if it works for you: Again, however, you should keep in mind that you will need to know the GenTL Producer enough as its developer knows; at least I would like to emphasize that a client should not move a GenTL Producer around. Even if a feature did not work as expected, nobody can help you as long as the usage breaks the expected condition.

I think you're right, I need to ensure that the GenTL Producer works as expected.

authors: kazunarikudo neixlo

repo: genicam/harvesters


text:
Support for person entities

I am using the plugin in order to display a mini dashboard including few person entities. Home assistant the person to be home and not_home which map to the on and off state of a lightbulb for example.
The below referenced code is setting the on/off state for the icon, but does not support the person entity (home state)
https://github.com/gensyn/de_gensyn_HomeAssistantPlugin/blob/main/actions/HomeAssistantAction/home_asistant_action.py#L985
Please add support for home to be considered equivalent to on

Sure. That makes sense and is easy enough to implement.
In fact, I already pushed the change and am currently waiting for approval from the StreamController-Store.

The update is now available in the Store. Could you trying it out?

thanks works :)

authors: gensyn zeridon


text:
Add benchmark for depth

This PR adds benchmarking for the depth function.

Loads different numbers of points to the Rtree using the fold_left with a maximum load size of 3
Runs the depth function in the loaded R-tree.

The thought behind assigning the maximum load size to 3 is to make the tree longer. Need feedback for this

Thanks @kushalpokharel this looks great, I pushed two extra commits one to format the code with dune build @fmt --auto and the second to run the benchmarks on my machine 👍

authors: kushalpokharel patricoferris

repo: geocaml/ocaml-rtree


text:
Can you cut a new 0.6 rc release including the bugfix in #427?

I saw the bug fix in  https://github.com/geofmureithi/apalis/pull/426 which is great, I'd like to use it if you publish a new rc including it

First thing tomorrow morning.
Geoffrey Mureithi
+254713622599
mureithi.me
Skype: live:mureithinjuguna
On Thu, 10 Oct 2024 at 19:54, Derek Leverenz @.***>
wrote:

I saw the bug fix in #426
https://github.com/geofmureithi/apalis/pull/426 which is great, I'd
like to use it if you publish a new rc including it
—
Reply to this email directly, view it on GitHub
https://github.com/geofmureithi/apalis/issues/429, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWXVRGUIUPOPBCDWYEATDUTZ22WLPAVCNFSM6AAAAABPXG3DTOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU3TSMZXGQ2TONQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Resolved by #430 😄

authors: derekleverenz geofmureithi

repo: geofmureithi/apalis


text:
write a describe or available function for sources.py.

and improve their use throughout the documentation.

This relates to #10

Superseded by the new providers module.

authors: darribas ljwolf

repo: geopandas/contextily


text:
Transform Pyrender to Pytorch3d

Hi, thank you for this amazing work!
I am trying to use pytorch3d renderer instead of pyrender renderer to render the hand mesh in hamer/hamer/utils/renderer.py.call(). The codes are shown below. However, the hand mesh can not be rendered into the image plane:

Do you have any suggestions? I think I have set the camera parameters the same as the original setting.
'
def__call__(
    self,
    vertices: np.array,
    camera_translation: np.array,
    image: torch.Tensor,
    full_frame: bool = False,
    imgname: Optional[str] = None,
    side_view: bool = False, rot_angle=90,
    mesh_base_color = (1.0, 1.0, 0.9),
    scene_bg_color = (0, 0, 0),
    return_rgba: bool = False,
):
    # Preprocess the image
    if full_frame:
        image = cv2.imread(imgname).astype(np.float32)[:, :, ::-1] / 255.
    else:
        image = image.clone() * torch.tensor(self.cfg.MODEL.IMAGE_STD, device=image.device).reshape(3,1,1)
        image = image + torch.tensor(self.cfg.MODEL.IMAGE_MEAN, device=image.device).reshape(3,1,1)
        image = image.permute(1, 2, 0).cpu().numpy()

    vertices = torch.tensor(vertices).cuda()
    faces = torch.tensor(self.faces.copy()).cuda()
    mesh_base_color = torch.tensor(mesh_base_color).view(1, 1, 3).cuda()
    textures = TexturesVertex(verts_features=torch.ones_like(vertices).unsqueeze(0) * mesh_base_color)
    mesh = Meshes(verts=[vertices], faces=[faces], textures=textures)

    # neglect mesh rotation
    rotate_transform = RotateAxisAngle(angle=180, axis="X").cuda()
    mesh = mesh.update_padded(rotate_transform.transform_points(mesh.verts_padded()))

    # original camera pose from pyrender
    camera_translation[0] *= -1.
    camera_pose = np.eye(4)
    camera_pose[:3, 3] = camera_translation

    # transform to right hand coordinate
    z_flip = np.array([
        [-1, 0,  0, 0],
        [0, 1,  0, 0],
        [0, 0, -1, 0],
        [0, 0,  0, 1]
    ])

    camera_pose = z_flip @ camera_pose

    R = torch.from_numpy(camera_pose[:3, :3]).unsqueeze(0).cuda()
    T = torch.from_numpy(camera_pose[:3, 3]).unsqueeze(0).cuda()

    # Cameras
    cameras = PerspectiveCameras(device="cuda", focal_length=((self.focal_length, self.focal_length),), principal_point=((image.shape[0] / 2., image.shape[1] / 2.),), R=R, T=T)

    # Rasterization settings
    raster_settings = RasterizationSettings(
        image_size=(image.shape[0], image.shape[1]),
        blur_radius=0.0,
        faces_per_pixel=1,
    )

    # lights
    lights = PointLights(device='cuda', location=[[0.0, 0.0, 3.0]])

    # backfround
    blend_params = BlendParams(background_color=(0, 0, 0))

    # renderer
    renderer = MeshRenderer(
        rasterizer=MeshRasterizer(
            cameras=cameras,
            raster_settings=raster_settings
        ),
        shader=SoftPhongShader(
            device='cuda',
            cameras=cameras,
            lights=lights,
            blend_params=blend_params
        )
    )

    rendered_images = renderer(mesh)

    rendered_images = rendered_images[0].detach().cpu().numpy()
    rendered_images = rendered_images.astype(np.float32) / 255.0

    valid_mask = (rendered_images[:, :, -1])[:, :, np.newaxis]
    if not side_view:
        output_img = (rendered_images[:, :, :3] * valid_mask + (1 - valid_mask) * image)
    else:
        output_img = rendered_images[:, :, :3]

    return output_img`

I haven't used pytorch3d in the past, but I wouldn't be surprised if this happens because of different conventions for the camera coordinate system between pyrender and pytorch3d.
If you are able to make rendering with pytorch3d work, please feel free to post your solution for others to see.

authors: geopavlakos haonanhe

repo: geopavlakos/hamer


text:
Introduce new Python class: hacc.py

estimate 1
Parent [feature/story]: #1979

Done criteria:

[ ] All dependency classes have already been merged
[ ] build.sh properly builds parres kernels of interest
[ ] build.sh points to a specific release or commit of underlying workload
[ ] geopm specific patches exist and apply properly
[ ] HACC workload runs on CUDA enabled system
[ ] License review
[ ] The new class is fully compliant with Python 3.  Python 2 is not
supported.

Accidently opened in public repository.  Re-opened in private repository.

repo: geopm/geopm


text:
[WIP] update requirements versions

Overview
DO NOT MERGE.  Test of requirements updates.
Related Issue / Discussion
Additional Information
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[ ] I'd like to contribute [feature X|bugfix Y|docs|something else] to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[ ] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

@ricardogsilva any advice on how to fix the test failures?  They work on my env (2.7), but I can't see what the errors actually are on Travis.

@tomkralidis
I did some initial investigation on this. Some remarks:

I also get these errors on my local env (which is a docker container, like the one described in pycsw's docs
Strangely the diff printing does not show anything -  I did not dig into this yet
When I run the tests without the --functional-prefer-diffs flag this concrete test is actually not failing. There are errors in other tests though;
From what I could gather it seems that errors show up in tests that are verifying exceptions. I'd say that probably lxml or some other dependency that you're trying to update with this PR is making the exception text be different now and that is throwing the errors. This goes to show that the functional tests are perhaps too brittle. IMHO we should not be comparing things so closely (i.e. matching the exact text that is shown after an exception is raised), but rather do a more semantic comparison (in this case just verifying that the response is an ExceptionReport with the correct code and locator would be enough). I understand that what I am proposing would require a big refactoring of the functional tests and is not feasible for now though
Running all tests (except harvesting) without the --functional-prefer-diffs flag I get 431 passes and 4 fails.
When I run them with --functional-prefer-diffs I get 428 passes and 7 fails.
It seems to me that we should not set --functional-prefer-diffs flag on Travis. From our previous discussion I understood that this flag was not to be the default behaviour and in accordance to that it should also not be enabled on our main CI tests I guess. I also consider XML canonicalization to be a superior method of comparison in this case.

I can try to dig a bit on the wierd behaviour of not showing any difference in the specific test that is failing but I admit I'm not too familiar with how python's difflib works so perhaps you might also lend a hand with this?
In a more pragmatic approach, it seems to me that in order to fix the missing tests one would need to:

drop the --functional-prefer-diffs flag from travis
hunt down the exception messages of the failing tests, compare them with the expected values and update as needed

The question is if tests are still working in Python 2.7
I would not mind dropping Travis + Python 2.7 but I would hesitate dropping Python 2.7 completely.

We can stop testing Python 2.7 in Travis.  Note we would not remove any code which may be Python 2.7 related.
Another option is to use Travis' allow_failures option which would always tests on 2.7, but do not count in the assessment of the build.  This would allow us to keep testing 2.7 and only inspect when needed.

I tested allow_failures and this seems to work: https://travis-ci.org/geopython/pycsw/builds/501641999
Are folks ok with this approach?  If yes I'll clean up this PR.

I am ok with this

authors: kalxas ricardogsilva tomkralidis

repo: geopython/pycsw


text:
Switch to images with a black background

[ ] WV
[ ] Pagination
[ ] Points
[ ] Lines
[ ] Polygons

Closing in favor of #7.


text:
Add Top-level Client Library API to Indicate Whether a Given URL Scheme Is Supported

To support mobile app URL dispatch, such as iOS' application:openURL:options:, add a top-level client library API to indicate whether a given URL scheme is supported. For example:
bool SupportsScheme(CFStringRef aScheme) const;

Closed with #14.

repo: gerickson/openhlx


text:
Alarm state V1.0.9.10

When you get an alarm like limit switch, should the status display not say alarm and turn red also reset button turn red?

What does the Status list show? Might have to click on Verbose.

Morning Gerritv
The Status list shows
Alarm:1
[MSG:Reset to continue]
I also tried a homing timeout
this worked ok, got a Alarm:6 and the Status showed Alarm in red and the unlock turned red
Tried a Probing G38.2 timeout
this worked ok, got a Alarm:5 and the Status showed Alarm in red and the unlock turned red
Don't know any other Alarms to test let me know and I will test them.
Hope this helps

I think I have them all now, thanks for reporting

repo: gerritv/Grbl-Panel


text:
Add arm64 Docker image.

Since you're offering so many different binaries have you thought about offering an arm64 Docker image?

I've looked around a bit but I'm not sure how to serve multiple architectures on Docker. I'll keep it in mind and look around more.
There's so many os/architecture combos offered because Go is inherently cross-platform so I can just build all of the variants with 1 command.

You typically do that with Docker tags.

authors: get-got nicktheone

repo: get-got/discord-downloader-go


text:
Perpetual Futures

At the moment we have an expiry timestamp on every position. After it has been expired we will trigger a collaborative closure once the user is back online. With perpetual positions we want to add the possibility to "rollover" a position and extend it.
### Tasks
- [ ] https://github.com/get10101/10101/issues/1068
- [ ] https://github.com/get10101/10101/issues/1069
- [ ] https://github.com/get10101/10101/issues/1044
- [ ] https://github.com/get10101/10101/issues/1185
- [ ] https://github.com/get10101/10101/issues/1070
- [ ] https://github.com/get10101/10101/issues/1071
- [ ] https://github.com/get10101/10101/issues/133
- [ ] https://github.com/get10101/10101/issues/1123
- [ ] https://github.com/get10101/10101/issues/1184

Below a proposal of how perpetual futures could look like for the users. I'
sequenceDiagram

actor u as User
participant a as App
participant c as Coordinator

Note right of a: Position is about to expire. e.g. in 2 hours

c->>u: Push notification: Come online to rollover your position.
u->>a: Starts 10101 app
a-->>u: Show dialog for extending position

alt Extend position
a-->>u: Show finished extending position
else Close position
a->c: collaborative close position
a->>a: Remove position
a-->>u: Show finished close position
end

what's the advantage of asking the user a question instead of extending it automatically until the user wants to close the trade?

Mostly done :)

authors: bonomat holzeis klochowicz


text:
Write method do not triggers onInput or onchange events

Expected behavior
On write on inputs that generate an XHR the request should be generated
Actual behavior
The input is filled with the text but the XHR request is not sent
Steps to reproduce

Write in input field that have generates XHR request
The event is not trigger

Versions
node v11.10.1
taiko Version: 0.7.1 (Chromium: 74.0.3723.0)

@BorjaRobles Could you please give us an example as to where this happens? It would be easier for us to fix this.

There are some changes pushed in related to write api. Can you please verify if it works fine with master ?
npm install git+https://git@github.com/getgauge/taiko.git -g

@BorjaRobles Please give a try to the latest taiko as @NivedhaSenthil has suggested.

oh looks fixed now ! thx @NivedhaSenthil

authors: Apoorva-GA BorjaRobles NivedhaSenthil negiDharmendra

repo: getgauge/taiko


text:
chore: release master

:robot: I have created a release beep boop
ton-grpc: 0.7.0
0.7.0 (2023-11-27)
Features

TL parser and struct generator (#555) (a4392d2)

tonlibjson-client: 0.12.0
0.12.0 (2023-11-27)
Features

TL parser and struct generator (#555) (a4392d2)

Bug Fixes

deps: bump uuid from 1.5.0 to 1.6.1 (87c559f)

tonlibjson-sys: 0.1.7
0.1.7 (2023-11-27)
Bug Fixes

deps: bump tonlibjson-sys/ton from a1d2d7c to 51baec4 (348987e)
deps: bump tonlibjson-sys/ton-testnet from 7262a66 to 51d5113 (a5a76ad)
deps: bump tonlibjson-sys/ton-testnet from ba03657 to 7262a66 (0490be8)

tvm-grpc: 0.4.3
Dependencies

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/getgems-io/ton-grpc/releases/tag/ton-grpc-v0.7.0 :sunflower:

:robot: Release is at https://github.com/getgems-io/ton-grpc/releases/tag/tonlibjson-sys-v0.1.7 :sunflower:

:robot: Release is at https://github.com/getgems-io/ton-grpc/releases/tag/tonlibjson-client-v0.12.0 :sunflower:

repo: getgems-io/ton-grpc


text:
Avoid refreshing admin dashboard after saving.

I use the admin dashboard to create posts. Each time I hit Save, the whole dashboard refreshes, which is not great UX. IMHO, it should update what's necessary instead of the whole dashboard.
Refreshing the whole dashboard cause the user to lose the focus, scroll position, etc. It seems like a small issue, but when you have many small saves, these add up.

This is something we plan on addressing with a major rewrite of the admin in a future revision. Moving more to a client-based solution rather than relying so heavily on the server to do ALL the work.

authors: hifall rhukster

repo: getgrav/grav


text:
unset@ doesn't work inside an imported blueprint

I have a series of blueprint imported into my main user/themes/my_theme/blueprints/default.yaml blueprint :
extends@: default

form:
  fields:

    tabs:
      type: tabs
      active: 1
      fields:

... etc

        # -------- CONTENT ----------

        content:
          type: tab
          title: "Contenu"
          import@:
            type: page_content
            context: blueprints://

... etc

That's a way for me to rewrite the "Content" tab of the pages edition part of the admin.
As I want to let the possibility to any plugin to display extra fields, I did not used a
          fields:
              replace@: true

But at the end, it is the only solution for the imported "page_content" sub-blueprint to work, wich has a :

form:
  fields:

... etc

    header.title:
      unset@: true

... etc

This unset@ was working fine when the code was firstly written in the default.yaml, but as soon as I separated the code and imported it, the header.title field started to reappear in the panel !
Moreover, it seems that its position isn't respect, because from being in the top of the page, it is finally display at the bottom.

This may already be fixed in upcoming 1.7.0-rc7.

authors: Romarain mahagr


text:
Exceeded filesize limit

I'm trying to upload a 2.9Mb image file to a page's media section.
I've increased my client_max_body_size in nging.conf to 200M
And checked my PHP config.
What else would be causing this error?

Found another php.ini in 'fpm' folder. Fixed.

Where are these files located? I need to up that limit as well.

Varies depending on your setup. Ask you hosting provider first.

authors: btn0s flaviocopes rickysullivan


text:
Fix undeclared variable $difference

Fixes a bug when returning nicetime

Cheers


text:
Update template syntax in examples

This updates the templates in our examples to demonstrate the new ${ ... } syntax, instead of the old {{ ... }} syntax.

@VinozzZ This is super low priority, just bumping in case you missed it. I'd appreciate a review so that I'm not merging my own PR without review. 😀

repo: getporter/az-mixin


text:
Wrapped Type generates unexpect column name in select sql

When using Wrapped Type, quill append value to column name in select sql. I guess this is the same behavior as mentioned here https://github.com/getquill/quill/issues/114#issuecomment-174273740 and would be fix in https://github.com/getquill/quill/pull/369?
I'm raising the issue here anyway, so we don't miss it.
Version: 0.6.0
Module: quill-sql
Expected behavior
Given
  case class Id(value: Long) extends AnyVal with io.getquill.sources.WrappedValue[Long]
  case class Account(
    id : Id,
    name     : String
  )

I expect quill to generate
SELECT x.id, x.name FROM Account x
Actual behavior
quill appends value to id column
SELECT x.idvalue, x.name FROM Account x
Steps to reproduce the behavior
object QuillExample2 extends App{
  case class Id(value: Long) extends AnyVal with io.getquill.sources.WrappedValue[Long]
  case class Account(
    id : Id,
    name     : String
  )

  def main() = {
    val db = source(new SqlMirrorSourceConfig("db"))
    db.run(query[Account])
  }
}

Workaround
Add
implicit val encodeId= mappedEncoding[Long, Id](Id(_))
@getquill/maintainers

I guess this is the same behavior as mentioned here https://github.com/getquill/quill/issues/114#issuecomment-174273740 and would be fix in https://github.com/getquill/quill/pull/369?
I'm raising the issue here anyway, so we don't miss it.
And do you see any issue with workaround above? I've tried it with simple CRUD and seems to be ok

@komsit37 Thank you for the report. It should be fixed by https://github.com/getquill/quill/pull/364. Could you verify if it works with the 0.6.1-SNAPSHOT version? I'm closing the issue, but please don't hesitate to reopen it if necessary.

yup 0.6.1-SNAPSHOT works fine. thanks!

repo: getquill/quill


text:
provide default values for plain-sql query execution

Fixes #359
Problem
The source.execute* and source.query* methods require two parameters that aren't always useful when executing plain-sql queries.
Solution
Provide default values for these parameters.
Checklist

[x] Unit test all changes
[x] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

:+1:

👍

authors: fwbrasil jilen


text:
Can't build with Xcode 16.0

Platform
iOS, iPadOS
Environment
Develop
Installed
CocoaPods
Version
"@sentry/capacitor": "^0.14.0",
"@sentry/angular": "7.73.0",
Xcode Version
16.0
Did it work on previous versions?
15.4
Steps to Reproduce
Install Xcode 16.0
Build the app.
Expected Result
The app builds and runs as in Xcode 15.4.
Actual Result
The process fails with multiple errors in Sentry's SDK. Concretely, the SentryCrashMonitor_CPPException.cpp file.
no type named 'terminate handler' in namespace 'std'

@TarekAlTarshishi can you update the SDK to 0.19.0? This version uses the latest sentry-cocoa SDK under the hood and should build correctly with Xcode 16.

@TarekAlTarshishi can you update the SDK to 0.19.0? This version uses the latest sentry-cocoa SDK under the hood and should build correctly with Xcode 16.

exactly, for me it's working with version 0.19.0, after update I remove the Podfile.lock and execute this command "cd ios/App && pod install --repo-update"

Thanks 0.19.0 also did the trick for me!

authors: TarekAlTarshishi edwinhilgersom francocores kahest

repo: getsentry/sentry-capacitor


text:
Some issue with obfuscated title

Platform:

[ ]  Dart
[x]  Flutter Android or iOS
[ ]  Flutter Web

IDE:

[ ]  VSCode
[x]  IntelliJ/AS
[x]  XCode
[ ]  Other, which one?

split-debug-info and obfuscate (Flutter Android or iOS) or CanvasKit (Flutter Web):

[x]  Enabled
[ ]  Disabled

Platform installed with:

[x] pub.dev
[ ] GitHub

The version of the SDK (See pubspec.lock):
6.12.2

Why some issues have obfuscated titles on the Sentry dashboard? It could impact on issue group, right? Because every release the symbols changes.
Some examples:

looking for zua on obfuscation-map it points to RiverpodUsedAfterDisposalException equals to issue description
Steps to reproduce:
flutter -v --no-version-check build appbundle --flavor minapi21prod  \
--build-name 8.59.0 --build-number 1000006285 \
--no-pub --target-platform android-arm,android-arm64 --obfuscate \
--split-debug-info /symbols/prod/21 \
--extra-gen-snapshot-options=--save-obfuscation-map=/symbols/prod/21/obfuscation_map.json \
--dart-define=ENVIRONMENT=prod --dart-define=RELEASE_NAME=8.59.0 \
--dart-define=DISTRIBUTION=1000006285 --dart-define=API_LEVEL=21

It's an Android Issue.
Actual result:

Expected result:
I would like something like that:

See https://docs.sentry.io/platforms/flutter/troubleshooting/#known-limitations

Issue titles might be obfuscated as we rely on the runtimeType, but they may not be human-readable. See the Obfuscate Caveat.

See https://docs.sentry.io/platforms/flutter/troubleshooting/#known-limitations

Issue titles might be obfuscated as we rely on the runtimeType, but they may not be human-readable. See the Obfuscate Caveat.

I understand, but obfuscation_map.json  contains the original class name, couldn't we use it to obfuscate the title?

@miguelslemos yep its technically possible, but sentry does not symbolicate a few properties of the event, such as the type, breadcrumbs, etc, this feedback should go to https://github.com/getsentry/sentry because it affects every SDK

authors: marandaneto miguelslemos

repo: getsentry/sentry-dart


text:
Update to Sentry JavaScript 7.8.1

Fixes #503

Can we add a test that confirms the fix?

authors: AbhiPrasad timfish

repo: getsentry/sentry-electron


text:
Make maximum amount of spans configurable

In one of my projects, I need to do performance monitoring for complex tasks with the highest possible accuracy.
Due to some of the tasks are long running, the current const span limit of 1000 per transaction will be not enough.
I saw, that some other SDKs (for example python) have an option for that.

I think exists config on server too and user can not change config on server

I have tested on one of our self hosted instances. Works fine with a higher limit (as far as I can check).

@fsrv-xyz Can you add some tests for this so we get it merged?

@cleptric Sure. I added some test cases covering the added code (and some additional things).

I applied the changes you suggested and updated the changelog file.

authors: YaroslavPodorvanov cleptric fsrv-xyz

repo: getsentry/sentry-go


text:
Silenced error detection not working correctly

We have basically default installation of sentry in our symfony application, currently the following sentry packages installed
sentry/sdk: 2.1.0
sentry/sentry: 2.4.0
sentry/sentry-symfony:3.5.1

Sentry is running on its default configuration we just have the dsn configured:
sentry:
      dsn: "%env(SENTRY_DSN)%"

But we still get the following errors the following sentry errors:

Sentry\Exception\FatalErrorException
Compile Warning: Unterminated comment starting line 41
/vendor/phpcr/phpcr-migrations/lib/MigratorUtil.php at line 41

            // Read entire lines to prevent keyword truncation
            for ($line = 0; $line <= 20; $line++) {
                $buffer .= fgets($fp);
            }
            $tokens = @token_get_all($buffer); // this is line 41 which fails

Screenshot

as we don't have capture_silenced_errors activated this error should not appear.
What is strange that it is detected as FatalErrorException and if I look at the current code here, it should be a SilencedErrorException so it is not logged, so maybe there is the error but I'm not sure.
The code throwing this warning is basically very simple: token_get_all("<?php /*");.

I think this is a bug on the underlying sentry-php lib. I'll move the issue accordingly.

Confirmed, reproduced in #1051.

What is strange that it is detected as FatalErrorException and if I look at the current code here, it should be a SilencedErrorException so it is not logged, so maybe there is the error but I'm not sure.

Technically speaking you are absolutely right: the error should be silenced. However, practically, this is a kind of fatal error and PHP does not handle it through the error handler, so the capture_silenced_errors option gets ignored as it's used only by the ErrorListenerIntegration class. Even if we were to use that option in the FatalErrorListenerIntegration class we would not be able to distinguish whether it was suppressed because PHP doesn't allow suppression of fatal errors. I don't really have an idea of how we can fully solve this issue, as ignoring E_CORE_WARNING and E_COMPILE_WARNING errors would then cause those to never be catched, while adjusting the code to log them as errors instead of fatals still won't ignore them if they were suppressed.

Closing this, since the reproducer in #1051 is basically the same as this one: https://github.com/getsentry/sentry-php/blob/8fea3e3ec6b27bfef7899efa9ecf26b1396a1b31/tests/phpt/error_handler_respects_capture_silenced_errors_option.phpt#L56-L64
So fixed in #1183

repo: getsentry/sentry-php


text:
Profiler frame processor

A very pragmatic way to set a frame processor. This is intended for internal use in framework SDKs to do further processing on the frame. For example, in Laravel we want to show original view paths instead of the cached view path for frames inside blade views.

See getsentry/sentry-laravel#747 for an example on how I'd use it.


text:
Sentry for Spark on Databricks

Hi,
I wonder how to correctly integrate Sentry with Databricks https://databricks.com/ (Spark as a Service from the Spark founders).
I've spent some time trying to integrate Sentry with the Databricks IPython-base shell, but still not sure if it works correctly. I was not able to integrate SparkWorkerIntegration to the Spark worker nodes and also the Spark Streaming errors are not caught to Sentry...
Has anyone any experience with the Databricks integration?
Thanks

cc @AbhiPrasad

Hey thanks for reaching out @kutny.
We've done some early testing with Databricks when we initially developed the Spark integration.
Can you provide some more details on your cluster setup? What Spark Config and client libraries (python packages) does the cluster use? Also, are you running an initialization script of any kind?
I'm also interested in hearing about your use case with Databricks in more detail. Do you mind reaching out to me at aprasad@sentry.io so we can chat about it?

Hi @AbhiPrasad, sure! We use the newest Databricks Runtime (DBR) 6.1 with Python 3 only for both batch processing and streaming.
As described in your documentation, I tried to initialize Sentry before creating the SparkContext/SparkSession. I found it pretty challenging as when I initialized Sentry in the first cell of the Databricks notebook, it is already too late as SparkSession is AFAIK initialized before the initialization of the notebook environment.
So I tried to monkey-patch the /dbfs/tmp/[random-timestamp]/PythonShell.py library, which handles the SparkSession initialization by adding the following code at the very beginning of the PythonShell.py file:
import os, sys, subprocess
subprocess.run([sys.executable, '-m', 'pip', 'install', 'sentry-databricks'], check=True)
from sentry_databricks.notebook import initSentry
initSentry(os.environ['SENTRY_DSN'], os.environ['APP_ENV'], [os.environ['APP_ROOT_NAMESPACE']])

As you can see I have created the sentry-databricks python package to simplify the Sentry initialization from Databricks.
After some testing, it works well even with the SparkWorkerIntegration enabled, see my Databricks config:

My monkey-patching solution is very hackish so I hope that you would give me a better one :-)
Still, Sentry is not able to catch some types of errors, mostly in the Spark Streaming jobs:

We use PySpark so in Spark streaming, we cannot use the following code to catch the streaming exceptions:

In PySpark, StreamingQuery.awaitTermination() blocks the current thread. I found out, in such case, only the first initiated stream in notebook is processed, others wait as awaitTermination() blocks further processing. In Java/Scala I would probably use the onQueryTerminated() listener method of the StreamingQueryListener() instead to catch streaming exceptions. However, that approach is not available in PySpark .
I have found a very hackish solution on SO which somehow adds the events listeners to PySpark, not sure if it will work https://stackoverflow.com/questions/47357418/how-to-get-the-output-from-console-streaming-sink-in-zeppelin#answer-47487443
Thanks for your support!

Hey, thank you for the detailed reply, helped a lot! Sorry on the delay with this, it's Thanksgiving holiday here in the US.
In terms of your monkey patching, that is probably an easy fix. We can check in our integration if an existing SparkSession/SparkContext exists and patch it. That way you can easily just call Sentry.init even with the SparkSession  already being initialized. I will write up a patch for this.
Alright the StreamingQueryListener is a little more problematic for us (as you mentioned it's not avaliable in PySpark). There are a couple of options we have here.
First, we could adjust the integration to use Py4J and get the streaming query event listener using Scala/Java <-> Python calls (in fact the integration uses SparkListener to generate breadcrumbs - https://github.com/getsentry/sentry-python/blob/master/sentry_sdk/integrations/spark/spark_driver.py#L205-L206). This is pretty much how the stackoverflow answer does it. Not the cleanest because it's not a first class PySpark API.
Second, and what I think will be easier for you, is to use https://github.com/getsentry/sentry-spark#sentrystreamingquerylistener-spark-sql, as part of our new ScalaSpark Sentry integration.
You will have to install the maven dependency on your cluster - io.sentry:sentry-spark_2.11:0.0.1-alpha04
You can then use the Spark Config option spark.sql.streaming.streamingQueryListeners: io.sentry.spark.listener. SentryStreamingQueryListener.
Again, appreciate all your help with this! Please let me know if you have any other questions.

Thanks @AbhiPrasad, unfortunately, the installation of your maven package prevents the DBX cluster from starting:

Log4j:
Caused by: java.lang.ClassNotFoundException: io.sentry.spark.listener.SentryStreamingQueryListener
Detailed trace attached
sentry_databricks_error.txt

Hey, just wanted to give you an update.
Very strange that you are getting class not found exceptions, I pushed up an example demo with the listener and it seems to be working fine https://github.com/sentry-demos/apache-spark/blob/master/scala-spark-example/src/main/scala/SimpleStreamingQueryApp.scala#L14. Not sure why it's not working on Databricks. Maybe the JAR can only be accessed by Scala Jobs for some reason?
An alternative then is to download the JAR from https://mvnrepository.com/artifact/io.sentry/sentry-spark_2.11/0.0.1-alpha04, and upload it to your cluster.
I'll also do some more investigation on my side into this.
Alright, as for the PySpark side of things, I have a patch for the SparkContext changes ready. The streaming query event listener is a little more complicated though.
StreamingQueryListener is defined as an abstract class which means we can't use Py4J to use a Python Proxy.
https://www.py4j.org/advanced_topics.html#implementing-java-interfaces-from-python-callback

Python classes can only implement Java interfaces. Abstract or concrete classes are not supported because Java does not natively support dynamic proxies for classes. Extending classes may be supported in future releases of Py4J.

This means that we have to use the method of adding a Scala subclass to access the methods like in the Stackoverflow link you posted above. This means that unfortunately until Spark adds the listener natively to pyspark, we can't support it Python side.
For now I opened an issue on the Spark JIRA - https://issues.apache.org/jira/browse/SPARK-30105.

Hi @AbhiPrasad I tried again by downloading the JAR from the given maven link resulting in the same ClassNotFound error as before. Not sure what is wrong, but IMHO it does not have anything to do with PySpark as the Databricks/Spark cluster does not start at all after installing your package and adding the spark.sql.streaming.streamingQueryListeners io.sentry.spark.listener.SentryStreamingQueryListener Spark config option.
As of streaming: I understood that it is possible to catch errors in streaming jobs when Sentry is initialized before SparkContext initialization however It is not possible to catch errors in streaming jobs when using the new "late" SparkContext "on-the-fly patching" specifically developed for Databricks. Did I understand that correctly?

Have you read this article on the Databricks website? It contains some examples of using the onQueryProgress and onQueryTerminated listeners in Databricks...

Have you read this article on the Databricks website? It contains some examples of using the onQueryProgress and onQueryTerminated listeners in Databricks...

Not sure why it the ClassNotFound error is occurring. We follow the same approach as the article you cited to create onQueryProgress and onQueryTerminated listeners in the sentry-spark package - https://github.com/getsentry/sentry-spark/blob/master/src/main/scala/io/sentry/spark/listener/SentryStreamingQueryListener.scala#L8.
This might be something you have to ask Databricks support about, it might be that JARs are loaded differently if you are using PySpark notebooks instead of Scala notebooks, or there is some additional cluster configuration to use.

As of streaming: I understood that it is possible to catch errors in streaming jobs when Sentry is initialized before SparkContext initialization however It is not possible to catch errors in streaming jobs when using the new "late" SparkContext "on-the-fly patching" specifically developed for Databricks. Did I understand that correctly?

Without the StreamingQueryListener, it will not be possible to catch errors in streaming jobs, we will encounter those thread issues you cited earlier with the current approach. This is true for both initing Sentry before SparkContext initialization and for the on-the-fly-patching. I am experimenting with some workarounds, specifically patching awaitTermination() directly, to see if we can solve this without the use of the listener.

There has been a lot of work already done here. Can @AbhiPrasad or @kutny just give a short update on the state of affairs. Is this something that can be finished and merged without lots of development time needed, or is this a bigger project and unclear how to get this done?

authors: AbhiPrasad antonpirker kutny untitaker

repo: getsentry/sentry-python


text:
Twitter message wobbling non stop

https://github.com/getstation/desktop-app/assets/34414624/dbbe753f-210b-44ae-973e-537ff9ee6461

#283

repo: getstation/desktop-app


text:
fstrings and fix deprecation of logger.warn

This should fix deprecation warnings for logger.warn as logger.warning replaces it.
Also converted some things to f-strings where convenient(related to logger.warn)

Thanks for the cleanup!

authors: Andrene StoicLoofah


text:
Questions about privacy.resistFingerprinting

Why is Firefox spoofing the time zone? The IP address reveals your city (or even your neighborhood in some cases). Once they know your city, they know your time zone. So a weird time zone is actually bad for privacy.

I'm running a fairly common resolution. Why doesn't Firefox start maximized? How does a weird size window help?

Is it better to let Firefox handle the canvas or we should install CanvasBlocker? What are the recommended CanvasBlocker 0.4.5c settings?

see #350 section on canvas in the first post. If you are using RFP (privacy.resistFingerprinting) then it's important that you have the same FP as all the other RFP users - so that means use their canvas blocking (which is a 10x10 white canvas). If you allow an exception (eg google street view currently requires this), then you can fall back to CB to fake it (thus google doesn't get your real unique canvas). If a site absolutely requires your real canvas (I'm not an expert, eg maybe banks or sites you log into frequently [ie they know it's you anyway] so as to not get your account flagged, or maybe a web game), then you can whitelist the site in CB as well.

The resolution spoofed is using the inner browser window measurements (because anything else would screw up web page layouts etc). All measurements are returned as your actual inner browser windows ones - that's

browser inner window width+height
browser width+height (I think, been a while)
screen resolution
available screen resolution

If you go maximized, then you cannot control your inner browser window - it is instead controlled by other factors, such as your 1. available screen res and 2. browser chrome elements.
Available screen res can differ - such as in windows, the position of the task bar could be left-right, or top-bottom. The height/width of the task bar can differ as well.
Browser chrome elements can differ. All of which affect the inner browser window measurements - such as the extra drag space, displaying the menu bar, sidebar, toolbar. Also the theme can make changes, such as compact vs default. Even flicking the find bar open changes the metric.
So despite having a common screen res, there are too many variables for a consistent result. Also, not everyone in the RFP set would be maximized. The only solution to encompass everyone is to not allow maximized on startup, and to set a standard size.

Because FP'ing as a science makes assumptions. It's looking purely at FP'ing and entropy. So all users need to be on one of the most common timezones (i.e there are 24 timezones, but the online population is not evenly distributed).

Clearly if you are giving away your IP, then you've possibly already lost the battle (depends on your threat model). TBB doesn't have to worry about this, in the sense that they are using TOR. Firefox users can use VPNs etc. The assumption is that you are already hiding your location.

Here's an article on how entropy works in the real world : https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy

"The assumption is [..]" very clear, IMO? A huge, over-elaborate, question about the basics - in the support (issues), doesn't really help anyone? xD
Anyway, Pants, thanks for the entropy URL, it's a great read..:)

The IP address reveals your city

resistFingerprinting mainly enables uplifted Tor Browser patches. Timezone may not reveal additional information if and only if all the users have their geoip-located timezones matching the ones revealed by the browser. The reality is different. Someone uses Tor, someone uses a VPN, someone's geoip points to another city or even country systematically. These all contain some information, which can be used to reduce anonimity of users, including Tor ones.

Thanks for the explanation, Pants!
I still think spoofing the time zone is bad unless you have access to IPs in that particular time zone. Which won't be the case for most Firefox users.

Running Firefox in a window is only marginally better than a maximized Firefox window according to Panopticlick.
What's the best option to start Firefox maximized? AutoHotkey?

Running Firefox in a window is only marginally better than a maximized Firefox window according to Panopticlick.

You can't take most of those metrics seriously, although at least resolutions are relatively stable, eg compared to say user agents. First of all, it is looking at data gained over a long time, rather than real world, right now. Because you cannot really hide you are using Firefox, you could look at the metrics for FF users - https://hardware.metrics.mozilla.com/ - which is gathered every couple of weeks. However, that is just screen resolution. Panopticon is also only looking at your screen res. RFP is looking at multiple measurements (see above post).
At the end of the day, you need to be the same as RFP. That said, it sucks width-wise on desktops (I actually resize so my inner window is 1366x768 - this is not ideal, but fuck man, I got work to do).

What's the best option to start Firefox maximized? AutoHotkey?

No idea, cuz I hate maximized windows

On windows, go to Firefox folder, create shortcut, right click on it then select properties
On the target line, add:

-height X -width y

So you get, e.g.:
"C:\Program Files\Mozilla Firefox\firefox.exe" -height 1400 -width 800
Firefox Hacks by Nigel McFarlane

Thanks, Atavic! Unfortunately it didn't work for Firefox Portable 60.0.2

If you want to start Firefox in as big a window as possible, then use the two hidden prefs
/* 4502: set new window sizes to round to hundreds (FF55+) [SETUP]
 * [NOTE] Width will round down to multiples of 200s and height to 100s, to fit your screen.
 * The override values are a starting point to round from if you want some control
 * [1] https://bugzilla.mozilla.org/1330882
 * [2] https://hardware.metrics.mozilla.com/ ***/
   // user_pref("privacy.window.maxInnerWidth", 1600); // (hidden pref)
   // user_pref("privacy.window.maxInnerHeight", 900); // (hidden pref)

I use mine to start at 1400x800, and then I use Window Resizer to quickly flick to 1366x768. Note: I only use one window, open opening links in a new one will use a 1400x800 (actually its 1400x799 due to bugs when you show your toolbar). Also the position of FF within my screen is remembered, so if I do use another window, I make sure the first one opened is always the last closed.

I removed all the presets in Window Resizer and set my own one. That 1380x871 is the browser measurements, which gives me my inner window of 1366x768 (compact theme, extra drag space, toolbar enabled)
Not saying this is ideal for you, but at least you can FF to open as large as possible

authors: Atavic Just-me-ghacks KOLANICH Thorin-Oakenpants kgbm3


text:
Feature/port to openapi #14

Port FastApi to openAPI
#14

I cannot reach anything in my browser when I run dev_launcher.
I tried:
http://localhost:8080/ (expected the index route)
http://localhost:8080/ghga/drs/v1/
http://localhost:8080/ghga/drs/v1/openapi.yaml (expected the docs)
I also don't see any logs when running that command. Am I doing something wrong?

I cannot reach anything in my browser when I run dev_launcher.
I tried:
http://localhost:8080/ (expected the index route)

This now works

http://localhost:8080/ghga/drs/v1/

If you omit the trailing / it works

http://localhost:8080/ghga/drs/v1/openapi.yaml (expected the docs)

This now works

I also don't see any logs when running that command. Am I doing something wrong?

What kind of logs are you expecting? I get logs for calling URLs...
127.0.0.1 - - [02/Aug/2021 14:06:50] "GET / HTTP/1.1" 200 27
127.0.0.1 - - [02/Aug/2021 14:06:54] "GET / HTTP/1.1" 200 27
127.0.0.1 - - [02/Aug/2021 14:07:46] "GET /ghga/drs/v1/ HTTP/1.1" 404 165

Sobald die static code analysis passed können wir es mergen

repo: ghga-de/sandbox-storage