Scrollbar Fix

The problem with scrollbar was happening because of the miscalculations of totalw and totalh variables in the setDimensions function in the gGUIScrollable.cpp.

@irrld Can you test the scrollbars on our ai app?

Sure

Seems to work well as far as I can see.


bind: cannot assign requested address

I'm having an issue getting matterpoll started. When I  run ./matterpoll-emoji, I get the above message. Anyone else run across this issue?
2017/10/16 22:16:10 main.go:23: listen tcp  xxx.xxx.xxx.xxx:8505: bind: cannot assign requested address

fixed...


nss_wrapper does not work in 32-bit JVM

Whenever the Jenkins slave uses a 32-bit JVM nss_wrapper does not work and the following error is shown.
ERROR: ld.so: object 'libnss_wrapper.so' from LD_PRELOAD cannot be preloaded: ignored.
This causes Java to look in the regular /etc/passwd which does not contain a 'default' entry for the generated user id. Therefore System.getProperty("user.home") returns ?.
I am using Openshift 3.11 and the problem occurs since openshift3/jenkins-slave-base-rhel7:v3.11.188; which uses nss_wrapper instead of appending directly to the /etc/passwd file from the /usr/local/bin/generate_container_user script, see ebef7b81ac057a6a6fe7b3e4759656a4fcc570e0.

Hi @cliffred , thanks for reporting this.
we (re-)introduced nss_wrapper because of a security issue and indeed that makes the image dependant on the platform  architecture it has been built on.
Do you have the ability to try to build it on a x86 32bits arch? this should pull nss_wrapper for this archictecture insteand of the x86_64 one.
as another workaround, can you try setting HOME env var in your jenkins deploymentconfig to see if it works for you?

Hi @akram,
Thanks for the suggestions. I worked around it by setting OPENSHIFT_JENKINS_JVM_ARCH to x86_64 to always run on a 64-bit JVM, regardless of the memory limit.
The HOME env var does not influence the output of System.getProperty("user.home") in Java, so that doesn't work unfortunately.
As there are workarounds for this issue, and because of the necessity of nss_wrapper regarding security, I think this issue could be closed.

Thanks
/close


Ensure docker-push targets fails on error

Ensure docker-push targets fails on error
Description
Ensure docker-push targets fails on error
Related Issues
#1779
Testing
manual tests and deployed in production

Come to think of it, shouldn't set -o pipefail be enough? for both pushes?

Learn something everyday! PR updated.


No link output in the last cell

Hi! Yesterday everything worked fine, then I had the lag of not being able to generate more than one image, so I restarted the runtime. After that, the last cell did not output the link, so I restarted and deleted the runtime. Still did not do the trick, so I deleted my copy of the colab and pulled a fresh one and still have the same error... Is there a setting that I could have checked accidentally?

Same here. I've tried everything and still doesn't work. Yesterday everything was fine.

Something must've happened with the code again, having the same issues here - it just "completes" in maybe 5 seconds without actually doing anything.

fixed now, use the latest colabs


ENH: Adding origin parameter in pd.to_datetime

Fixes #11276
Fixes  #11745

tests!

On it! Any boundary conditions that I must take into consideration?

what do you mean?

also this would need to be added in Timestamp as that accepts a unit as well

Apologies for the late reply. I am not able to understand which file to edit for Timestamp. Kindly guide, @jreback?

https://github.com/pydata/pandas/blob/master/pandas/tslib.pyx#L222

Thanks @jreback. Will go through the file asap :-)

Hi, I am bit confused regarding the implementation. As far as I could understand, following might help. Kindly correct me if I am wrong.
## Constructor in Timestamp Class.
def __new__(cls, object ts_input, object offset=None, tz=None, unit=None):
        cdef _TSObject ts
        cdef _Timestamp ts_base

        if unit == 'julian':
            unit = 'D'
            ts_input = ts_input - Timestamp(0).to_julian_date()

        ts = convert_to_tsobject(ts_input, tz, unit)

        if ts.value == NPY_NAT:
            return NaT

        if util.is_string_object(offset):
            from pandas.tseries.frequencies import to_offset
            offset = to_offset(offset)

        # make datetime happy
        ts_base = _Timestamp.__new__(cls, ts.dts.year, ts.dts.month,
                                     ts.dts.day, ts.dts.hour, ts.dts.min,
                                     ts.dts.sec, ts.dts.us, ts.tzinfo)

        # fill out rest of data
        ts_base.value = ts.value
        ts_base.offset = offset
        ts_base.nanosecond = ts.dts.ps / 1000

        return ts_base

Does it seem okay, @jreback?

@sumitbinnani this should be implemented in cast_from_unit

this needs tests

see #11745; let's call this origin (and in this case I think it would be a string, e.g. 'julian', rather than a specific date)

Have been a bit occupied for last a few weeks owing to applications and submission deadlines. Will make the necessary changes for #11745 asap. Facing a bit difficulty writing test cases (going through documentations and will mostly be done by this weekend).

Have changes the definition of  to_datetime to include a new parameter origin, and have added following lines in the code:
    ...
    if origin is not None:
        import datetime
        from pandas.core.api import Timestamp
        if origin == 'julian':
            arg = arg - Timestamp(0).to_julian_date()
        elif isinstance(origin, datetime.date):
            arg = arg + Timestamp(origin).to_julian_date() - Timestamp(0).to_julian_date()

   return ...

Should I remove the changes made to the class Timestamp as unit is no longer being used for the required functionality?

@sumitbinnani yes, remove the original unit changes and go with origin as discussed

Hi @jreback,
Have made the changes as followed:

Added origin as a new parameter with default value of None to to_datetime
Updated documentation for to_datetime
Added test case for the patch (wrote test case for the first time and might require a bit of changes)

Let me know if any additional changes are required.

pls add whatsnew note in Enhancements for 0.18.0

Have incorporated the changes in Code Review.
The file for what's new in 0.18.0, is in commit ahead of my branch's head. The rebase command isn't working on my system (maybe configuration issue). Should I copy the file from master branch and make changes, or should I submit a new pull requests for the same?

Can you just try:
git fetch upstream
git rebase -i upstream/master

Does this not work?

pls add a whatsnew entry (in enhancements)

@jorisvandenbossche, I am getting the following error:
git: 'rebase' is not a git command. See 'git --help'.

The error started popping a week back, and I guess is due to the configuration problem. Have even tried reinstalling git, but the error still exists. Should I simply copy paste the enhancement file from master branch and make the necessary edits? Or should I submit a small patch for the same?

@sumitbinnani I would rather try to fix the git command (you will need it more). Maybe look at http://stackoverflow.com/questions/10125113/git-rebase-is-not-a-git-command-see-git-help

@jorisvandenbossche I am planning to reinstall my OS, as a few more applications/commands are not working correctly after I patched a few packages. However, I am reluctant to do so in hurry owing to data loss, and massive time to get all the packages and libraries required for my job and day to day activities.
Have worked upon the code review and will push the changes after adding more test-cases to avoid multiple commits (given my problem with rebase command).

@sumitbinnani you should just use conda, this makes working with pandas (and all other python packages) very very easy. see the contributing page http://pandas.pydata.org/pandas-docs/version/0.17.1/contributing.html

Hi @jreback, I am using conda only and I am having no issues with python packages and libraries. They are working like a charm. But a few other installation like git have gone haywire and are giving error on otherwise valid commands. I would look into the issue during the long weekend about to come. Meanwhile, I will submit a small patch for the edit in enhancement file.

@jreback: Even the documentation in R have a single use case for the origin. However, they have documented a bit about the possible scenarios where it can be used.
ref: https://stat.ethz.ch/R-manual/R-devel/library/base/html/as.Date.html

Does the patch requires any more changes? @jreback? @jorisvandenbossche?

Maybe it would better to have the default be origin='unix', to more explicitly indicate that time is counted from the unix epoch?

It looks like the current implementation is broken unless unit='D'. Please add tests and any necessary fixes for other time units.

@shoyer The current implementation is indeed breaking unless unit='D'. Would resolve it asap.

can you rebase / update

@sumitbinnani can you rebase/update

Sorry for the late response. I was a bit occupied with applications and hence the delay. I am left with a small issue for unit='ms'. Would work upon it and update by end of week.

Any way to generate random test cases for different values of parameter unit?

Why do you want to generate random test cases? Just test some different values?

@jorisvandenbossche The way I am generating test cases, speaking naively, is by reverse engineering the code. Hence, thought to make it random for robustness.

can you rebase/update

Hi, There are some issues while changing origin. The current code is goes as follow:
def to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False,
                utc=None, box=True, format=None, exact=True, coerce=None,
                unit='ns', infer_datetime_format=False, origin='unix'):

    offset = 0
    if origin == 'unix':
        return _to_datetime(arg, errors=errors, dayfirst=dayfirst, yearfirst=yearfirst,
                        utc=utc, box=box, format=format, exact=exact,
                        unit=unit, infer_datetime_format=infer_datetime_format)
    elif origin == 'julian':
        offset = to_datetime(0)-to_datetime(0)
    else:
        offset = tslib.Timestamp(origin)

    return _to_datetime(arg, errors=errors, dayfirst=dayfirst, yearfirst=yearfirst,
                        utc=utc, box=box, format=format, exact=exact,
                        unit=unit, infer_datetime_format=infer_datetime_format) - tslib.Timestamp(0) + offset

But it returns, timedelta instead of datetimeindex in a few scenarios. Have tried multiple combinations, but none had been working. Any idea on how to proceed?

can you show which scenarios (e.g. input args)?
In [35]: pd.to_datetime(0)-pd.to_datetime(0)
Out[35]: Timedelta('0 days 00:00:00')

subtracting 2 datetimes is by definition a Timedelta

The problem is occurring in case the origin is defined as julian.

@sumitbinnani you need to rebase on master.
```git rebase -i master``
see here

The branch have been rebased on master and conflicts have been resolved. Does it look okay, @jreback?

not sure why you have so many commits. pls squash it down.

Have squashed the commits. Does it look good, @jreback?

@jreback Have worked on code review and committed the code.

The default for unit is ns. So explicitly providing it as a None might be confusing (as julian dates are always defines as 'julian day'). Let me know what do you think, @jreback?

Have added the test cases for invalid origin and invalid combination of origin='julian' and unit != 'D'. Does it look good, @jreback?

From looking at the implementation, I suspect that using a custom origin will always work, also when the values to parse are already dates (eg to_datetime([2012-01-01'], origin='2000-01-01')). This is a bit of a cornercase and one should never do that, but I think we should raise an error in such circumstances instead of silently returning garbage?
Is it correct to state that origin only makes sense when dealing with integer values that are interpreted based on the unit kwarg?

Have worked upon the code review and push the changes.
@jorisvandenbossche: I couldn't think of any probable use case. Useful only when I need to find new dates assuming that initial epoch provided was incorrect (tweaking with data, extremely rare case). Maybe we could raise a warning, @jreback?

ok, pls rebase. then run
git diff master | flake8 --diff. after you have made these corrections, ping when green.

Checks passed. Branch rebased and no more conflicts. Hope everything is as required, @jreback?

In [2]: pd.to_datetime([1,2],unit='D',origin='julian')
OverflowError: Python int too large to convert to C long

This seems wrong

pls squash as well

@jreback: the error occurs because the julian dates corresponding to 1,2 is out of the range that could be handled by pandas. Similar error also occurs when you try to set origin very high or low. e.g. origin='1001-01-01'.

@sumitbinnani that is not a very nice error, it should do something intelligent or a better error message.

lmk when you have updated

Hi @jreback, I could think of three places to raise the error:

in tools.py: to_datetime function
in tslib.pyx: array_to_datetime
in tslib.pyx: cast_from_unit (this is where the actual error occurs)

Let me know where do you think that it would be apt to raise the error?

I guess raising it in cast_from_unit should be a better option`as it would be more generic and can be useful for other cases also.

you just need to catch the error and raise something more useful
don't change anything lower level

@sumitbinnani pls rebase/update.

Can you also add a check for my comment above (https://github.com/pydata/pandas/pull/11470#issuecomment-211921005).
I think we should raise an error when origin is used when not passing integers.

@jorisvandenbossche: Sure... but there are some cases where it might be useful (we stored data with wrong epoch).

But if you have a full series of timestamps created with a wrong epoch, shouldn't you just do s + pd.Timedelta(..) instead of using to_datetime?

@jorisvandenbossche: would make necessary changes. Wasn't able to think that through.

@sumitbinnani if you can rebase and make the changes ASAP. ty.

@jreback: Facing difficulty with respect to error handling as a few cases haven't been handled in the existing version. See #13030.

go ahead and add whatever test u need assuming the other issue is fixed - u can comment it out or just assert things for now

ok I merged #13033
pls rebase on master and update as soon as possible.

Ok after my patch, these now have meaningful errors.
In [5]: pd.to_datetime([1,2],unit='D',origin='julian')
ValueError: cannot convert input with unit: D

In [6]: pd.to_datetime([1,2],unit='D',origin='julian',errors='coerce')
Out[6]: DatetimeIndex(['NaT', 'NaT'], dtype='datetime64[ns]', freq=None)

In [7]: pd.to_datetime([1,2],unit='D',origin='julian',errors='ignore')
Out[7]: Index([-2440586.5, -2440585.5], dtype='object')

I don't think you need to actually change any code except for adding some tests which assert these.
(aside from @jorisvandenbossche change).
for [5] you may want to catch this and raise with an even more meaningful message.

I fixed this up here: https://github.com/jreback/pandas/commit/0b8368daa5ff2d3de283eeb8601b896779e5ebbc
I think I introduced a bug when parsing valid units with NaT's that might be strings. So fixed here as well.
@jorisvandenbossche what was your comment above referring to?

@jreback which comment do you mean?

In [5]: pd.to_datetime([1,2],unit='D',origin='julian')
ValueError: cannot convert input with unit: D

@jreback why is 'unit D' not valid? You get a out of bounds date here, but that is not really clear from that message.

https://github.com/pydata/pandas/pull/11470#issuecomment-215332039

In [5]: pd.to_datetime([1,2],unit='D',origin='julian')
ValueError: cannot convert input with unit: D
@jreback why is 'unit D' not valid? You get a out of bounds date here, but that is not really clear from that message.

No this is exactly what I want to catch (then re-raise) but with a better error message. That is the underlying message propogating up.

On my comment above, my idea is to only allow origin when also unit is used/when the argument are integers (as I don't think other options make any sense, like pd.to_datetime('2012-01-01', origin='julian') makes no sense, so better to just disallow).
But I think your changes make that easier now.

No this is exactly what I want to catch (then re-raise) but with a better error message. That is the underlying message propogating up.

Not fully clear. Is the error message "cannot convert input with unit: D" the one you want to raise to the user, or the one you want to catch to re-raise with a better message?

So the issue with
In [3]: pd.to_datetime([1,2],origin='julian')
is its doing this computation.
In [8]: np.array([1, 2])-pd.Timestamp(0).to_julian_date()
Out[8]: array([-2440586.5, -2440585.5])

Which I am not sure what this should be

@jorisvandenbossche that is the one I want to catch (not this is ONLY for passing origin='julian' case)

In [14]: pd.to_datetime(pd.Timestamp(0).to_julian_date(),origin='julian',unit='D')
Out[14]: Timestamp('1970-01-01 00:00:00')

let me push the bug I found independtly. Then this can be revisited.

xref #13052

Was a bit occupied this weekend and seems I missed on a lot. This is what I need to submit:

Add testcases for OverflowError
Add check and testcases for combination of arg!=int and origin!=''unix"
Re-raise OutOfBoundsDatetime for ValueError

Correct me if I am going wrong somewhere.

@sumitbinnani OverflowError is no longer, its just a ValueError now. but yes, need some test cases.
otherwise yes.

@sumitbinnani can you rebase / update & address those issues as discussed. want to get this in as soon as possible.

Would submit the patch by the end of week. Sorry for the delay :-(

Facing a bit difficulty implementing check for origin and arg as suggested by @jorisvandenbossche. Any suggestions? @jreback?

@sumitbinnani can you show a concise example

(haven't checked this)
if origin != 'epoch':
    if not isinstance(arg, (int, np.integer)):
        raise ValueError("arg must be integer when origin is used")
    if origin == 'julian':
        if unit != 'D':
            raise ValueError("unit must be 'D' for origin='julian'")
        arg = arg - tslib.Timestamp(0).to_julian_date()
    else:
        offset = tslib.Timestamp(origin) - tslib.Timestamp(0)

@sumitbinnani can you rebase / update

@sumitbinnani can you update

@jreback: Sorry for the delay. I have been running busy, and am a bit occupied till July 20. Would make all the required changes by July 25. Once again sorry for the late communication.

@sumitbinnani can you rebase and update

@sumitbinnani if you'd like to rebase / update

@jreback: I have rebased the local branch but a few changes are pending. Owing to a bit gusy schedule, would make necessary changes starting July 20, and we would probably be able to close the issue by 25th. Sorry for the delay.

@sumitbinnani If you would have time to update this, very welcome

Almost done. Left with a few merge conflicts.

I hope all the cases have been accounted, @jorisvandenbossche @jreback?

Current coverage is 85.28% (diff: 100%)

Merging #11470 into master will increase coverage by <.01%

@@             master     #11470   diff @@
==========================================
  Files           139        139
  Lines         50011      50031    +20
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          42650      42669    +19
- Misses         7361       7362     +1
  Partials          0          0

Powered by Codecov. Last update 768bf49...ff3828e

Have updated the code to raise error for invalid origin. Also modified the test cases accordingly.

@sumitbinnani pls address the other comments

@sumitbinnani Do you have time to update for the latest comments?

Pertaining to check when origin='julian', how can I check whether the arg is an array of integer or float?
# usually busy during weekdays and hence the delay :-(

Pertaining to check when origin='julian', how can I check whether the arg is an array of integer or float?

Maybe this check is not needed. As there is already an informative message if you pass non-numeric values when unit is specified:
In [38]: pd.to_datetime(['2012-01-01'], unit='D')
...
ValueError: non convertible value 2012-01-01 with the unit 'D'

So I would just make sure that unit is not None if origin is specified.

usually busy during weekdays and hence the delay :-(

No problem! We will just keep pinging you from time to time :-)

does it look good, @jreback, @jorisvandenbossche?

does it look good, @jreback, @jorisvandenbossche?

Another issues: When trying to convert the number of days since year 1, you get:
In [13]: pd.to_datetime([2000*365], unit='D', origin='0001-01-01')
...
ValueError: Invalid 'origin' or 'origin' Out of Bound

so the origin itself is out of bound (even when the actual date (if converted) is not). That seems to limit the use of custom origins a bit. Could we solve this?
Problem is how to parse the string ...
@jreback Are there precedents in pandas where we try to deal with out of bounds datetimes?

Have rectified the mistake in example. Unsure about how to proceed for the aforementioned invalid-origin :-(

In [13]: pd.to_datetime([2000*365], unit='D', origin='0001-01-01')
...
ValueError: Invalid 'origin' or 'origin' Out of Bound

I think this is fine for now. We could make this happen, but the code then gets convoluted, but it is so rare as not to be important.
I would just assert that this example raises.

can you rebase / update?

@sumitbinnani Can you move the whatsnew notice to the v0.20.0.txt file? As 0.19.0 has been releases in the meantime (also, all the other changes in the 0.19.0.txt file should not be included in here)

@jorisvandenbossche The v0.19.0 had been reverted to the master. Changes added to v0.20.0.

Some examples that now go wrong:
In [1]: pd.to_datetime("2005-01-01", origin="1960-01-01")
Out[1]: Timestamp('1995-01-01 00:00:00')

In [2]: pd.to_datetime(1, origin="julian", unit='D')
...
OutOfBoundsDatetime: cannot convert input with unit 'D'

In [3]: pd.to_datetime(2456658, origin='julian', unit='D')
Out[3]: Timestamp('2013-12-31 00:00:00')

In [4]: pd.to_datetime(2456658, origin='0001-01-01', unit='D')
...
OutOfBoundsDatetime: cannot convert input with unit 'D'

So in In [1], this should raise, as the origin should only be used when having numeric input. In [2] is correct I think, but we should add a test for this that it indeed raises an OutOfBoundsDatetime error. In [4] should work (In [3] is just to show this is a number that is not out of bounds).

@sumitbinnani what I think you could do to simplify the code (having all handling of origin in one place) is the following: start with processing the origin keyword (and only do this for numerical input), convert it to an offset (according the the unit), and adapt the numerical input with this offset before further parsing it.
So something like (pseudocode)
if origin != 'epoch':
    if origin == 'julian':
        ... (what you already have in this case)
        arg = arg - tslib.Timestamp(0).to_julian_date()
    else:
        ... (parse origin and convert to correct number according to unit)
        arg = arg - offset

... (original code to parse `arg` (what you now put in the 'intermediate_result' function)

A way to deal with the out of bounds origin would be to use np.datetime64(dateutil.parser.parse(origin)), but it's OK to leave that for now.

can you rebase / update according to comments

@sumitbinnani I know this has been open a long time. can you rebase and we'll see if can get it in?
pls change release note to 0.20.0

@jreback There are quite a many changes. I would start clean and update asap. Sorry for the delay.

@sumitbinnani Useful feature so would be good to get this in

superseded by #15828
@sumitbinnani I rebase and updated your PR. thanks!


Support current CommissionRates in GetPoolInfo

Task description
Support the added field containing commission rates for the current reward period.
https://github.com/Concordium/concordium-node/issues/996

https://github.com/Concordium/concordium-java-sdk/pull/277


[Feature] PDF files located outside the vault

Discussed in https://github.com/RyotaUshio/obsidian-pdf-plus/discussions/60

Originally posted by @antomonte February 28, 2024
Hi,
your plugin is absolutely amazing!
Due to company privacy concerns, I try to avoid importing important PDFs into my vault.
Would it be possible to use the plugin with PDF files outside our vaults? (just located at our hard drives or company's cloud)
Best regards

This is HUGE!
Work-in-progress docs page: https://ryotaushio.github.io/obsidian-pdf-plus/external-pdf-files

Beta-released as 0.38.0-beta.
It seems to be working but there can be some bugs

I'm not able to install it through BRAT.

Try to insert this link:
https://github.com/RyotaUshio/obsidian-pdf-plus

When I do like that, I'm receiving every time this warning (Windows)

... and doesn't allow to activate it 😞
Any other idea?

This is a false positive (false alarm) by your antivirus.
Mr. Ushio would never integrate malware in his plugins.
You can add the pdf++ folder (....obsidian\plugins\pdf-plus) here as an exclusion in the windows defender settings:
https://support.microsoft.com/en-us/windows/add-an-exclusion-to-windows-security-811816c0-4dfd-af4a-47e4-c301afe13b26

I have no admin privileges to change such settings, so probably I'll not be able to use the plugin as long as the false positive is arisen 😭

If I upload the pdf++ files to virustotal.com no vendors has flagged this files malicious.
So windows defender itself doesn't flag this files as malicious.
So there are no false positives.
So the problem must be on your side.
Maybe you haven't update your antivirus definitions or other system components of windows in a while?

I'm not blaming these files in any manner. Most surely is what you say about the old database of that antivirus, but I cannot do anything with it, as it is a company laptop with many restrictions.

@antomonte Can you try manual installation?

Go to https://github.com/RyotaUshio/obsidian-pdf-plus/releases/tag/0.38.0-beta3
From the "Assets" section, download 3 files main.js, styles.css and manifest.json and put them under .obsidian\plugins\pdf-plus.
Restart Obsidian

If it still fails, I'm totally okay with releasing it to the community plugin browser.

I've just released 0.38.0 to the official plugin browser so you'll be able to install it as usual.
Any feedback or comment about this new experimental feature is welcomed.

Thanks for this feature.
I was able to manually create a dummy pdf file with the a link to a local file in it. All the commands associated with your new feature are running fine in my vault.
But one thing does not work on my side (tested in a sanboxed vault on windows):
It's the command for the automatic dummy creation with this settings:

The problem ist that no dummy files were created after clicking "create".
But as I said above, with the manually created dummy files the things are working great.

One idea for this dummy creation prompt is to add another button: "create+open". That would be great because we don't have to manually navigate to the folder after the creation.

@N3C2L Thanks for reporting! To me testing on Windows is a bit hard so I really appreciate this kind of reports.
I guess I was able to fix this, can you try 0.38.3?
https://github.com/RyotaUshio/obsidian-pdf-plus/releases/tag/0.38.3

About "Create & open", I have tried that before but had some problems that I couldn't resolve. I will add it when I figure it out.

Thank you very much, it's working fine now!
Very useful for keeping the vault small sized (as you pointed out in your readme).
3,79 megabyte file size of the original PDF vs 65 byte file size with the dummy file. This is insane!

Works like a charm!!!  Many thanks @RyotaUshio !!!

You can now use a bookmarklet to quickly create dummy files from your browser: https://ryotaushio.github.io/obsidian-pdf-plus/bookmarklet-to-create-dummy-pdf-files.html
@N3C2L  From 0.38.5, the created dummy file is automatically opened (with some limitations: see release note).
@antomonte Glad it worked out for you! Thanks for the idea 🙏
I will close this issue, but feel free to create a new one if you have any suggestions. Thanks!

@N3C2L From 0.38.5, the created dummy file is automatically opened (with some limitations: see release note).

Thanks for the auto-opening feature after creation.
I tested it (with new version 38.6) and it works great if the currently opened tab is a .md file.
However if the currently open tab is either a canvas file, an exalidraw file or a tab with the graph view open, then the dummy file will be created, but the opened file is blank in the pdf viewer.
Tested in a sandbox vault with no plugins on windows.

Thanks, file opening is temporarily disabled in 0.38.7. I will fix this as soon as possible.

Memo for the future myself: it turned out that it was due to ObsidianViewer.open was not called before PDFViewerChild.loadFile's promise resolves

It should be fine in the latest version.

Thanks again for the feedback!

How do I get this to work with a PDF on my PC but not in my vault? What syntax should I be using?

It's documented here: https://ryotaushio.github.io/obsidian-pdf-plus/external-pdf-files.html#:~:text=and so on.-,Create dummy files from the command,-PDF%2B%2B offers an
But thanks for your sharing!


Change password

Added Password Reset Functionality

Codecov Report

Merging #279 into rails will decrease coverage by 1.37%.
The diff coverage is 93.85%.

@@            Coverage Diff             @@
##            rails     #279      +/-   ##
==========================================
- Coverage   98.99%   97.61%   -1.38%
==========================================
  Files          16       24       +8
  Lines         992     1173     +181
==========================================
+ Hits          982     1145     +163
- Misses         10       28      +18

Impacted Files
Coverage Δ

app/mailers/password_reset_mailer.rb
100% <100%> (ø)

app/mailers/application_mailer.rb
100% <100%> (ø)

test/models/password_reset_request_test.rb
100% <100%> (ø)

app/models/password_reset_request.rb
100% <100%> (ø)

.../controllers/password_reset_requests_controller.rb
84.61% <84.61%> (ø)

test/controllers/users_controller_test.rb
92.15% <92.15%> (ø)

app/controllers/users_controller.rb
68.42% <94.73%> (ø)

... and 5 more

Continue to review full report at Codecov.

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


Perform arp configuration for plugin-connected containers

Fixes #1726, the last remaining part.
Note that we are only reacting to container start events, so not doing the arp stuff when a user docker network connects a container.  See #1914

There is the usual race arising from Docker sending the start event before actually starting the process.  But we have to receive the event and complete the DNS-add http call before the interface is in place to lose the race.


docs(app): update back button description

Ionic Framework does not automatically exit the application when on the root page. We encourage developers to implement this logic on a per-app basis: https://ionicframework.com/docs/developing/hardware-back-button#exiting-the-app

Thanks for the PR.
Plugin docs are generated from the plugin's readme
https://github.com/ionic-team/capacitor-plugins/blob/main/app/README.md
And README has parts generated from the types, so this should be changed on the plugin types
https://github.com/ionic-team/capacitor-plugins/blob/main/app/src/definitions.ts#L138
Has it always been like this or it was changed on Ionic?


Add high level and safe API

This PR adds a wrapper high-level and safe rust API for the generated rust bindings.
The key changes

Change the generated types and functions to private, such as wasi_ephemeral_nn::*.
Add high-level API.
Update the example code and add library documents.

Details
For Convenience

Add Error and BackendError enum for error handling, and introduce a dependency thiserror.   (replace NnErrno)
Add GraphEncoding, ExecutionTarget, and TensorType enum to replace the corresponding types in generated.rs.
Add GraphBuilder to build Graph instances, the methods can be chained on it in order to configure the graph conveniently.
Use the generic parameter type function for set_input and get_output, so users can use a lot of types as parameters, such as [f32], [u8], Vec<f32>, Vec<u8>, etc.

For Safety

Users cannot use raw pointers anymore.
Add a lifetime parameter for GraphExecutionContext, it cannot live longer than Graph.
Change the GraphExecutionContext as &mut self when running set_input and compute.

Misc

Update the example rust/examples/classification-example/src/main.rs to adapt the high-level API.
Add the documents for the library and structures, so the users can see them in docs.rs.
Set the build targets in Cargo.toml for docs.rs.
Add .cargo/config.toml to set the default build/publish target to wasm32-wasi.

This is a part work of WasmEdge's LFX mentorship, Thanks.

Thanks for the submission! I will take a look at this tomorrow.


JDK 17

Fixes #6661

Some test failures, but generally sbt seems to be functioning ok -- sans the warning about security manager.
[error] (scripted) Failed tests:
[error]   classloader-cache/spark
[error]   compiler-project/run-test
[error]   dependency-graph/ignoreScalaLibrary
[error]   dependency-graph/toFileSubTask
[error]   project/unified


linux: add a few kTLS defintions

related: https://github.com/nix-rust/nix/pull/2065
i think android has support, too, but if I put it in linux-like does that imply emscripten support?

Thanks @gennyble for opening this!
I need this PR + a point release to (ultimately) land https://github.com/nix-rust/nix/pull/2065 which in turn unblocks doing in-kernel TLS properly from rust with tokio, cf. https://github.com/hapsoc/ktls/pull/26
(I know, exciting!)

TLS_GET_RECORD_TYPE is from a kernel header which might not be available where libc is built. What would you like me to do here?
I see a skip might be an option here?

@JohnTitor would it be possible to get a look at this? Maybe from another maintainer, if you're not able to?

TLS_GET_RECORD_TYPE is from a kernel header which might not be available where libc is built. What would you like me to do here?
I see a skip might be an option?

Correct.

Instead of skipping I added the header to the linux kernel headers for libc-test.
@rustbot review

Cool, thanks! @bors r+

:pushpin: Commit 94cfcd2d50b301f1549cf4d426eb0abe6d34eac2 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 94cfcd2d50b301f1549cf4d426eb0abe6d34eac2 with merge af676d102b238ea605cb7bdbe61ffac7903b7c51...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing af676d102b238ea605cb7bdbe61ffac7903b7c51 to main...

Thanks for getting this merged! When can we expect this to be included in a crates.io release of libc ? (So we can bump the version nix relies on)

@JohnTitor the latest libc release was cut on June 25, 2023 - I think this means this PR still isn't on crates.io? The problem is we're trying to use those new additions from https://lib.rs/crates/nix, so a git dependency isn't really an option here.


Download databases

I 'm a Microbiology student ，recently，I learn the software SURPI to analysis the major about  pathogenic microorganism ，when I download the chiulab database , I find the database disappear "https://chiulab.ucsf.edu/SURPI/databases" , I need your team help ，thanks

Me too. thanks

Me too.thanks

I have the same issue, would you please let me know what is the solution? Thank you.

the same issue, what is the solution?.thanks


func support json_contains_path function

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Make sure that Set-PsEnv works cross-platform.

Will eventually migrate away from this tool, so don't worry about this.


Feature/to tensorflow

We now have a fully-fledged example for domain adaptation working, including complicated stuff such as:
Cartesian product dataset composition, filter dependent sampling/splitting, and automatic conversion to tensorflow.data.Dataset
See the commit log for more details.

Codecov Report

Merging #10 into master will decrease coverage by 0.22%.
The diff coverage is 98.89%.

@@            Coverage Diff             @@
##           master      #10      +/-   ##
==========================================
- Coverage   99.01%   98.79%   -0.23%
==========================================
  Files           6       15       +9
  Lines         405     1241     +836
==========================================
+ Hits          401     1226     +825
- Misses          4       15      +11

Flag
Coverage Δ

#unittests
98.79% <98.89%> (-0.23%)
:arrow_down:

Impacted Files
Coverage Δ

setup.py
0.00% <ø> (ø)

src/mldatasets/types.py
100.00% <ø> (ø)

src/mldatasets/abstract.py
90.00% <81.81%> (ø)

src/mldatasets/examples.py
95.45% <95.45%> (ø)

src/mldatasets/dataset.py
98.66% <97.98%> (ø)

src/mldatasets/compose.py
100.00% <100.00%> (ø)

src/mldatasets/function_dataset.py
100.00% <100.00%> (ø)

src/mldatasets/loaders.py
96.10% <100.00%> (ø)

tests/mldatasets/test_FunctionDataset.py
98.11% <100.00%> (ø)

tests/mldatasets/test_compose.py
100.00% <100.00%> (ø)

... and 16 more

Continue to review full report at Codecov.

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


Initial Grammar for generics in TIL

Relates to #47 and #108

For the time being, these are the generic parameters supported by the Tydi IR, and by extension by TIL:
Behavioral
Behavioral generics are propagated as parameters to the emitted component, but are not otherwise reflected by the Tydi interfaces.
E.g., a "buffer" component might have a "size" parameter, which affects the size of its register, but does not change its interface.
There is one kind of behavioral parameter supported, with three subclasses:

Integer

Integer (any integer)
Natural (0, or positive integer)
Positive (positive integer)

Interface
Interface generics do affect the Tydi interfaces of the component.
E.g., an "adder" component might support adding two values of arbitrary (but identical) bit widths "width". Or a component may be able to handle arbitrary dimensionality.
There is currently one kind of interface generic supported:

Dimensionality (must be >=2, for correct generation)

Declaration of generics
Types
Generics in types are always interface generics. They are declared as type identifier<generic_definition(, generic definition, ...)> = Type(... generic_identifier ... )
Where generic definition is represented as generic_identifier: generic_type = default_value(; condition)
Default values are required
For example:

type dim_stream<d: dimensionality = 4; > 3 and < 10> = Stream(..., dimensionality: d, ...);
type dim_stream<d: dimensionality = default_value> = Stream(..., dimensionality: d, ...);

If a type includes another generic type, the parameter for that type must be assigned. Parameter assignments must either be ordered to match the order in which the parameters were declared (<assignment1, assignment2>), or may be unordered when the parameter's identifier is assigned directly (<param2 = assignment2, param1 = assignment1>).
Alternatively, it's possible to not assign the parameters, and leave their default values.
E.g.:

type fixed_stream = Stream(..., data: dim_stream<6>, ...);
type fixed_stream = Stream(..., data: dim_stream<d = 6>, ...);
type nested_generic_stream<a: dimensionality = 5; > 3 and < 10> = Stream(..., data: dim_stream<a>, ...);
type nested_generic_stream<a: dimensionality = 5> = Stream(..., data: dim_stream<d = a>, ...);
type default_stream = Stream(..., data: dim_stream, ...);
type combined_stream<a: dimensionality = 3; > 2 and < 9> = Stream(..., data: dim_stream<d = a + 1>, ...);

When emitted, only the top-level parameters are surfaced. Their assignment instead replaces the value of the inner parameter.
(E.g., when the inner type has a parameter a, but the outer type assigns it its own parameter b, and the interface parameter c assigns b, the VHDL interface will only include the generic parameter c.)
Interfaces (and Streamlets)
Interfaces and Streamlets are declared in a similar way to types, and have similar assignment logic. However, their generic parameters are part of the interface expression, instead of the declaration, and cannot be re-assigned or changed with subsequent declarations, matching how domains are treated. (This will probably change in the future.)
The other difference is that they also support behavioral generics. Behavioral generics also support conditions, but do not need to be used in any types/ports.
E.g.:
interface some_interface = <i: positive = 1>();
As there is no support for modifying parameters on declaration, a subsequent declaration will simply appear as:
streamlet some_streamlet = some_interface "./implementation_dir";
Which will still surface the parameter i.
It is not (currently) possible to do:
streamlet some_streamlet = some_interface<2> "./implementation_dir";
or
streamlet some_streamlet = <j: positive = 2>some_interface<j> "./implementation_dir";
(But given enough time, this would certainly be a valuable addition.)

Instantiation of Streamlets with generic parameters
Structural implementations will be able to assign the generic parameters of Streamlets when instantiating them, not unlike domains.
Generic parameters do not need to be assigned, as they are required to have default values.
Generic parameters may be assigned either by supplying values in the order of the declared parameters, or by assigning them by name, or a mixture of the two. (<a1, a2, a3>, <p3=a3, p2=a2, p1=a1>, or <a1, p3=a3, p2=a2>)
Generic parameters may be assigned either using fixed values, parameters, or (currently solely mathematical) combinations of the aforementioned. (<a1 + 1 - a2>, <1 * 2>) Backends will attempt to propagate these combinations directly (i.e., they will not be evaluated).
Generic parameters may be assigned different values for different instantiations:
a = generic_streamlet<p1 = 1>;
b = generic_streamlet<p1 = 2>;

Example
namespace test {
    type stream<d: dimensionality = 2> = Stream (
        data: Bits(8),
        throughput: 2.0, // 1.0 by default
        dimensionality: d,
        synchronicity: Sync,
        complexity: 4,
        direction: Forward, // Forward by default
        user: Null, // Null by default
        keep: false, // false by default
    );
    streamlet generic_streamlet = <d: dimensionality = 3, i: positive = 1>(a: in stream<d>, b: out stream<d>);
    streamlet struct_streamlet = <g: dimensionality = 5, j: positive = 1>() {
        impl: {
            a = generic_streamlet<g, j>;
            b = generic_streamlet<g, j+1>;
            a.a -- b.b;
            a.b -- b.a;
        }
    };
}

Condition Grammar
Conditions only apply to the parameter being declared, it is not possible to refer to other parameters in conditions (at this time).
Integer/number conditions

> * -  Greater than
< * - Lesser than
>= * - Greater than or equal to
<= * - Lesser than or equal to

E.g.:
i: integer =  5; > 4
General conditions (equality)

= - Equals
in(*, *, *, *, ...) - Is subset of (Note: dangling commas are allowed, as always)

E.g.:

i: integer =  5; = 5
i: integer =  5; in(3, 4, 5, 7, 8, 10)

Combining/modifying conditions

not * - Invert condition
* or * - True if the left or right side is true
* and * - True if both the left and right side are true
(*) - Parentheses, allows for a modification/clarification of the order of operations (which is left associative by default)

E.g.:
i: integer =  5; (= 5 or = 6) or (> 1 and <= 4) or not = 10

Everything but conditions has been implemented with #126
There's currently an issue with how mathematical expressions are evaluated, though. In that precedence and order of operations aren't properly implemented.
(E.g., 6 - 6 - 6 might be interpreted as 6 - (6 - 6).)
That said, it should be sufficient for now.


Support for different collect intervals

We would like to collect some of our metrics more frequently than others. Hence we would like support for specifying different collect intervals.
If we can agree on how it should work we are prepared to implement it. The most simple solution I see is to allow for an override on query and invocation elements:
<query objectName="java.lang:type=Threading" attribute="ThreadCount" resultAlias="jvm.thread"
  collectIntervalInSeconds="10"/>

This override would be used when specified. The default would be used for queries which do not have an override.
Another option would to add support for groups of queries/invocations where some configuration parameters could be overridden on group level. Something like:
<queries>
  <group name="foo">
    <query ... />
    <invocation ... />
    <collectIntervalInSeconds>10</collectIntervalInSeconds>
  </group>
  <group name="bar">
  ...
  </group>
  <!-- defaults -->
  <collectIntervalInSeconds>20</collectIntervalInSeconds>
</queries>

While I can see the benefits of groups in overriding other parameters (e.g. distinct output writers per group), it is a larger change which adds a bit of complexity.
Any thoughts on this?

@cyrille-leclerc I am probably going to work on this shortly. What are your thoughts? I'm leaning towards supporting a collectIntervalInSeconds override on query/invocation elements.

Thanks!
FYI I am working on introducing the Resource API (HTTP, Classpath & File
System).
Cyrille
On Thu, Feb 4, 2016 at 4:22 PM, Kristoffer Erlandsson <
<EMAIL_ADDRESS>wrote:

@cyrille-leclerc https://github.com/cyrille-leclerc I am probably going
to work on this shortly. What are your thoughts? I'm leaning towards
supporting a collectIntervalInSeconds override on query/invocation
elements.
—
Reply to this email directly or view it on GitHub
https://github.com/jmxtrans/jmxtrans-agent/issues/56#issuecomment-179896752
.

--
Cyrille Le Clerc
email & gtalk<EMAIL_ADDRESS>/ mob: +33-<IP_ADDRESS>.86 / skype:
cyrille.leclerc
CloudBees, Inc
www.cloudbees.com

Implemented in 1.2.3.


Copy/Pasting text to Google Docs or other word processor carries over color formatting

Text copied from the Grammarly editor to another word processor is formatted as white text when pasted.

Would you like to show more details on that to help me with fixing that?

Sure, what do you need from me?
The issue is the dark mode changes the actual properties of the text color,
and that change is preserved in the formatting of the text when pasted to
another word processor.
On Mon, Sep 21, 2020 at 12:15 AM Bart<EMAIL_ADDRESS>wrote:

Would you like to show more details on that to help me with fixing that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bartzalewski/grammarly-dark/issues/7#issuecomment-695892310,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARBWWIUWXUQYILG2ISK6MBTSG3HMNANCNFSM4RSOVC2A
.

Just press Ctrl + Shift + V when pasting, to remove the formatting this extension gives.

👍
On Thu, Nov 5, 2020 at 9:19 PM xd-arsenic<EMAIL_ADDRESS>wrote:

Just press Ctrl + Shift + V when pasting, to remove the formatting this
extension gives.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bartzalewski/grammarly-dark/issues/7#issuecomment-722767333,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARBWWIRT7XI6BZWA5DNMP4TSONMMHANCNFSM4RSOVC2A
.


Updated shortcut controls based on https://github.com/lewish/asciiflow/pull/212

Branched from https://github.com/lewish/asciiflow/pull/212

Changes rendering / layout
Hides shortcut buttons until alt is pressed
Adds help text for shortcuts
Prevents default alt + number behaviour on chrome that switches tabs

@ade-sede FYI!

Looks like this when alt is pressed:

Looks like normal otherwise:

This looks very good !


NativeImageLoader crashes JVM for empty InputStreams

Issue Description
The JVM crashes when an empty InputStream is given to NativeImageLoader.asImageMatrix().
The problem is in streamToMat() (line 290) where the result of InputStream.read() is not checked for -1 which indicates end of file.
Version Information
Occurs in datavec-data-image-1.0.0-beta5.jar (from Maven) used by Deeplearning4j version 1.0.0-beta5.
Additional Information
Head of a hs_err_pid12345.log file:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffcc99f4a0a, pid=13580, tid=12348
#
# JRE version: OpenJDK Runtime Environment (11.0.1+13) (build 11.0.1+13)
# Java VM: OpenJDK 64-Bit Server VM (11.0.1+13, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [msvcrt.dll+0x74a0a]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -ea -Dfile.encoding=ISO-8859-1 com.subshell.sophora.aiimagevariants.TrainFromImages http://trunk:1196 admin admin sophora-extension-nt:image big

Host: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz, 8 cores, 31G,  Windows 10 , 64 bit Build 18362 (10.0.18362.329)
Time: Mon Dec  9 11:23:08 2019 Mitteleuropäische Zeit elapsed time: 11 seconds (0d 0h 0m 11s)

---------------  T H R E A D  ---------------

Current thread (0x0000027b39051800):  JavaThread "ADSI prefetch thread" daemon [_thread_in_native, id=12348, stack(0x000000b518700000,0x000000b518800000)]

Stack: [0x000000b518700000,0x000000b518800000],  sp=0x000000b5187fefd8,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [msvcrt.dll+0x74a0a]
C  [jniopenblas_nolapack.dll+0x2b290]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.bytedeco.javacpp.BytePointer.put([BII)Lorg/bytedeco/javacpp/BytePointer;+0
j  org.datavec.image.loader.NativeImageLoader.streamToMat(Ljava/io/InputStream;)Lorg/bytedeco/opencv/opencv_core/Mat;+66
j  org.datavec.image.loader.NativeImageLoader.asImageMatrix(Ljava/io/InputStream;)Lorg/datavec/image/data/Image;+2
j  com.subshell.sophora.aiimagevariants.network.SophoraUuidObjectDetectionRecordReader.next(I)Ljava/util/List;+239
j  org.deeplearning4j.datasets.datavec.RecordReaderMultiDataSetIterator.next(I)Lorg/nd4j/linalg/dataset/api/MultiDataSet;+126
j  org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next(I)Lorg/nd4j/linalg/dataset/DataSet;+64
j  org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next()Lorg/nd4j/linalg/dataset/DataSet;+5
j  org.deeplearning4j.datasets.datavec.RecordReaderDataSetIterator.next()Ljava/lang/Object;+1
j  org.nd4j.linalg.dataset.AsyncDataSetIterator$AsyncPrefetchThread.run()V+108
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), writing address 0x0000027b59a5aff0

Workaround
Filter empty data before giving it to the NativeImageLoader (either when creating the Iterator from the InputSplit or directly for the InputSplit).

Thanks for reporting - it has been fixed here - https://github.com/KonduitAI/deeplearning4j/pull/121
Will be merged back to eclipse soon and will be in the upcoming 1.0.0-beta6 release.
I just added a check + exception for this.

Thx for the quick fix!


v20160125 / v20160201 missing in Binary-Downloads

v20160125 broke usages of glob patterns so it was rolled back. Hopefully we will release another version soon. See https://groups.google.com/forum/m/#!topic/closure-compiler-discuss/85OnmHMjytY.

Thanks

@tdelmas v20160208 is out at https://github.com/google/closure-compiler/wiki/Binary-Downloads#v20150208

Thank you for the follow up !
Le 9 févr. 2016 19:33, "Michael Zhou"<EMAIL_ADDRESS>a écrit :

@tdelmas https://github.com/tdelmas v20160208 is out at
https://github.com/google/closure-compiler/wiki/Binary-Downloads#v20150208
—
Reply to this email directly or view it on GitHub
https://github.com/google/closure-compiler/issues/1498#issuecomment-181994786
.


@zeit/next-bundle-analyzer vulnerability

npm reports security vulnerability, can you update please?

See https://github.com/zeit/next-plugins/tree/master/packages/next-bundle-analyzer


Update TE-11.2

Changes:

We'd like the traffic goes from one VRF to another VRF, instead of all happening in the DEFAULT VRF.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.219%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1181

Relevant Lines:
2064

💛  - Coveralls

These asks have been addressed in https://github.com/openconfig/featureprofiles/pull/1181. Closing this PR as requested.


cmd/link: test TestPIESize fails for ppc64le added in CL 208897

cmd/link test TestPIESize fails on tip on the ppc64le builders, both power8 and power9.
On some systems, it fails consistently after this test was added. On some systems, which have newer distros it passes. On the dashboard, it didn't start failing until a few commits after that test was added, not sure why.
When it works for me, ld is >= 2.31. It works for me on a Debian Buster machine with gcc 8.3.0 and ld 2.31 and I thought that was what the builders were using so that's a mystery too. The failures occur when ld <= 2.30. Possibly this is related to which systems have gcc pass -pie by default to ld but haven't verified that. @ianlancetaylor

Yeah, I'm looking at it.

The test starts to fail after I checked in CL https://go-review.googlesource.com/c/go/+/209659, which doesn't seem to be quite related. That CL could make the file size increases or decreases slightly (as it changes some PCDATA), for both exe and pie.
What seems weird to me is that the file size of PIE binary increases significantly, but none of the sections' sizes actually increase much. For example, the sizes reported by the size command is actually very close.
ls -l (the first is old, the second is new):
-rwxr-xr-x 1 root root 2527816 Dec  6 19:21 /tmp/go-link-TestPieSize-external318734918/pieexternal
-rwxr-xr-x 1 root root 2593272 Dec  6 19:12 /tmp/go-link-TestPieSize-external338302853/pieexternal

Difference is 65456.
size command:
   text	   data	    bss	    dec	    hex	filename
1183569	 738251	 247224	2169044	 2118d4	/tmp/go-link-TestPieSize-external318734918/pieexternal
1183569	 742859	 247224	2173652	 212ad4	/tmp/go-link-TestPieSize-external338302853/pieexternal

Difference is 4608.
readelf -S output are attached at the end. .data.rel.ro section size increases slightly due to PCDATA change, which should be fine.
old:
  [21] .data.rel.ro      PROGBITS<PHONE_NUMBER>1312c0  001212c0
<PHONE_NUMBER>09ea13<PHONE_NUMBER>000000  WA       0     0     32

new:
  [21] .data.rel.ro      PROGBITS<PHONE_NUMBER>1400c0  001300c0
<PHONE_NUMBER>09fc13<PHONE_NUMBER>000000  WA       0     0     32

What's interesting is that the file offset of .tbss section changes significantly, even all the previous sections sizes and offsets are identical, and the alignments of all the sections are identical and small.
old:
  [17] .eh_frame         PROGBITS<PHONE_NUMBER>120edc  00120edc
<PHONE_NUMBER>000310<PHONE_NUMBER>000000   A       0     0     4
  [18] .tbss             NOBITS<PHONE_NUMBER>1312b0  001212b0
<PHONE_NUMBER>000010<PHONE_NUMBER>000000 WAT       0     0     8

new:
  [17] .eh_frame         PROGBITS<PHONE_NUMBER>120edc  00120edc
<PHONE_NUMBER>000310<PHONE_NUMBER>000000   A       0     0     4
  [18] .tbss             NOBITS<PHONE_NUMBER>1400b0  001300b0
<PHONE_NUMBER>000010<PHONE_NUMBER>000000 WAT       0     0     8

@ianlancetaylor any idea why the file offset changes so much?
If the external linker could just leave holes in the binaries, I wonder if we want to check the sizes of all the sections, instead of file sizes?
===========================
Full readelf -S output:
old:
File: pieexternal
There are 45 section headers, starting at offset 0x268708:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL<PHONE_NUMBER>000000  00000000
<PHONE_NUMBER>000000<PHONE_NUMBER>000000           0     0     0
  [ 1] .interp           PROGBITS<PHONE_NUMBER>000270  00000270
<PHONE_NUMBER>000011<PHONE_NUMBER>000000   A       0     0     1
  [ 2] .note.ABI-tag     NOTE<PHONE_NUMBER>000284  00000284
<PHONE_NUMBER>000020<PHONE_NUMBER>000000   A       0     0     4
  [ 3] .note.go.buildid  NOTE<PHONE_NUMBER>0002a4  000002a4
<PHONE_NUMBER>000064<PHONE_NUMBER>000000   A       0     0     4
  [ 4] .note.gnu.build-i NOTE<PHONE_NUMBER>000308  00000308
<PHONE_NUMBER>000024<PHONE_NUMBER>000000   A       0     0     4
  [ 5] .gnu.hash         GNU_HASH<PHONE_NUMBER>000330  00000330
<PHONE_NUMBER>0000f0<PHONE_NUMBER>000000   A       6     0     8
  [ 6] .dynsym           DYNSYM<PHONE_NUMBER>000420  00000420
<PHONE_NUMBER>0005d0<PHONE_NUMBER>000018   A       7     3     8
  [ 7] .dynstr           STRTAB<PHONE_NUMBER>0009f0  000009f0
<PHONE_NUMBER>000354<PHONE_NUMBER>000000   A       0     0     1
  [ 8] .gnu.version      VERSYM<PHONE_NUMBER>000d44  00000d44
<PHONE_NUMBER>00007c<PHONE_NUMBER>000002   A       6     0     2
  [ 9] .gnu.version_r    VERNEED<PHONE_NUMBER>000dc0  00000dc0
<PHONE_NUMBER>000040<PHONE_NUMBER>000000   A       7     2     8
  [10] .rela.dyn         RELA<PHONE_NUMBER>000e00  00000e00
<PHONE_NUMBER>06afb0<PHONE_NUMBER>000018   A       6     0     8
  [11] .rela.plt         RELA<PHONE_NUMBER>06bdb0  0006bdb0
<PHONE_NUMBER>000258<PHONE_NUMBER>000018  AI       6    24     8
  [12] .init             PROGBITS<PHONE_NUMBER>06c020  0006c020
<PHONE_NUMBER>00005c<PHONE_NUMBER>000000  AX       0     0     32
  [13] .text             PROGBITS<PHONE_NUMBER>06c080  0006c080
<PHONE_NUMBER>0978f4<PHONE_NUMBER>000000  AX       0     0     32
  [14] .fini             PROGBITS<PHONE_NUMBER>103974  00103974
<PHONE_NUMBER>000024<PHONE_NUMBER>000000  AX       0     0     4
  [15] .rodata           PROGBITS<PHONE_NUMBER>1039a0  001039a0
<PHONE_NUMBER>01d490<PHONE_NUMBER>000000   A       0     0     32
  [16] .eh_frame_hdr     PROGBITS<PHONE_NUMBER>120e30  00120e30
<PHONE_NUMBER>0000ac<PHONE_NUMBER>000000   A       0     0     4
  [17] .eh_frame         PROGBITS<PHONE_NUMBER>120edc  00120edc
<PHONE_NUMBER>000310<PHONE_NUMBER>000000   A       0     0     4
  [18] .tbss             NOBITS<PHONE_NUMBER>1312b0  001212b0
<PHONE_NUMBER>000010<PHONE_NUMBER>000000 WAT       0     0     8
  [19] .init_array       INIT_ARRAY<PHONE_NUMBER>1312b0  001212b0
<PHONE_NUMBER>000008<PHONE_NUMBER>000008  WA       0     0     8
  [20] .fini_array       FINI_ARRAY<PHONE_NUMBER>1312b8  001212b8
<PHONE_NUMBER>000008<PHONE_NUMBER>000008  WA       0     0     8
  [21] .data.rel.ro      PROGBITS<PHONE_NUMBER>1312c0  001212c0
<PHONE_NUMBER>09ea13<PHONE_NUMBER>000000  WA       0     0     32
  [22] .dynamic          DYNAMIC<PHONE_NUMBER>1cfcd8  001bfcd8
<PHONE_NUMBER>000210<PHONE_NUMBER>000010  WA       7     0     8
  [23] .got              PROGBITS<PHONE_NUMBER>1cff00  001bff00
<PHONE_NUMBER>000048<PHONE_NUMBER>000008  WA       0     0     256
  [24] .plt              NOBITS<PHONE_NUMBER>1d0000  001bff48
<PHONE_NUMBER>0000d8<PHONE_NUMBER>000008  WA       0     0     8
  [25] .data             PROGBITS<PHONE_NUMBER>1d00e0  001c00e0
<PHONE_NUMBER>007730<PHONE_NUMBER>000000  WA       0     0     32
  [26] .go.buildinfo     PROGBITS<PHONE_NUMBER>1d7810  001c7810
<PHONE_NUMBER>000020<PHONE_NUMBER>000000  WA       0     0     16
  [27] .noptrdata        PROGBITS<PHONE_NUMBER>1d7840  001c7840
<PHONE_NUMBER>00e000<PHONE_NUMBER>000000  WA       0     0     32
  [28] .bss              NOBITS<PHONE_NUMBER>1e5840  001d5840
<PHONE_NUMBER>02fb08<PHONE_NUMBER>000000  WA       0     0     32
  [29] .noptrbss         NOBITS<PHONE_NUMBER>215360  001d5840
<PHONE_NUMBER>00c9c8<PHONE_NUMBER>000000  WA       0     0     32
  [30] .comment          PROGBITS<PHONE_NUMBER>000000  001d5840
<PHONE_NUMBER>00001c<PHONE_NUMBER>000001  MS       0     0     1
  [31] .zdebug_aranges   PROGBITS<PHONE_NUMBER>000000  001ffa30
<PHONE_NUMBER>000084<PHONE_NUMBER>000000           0     0     16
  [32] .zdebug_pubnames  PROGBITS<PHONE_NUMBER>000000  001ffab4
<PHONE_NUMBER>0021f3<PHONE_NUMBER>000000           0     0     1
  [33] .zdebug_info      PROGBITS<PHONE_NUMBER>000000  00201ca7
<PHONE_NUMBER>02fe4a<PHONE_NUMBER>000000           0     0     1
  [34] .zdebug_abbrev    PROGBITS<PHONE_NUMBER>000000  00231af1
<PHONE_NUMBER>00038b<PHONE_NUMBER>000000           0     0     1
  [35] .zdebug_line      PROGBITS<PHONE_NUMBER>000000  00231e7c
<PHONE_NUMBER>015271<PHONE_NUMBER>000000           0     0     1
  [36] .zdebug_frame     PROGBITS<PHONE_NUMBER>000000  002470ed
<PHONE_NUMBER>004a47<PHONE_NUMBER>000000           0     0     1
  [37] .zdebug_str       PROGBITS<PHONE_NUMBER>000000  0024bb34
<PHONE_NUMBER>0003ad<PHONE_NUMBER>000001  MS       0     0     1
  [38] .zdebug_loc       PROGBITS<PHONE_NUMBER>000000  0024bee1
<PHONE_NUMBER>012eae<PHONE_NUMBER>000000           0     0     1
  [39] .zdebug_pubtypes  PROGBITS<PHONE_NUMBER>000000  0025ed8f
<PHONE_NUMBER>00323b<PHONE_NUMBER>000000           0     0     1
  [40] .zdebug_ranges    PROGBITS<PHONE_NUMBER>000000  00261fca
<PHONE_NUMBER>006530<PHONE_NUMBER>000000           0     0     1
  [41] .debug_gdb_script PROGBITS<PHONE_NUMBER>000000  002684fa
<PHONE_NUMBER>000028<PHONE_NUMBER>000000           0     0     1
  [42] .symtab           SYMTAB<PHONE_NUMBER>000000  001d5860
<PHONE_NUMBER>016188<PHONE_NUMBER>000018          43   3712     8
  [43] .strtab           STRTAB<PHONE_NUMBER>000000  001eb9e8
<PHONE_NUMBER>01403d<PHONE_NUMBER>000000           0     0     1
  [44] .shstrtab         STRTAB<PHONE_NUMBER>000000  00268522
<PHONE_NUMBER>0001e4<PHONE_NUMBER>000000           0     0     1

new:
File: pieexternal
There are 45 section headers, starting at offset 0x2786b8:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
  [ 0]                   NULL<PHONE_NUMBER>000000  00000000
<PHONE_NUMBER>000000<PHONE_NUMBER>000000           0     0     0
  [ 1] .interp           PROGBITS<PHONE_NUMBER>000270  00000270
<PHONE_NUMBER>000011<PHONE_NUMBER>000000   A       0     0     1
  [ 2] .note.ABI-tag     NOTE<PHONE_NUMBER>000284  00000284
<PHONE_NUMBER>000020<PHONE_NUMBER>000000   A       0     0     4
  [ 3] .note.go.buildid  NOTE<PHONE_NUMBER>0002a4  000002a4
<PHONE_NUMBER>000064<PHONE_NUMBER>000000   A       0     0     4
  [ 4] .note.gnu.build-i NOTE<PHONE_NUMBER>000308  00000308
<PHONE_NUMBER>000024<PHONE_NUMBER>000000   A       0     0     4
  [ 5] .gnu.hash         GNU_HASH<PHONE_NUMBER>000330  00000330
<PHONE_NUMBER>0000f0<PHONE_NUMBER>000000   A       6     0     8
  [ 6] .dynsym           DYNSYM<PHONE_NUMBER>000420  00000420
<PHONE_NUMBER>0005d0<PHONE_NUMBER>000018   A       7     3     8
  [ 7] .dynstr           STRTAB<PHONE_NUMBER>0009f0  000009f0
<PHONE_NUMBER>000354<PHONE_NUMBER>000000   A       0     0     1
  [ 8] .gnu.version      VERSYM<PHONE_NUMBER>000d44  00000d44
<PHONE_NUMBER>00007c<PHONE_NUMBER>000002   A       6     0     2
  [ 9] .gnu.version_r    VERNEED<PHONE_NUMBER>000dc0  00000dc0
<PHONE_NUMBER>000040<PHONE_NUMBER>000000   A       7     2     8
  [10] .rela.dyn         RELA<PHONE_NUMBER>000e00  00000e00
<PHONE_NUMBER>06afb0<PHONE_NUMBER>000018   A       6     0     8
  [11] .rela.plt         RELA<PHONE_NUMBER>06bdb0  0006bdb0
<PHONE_NUMBER>000258<PHONE_NUMBER>000018  AI       6    24     8
  [12] .init             PROGBITS<PHONE_NUMBER>06c020  0006c020
<PHONE_NUMBER>00005c<PHONE_NUMBER>000000  AX       0     0     32
  [13] .text             PROGBITS<PHONE_NUMBER>06c080  0006c080
<PHONE_NUMBER>0978f4<PHONE_NUMBER>000000  AX       0     0     32
  [14] .fini             PROGBITS<PHONE_NUMBER>103974  00103974
<PHONE_NUMBER>000024<PHONE_NUMBER>000000  AX       0     0     4
  [15] .rodata           PROGBITS<PHONE_NUMBER>1039a0  001039a0
<PHONE_NUMBER>01d490<PHONE_NUMBER>000000   A       0     0     32
  [16] .eh_frame_hdr     PROGBITS<PHONE_NUMBER>120e30  00120e30
<PHONE_NUMBER>0000ac<PHONE_NUMBER>000000   A       0     0     4
  [17] .eh_frame         PROGBITS<PHONE_NUMBER>120edc  00120edc
<PHONE_NUMBER>000310<PHONE_NUMBER>000000   A       0     0     4
  [18] .tbss             NOBITS<PHONE_NUMBER>1400b0  001300b0
<PHONE_NUMBER>000010<PHONE_NUMBER>000000 WAT       0     0     8
  [19] .init_array       INIT_ARRAY<PHONE_NUMBER>1400b0  001300b0
<PHONE_NUMBER>000008<PHONE_NUMBER>000008  WA       0     0     8
  [20] .fini_array       FINI_ARRAY<PHONE_NUMBER>1400b8  001300b8
<PHONE_NUMBER>000008<PHONE_NUMBER>000008  WA       0     0     8
  [21] .data.rel.ro      PROGBITS<PHONE_NUMBER>1400c0  001300c0
<PHONE_NUMBER>09fc13<PHONE_NUMBER>000000  WA       0     0     32
  [22] .dynamic          DYNAMIC<PHONE_NUMBER>1dfcd8  001cfcd8
<PHONE_NUMBER>000210<PHONE_NUMBER>000010  WA       7     0     8
  [23] .got              PROGBITS<PHONE_NUMBER>1dff00  001cff00
<PHONE_NUMBER>000048<PHONE_NUMBER>000008  WA       0     0     256
  [24] .plt              NOBITS<PHONE_NUMBER>1e0000  001cff48
<PHONE_NUMBER>0000d8<PHONE_NUMBER>000008  WA       0     0     8
  [25] .data             PROGBITS<PHONE_NUMBER>1e00e0  001d00e0
<PHONE_NUMBER>007730<PHONE_NUMBER>000000  WA       0     0     32
  [26] .go.buildinfo     PROGBITS<PHONE_NUMBER>1e7810  001d7810
<PHONE_NUMBER>000020<PHONE_NUMBER>000000  WA       0     0     16
  [27] .noptrdata        PROGBITS<PHONE_NUMBER>1e7840  001d7840
<PHONE_NUMBER>00e000<PHONE_NUMBER>000000  WA       0     0     32
  [28] .bss              NOBITS<PHONE_NUMBER>1f5840  001e5840
<PHONE_NUMBER>02fb08<PHONE_NUMBER>000000  WA       0     0     32
  [29] .noptrbss         NOBITS<PHONE_NUMBER>225360  001e5840
<PHONE_NUMBER>00c9c8<PHONE_NUMBER>000000  WA       0     0     32
  [30] .comment          PROGBITS<PHONE_NUMBER>000000  001e5840
<PHONE_NUMBER>00001c<PHONE_NUMBER>000001  MS       0     0     1
  [31] .zdebug_aranges   PROGBITS<PHONE_NUMBER>000000  0020fa30
<PHONE_NUMBER>000084<PHONE_NUMBER>000000           0     0     16
  [32] .zdebug_pubnames  PROGBITS<PHONE_NUMBER>000000  0020fab4
<PHONE_NUMBER>0021ee<PHONE_NUMBER>000000           0     0     1
  [33] .zdebug_info      PROGBITS<PHONE_NUMBER>000000  00211ca2
<PHONE_NUMBER>02fe42<PHONE_NUMBER>000000           0     0     1
  [34] .zdebug_abbrev    PROGBITS<PHONE_NUMBER>000000  00241ae4
<PHONE_NUMBER>00038b<PHONE_NUMBER>000000           0     0     1
  [35] .zdebug_line      PROGBITS<PHONE_NUMBER>000000  00241e6f
<PHONE_NUMBER>015271<PHONE_NUMBER>000000           0     0     1
  [36] .zdebug_frame     PROGBITS<PHONE_NUMBER>000000  002570e0
<PHONE_NUMBER>004a47<PHONE_NUMBER>000000           0     0     1
  [37] .zdebug_str       PROGBITS<PHONE_NUMBER>000000  0025bb27
<PHONE_NUMBER>0003ad<PHONE_NUMBER>000001  MS       0     0     1
  [38] .zdebug_loc       PROGBITS<PHONE_NUMBER>000000  0025bed4
<PHONE_NUMBER>012e70<PHONE_NUMBER>000000           0     0     1
  [39] .zdebug_pubtypes  PROGBITS<PHONE_NUMBER>000000  0026ed44
<PHONE_NUMBER>003238<PHONE_NUMBER>000000           0     0     1
  [40] .zdebug_ranges    PROGBITS<PHONE_NUMBER>000000  00271f7c
<PHONE_NUMBER>00652a<PHONE_NUMBER>000000           0     0     1
  [41] .debug_gdb_script PROGBITS<PHONE_NUMBER>000000  002784a6
<PHONE_NUMBER>000028<PHONE_NUMBER>000000           0     0     1
  [42] .symtab           SYMTAB<PHONE_NUMBER>000000  001e5860
<PHONE_NUMBER>016188<PHONE_NUMBER>000018          43   3712     8
  [43] .strtab           STRTAB<PHONE_NUMBER>000000  001fb9e8
<PHONE_NUMBER>01403d<PHONE_NUMBER>000000           0     0     1
  [44] .shstrtab         STRTAB<PHONE_NUMBER>000000  002784ce
<PHONE_NUMBER>0001e4<PHONE_NUMBER>000000           0     0     1

@laboger on the builder, it has ld 2.31.1 and gcc 8.3.0. When linking PIE, the Go linker passes -pie to gcc, and gcc indeed passes -pie to ld.

What is happening here has something to do with the relro sections.  When using relro, the goal is for the relro part of the writable data segment to end at a page boundary.  Then the dynamic linker can load the executable, modify the relro part, and then mark those pages as readonly.
The relro sections start with .init_array and end with .got, so the goal is for .got to end at a page boundary.  The alignment of .got is 256 (I'm not sure why) so the linker wants it to start at an address ending with 0xff00 (the page size here seems to be 0x10000).  We then work backward from there.  (The .tbss section is SHT_NOBITS so it doesn't really matter.  It's just tagging along with .init_array for some reason.)
In the first program, the addresses happen to work out with just a small gap between the end of .eh_frame and the start of .init_array.  In the second program the .data.rel.ro section is larger, so the linker has move everything forward an extra page.  The gap between .eh_frame and .init_array increases from 0xc4 to 0xeec4.
At least, I think that is what is happening.
Maybe what we need to do here is measure the gaps between the PT_LOAD segment file offsets and subtract them from the file size.

@ianlancetaylor this is an interesting observation (makes sense).  Is there a design or "reference" document anywhere that talks more about how relro is implemented?

The test starts to fail after I checked in CL https://go-review.googlesource.com/c/go/+/209659, which doesn't seem to be quite related. That CL could make the file size increases or decreases slightly (as it changes some PCDATA), for both exe and pie.

@cherrymui I am testing outside of a container. The test starts the fail with the commit where it was added when I build and test on my Ubuntu 16.04 system. Based on Ian's last comment, it seems to be somewhat random depending on section offsets and sizes.

Thanks @ianlancetaylor ! This makes sense. I guess this only shows up on PPC64 because it has a large page size.

@thanm Do you want a design doc or an explanation?  The design doc, such as it is, is https://www.sourceware.org/ml/binutils/2004-01/msg00070.html.  My explanation is https://www.airs.com/blog/archives/189.


SNOW-1735927: Add code coverage

Overview
SNOW-1735927
Pre-review self checklist

[ ] PR branch is updated with all the changes from master branch
[ ] The code is correctly formatted (run mvn -P check-style validate)
[ ] The pull request name is prefixed with SNOW-XXXX:
[ ] Code is in compliance with internal logging requirements

External contributors - please answer these questions before submitting a pull request. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Issue: #NNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new dependency or upgrading an existing one

Please describe how your code solves the related issue.
Please write a short description of how your code change solves the related issue.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

Remember to add banner in Readme


Lazy doesn't render other tabs

Hello, I am using react native with RTL support (RTL FORCE on android) and RN-tab-view works great.
I want it to render as the user opens the tab.
when I add lazy it renders only the first scene, when I slide to another tab it gets me back to the initial tab screen but on the tabs it shows me that the active tab is the tab before, when I slide again it switches to the next tab but doesn't render.
<TabViewAnimated         lazy         style={styles.tabBarView}         navigationState={this.state}         renderScene={this._renderScene}         renderFooter={this._renderFooter}         onRequestChangeTab={this._handleChangeTab}       />

Also experiencing the issue above

If I don't use SceneMap utility func, the lazy property works.

I have this happening only on Android

+1


rake ruby22 DKVER=mingw64-64-4.7.2    get   32bit_dll

NOTE: This project is for Ruby version 2.3 and older.
For Ruby versions >= 2.4 please file an issue here.
What problems are you experiencing?
”x64-msvcrt-ruby220.dll“  is  32bit.
Steps to reproduce
rake ruby22 DKVER=mingw64-64-4.7.2
What's the output from ruby -v?
ruby 2.2.6p396 (2016-11-15 revision 56800) [x64-mingw32]

Because I build the 32bit ruby before build 64bit ruby, I don't delete the 32bit libs of sandbox.


C15 Lightcurves and TPFs inaccessible through from_archives method

I'm still not able to access lightcurves or TPFs from Campaign 15. Although a issue #87 and issue #81 have already been raised about a similar error, it's been a couple months, leading me to think this is a different problem.
Running this line from the tutorials:
from lightkurve import KeplerTargetPixelFile
tpf = KeplerTargetPixelFile.from_archive(249928278,  campaign=15)
Gives me the error:

WARNING: NoResultsWarning: Query returned no results. [astroquery.mast.core]
Traceback (most recent call last):
File "", line 1, in
File "/Users/shishir/anaconda2/envs/iraf27/lib/python2.7/site-packages/lightkurve/targetpixelfile.py", line 181, in from_archive
radius=radius, targetlimit=targetlimit)
File "/Users/shishir/anaconda2/envs/iraf27/lib/python2.7/site-packages/lightkurve/mast.py", line 274, in download_kepler_products
raise ArchiveError("No {} File found for {} at MAST.".format(filetype, target))
lightkurve.mast.ArchiveError: No Target Pixel File found for 249928278 at MAST.

The same error is raised for any other C15 targets I've tried as well as with KeplerLightCurveFiles. I've replicated the issue on two different machines both running version 1.0.b5.

Thank you for reporting this @shishirdholakia!  I am able to reproduce this problem.  I am going to ping MAST to understand why C15 data does not show up.  /cc @scfleming

Confirmed and looking into this on our side.

This was due to a database error, we switched to a new version and there was an error in one of the parameters that made these data hidden instead of public.  You should now be able to see C15 data.
I'm working on C16 now, and also need to check that C15 short cadence and the C2 reprocessed data were added to the Portal, and get those updated if not.


Image is not cashing if we download image using ImageDownloader and restart the application

Alamofire Version: 4.2.0
Xcode Version: 13.2.1
Swift Version: 5
--> Created Image downloaded instance using below inputs,
ImageDownloader(
            configuration: .default,
            downloadPrioritization: .fifo,
            maximumActiveDownloads: 4,
            imageCache:AutoPurgingImageCache()
        )

--> Started download image process with below function.
imageLoader.download(urlRequest,
                             cacheKey: "test_cacheKey",
                             filter: nil,
                             progressQueue: .main,
                             completion:  { response in
        //response
}

Problem
-> I am trying to load image in SwiftUI View.
-> Internet is on and open the application.
-> I download the image and showed in UI (Image downloaded successfully and it's visible in UX)
-> Now kill the application, turn off the internet and relaunch the app.
-> Again call the download call but it's failing.
-> Expected result: it showed return image from local cache.
Please Help!!

@jshier is it something am I missing from my end for supporting cache if we restart the app?

AlamofireImage doesn't currently have a persistent caching mechanism other than URLCache's disk storage, so if your image responses aren't cached at that level, there will be no persistence. This is a well known feature request.


New EBS image refuses ec2-user key

Problem Description:
Once new EBS Volume is mounted as boot volume for ec2 instance, unable to login via ec2-user or any other user. Existing Private Key refused.
Expected Behavior:
Existing private key for ec2-user should be replicated to newly built LVM EBS volume
Actual Behavior:
Unable to login to instance with new LVM EBS volume
(Detailed) Steps to reproduce:
Perform the public network processes.
Swap boot EBS with LVM ebs, so that LVM EBS is new boot device (/dev/sda1)
Power on instance
Attempt to login via ec2-user with initial private key or any other user.
(Optional) Fix recommendation:
Ensure existing users and ec2-user keys are replicated on new EBS volume.

I'm having a hard time discerning what the reported problem and/or desired end-state is?

Once the Lvm based EBS is built, and you launch an instance from it or attach it as root device, you can’t login.
Users defined on original build instance do not carry over.
Had to mount the LVM EBS volume/chroot to it so I could create new user or modify password for root (plus enable sshd root login) to be able to ssh into any instances based on the LVM EBS volume.

Once the Lvm based EBS is built, and you launch an instance from it or attach it as root device, you can’t login.

You have to use the correct user to login. The project's default provisionoing-user is maintuser. You can override this at launch time via UserData. For example:
#cloud-config

system_info:
  default_user:
    name: ec2-user

Users defined on original build instance do not carry over.

That is by design.

Had to mount the LVM EBS volume/chroot to it so I could create new user or modify password for root (plus enable sshd root login) to be able to ssh into any instances based on the LVM EBS volume.

By design, the root account is configured to only be accessible by way of key-based login (see Line 34 of the NetSet.sh script). At launch-time, cloud-init takes the default_user's key and populates into root's ${HOME}/.ssh/authorized_keys file. Which is to say, once the instance has launched, you should be able to do a key-based login to either the root or provisioning-user's account.
Using SSH-based direct login to the root account is generally a Bad Idea™. That said, we enable it mostly for legacy reasons. We limit the login capability to key-only to mitigate some of the risk associated with allowing direct-login to the root account.
All of that said, if you run standard system hardening profiles on the launched instance (e.g., the CIS or STIG benchmarks), network-based login to the root account is typically wholly disabled.

Closing due to lack of compelling evidence of flawed functionality.


New cache steps for Android & iOS

Changes

Functional

Replace Cache Pull/Push steps in Android workflows with Restore/Save Gradle cache
Replace Cache Pull/Push steps in iOS workflows with Restore/Save Cocoapods/Carthage cache
Remove cache steps fromdeploy workflows. Deploying to stores should probably run a clean build to maximize reproducibility and stability.

Refactors and cleanups

Remove dummy comments on exported methods
Test cleanups

Out of scope
Adding SPM cache steps. This needs new detection logic, but this PR is already large, so it will come in a future PR.
Other platforms are also out of scope for this PR.

Cocopods-install (and yarn, carthage possibly) also has legacy cache inputs that may need to be disabled


show collection properties on collection overview page

User should be able to see ttl mmap on the collection overview page

It is recommended to add a page for properties to support dynamic modification

I would like to add a function to control the collection rate limit. If possible, it can be set in the properties page.

I would like to add a function to control the collection rate limit. If possible, it can be set in the properties page.

what is the rate limit property? how can I do it with pymilvus?

I would like to add a function to control the collection rate limit. If possible, it can be set in the properties page.

what is the rate limit property? how can I do it with pymilvus?

collection.set_property({key:value})


Feature request: Optionally remove successfully deleted comments/posts from CSV so that they don't get processed on re-running

Maybe it'd be helpful to add an option that removes successfully deleted comments or posts from the respective CSV file so that if the script fails or is cancelled, re-starting it doesn't start going over all the previously deleted things again?
Just a suggestion. :)

Agreed that this would be nice. Existing issue: https://github.com/andrewbanchich/shreddit/issues/49
Planning on adding this when I have some free time.

Awesome, thank you! :)


[QUESTION]: is there a way to Merge the Parallel threads in one

@bheemreddy181 there 2 ways, how another integrations make this:

Start launch in advance to threads. Share launch id with threads. Run threads. Finish launch once latest thread completed

Run all threads separately. Collect IDs of launches or add specific tag to find launches later. Call Merge function via API for collected array of IDs.

http://reportportal.io/docs/Operations-under-launches>merge-launches
cc @aliaksandr-trush

@DzmitryHumianiuk Can I get some help on doing this on agent-ruby?

@bheemreddy181 we don’t have support team for that.
But you can find some help in SLACK chat, within community.
Link available from landing page

@bheemreddy181 did you try ReportPortal::Cucumber::ParallelFormatter ?
It's reporting all threads to a single launch.
If you need implement your own solution you can how it is already implemented in parallel_report.rb

ReportPortal::Cucumber::ParallelFormatter does push each thread to one report on the dashboard it doesn't automatically merge the threads for me @aliaksandr-trush

Hi, My project starts multiple pytest executions in parallel. How can i send parallel execution results to same launch

right now there isn't a way to do it unless someone contributes to this repo

In that case can you please provide the details of the Merge API of ReportPortal? How to fetch launch ids from the parallel runs so that i can send them to the merge API?

https://stackoverflow.com/questions/42110425/rest-api-documentation-for-reportportal, fetching launch ID's is something which we have to code for on this repo

thanks @bheemreddy181, but i need to give the launch names (along with ids) to this API to merge, is there anyway to get these details from the present pytest run?


Allow multiple clfs and param grids?

I was wondering if there is a logical way to add the possibility of multiple clfs each with their own grid?

I was just about to post something on this.
Right now, you can pass "params" a list of param grids. This is divergent, I believe, to the way that sklearn GridSearchCV works, and IMO we should simply let the user call EvolutionarySearchCV in a for loop on their own for this, as that's all we are doing anyway in the fit function.
I would just like to know the motivation for this divergence so that we stay consistent.
Also, "params" needs to be renamed "param_grid" in accordance with sklearns GridSearchCV.

I believe this is fixed when we added optimize.py, am I correct?


Support unary '+' operators for strings

Description
The T-SQL grammar allows an arbitrary number of unary + operators to precede an expression,
but PG only supports that for numeric expressions. For string expressions, the +  will be parsed fine by the T-SQL ANTLR parser, but these will raise an error in PG.
In SQL those unary + string operators may look like they are additional concatenation operators, like: SELECT 'a' ++ 'b'. Expressions such as +++(+++@v)) are also valid syntax according to the T-SQL grammar even though they look unusual.
In this fix we remove such unary + operators, which are redundant anyway.
However we do not touch numeric constants (e.g. +123) since the +, though still redundant, may
have been included for code clarity (e.g. +123 as opposed to -123).
Signed-off-by: Rob Verschoor<EMAIL_ADDRESS>Issues Resolved
BABEL-1924  Support unary '+' operator for string expressions
Test Scenarios Covered

Use case based - Yes

Boundary conditions - N/A

Arbitrary inputs - N/A

Negative test cases - Yes

Minor version upgrade tests - N/A

Major version upgrade tests - N/A

Performance tests - N/A

Tooling impact - N/A

Client tests - N/A

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

30 of 30 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 74.485%

Totals

Change from base Build<PHONE_NUMBER>6:
0.01%

Covered Lines:
45153

Relevant Lines:
60620

💛  - Coveralls

Does this change only work for string constant ? What about string variables ?

Does this change only work for string constant ? What about string variables ?

Also see comment above.
The rewrite is applied to all unary + operators, except for numeric constants. We can recognize numeric constants because basically they start with a digit. At the ANTLR stage , we cannot perform datatype resolution so we cannot determine what datatype a variable is.


Set up configuration option and add platform inference feature

PR addresses this issue #10

I'm closing this PR so we can focus on PR #12 based on the chosen strategy moving forward


DRAFT: NFT refactoring to remove duplicate data structures and describe table structures

Do not merge/just a draft for my learning purposes, reopening my original PR, this is compiling now...
fixes #244

/close
Can reopen this later if needed


News page 10.0

Update new detail page a bit:
Old:

New:

Add 10.0 New page

good for me. I thought we decided to keep the ivy-leaf for the product itself, not?
we may should link to balsis release page?
@andreasbalsiger and @ivy-bb should have a look at it!

sorry, I overhear the ivy-leaf discussion this morning.

sorry, I overhear the ivy-leaf discussion this morning.

Wasn't a discussion, I've only said it. I know, we wanted the ivy-leaf in the product, but honestly I don't like it if the portal has the "new" logo as favicon, and we still use the old one... I think its much simpler to use the same logo everywhere.

sorry, I overhear the ivy-leaf discussion this morning.

Wasn't a discussion, I've only said it. I know, we wanted the ivy-leaf in the product, but honestly I don't like it if the portal has the "new" logo as favicon, and we still use the old one... I think its much simpler to use the same logo everywhere.

portal should also use the ivy-leaf

Please discuss this with @andreasbalsiger. I can easily revert all PR's

sorry, I overhear the ivy-leaf discussion this morning.

Wasn't a discussion, I've only said it. I know, we wanted the ivy-leaf in the product, but honestly I don't like it if the portal has the "new" logo as favicon, and we still use the old one... I think its much simpler to use the same logo everywhere.

portal should also use the ivy-leaf

Please discuss this with @andreasbalsiger. I can easily revert all PR's

CC: @andreasbalsiger @ivy-bb
This is just my opinion. The product should stay with the ivy leaf and also the portal, because the portal is representing the product. We are currently removing 25 years of history and forcing the "A" of Axon Ivy, beside that we are not anymore an Axon Company?! We are still named Axon but how long?!
I just want to outline my very own opinion. Such a big "image" change in the heart of ivy should be discussed with the ivyTeam in advance - forced by the PM.


Add node.js 10.14 to list of runtimes

Fixes https://github.com/Microsoft/vscode-azureappservice/issues/884

lol...

I mean is it LTS in the portal :P We're never gonna stay up to date with LTS on nodejs.org


Popup "Hides" Under Another

I'm trying to build a layout that looks like the following, where the top and bottom sections are predefined in size and the middle section grows to fill the remaining available container:

Here's the code:
local Layout = require("nui.layout")
local Popup = require("nui.popup")

local opts = {
  buf_options = {
    filetype = "markdown",
  },
  focusable = true,
  border = {
    style = "rounded",
  },
}

local box_one = Popup(opts)
local box_two = Popup(opts)
local box_three = Popup(opts)

local layout = Layout(
  {
    position = "50%",
    relative = "editor",
    size = {
      width = "95%",
      height = "95%",
    },
  },
  Layout.Box({
    Layout.Box(box_one, { size = { height = 3 } }),
    Layout.Box({
      Layout.Box(box_two, { grow = 1 }),
      Layout.Box(box_three, { size = { height = 15 } }),
    }, { dir = "col", size = "100%" }),
  }, { dir = "col" })
)

layout:mount()

For some reason, it looks like box one and box two overlap, and when one is focused (either one) it hides the content in the other box. Am I doing something wrong here?

Try this instead?
local layout = Layout(
  {
    position = "50%",
    relative = "editor",
    size = {
      width = "95%",
      height = "95%",
    },
  },
  Layout.Box({
    Layout.Box(box_one, { size = 3 }),
    Layout.Box(box_two, { grow = 1 }),
    Layout.Box(box_three, { size = 15 }),
  }, { dir = "col" })
)

Wow thank you very much, it's quite simple! Thank you!


Remove Template Should Not Contain Blanks test

Overview/Summary
Removes the Template Should Not Contain Blanks test, as discussed with @judyer28
This PR fixes/adds/changes/removes
Changes the validate yaml schema workflow to remove unwanted test
Breaking Changes
N/A
As part of this Pull Request I have

[x] Read the Contribution Guide and ensured this PR is compliant with the guide
[x] Checked for duplicate Pull Requests
[x] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Ensured PR tests are passing
[ ] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

Validated that test is removed here: https://github.com/Azure/azure-monitor-baseline-alerts/actions/runs/12045908184/job/33585332727.


fix lint and test for corpus dev branch

Developing with failing tests is a PITA. Instead of waiting for #461 to fix this, this PR does it upfront to help other work.

Doc errors are still fine, because we haven't touched docs at all for now.


Default position of Faraday tracer middleware changes when upgrading Faraday

The Faraday tracer middleware works by patching the RackBuilder#adapter method to add the middleware to the stack if it isn't already there:
https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/e2ba37dcdd220774b33035a2e2a2dd97977ace48/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/patches/rack_builder.rb#L14-L20
In Faraday 0.17, #adapter is generally called last (Faraday warns otherwise), causing the tracer middleware to get installed last. That puts the tracer middleware as the innermost middleware, running directly around the adapter.
In Faraday 1.x, #adapter is typically called quite early while initializing the RackBuilder, before any user middlewares have been added. That's happening now because of this change. That ends up putting the tracer middleware as the outermost middleware (regardless of whether the user later adds the tracer middleware explicitly), running around all of the other middlewares.
I'm not entirely sure which position is most desirable, but having it shift from innermost middleware to outermost middleware when upgrading Faraday might be surprising, and is a breaking change at least for us at GitHub.
Does anybody have thoughts about what is most correct here? If we want to preserve having this default to the innermost middleware, we might be able to patch Faraday::Connection#initialize instead, adding the tracer middleware last if it isn't already there.

Thanks for this report!
The instrumentations in this repo are mostly ports of the DD Trace Instrumentations. My guess is that this use case was not considered at the time when the instrumentation was written.
I believe that we want to update this instrumentation to ensure the tracer middleware is the first one in the list, which I believe is what you mean by outermost, like it does in the current version of DD Trace:
https://github.com/DataDog/dd-trace-rb/blob/4b1901101c0f4d1033558bd9c0ff2e1c2b963bc7/lib/datadog/tracing/contrib/faraday/patcher.rb#L33
Would you be amenable to submitting a fix for this?

Thanks for that. https://github.com/DataDog/dd-trace-rb/blob/4b1901101c0f4d1033558bd9c0ff2e1c2b963bc7/lib/datadog/tracing/contrib/faraday/connection.rb#L12-L17 is basically what I was thinking of doing. But that woulds seem to put the middleware last in the list, not first.

I think that moving it to the end of the list is undesirable

The tricky bit is that it is already at the end of the list for Faraday < 1. If having it at the beginning of the list is what we ultimately want, it'd be nice to at least have a way of making that change separately from upgrading Faraday. I wonder if we could make it configurable in some way?
The current implementation is also a bit awkward on Faraday 1 because it gets added to the beginning of the list right away, so if somebody then adds it explicitly it'll end up in the list twice.

Thanks for digging into this and explaining the problems in-depth to me. I am surprised to learn that the tracer middleware is currently being injected as the innermost middleware as opposed to the outermost.
In order to support 1.0 then I think it makes sense to preserve the behavior of being the innermost middleware and we can see about addressing moving its position to the outermost in a separate PR.
Is this something that you have the bandwidth to help us with?


There is no License file in the repo

It's import that we have license file in you repo. I just quote some words from the Open Source Guide

An open source license guarantees that others can use, copy, modify, and contribute back to your project without repercussions. It also protects you from sticky legal situations. You must include a license when you launch an open source project.

Fixed in #31


update ui_test readme

I forgot to do that when changing the ignore/only syntax.

@bors r+

:pushpin: Commit 04b66ce34282a3b510cbc6a1cdd28da44f9d33f3 has been approved by oli-obk
It is now in the queue for this repository.

:hourglass: Testing commit 04b66ce34282a3b510cbc6a1cdd28da44f9d33f3 with merge dfd50a79d096a509e6dba539e701fa613bb4f9a9...

:boom: Test timed out

@bors r+

:bulb: This pull request was already approved, no need to approve it again.

This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.

:pushpin: Commit 04b66ce34282a3b510cbc6a1cdd28da44f9d33f3 has been approved by oli-obk
It is now in the queue for this repository.

:hourglass: Testing commit 04b66ce34282a3b510cbc6a1cdd28da44f9d33f3 with merge eb7ea4c1682a956afb68393abecb0f1c0f009599...

:sunny: Test successful - checks-actions
Approved by: oli-obk
Pushing eb7ea4c1682a956afb68393abecb0f1c0f009599 to master...


Fix git command.

--recursive was with only one dashe.

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

Good catch. Thanks @wnoliveira!
I will add it to merge queue.

Merged in 6722a78684dfa33670cfdcade5f98e931b69aab4
@wnoliveira :+1:

Glad to help! (: