Garbage collector cleans up pool during creation in ASGI server

I've been tracking down an exception in my FastAPI backend that occurred roughly once every 20 startups. This led me to a huge rabbit hole of debugging that ended up uncovering the following error when using aioredis with an ASGI server:
example.py:
pool = None

async def app(scope, receive, send):
    global pool
    if scope['type'] == 'lifespan':
        message = await receive()  # On startup
        pool = await aioredis.create_redis_pool('redis://localhost:6379')
        await send({"type": "lifespan.startup.complete"})
        message = await receive()  # Wait until shutdown
    else:
        await pool.ping()  # (Use pool during requests)

When running this with uvicorn example:app it seems like everything works (the app starts up correctly), but if we force garbage collection on a specific line within the event loop, we consistently encounter the following error:
Task was destroyed but it is pending!
task: <Task pending name='Task-3' coro=<RedisConnection._read_data() running at .../site-packages/aioredis/connection.py:186> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fb4af031f70>()]> cb=[RedisConnection.__init__.<locals>.<lambda>() at .../site-packages/aioredis/connection.py:168]>
Task was destroyed but it is pending!
task: <Task pending name='Task-2' coro=<LifespanOn.main() running at .../site-packages/uvicorn/lifespan/on.py:55> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7fb4aefbf070>()]>>

While a bit hacky, we can force this garbage collection in the event loop as follows:

Edit /usr/lib/python3.*/asyncio/base_events.py and within def _run_once, near the bottom immediately within the for i in range(ntodo):, add import gc; gc.collect().
Force Uvicorn to use the asyncio event loop so that it uses this modified code by running with: uvicorn example:app --loop asyncio

After doing this, we see the above error every single startup.
Notes

Note, since garbage collection can run at any time, this bug will appear randomly in real world situations (which is what initially started this investigation)
This error occurs even without the gc.collect() modification if we write await create_redis_pool(...) instead of loop = await create_redis_pool(...). I think this might be expected though because we are awaiting an rvalue.
Strangely, without running in uvicorn (ie. passing dummy functions to receive and send), the error doesn't appear
Additionally, it doesn't happen when using hypercorn

I'm hesitant to say it's an error with hypercorn, however, because hypercorn isn't doing anything but calling the handlers. Perhaps hypercorn holds on to some extra references which is why the error doesn't happen there?
Does anyone have any insight on this (specifically, RedisConnection._read_data() running at .../site-packages/aioredis/connection.py:186...)? According to this SO post, there can be some weirdness on awaiting futures without hard references. If it seems to be an issue with Uvicorn, I can close this and create it there.

@MatthewScholefield this is something I've run into as well, and was resolved by using explicit connections from the pool during the app lifetime, then explicitly closing the pool on app shutdown.

@MatthewScholefield this is something I've run into as well, and was resolved by using explicit connections from the pool during the app lifetime, then explicitly closing the pool on app shutdown.

@MatthewScholefield We also got an exception in Sanic backend:
source_traceback: Object created at (most recent call last):
  File "ws/app.py", line 220, in main
    app.run(host="<IP_ADDRESS>", port=port, debug=True)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/sanic/app.py", line 1170, in run
    serve(**server_settings)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/sanic/server.py", line 856, in se
rve
    loop.run_forever()
  File "ws/app.py", line 152, in server
    conn = await create_redis(REDIS_URL)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/commands/__init__.py", l
ine 168, in create_redis
    conn = await create_connection(address, db=db,
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py", line 128
, in create_connection
    conn = cls(reader, writer, encoding=encoding,
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py", line 162
, in __init__
    self._reader_task = asyncio.ensure_future(self._read_data())
task: <Task pending name='Task-4667' coro=<RedisConnection._read_data() running at /home/ubuntu/.local/share/virtualenvs/websocket
duli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:186> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object a
t 0x7f992972ee80>()] created at /usr/local/lib/python3.8/asyncio/streams.py:515> cb=[RedisConnection.__init__.<locals>.<lambda>()
at /home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:168] created at
 /home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:162>
Task was destroyed but it is pending!

py code:
@app.websocket("/feed-home/<sn>")
async def server(request, ws, sn: str):
    conn = await create_redis(REDIS_URL)
    listening_channels = [shop(sn), devices(sn)]
    tasks = None
    try:
        while True:
            coros = [send_msg(ws, sn, conn, channel) for channel in listening_channels]
            loop = asyncio.events.get_running_loop()
            tasks = {asyncio.ensure_future(f, loop=loop) for f in coros}
            done, pending = await asyncio._wait(
                tasks, None, return_when=asyncio.FIRST_COMPLETED, loop=loop
            )
            for done_task in done:
                if done_task.result() == "close":
                    await ws.close()
                    raise BreakLoopException("Skip while True loop.")
            for outdate_task in pending:
                outdate_task.cancel()
    except BreakLoopException as e:
        logger.error(e)
    finally:
        conn.close()
        await conn.wait_closed()
        if tasks:
            for task in tasks:
                task.cancel()

@seandstewart Is there any example code about how to resolved?

@MatthewScholefield We also got an exception in Sanic backend:
source_traceback: Object created at (most recent call last):
  File "ws/app.py", line 220, in main
    app.run(host="<IP_ADDRESS>", port=port, debug=True)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/sanic/app.py", line 1170, in run
    serve(**server_settings)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/sanic/server.py", line 856, in se
rve
    loop.run_forever()
  File "ws/app.py", line 152, in server
    conn = await create_redis(REDIS_URL)
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/commands/__init__.py", l
ine 168, in create_redis
    conn = await create_connection(address, db=db,
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py", line 128
, in create_connection
    conn = cls(reader, writer, encoding=encoding,
  File "/home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py", line 162
, in __init__
    self._reader_task = asyncio.ensure_future(self._read_data())
task: <Task pending name='Task-4667' coro=<RedisConnection._read_data() running at /home/ubuntu/.local/share/virtualenvs/websocket
duli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:186> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object a
t 0x7f992972ee80>()] created at /usr/local/lib/python3.8/asyncio/streams.py:515> cb=[RedisConnection.__init__.<locals>.<lambda>()
at /home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:168] created at
 /home/ubuntu/.local/share/virtualenvs/websocketduli--KNzsfn6/lib/python3.8/site-packages/aioredis/connection.py:162>
Task was destroyed but it is pending!

py code:
@app.websocket("/feed-home/<sn>")
async def server(request, ws, sn: str):
    conn = await create_redis(REDIS_URL)
    listening_channels = [shop(sn), devices(sn)]
    tasks = None
    try:
        while True:
            coros = [send_msg(ws, sn, conn, channel) for channel in listening_channels]
            loop = asyncio.events.get_running_loop()
            tasks = {asyncio.ensure_future(f, loop=loop) for f in coros}
            done, pending = await asyncio._wait(
                tasks, None, return_when=asyncio.FIRST_COMPLETED, loop=loop
            )
            for done_task in done:
                if done_task.result() == "close":
                    await ws.close()
                    raise BreakLoopException("Skip while True loop.")
            for outdate_task in pending:
                outdate_task.cancel()
    except BreakLoopException as e:
        logger.error(e)
    finally:
        conn.close()
        await conn.wait_closed()
        if tasks:
            for task in tasks:
                task.cancel()

@seandstewart Is there any example code about how to resolved?

I'm getting something similar to this error using FastAPI with gunicorn and uvicorn workers which use uvloop
 Task was destroyed but it is pending! task: <Task pending name='Task-57663' coro=<RedisConnection._read_data() done, defined at /layers/google.python.pip/pip/lib/python3.8/site-packages/aioredis/connection.py:180> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x3ea2c3b858b0>()]> cb=[RedisConnection.__init__.<locals>.<lambda>() at /layers/google.python.pip/pip/lib/python3.8/site-packages/aioredis/connection.py:168]>
It raises randomly

I'm getting something similar to this error using FastAPI with gunicorn and uvicorn workers which use uvloop
 Task was destroyed but it is pending! task: <Task pending name='Task-57663' coro=<RedisConnection._read_data() done, defined at /layers/google.python.pip/pip/lib/python3.8/site-packages/aioredis/connection.py:180> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x3ea2c3b858b0>()]> cb=[RedisConnection.__init__.<locals>.<lambda>() at /layers/google.python.pip/pip/lib/python3.8/site-packages/aioredis/connection.py:168]>
It raises randomly

@waketzheng Try creating a pool instead and acquire connections from the pool. You can use the async with context to handle that (or an AsyncExitStack). Also I thought a single connection could only listen to one pattern at a time...? Ref: coros = [send_msg(ws, sn, conn, channel) for channel in listening_channels]
@ndavydovdev I think that could just be because you're not explicitly closing the pool on shutdown.

@waketzheng Try creating a pool instead and acquire connections from the pool. You can use the async with context to handle that (or an AsyncExitStack). Also I thought a single connection could only listen to one pattern at a time...? Ref: coros = [send_msg(ws, sn, conn, channel) for channel in listening_channels]
@ndavydovdev I think that could just be because you're not explicitly closing the pool on shutdown.

@Andrew-Chen-Wang My app is working while these errors are raising and my pool is a singleton object which will be closed only after my GAE instance is down, so it can be 30-50 times per day, but now I'm getting 1500 errors like that per day

@Andrew-Chen-Wang My app is working while these errors are raising and my pool is a singleton object which will be closed only after my GAE instance is down, so it can be 30-50 times per day, but now I'm getting 1500 errors like that per day

@ndavydovdev Are you using a framework? When I mean shutdown, I guess I meant 1 request/response cycle. Even though it's a singleton object, I know some Python frameworks will use workers like gunicorn to close a thread at the end of a request.  Try explicitly closing your connection before the end of each request and see if it's raising any more errors.

@ndavydovdev Are you using a framework? When I mean shutdown, I guess I meant 1 request/response cycle. Even though it's a singleton object, I know some Python frameworks will use workers like gunicorn to close a thread at the end of a request.  Try explicitly closing your connection before the end of each request and see if it's raising any more errors.

@Andrew-Chen-Wang Thanks for your advice! I'm calling conn.close() and await conn.wait_closed() after every operation (get, set, etc)
I think I will try to create and close connection for every request because I recognized that I have e.g. 5-6 redis calls per request and every request it closes the existing connection in pool and recreates new ones so maybe creating one connection per request can reduce my overall latency

@Andrew-Chen-Wang Thanks for your advice! I'm calling conn.close() and await conn.wait_closed() after every operation (get, set, etc)
I think I will try to create and close connection for every request because I recognized that I have e.g. 5-6 redis calls per request and every request it closes the existing connection in pool and recreates new ones so maybe creating one connection per request can reduce my overall latency

@ndavydovdev hi, did you actually got it to work?, cause I'm closing all my connections doing the conn.close() and await conn.wait_closed()  and the client connections do close (I can see from redis server they are closed), however this error is thrown still as if the actual task (not the connection) still were alive, this happens very randomly every few hours

@leoswaldo Hi, no, I didn't, but I see that my asyncio tasks which were scheduled by create_task func also have the same error messages in logs - Task was destroyed but it is pending, now I'm trying to exclude  create_task because I don't know exactly that tasks are finished or not
Maybe this information will help to recognize how to prevent this errors

@leoswaldo also I'm sure that my FastAPI under gunicorn server with uvicorn  workers don't restart the same time as errors are being raised in logs

I've just realized this is actually a bug in uvicorn and have created a PR as shown above to fix it.
Funny enough, I also realized this same error was caused by another line near the top of my call stack that I wrote as follows:
def on_startup():
    asyncio.create_task(some_function())

Since the task wasn't assigned to anything, the entire partially executed coroutine could be garbage collected. So, TL;DR:

If you are running using uvicorn, this PR might solve the problem
Otherwise, you or a library you use to call your code has called asyncio.create_task(foo()) without assigning the result to some hard reference.

@MatthewScholefield -
Would you be willing to test with the latest master? #891 was just merged and is a complete overhaul of the library. I'd be curious to see if the new implementation helps with this issue...

Actually, the original issue actually was determined to be a problem with other libraries so I'll close this. If anyone else here finds that their issue is not related to external code, feel free to create a new issue.
Note, that for anyone still experiencing this problem and trying to track the root cause, the method described in this PR is a reliable way to trigger it.


Cannot change Upload size?  Help

Checking out WordPress and found this, tried and it worked with no problem but cannot figure out how to increase the upload size in WordPress. I mainly use cpanel and could not find any .htaccess or php.ini files that I can change to increase the upload size. Please Guide me

Thank you for reaching out. For official community support, please visit our forum at: https://community.bigbeartechworld.com/c/big-bear-casaos/10. We encourage you to start a new post there, where our community can assist you further. We appreciate your understanding.


Etheroll

Support for Etheroll DICE Tokens (ROL)
https://etheroll.com/
https://etherscan.io/token/0x2e071D2966Aa7D8dECB1005885bA1977D6038A65

Hey,
@MysticRyuujin sorry for rly long response. Are you able to solve issues and change image to SVG - I am able then to merge this PR.


office-docs-powershell

[Enter feedback here]

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

ID: 69ae1495-235b-5e1d-0c73-932f3c28e5b7
Version Independent ID: 52543c9c-2c4b-52bd-88a5-ebe2fafe62ce
Content: Get-ComplianceCase (exchange)
Content Source: exchange/exchange-ps/exchange/Get-ComplianceCase.md
Service: exchange-powershell
GitHub Login: @chrisda
Microsoft Alias: chrisda

Hi @wedataintelligence, thank you for your feedback but I think you missed the detail about what you think we need to improve in this article.
We'll proceed to close this issue, if you want to provide us with more detail just came back here with another comment and we can open the issue again.

@ Thank you very much for the contribution. @wedataintelligence  If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


bundle install error

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb

checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby2.1
--help
--clean
--use-system-libraries
--enable-static
--disable-static
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20160122-11019-1h3ncin/nokogiri-1.6.7/gems/nokogiri-1.6.7 for inspection.
Results logged to /tmp/bundler20160122-11019-1h3ncin/nokogiri-1.6.7/extensions/x86-linux/2.1.0/nokogiri-1.6.7/gem_make.out
An error occurred while installing nokogiri (1.6.7), and Bundler cannot continue.
Make sure that gem install nokogiri -v '1.6.7' succeeds before bundling.

zlib is missing; necessary for building libxml2

You need to install zlib
For Debian/Ubuntu:
sudo apt-get install zlib1g-dev liblzma-dev

Source: http://www.nokogiri.org/tutorials/installing_nokogiri.html

Thanks for reporting, and thanks for the added info @mgrachev! I'm closing as @mgrachev as provided the necessary info/documentation.


SOLID POD: Display the version on the login screen

User Story
As a user I like to know what version of the app I am running and the login screen has space for it with Version text there, but no version number is shown.
This task is to retrieve the app's version number and display it on the login screen.

PR https://github.com/anusii/solidpod/pull/139 created
thanks @gjwgit  for reminding PackageInfo


grunt adbpush fails on Android 8 devices

Software and hardware versions
Pixel C with Android 8.1.0 using ODK 2.0.5
Problem description
Running grunt adpbush fails on this device with the following error:
Running "exec:adbshell:run-as org.opendatakit.services rm -rf /data/data/org.opendatakit.services/app_default" (exec) task

run-as: package not debuggable: org.opendatakit.services
Exited with code: 1.
Warning: Task "exec:adbshell:run-as org.opendatakit.services rm -rf /data/data/org.opendatakit.services/app_default" failed. Use --force to continue.

Steps to reproduce the problem
Run "grunt adbpush" on a device running Android 8.1 with the official ODK 2.0.5 released binaries.
Expected behavior
"grunt adbpush" when using the released ODK 2.0.5 binaries should not fail.
Other information

Oops, looks like I wrote this line.
Hard to figure out what I was trying to do from the commit title, but I think I remember Jeff mentioning that his server settings were not being wiped when he did a clean + re-push of an app, and I was trying to fix that by removing the Services data folder

Hi
I have the same error
How to fix it please ?
Thanks
Karim

This will be fixed in version 2.1.0


Native crash when loading JudoPay views in Debug

When running a debug build and loading the JudoPay component, the app will always crash. Could possibly be due to not including a debug build of the library thats been bound.

Hey Mike are you still having this issue? I'd like to look into this and get this sorted for you

I should have a build ready for investigating next week. Currently just swapping out large chunks of iOS specific code for x-plat.


Added another D implementation

Added a dub compatible D implementation (dub is the dlang package manager)

Codecov Report

Merging #52 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #52   +/-   ##
=======================================
  Coverage   93.67%   93.67%
=======================================
  Files           2        2
  Lines         237      237
  Branches       29       29
=======================================
  Hits          222      222
  Misses         15       15

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 071478d...3fc2e05. Read the comment docs.

Thanks!


[CH] Memory statistics maybe not correct

Backend
CH (ClickHouse)
Bug description
In our yarn cluster, we have gluten config as following:
spark.executor.cores 1
spark.executor.memory.offHeap.size 3g
spark.executor.memory 1g
spark.Executor.memoryoverhead 0g
spark.executor.instances 1000
spark.gluten.sql.columnar.backend.ch.runtime_settings.max_threads 1

We got following metrics from spark web UI,

Spark version
Spark-3.3.x
Spark configurations
spark.executor.cores 1
spark.executor.memory.offHeap.size 3g
spark.executor.memory 1g
spark.Executor.memoryoverhead 0g
spark.executor.instances 1000
spark.gluten.sql.columnar.backend.ch.runtime_settings.max_threads 1

System information
ubuntu 16.04
Relevant logs
executor-499.log
executor-181.log
No response

Memory usage is good, close this issue.

nm的日志，因为物理内存超限，kill掉了container
2023-08-29 09:25:52,856 WARN  monitor.ContainersMonitorImpl (ContainersMonitorImpl.java:checkLimit(702)) - Container [pid=22674,containerID=container_e63_1691660805290_1090390_01_000071] is running 396840960B beyond the 'PHYSICAL' memory limit. Current usage: 6.4 GB of 6 GB physical memory used; 18.6 GB of 12.6 GB virtual memory used. Killing container.
container日志，ch的内存监控显示只用了2.02G，没有报not enough offheap memory，offheap给的3G，符合预期。
2023-08-29 09:25:52.577  MemoryTracker: Current memory usage (for query): 2.02 GiB.
23/08/29 09:25:52.651 INFO [Executor task launch worker for task 3879.0 in stage 0.0 (TID 14935)] UnifiedMemoryManager: Acquiring 67108864 bytes of off-heap memory.
spark的peak memory监控，on heap只有1.1G，offheap只有110MB（严重不准），on heap内存给的是2G，也没报on heap oom，说明on heap mem没有超过2G，那剩下的2G？尝试把jemalloc的decay参数设置到500ms(set (JEMALLOC_CONFIG_MALLOC_CONF "percpu_arena:percpu,oversize_threshold:0,muzzy_decay_ms:500,dirty_decay_ms:500")，问题还是存在。

Tuning parameters can lower down the probability of killing by yarn NM, but it maybe heart performance.

Currently, we donot relay on memory audit offered by gluten, instead we use NM to kill container if too many memory used.


kibana visualisation of complete sierra works (on subset of fields)

Closing as superseded by work next quarter.


[Improvement] Unify the properties key naming convention for front and back ends

What would you like to be improved?

How should we improve?
Standardize naming rules by the same regular expression

Hey @LauraXia123 ,
I would like to work on this issue. Can you please assign this to me?


Re: 'OS Names API'

Problem with 'OS Names API' (https://www.api.gov.uk/os/os-names-api/)
Links look broken. Also, a few \ which should be /

Similar to https://www.api.gov.uk/os/os-vector-tile-api/#os-vector-tile-api

https://github.com/alphagov/api-catalogue/blob/master/data/catalogue.csv#L20
https://github.com/alphagov/api-catalogue/blob/master/data/catalogue.csv#L22


Shader pipeline state becomes invalid after modifying shader

Maybe this is a totally expected thing but maybe it's not, if it's not a bug please feel free to close this.
Again tested in GL, after modifying the shader the pipeline state for the stage that got modified becomes invalid. Contents of buffers become 0, the whole shader stage looks like there was no shader bound to it.

Sounds like a bug indeed. Maybe the necessary reflection information isn't fetched for edited shaders. There is one long-standing bug that I haven't had the motivation to figure out, which is that after editing a shader the pipeline state will be stale until you refresh it by changing drawcalls (even just away then back to where you started). I assume that's what you're seeing - after editing a shader it's stale until you refresh it, then it's all invalid?

I tried switching to a different drawcall and back but it doesn't seem to help. The shader stays unbound and the constant buffers are zeroed out as long as the shader source editor window is open. As soon as I close that everything gets back to normal.

Closing as this was fixed for v0.27. Re-open if it's not properly resolved.


Update Mine spawn code

I was looking at the Mine spawn code and thought it was maybe a bit hard to read. I eventually decided to try re-writing it. I used a different approach here, so the results might not be quite the same.
The yield is now randomly chosen per mine, so the counts of each yield might not be exactly known, though for a large number of mines, as it typical, it should end up being pretty close to the expected value with high probability. I think this may also allow for a little bit of variation between plays, which may be desirable.
It is now more likely to generate the specified number of mines. Previously it could be less if any of the randomly chosen spawn locations were too close to each other. Now it will try to generate a new point. There is a limit on how often it retries, to prevent possible infinite loops for high mine density with impossible placement constraints.
When testing with a large number of mines, the new code seems to respect constraints better than the old code. I'm not too sure why that is. When increasing the number of mines by a factor of 1000, the old code would place mines next to each other. The new code will still maintain strict spacing requirements.
I speed tested the code up to a factor of 100000 more mines than normal, and it runs with only a small pause of a second or two. Of course most of those generated points won't result in new mines due to placement constraints.
I opted to use functions in an unnamed namespace in the .cpp file, rather than private member functions. I was a little on the fence about one of them, which seemed appropriate to make a member, but ended up leaving in the anonymous namespace next to the other mine generation code. As a slight bonus, it means any updates to that function signature won't trigger recompiles of other modules like a private method declaration in a header file would.
The "percent" values in HostilityMineYieldTable are not strictly required to be percents now. They are proportional values. If they add up to 100, then they will represent percents.

In case anyone is curious what the higher mine density tests looked like:

No two mines next to each other, and nothing with 5 tiles of the edges.

Here's what the old code generated when increasing the number of mines by a factor of 1000:

Noticed that many mines were placed directly next to each other.


fixes #29 approach to expenses questions should be prospective

fixes #29
worked on page ids:
-expenses control
-fixed expenses amount
-health expenses amount
-variable expenses amount
-transport expenses
-child related expenses
-other monthly expenses
-removed all instances of "how much did you make in the last 12 years", replaced with "What are your monthly expenses?"
-moved telephone expense to fixed expenses amount, per request from @kateleebarry and @CaroRob
-changed heading of expenses page to the same text that's on the button in the control screen, per request @kateleebarry and @CaroRob. This is to help the user remember why they are seeing the question, since they click on the category showing the same text in the control screen.
test: check spelling and that telephone is in the fixed expenses page not the variable page.

Made a couple of PRs. You can pick either one or both and close whatever you don't want. The second one is a continuation of the first.


MediaView Landscape orientation issue on Share Button

I am facing an issue while holding device in LandscapOrientation.
To Replicate this issue : Run the example project, select any media then hold the device in Landscape mode, press share button, all the media will be overlapper on upper part of the screen.
I have tried to forcefully call the below code at the end of the viewLoad() of MHShareViewController.m but did not successed.
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
switch (orientation) {
case 1:
case 2:
NSLog(@"portrait");
// your code for portrait...
break;
    case 3:
    case 4:{
        NSLog(@"landscape");

            //try one

//            self.tableViewShare.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 240);
//            self.toolbar.frame = CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width,240);
//            self.collectionView.frame = self.view.bounds;
//            self.navigationItem.rightBarButtonItem = [self nextBarButtonItem];
//            [self.collectionView.collectionViewLayout invalidateLayout];
            //try two

//            double delayInSeconds = 1.0;
//            dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
//            dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
//                [self willAnimateRotationToInterfaceOrientation:2 duration:0.25];
//                [self didRotateFromInterfaceOrientation:2];
//            });
    }break;
    default:
        NSLog(@"other");
            // your code for face down or face up...
        break;
}

Please help me to solve out this issue.
Thanks for reading this.

similar to this?

yes, Same as this(https://github.com/mariohahn/MHVideoPhotoGallery/issues/106) link.
But no one given solution, that's why I have posted new issue.

Same problems happen to me.
You might consider force the viewcontroller back to portrait mode when pressing share button...
-(void)sharePressed{

    // Force MHGalleryController to go back to protrait because its shareview has problems in landscape mode
    // http://stackoverflow.com/questions/26357162/how-to-force-view-controller-orientation-in-ios-8
    NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
    [[UIDevice currentDevice] setValue:value forKey:@"orientation"];

Thanks for the Answer. Appreciate your help :+1:

You are welcome :-)


<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "7.*".

@balazsorban44 I've made some updates to the package, can you try installing it again and let me know if you're having the error

Yes, it is working under Node v.9.4.0 as well. Thanks.


Add Mark All as Read button as a prop

Able to access the button Mark All as Read from prop gives a chance to control data.
The Problem : Updating data using useState in React causing the entire component to re-render. If we can get the controll over Mark All as Read Button, we can delete data accordingly using localStorage.

We will be adding an ability to provide a function as a prop for the  "Mark as Read" button handler. The default behavior of the button will be as it is today. However, the behavior can be completely overridden based on the use-cases by passing a function as a prop.
@bsakethreddy, You can observe the Liked pull request with this issue. Just FYI..

Hi,
Great, thank you. Thanks for creating this package.
React-notification-timeline is what exactly I am looking for. I will be
happy to contribute to the package in the future.
I felt there is a need for documentation on how to handle the data which we
are giving to Notify.
My Situation: I am giving real time data to Notify, But whenever state gets
updated the entire component gets re-rendered. This is causing the state to
re-initialise again
and loosing all the data. So, what I planned is to store the data in
localstorage and when the user clicks on MarkAsRead Button I will reset the
local storage. With this the notification container contains the messages
which are unread only. I think internally you are doing the same but can we
get access to the same?
Please suggest whether this is the best solution ? Or is there any inbuilt
functionality which solves the problem?
Thank you,
Saketh.
On Fri, Dec 18, 2020, 2:32 PM Tapas Adhikary<EMAIL_ADDRESS>wrote:

We will be adding an ability to provide a function as a prop for the "Mark
as Read" button handler. The default behavior of the button will be as it
is today. However, the behavior can be completely overridden based on the
use-cases by passing a function as a prop.
@bsakethreddy https://github.com/bsakethreddy, You can observe the
Liked pull request with this issue. Just FYI..
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/atapas/notifyme/issues/6#issuecomment-747957863, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADI3HNUQ2FSDHBLNZ4OPJDDSVMLAZANCNFSM4U7SES6A
.

@bsakethreddy, Thanks! Great to know your interest in contributing as well. Will be looking forward to it.

I felt there is a need for documentation on how to handle the data which we
are giving to Notify.

Sure, I'll take it up. Please feel free to create an issue. We can take care of it early next year(after vacation time).

what I planned is to store the data in localstorage and when the user clicks on MarkAsRead Button I will reset the local storage. With this, the notification container contains messages which are unread only. I think internally you are doing the same but can we get access to the same?

So with the approach of allowing you to pass your own implementation for the Mark as Read button, would it be helpful for you to tackle the current situation? Now a new prop will be available to pass the implementation as a function. There is a PR created for it already.

@bsakethreddy, This fix is now available with the 0.0.9 version.
https://www.npmjs.com/package/react-notification-timeline/v/0.0.9
An additional(optional) prop can be passed now for overriding the mark as read default functionality,
<NotifyMe
  data={data}
  storageKey='notific_key'
  notific_key='timestamp'
  notific_value='update'
  heading='Notification Alerts'
  sortedByKey={false}
  showDate={true}
  size={64}
  color="yellow"
  markAsReadFn={() => yourOwnFunctionHandler()}
/>

Hence closed this issue.


[Map] DM-[DANISH]WindMillPark

Hash: 662c3a39c760b6258a99ddcb1a7679fda80f1c33
Current name: DM-[DANISH]WindMillPark
The author of this map, according to the readme, is [DANISH]TheDane

Updated author and added new alias.


AddressBook -- update AddressBook save to use new projections

In _ABAddressBookManager's save method, when the projections for WACContactList's saveContactAsync and deleteContactAsync are updated to have success/fail blocks (rather than just returning a WFIAsyncAction), use a dispatch_group_t to spawn off all async calls at the same time rather than the blocking WFIASyncAction getResults, and return false in the case that the fail block is called (rather than just returning true always).

We will do this if necessary at a later point.


Result history

You already know what this is about, just making a tracking issue :)
The way LibJS does it is just appending to an ever growing JSON file, which in hindsight is not really that scalable - especially not when you have results for 10 different engines.
This could either be tracking the total score, or even per-file results to see when certain engines implemented certain features.

Basic history tracking (overall, not per file/dir) was added a few days ago in e4a76f4d7c3dadd02e904cc1c9c75b7c1adef5f9. No graph yet as collecting data for a while first :)

Hmm, it appears that this appends a new entry every time an engine finishes, which could make this grow rather quickly - is that avoidable?
Agreed that per-file is overkill. FYI I've set up a daily mirror of the various JSON files at https://files.linus.dev/test262.fyi, and I'll probably keep that going for a while - so if there's any data you want to backfill, feel free to take it from there.

Was a bug - just rewrote it (lol) and should be much future-proof-ier now :) Thanks for info and mirror!

Also to note, thanks to @linusg, we can likely use historical data from test262.report for The Graph™!


[WIP] Support nested keys in get / set

Note currently comparing to keys-view since changes there are convenient here.
This PR addresses some of the issues raised in #22, specifically:

[x] TensorDict.get(nested_key)
[x] TensorDict.set(nested_key, value) (+ creation of the sub-td if the original key is missing)
[x] TensorDict.set_(nested_key, value)
[x] Return nested keys when iterating over tensordict.keys() (and by extension tensordict.values() and tensordict.items().

I've made some progress here, but the changes (as will be clear from the diff) are getting quite complicated. A few things to call out

Some of the complexity is because it's not trivial to add support for nested keys to LazyStackedTensorDict or SavedTensorDict.
.keys(), .values() and .items() all default to returning nested keys (except for the above two types), but that is not true of .items_meta() or .values_meta(). I'm not sure whether it's more confusing to have the inconsistency or to return nested meta information? Maybe the default of returning nested keys isn't right itself?
Probably could do with adding a test or two for the iteration over nested keys and items etc, but I wanted to push what I have atm because there were a lot of failing tests to fix and I think I now have the existing ones working.

.keys(), .values() and .items() all default to returning nested keys (except for the above two types), but that is not true of .items_meta() or .values_meta(). I'm not sure whether it's more confusing to have the inconsistency or to return nested meta information? Maybe the default of returning nested keys isn't right itself?

We can default to non-nested.
What do you think @shagunsodhani? All default to nested or all default to non-nested?

I've changed the behaviour so that nested keys are never returned by default, you must always opt-in with include_nested=True.
To ensure we don't have weirdness like
assert ("a", "b") in tensordict.keys()
assert ("a", "b") not in list(tensordict.keys())

(i.e. inconsistent behaviour of __iter__ and __contains__) it is now also necessary to set include_nested=True when doing a membership check, i.e.
("a", "b") in tensordict.keys(include_nested=True)

I also removed the include_leaf_tensordicts keyword argument, as it seemed like it was basically always True and added a fair bit of confusion.


Update readme for better system service startup

The current system service file won't start up for me. This fixed it for me:
i belive the issue was having the user=pi but also in your version you didn't have the run at the end. This is on the Debian 12 Bookworm release.
[Unit]
Description=Raspi PoE HAT Monitor
After=network.target

[Service]
Type=simple
Environment=systemd=true
ExecStart=/usr/bin/python3 /home/pi/.local/bin/raspi-poe-mon run
WorkingDirectory=/home/pi/.local/bin
User=pi
Group=pi
Restart=always
RestartSec=30

[Install]
WantedBy=multi-user.target

You're right, I didn't test this properly. I updated the readme to this
´´´
[Unit]
Description=Raspi PoE HAT Monitor
After=network.target
[Service]
ExecStart=/home/raspi/.local/bin/raspi-poe-mon run --fan-off-temp 50 --fan-on-temp 60
User=raspi
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
´´´
I omitted some of other entries, since they didn't seem necessary to me

Type=simple is the default type
the Environment section seems pointless, I just copied it from somehwere else and didn't think about it
WorkingDirectory we don't really need, since we're not accessing any files relative to the executable
Group was not required to make it work for me, specifying a user seems to be sufficient

Yep yours works as well!


Unknown data type -1

Hello,
When I try to open tdms files, the reader throws an exception "Unknown data type -1".
That occurs in the Open() operation:
var tdms = new NationalInstruments.Tdms.File(filePath);
tdms.Open();

This exceptions only occurs sometimes, but I would like to know why. Maybe a problem in the files or maybe a problem with the reader with newest versions of the files.
Thanks in advance!

I'm not really sure what could be causing the problem, haven't seen that before. Might want to grab the code and debug it while opening your file, will probably help troubleshoot.

@rafa0809 if you post a file with the issue I will take a look.

Ran into this issue as well. Have two example files for you @tommyja
https://github.com/NIVeriStandAdd-Ons/Time-Align-NIVS-TDMS-Files-Tool/blob/master/Example%20Files/100k%208133.tdms
https://github.com/NIVeriStandAdd-Ons/Time-Align-NIVS-TDMS-Files-Tool/blob/master/Example%20Files/100k%208108.tdms

Line 66 of the Reader.cs file gave -1 which is the source of this issue.

Thx! I'll try to take a look as soon as I can. Sorry for the delayed response.

I am also having this issue. Is there any insight into what is happening?
Stepping through:
File.cs Open() is calling LoadMetadata(reader).ToList();
DataType.cs GetClrType(int dataType) is throwing the exception.
From the stack:
Reader.cs ReadMetadata(Segment segment) is calling GetClrType(metadata.RawData.DataType)
This means that metadata.RawData.DataType is being set to -1 in the line before (i.e. Reader.cs line 66)
metadata.RawData.DataType = _reader.ReadInt32();
It should be set (in my case) to 10: DoubleFloat

Interesting clue:
The call to _reader.ReadInt32() immediately prior to the one returning -1. Assigns a value of 4713 to rawDataIndexLength.
4713, according to the tdms whitepaper refers to the version number of the tdms file format, which wouldn't seem to have much to do with the rawDataIndexLength. I have observed this result with two separate .tdms files.
Perhaps something is being read out of order for some cases of tdms files.

Oh solved.
4713 refers to TDMS2.0. As discussed in another issue, this project only supports TDMS1.0. Is that correct? I may be able to use 1.0 in my project.


Improve Contribution UX

Adds seoplia as default network
Updates wallet profile image styles
Adds more transaction statuses for user feedback
Adds hook to check if user has enough balance for transaction before approval

lgtm Clean up commented out code in the future

yeah theres UI code ready but no backend for it so 🤷🏽


chore: bdd-gh-1584909787 to 0.0.1

chore: Promote bdd-gh-1584909787 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix: update consumer poll signature

Description:
fix #99
Type of change:
Please delete options that are not relevant.

[ ] New feature / Refactor / Enhancement (non-breaking change which adds new typings)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Documentation (Updating or adding documentation, docstrings, etc.)
[ ] Other minor changes (workflow, GitHub configs, etc.)
[ ] Breaking change (fix or feature that would cause existing functionality not to work as expected)

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


On-cluster build: Code from private Git repository

git-clone supports credentials, auth: https://hub.tekton.dev/tekton/task/git-clone
There should be a user friendly way how to add credentials that will be used by pipeline. Users shouldn't create additinonal resources themselves, all of it should be handled by func cli.

/remove-lifecycle stale
@Shashankft9 any update on this please?

I can take this on if you'd like @Shashankft9
Couple of questions:

Should we be adding support for ssh credentials, basic auth or both?

Users shouldn't create additinonal resources themselves, all of it should be handled by func cli
I assumed the user should still create a Secret with the ssh credentials (or basic auth creds). And maybe the name of the Secret can be a part of func.yaml?

sure Gab, and thanks
/unassign
/assign @gab-satchi

@gab-satchi I'd prefer if we can actually create the secret for user. Or try to think about the best solution from users perspective.
Image that the user does have very limited knowledge of k8s.

/remove-lifecycle stale

@zroubalik I tried something and I wanted to share if it would be good for upstream as well - let me know what you think:
(only tested with basic auth right now, but should in principle work with ssh as well)
User will have to create a secret like this:
kind: Secret
apiVersion: v1
metadata:
  name: my-basic-auth-secret
type: Opaque
stringData:
  .gitconfig: |
    [credential "https://gitlab.com"]
      helper = store
  .git-credentials: |
<EMAIL_ADDRESS>
Change the func.yaml to include secretName under git.
Following changes are to be done to a functions pipeline and pipelinerun only if the above git.secretName is specified, otherwise it stays the same. The secretName is reflected in the pipelinerun.
Change the pipeline that gets created for every function to look something like this:
  tasks:
  - name: fetch-sources
    params:
    - name: url
      value: $(params.gitRepository)
    - name: revision
      value: $(params.gitRevision)
    taskRef:
      kind: Task
      name: git-clone
    workspaces:
    - name: output
      workspace: source-workspace
    - name: basic-auth
      workspace: basic-auth-workspace
...
  workspaces:
  - description: Directory where function source is located.
    name: source-workspace
  - description: Directory containing image registry credentials stored in `config.json`
      file.
    name: dockerconfig-workspace
    optional: true
  - description: Directory where Buildpacks cache is stored.
    name: cache-workspace
  - name: basic-auth-workspace

Change the pipeline that gets created to something like this:
  workspaces:
  - name: source-workspace
    persistentVolumeClaim:
      claimName: test-pack-git-pipeline-pvc
    subPath: source
  - name: dockerconfig-workspace
    secret:
      secretName: test-pack-git-pipeline-secret
  - name: cache-workspace
    persistentVolumeClaim:
      claimName: test-pack-git-pipeline-pvc
    subPath: cache
  - name: basic-auth-workspace
    secret:
      secretName: my-basic-auth-secret

Unassigning due to inactivity
Please feel free to re-assign yourself if you're still working on it @gab-satchi !

/remove-lifecycle stale

remove-lifecycle stale


Bump Python language version support

Drop support for 3.8
Re-lock deps on Python >= 3.9
Add testing for 3.13

Fixes #202.

Closing this in favor of a split 3.13 upgrade and separately dropping 3.8 support (if we want to).


Repeater - HTTP/1.1 <-> HTTP/2 switch

Switching to HTTP2 doesn't dynamically changing the HTTP header as well

I will fix it. It does in the backend though!

Fixed


Add notification that Azure AD auth currently only works on Windows 10

Azure AD authentication requires the Azure VPN Client which is only available for Windows 10. People with other OSs such as MacOS, iOS, Linux, and Android do not have a clearly stated notification that Azure AD auth is not supported on their operating system.
This can lead to many lost hours in planning, attempting implementation, and troubleshooting if using unsupported OS with Azure AD auth.
There is a Note near top of the page saying "Azure AD authentication is supported only for OpenVPN protocol connections" but that is misleading because the other OSs can support OpenVPN connections. They just do not support Azure AD auth.
I suggest adding another line to that Note saying something similar to "Azure AD authentication requires the Azure VPN Client which is available only for Windows 10."

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

ID: 186c0697-792a-a913-1baa-0af86f7ef6de
Version Independent ID: 330e7927-57fd-75e2-26b1-05bd2e8f30c1
Content: VPN Gateway: Azure AD tenant for P2S VPN connections: Azure AD authentication
Content Source: articles/vpn-gateway/openvpn-azure-ad-tenant.md
Service: vpn-gateway
GitHub Login: @KumudD
Microsoft Alias: alzam

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

@ad-alt Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.


_http_common

Bug Description
Module not found: Error: Can't resolve '_http_common'
Reproducible By
Erela.js manager // anything
Expected Behavior
obvious?
Logs & Screenshots
ERROR in ./node_modules/petitio/dist/index.js 1:997-1020 Module not found: Error: Can't resolve '_http_common' in 'C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\petitio\dist' resolve '_http_common' in 'C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\petitio\dist'   Parsed request is a module   using description file: C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\petitio\package.json (relative path: ./dist)     resolve as module       C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\petitio\dist\node_modules doesn't exist or is not a directory       C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\petitio\node_modules doesn't exist or is not a directory       C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\node_modules doesn't exist or is not a directory       looking for modules in C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules         single file module           using description file: C:\Users\Nolly\Desktop\Undetected\nolynjs\package.json (relative path: ./node_modules/_http_common)             no extension               C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common doesn't exist             .tsx               C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common.tsx doesn't exist             .ts               C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common.ts doesn't exist             .js               C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common.js doesn't exist             .jsx               C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common.jsx doesn't exist         C:\Users\Nolly\Desktop\Undetected\nolynjs\node_modules\_http_common doesn't exist       C:\Users\Nolly\Desktop\Undetected\node_modules doesn't exist or is not a directory       C:\Users\Nolly\Desktop\node_modules doesn't exist or is not a directory       looking for modules in C:\Users\Nolly\node_modules         single file module           No description file found in C:\Users\Nolly\node_modules or above           no extension             C:\Users\Nolly\node_modules\_http_common doesn't exist           .tsx             C:\Users\Nolly\node_modules\_http_common.tsx doesn't exist           .ts             C:\Users\Nolly\node_modules\_http_common.ts doesn't exist           .js             C:\Users\Nolly\node_modules\_http_common.js doesn't exist           .jsx             C:\Users\Nolly\node_modules\_http_common.jsx doesn't exist         C:\Users\Nolly\node_modules\_http_common doesn't exist       C:\Users\node_modules doesn't exist or is not a directory       C:\node_modules doesn't exist or is not a directory
Environment
Windows LTS, NodeJS LTS
Additional context

@richnolyn which version of petitio is this?


fix typo in docs/concepts/api-extension/custom-resources.md

NOTE: After opening the PR, please un-check and re-check the "Allow edits from maintainers" box so that maintainers can work on your patch and speed up the review process. This is a temporary workaround to address a known issue with GitHub.>
Please delete this note before submitting the pull request.

This change is

Thanks!
/lgtm


Insertion of null lines in pygdf.read_csv when reading csv files generated by Windows systems.

I found a bug in pygdf.read_csv where it inserted null rows consisting of all None types. I checked the input CSV file, and it was fine. Further investigation showed this bug relates to files generated by Windows systems with CR/LF (x'0d0a') line endings, rather than Uniix/Linux LF (x'0a') only. A workaround, on Linux systems, is to use the dos2unix command to convert the file beforehand, then it loads correctly.
Code:

Source file:

Another example:

We have a patch that addresses this issue and adds a new argument for windows csv fils (CR/LF)
Send from my mobile device

From: John Murray<EMAIL_ADDRESS>Sent: Saturday, October 27, 2018 5:21:12 AM
To: rapidsai/cudf-alpha
Cc: Subscribed
Subject: [rapidsai/cudf-alpha] Insertion of null lines in pygdf.read_csv when reading csv files generated by Windows systems. (#2)
I found a bug in pygdf.read_csv where it inserted null rows consisting of all None types. I checked the input CSV file, and it was fine. Further investigation showed this bug relates to files generated by Windows systems with CR/LF (x'0d0a') line endings, rather than Uniix/Linux LF (x'0a') only. A workaround, on Linux systems, is to use the dos2unix command to convert the file beforehand, then it loads correctly.
Code:
[rapids_csv_bug_1]https://user-images.githubusercontent.com/8914493/47602052-12b45300-d9d1-11e8-8f5d-0139224b7ed8.jpg
Source file:
[rapids_csv_bug_2]https://user-images.githubusercontent.com/8914493/47602054-15af4380-d9d1-11e8-8391-1eb72fcfff1c.jpg
Another example:
[rapids_csv_bug_3]https://user-images.githubusercontent.com/8914493/47602057-18aa3400-d9d1-11e8-9fe8-2f6d430b0515.jpg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/rapidsai/cudf-alpha/issues/2, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Agjdc68wM_u-wcL8qCZba9k-lXzejaS9ks5upCWIgaJpZM4X9VZg.

This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.


1 × 1 = 1

in the for-loop of the pow functions and the fac function, 1 × 1 = 1 in the first iteration. therefore that iteration can be eliminated

Yes, I just saw it. Though the extra iterations is required for the for-loop in the pow-function due to the result of pow(x, 0) = 1. Added the fix.


Hidden lines affordance should take entire editor width, in inline diff mode

Notice the hidden lines separators don't stretch all the way to the left:

This is the diff editor gutter area, which lives outside of the text editor. The separators live inside the (two) text editors...


Fix running Example on Android by deleting com.example package.

Fixes Example :app:compileDebugJavaWithJavac FAILED error attempting to run on Android (emulator) by deleting package Example/android/app/src/main/java/com/example/.
Before: output and error from react-native run-android:
$ ./node_modules/.bin/react-native run-android
(node:17535) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
(node:17535) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead.
JS server already running.
Running /opt/android-sdk-linux//platform-tools/adb reverse tcp:8081 tcp:8081
Building and installing the app on the device (cd android && ./gradlew installDebug...
Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42321Library UP-TO-DATE
:app:prepareComFacebookFrescoDrawee0110Library UP-TO-DATE
:app:prepareComFacebookFrescoFbcore0110Library UP-TO-DATE
:app:prepareComFacebookFrescoFresco0110Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipeline0110Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipelineBase0110Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipelineOkhttp30110Library UP-TO-DATE
:app:prepareComFacebookReactReactNative0300Library UP-TO-DATE
:app:prepareOrgWebkitAndroidJscR174650Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:mergeDebugShaders UP-TO-DATE
:app:compileDebugShaders UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:bundleDebugJsAndAssets SKIPPED
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:incrementalDebugJavaCompilationSafeguard UP-TO-DATE
:app:compileDebugJavaWithJavac
:app:compileDebugJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/home/www/testbed/react-native-router-flux/Example/android/app/src/main/java/com/example/MainApplication.java:20: error: cannot find symbol
      return BuildConfig.DEBUG;
             ^
  symbol: variable BuildConfig
1 error
:app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 7.659 secs

Thank you for letting us know, but instead I just reverted the commit that cause this issue.

@charpeni Example deploys/works on Android for me now - thanks!


Create contextually appropriate file system access on papi

Need to make a way for extensions to access papi in a controlled way. They need to be force-restricted to accessing only their own project folder and their own user folder and such. Maybe we can make a proxy for each extension that restricts certain functionality based on "attributes" attached to the properties of the services on the papi or something. We also need to consider how to do this for web views as well.
Make a note to extension developers that they can use this in place of fs.
It would be wise to investigate VSCode's context object they pass into the activate function and get an idea how that might be helpful to understand for our design.
Depends on #30, #56

Access their own extension installation folder R
Write to something user-specific - user appdata/local - extension-specific settings R/W
Access their own project-specific file in some way R/W


wait for contract spec txs to complete before submitting scope spec txs

Missed the fact that the scope spec txs would error due to the new contract specs not existing yet w/o waiting for the previous transactions to make it into a block

Codecov Report

Merging #109 (d8d5dde) into main (54dc7cb) will decrease coverage by 0.09%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##               main     #109      +/-   ##
============================================
- Coverage     11.98%   11.89%   -0.10%
  Complexity       37       37
============================================
  Files            67       67
  Lines          3522     3549      +27
  Branches        374      380       +6
============================================
  Hits            422      422
- Misses         3039     3066      +27
  Partials         61       61

Impacted Files
Coverage Δ

...n/kotlin/io/provenance/engine/config/Properties.kt
0.00% <0.00%> (ø)

...rovenance/engine/service/ChaincodeInvokeService.kt
0.00% <0.00%> (ø)

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 54dc7cb...d8d5dde. Read the comment docs.


Support for CirleCI

Question
Given that CircleCI finally added the ability to specific a custom audience https://circleci.com/docs/api/v2/index.html#operation/PatchOrgClaims . Does it mean that cosign should work now ? It appears though, that given they simply pass the the token as env var in the job (unlike GitHub, looks like there is currently no way for a job to dynamically craft a new token with custom audience). https://circleci.com/docs/openid-connect-tokens/#format-of-the-openid-connect-id-token
So my understanding, is that we can set it to either a static value sigstore or an array that contains sigstore.
Does fulcio support list of audiences ?

Dup of https://github.com/sigstore/fulcio/issues/591


Fixed DateTime serialization

The DateTime type may be in a normalized format too and not just a string.

@sroze any though on this?

What's the rationale behind this PR? IMO \DateTime/PHP internals should not be exposed and the only standardized date and time formats used in the wild are strings.

Erf, don't really remember actually, too old :disappointed:.

So I'm closing :wink:


Initialize with genesis take 2

This is alternative to #215
Solves the problem of big header

Yet I don't like we have to deal with migration insertions as hex string.


Opacity Transition for Dark Mode Toggle Button

Fixed delay in discord dark mode button to make it more fluid.
Before:

After:

Fixed #452.

hm, the thing about this one is it does look more fluid but it doesn't actually fix the delay

https://user-images.githubusercontent.com/8981287/168950987-716d6b7d-ac57-464a-b9d7-4216279f64b9.mp4

https://user-images.githubusercontent.com/8981287/168951140-abd1f824-89ea-4514-a40f-06299a795356.mp4

Steps to reproduce: Disable javascript I recoreded this on snapchat bcus i dont have a screen recorder software rn
Snapchat-1899418180.mp4

To reproduce the flicker seen in the video, disable cache in addition to disabling JavaScript.


Adding IncludeDiagnostics to WriteTo extension method, and adding some unit tests.

As mentioned in my commit message, I also optimized some resource usage - when include diagnostics is turned off, the sink would still create and serialize the Diagnostics message.

Awesome!
Thanks for cleaning stuff up!

Hmm.  I always set up an automated build/upload for my packages on my build server(s) that is based on incrementing the version of the Assembly in AssemblyInfo.cs.
These guys http://codebetter.com/codebetter-ci/ and https://ci.appveyor.com/signup/free provide free hosted TeamCity installs for OSS projects.  It's pretty dang easy to actually set it up in TeamCity since they have a NuGet build type that will take care of it all. If you set up the server on one of them and can't get it to work, give me a login and I'll see what I can do this weekend if you like.


Release 2022.10.2

Short description

New release with focus on PDF fixes, POI improvements and internal problems
Changelog

[ #1808 ] Improve calculation of HIX values via Textlab
[ #1800 ] Exclude archived pages from PDF exports
[ #1802 ] Reenable table of contents and page numbers in PDFs
[ #1350 ] Various small PDF export improvements
[ #1777 ] Fix autocompleting POI address for non-staff users
[ #1749 ] Fix region deletion error if media library has nested structure
[ #1170 ] Add map preview on POI form

Should we wait for #1768 @svenseeberg?


Calling WPF method from Blazor

I want to interact with some windows components witch is only available through WPF, how can I call a WPF method from Blazor and get its result?

Just call it? You are running on the same runtime. You might need to route the call through Dispatcher.Invoke on the WPF component though.


Add Directory and File Koans

@LeilaZarban Nevermind, I was impatient and resolved my review comments myself 😁
Thank you very much for your contribution!

@all-contributors please add @LeilaZarban for code


Use Logger in restapi.go

There are way more occurences of log.Print(...) in restapi.go
I'm just not sure how to go about for fixing those. They are not so important because they are hidden behind the Session.Debug flag anyway. They  are basically for printing out whole http requests to the console.
I played around with introducing a new LogLevel LogTrace and not using the Session.Debug flag for deciding, whether those messages should be logged or not.
We could keep Session.Debug for api compatibility, but it would still be a behavioral change ... so not sure, what you would like there.

I think would be better to use Debug here. Since you probably won't really want to have this in error logs, unless if you're in Debug mode.

Changed

I meant s.Debug, not s.log(LogDebug

s.Debug has a comment that says it's meant to go away ... in the end I don't care how we do it, I just want to get rid of this unconditional output on stdout.
By now I feel it might be easier, if you just push a fix yourself, as it's just a one liner anyway? :)

s.Debug has a comment that says it's meant to go away ... in the end I don't care how we do it, I just want to get rid of this unconditional output on stdout.
By now I feel it might be easier, if you just push a fix yourself, as it's just a one liner anyway? :)

Yeah, I think the best solution here is to use s.Debug, and just put a TODO to replace it to s.log(LogDebug, ...) or s.log(LogError, ...) in the future

After a bit of thinking, I think I'll close this in favor of #1043.

fine with me, happy we got rid of the output - thanks!


fix restore load job progress before retry failed load task

Proposed changes
Currently if a loadloading task fails, in retry the failed task's progress would retain with double the total file num.
Because the load job progress was initiated in BrokerLoadJob::createLoadingTask() and the total file num is added every time in Coordinator::exec(), the progress is not properly reset in retry.
For example, previously the progress looks like this after retry:
progress: 68.72% (68717/100000)
----------task-failed----------
progress: 34.38% (68753/200000)

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

Cloud you explain more in commit message?


Fixes #104 - re-draws on Android apply viewbox transforms repeatedly

fixes #104 by resetting the matrix at each draw to prevent applying the transforms on top of the previous transforms

Thanks for this PR.
:+1:


Web Proxy

Hi could you explain more for web proxy, which api that i need to pointing

Hi Ardi,
I was actually just working on some enhancements to this repo including updating the README to explain the proxy part in more detail. It was assumed you have one of these already somewhere in AWS and expose it via a VPC Endpoint Service.  Then in variables.sh you point it to the DNS name provided by the service.
If you checkout my branch here:
https://github.com/tomellis/private-eks-cluster/tree/fargate-support
There is an example within the README and cloudformation/proxy.yaml.
HTH

Hi @ardhiee
The template is now merged into the repo and you should find additional instructions in the README.
Thanks!
Tom


I want to Contribute

Hello I like your Idea of YouTube music application and I also like to contribute to this project can you please explain your file structure and how you are getting music from YouTube are you web scraping or using any API please also tell about how I can start contributing to this project

There will be a file structure rework bundled with a electron update in the next weeks,
File structure will be mich better afterwards.
Stay tuned

Ok can you tell me the basic working of the application like how you are using YouTube music because I didn't see any api of YouTube music


Extending troubleshooting

Extending troubleshooting with known installation problems
#56

Codecov Report
Patch and project coverage have no change.

Comparison is base (4c35e0e) 69.74% compared to head (25f56ac) 69.74%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #61   +/-   ##
=======================================
  Coverage   69.74%   69.74%
=======================================
  Files          27       27
  Lines        2036     2036
=======================================
  Hits         1420     1420
  Misses        616      616

see 1 file with indirect coverage changes

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


fix: docs sidebar layout issue when announcementBar visible

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links
https://deploy-preview-8567--docusaurus-2.netlify.app/tests/docs/toc/toc-_-5/
https://deploy-preview-8567--docusaurus-2.netlify.app/docs/sidebar/items

Deploy preview: https://deploy-preview-8567--docusaurus-2.netlify.app/
Related issues/PRs
#8370

After submiting this PR, I signed the CLA.

Reverted changes to Sidebar ad.
This is a problem caused by the length of the sidebar menu not changing when the Announcementbar disappears.
So when it checked the showAnnouncementBar variable, it referenced the length of the announcementBar. And I modified the height style value of the menu element in the sidebar.

Doesn't seem to work as I'd like it to:

Thanks for giving it a try.
For now I'm going to close all the pending PRs trying to solve this issue, see https://github.com/facebook/docusaurus/issues/8370#issuecomment-1500129085


Fix incompatibility with latest progrium/buildstep

Since progrium/buildstep@d771c3b18940db1d940d0c79573ba423b2331397, the /build/ directory in the docker image is removed at the end of the build process. This fix copies procfile-to-supervisord to another directory.

This doesn't completely solve the current issues. See #20 that include this PR and some additional fixes.

Closing this out as the fixes to work with the latest buildstep have been applied to master.


build: re-work steps

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


ENH: various DICOM compliance tests

In Debug mode, RLE-RGB.dcm and RLE-YBR_FULL.dcm trigger:
Warning: In C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmBitmap.cxx, line 179, function gdcm::Bitmap::SetPlanarConfiguration
Cant have Planar Configuration in JPEG/JPEG-LS/JPEG 2000. Discarding

Also, JPEG2000-YBR_RCT.dcm triggers an assert in C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmJPEG2000Codec.cxx, at line 788. Everything works fine in Release mode.

This is a follow-up to #1306, #1309 and #1310. Test data produced by Mihail Isakov.

Great! Glad you were able to find this data, last I looked it wasn't there.
Looks like there are couple issues to track down before this can be merged and we can declare ITK has support for all these DICOM formats.

On Tue, Oct 29, 2019 at 6:11 AM @issakomi wrote:

BTW, i have some doubts about RLE images, they were done with GDCM clone, but i've found comments that GDCM can only produce Planar Configuration 0, but the written Planar Configuration is 1. All viewers are opening RLE images correct, but i am not sure now. FYI. May be better were original images from manufacturers, but they were not so small.

@malaterre or @issakomi: can compliant input files be created? Maybe using DCMTK, if not GDCM?

I am not sure about planar configuration, RLE can have planar configuration 1, of course. s Table 8.2.2-1. The question is - is ithe value correct or not. It was produced with GDCM clone, i have mentioned there is a comment that GDCM can only produce 0, but written is 1. Not sure. Better discard the RLE images and take original from manufacturer. I shall look now for smallest i can find and share a link.

GE RLE YBR_FULL. Will trigger this confusing JPEG warning too, AFAIK.

Acuson RLE YBR_FULL

Both images above have planar configuration 1 and will trigger this warning.

I am looking into using DCMTK to create the problematic files from raw file.

Here is another one from Acuson, ~ 50 KB.
All of them have planar configuration 1.

Can we focus this PR on the ones that currently work. Add the other more difficult was in additional  PRs.?

All images work, for original RLE images the warning is wrong, there is nothing to warn about. For generated i am in doubt myself now. Some comments are not not clear for me. JPEG2000 work all in release mode, and have very offen asserts in debug, not only color, but all.
Sorry for being in again, you have asked - and i can not ignore, but it is really better i will be out of GDCM stuff. Thank you.

I removed two of the problematic files and re-created the third one using dcmcrle.exe raw-RGB.dcm RLE-RGB.dcm.

Here GDCM forces planar configuration 1 for RLE - gdcmImageChangeTransferSyntax.cxx#L142. It was correct to delete them, IMHO.

Here is raw-YBR_FULL.dcm from this tiny collection. May be you can create RLE-YBR_FULL with DCMTK, not sure how (check photo-metric value). RLE-RGB doesn't make sense and is never used by manufacturers, compression is too bad. raw-YBR_FULL doesn't make sense too, it is little lossy without compression at all, just for testing, FYI.

The latest force-push incorporates raw-YBR_FULL.dcm.

JPEG2000 YBR_ICT (D.Clinue), very small ~ 58 KB

JPEG2000 YBR_RCT (D. Clunie) ~150 KB

Better replace JPEG2000-YBR_RCT.dcm with D. Clunie's images, IMHO, they are small.

Those last two files could be added as a new PR, as they have different content from the rest of the test files in this patch. CI passes, and I think this is ready for reviewing and merging.

In Debug mode, RLE-RGB.dcm and RLE-YBR_FULL.dcm trigger:
Warning: In C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmBitmap.cxx, line 179, function gdcm::Bitmap::SetPlanarConfiguration
Cant have Planar Configuration in JPEG/JPEG-LS/JPEG 2000. Discarding

The warning is correct (a bit pedantic, but correct). How did you generate those files ? Was it with gdcm command line tool ? In any case a good reference file used for unit testing should not declare an invalid state for Planar Configuration.

Also, JPEG2000-YBR_RCT.dcm triggers an assert in C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmJPEG2000Codec.cxx, at line 788. Everything works fine in Release mode.

That's odd. I am pretty sure I did fix this issue with YBR_ICT a couple of days ago. I see this is merged in ITK master:

https://github.com/malaterre/ITK/blob/master/Modules/ThirdParty/GDCM/src/gdcm/Source/MediaStorageAndFileFormat/gdcmJPEG2000Codec.cxx#L787

@dzenanz FYI, If you need my review, please give me a little more than 18hours (night time in Europe).

@dzenanz FYI, If you need my review, please give me a little more than 18hours (night time in Europe).

Sorry, two other people commented on the PR so I got carried away with itchy merge-finger.
If/when the assert triggered by JPEG2000-YBR_RCT gets fixed/removed, I could re-add that test file.
JPEG2000-YBR_RCT.zip

the whole point was to test YBR_RCT here. If so, the J2K codestream needs to be re-generated.

Correct. Can you create a standards-compliant version of it?

In Debug mode, RLE-RGB.dcm and RLE-YBR_FULL.dcm trigger:
Warning: In C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmBitmap.cxx, line 179, function gdcm::Bitmap::SetPlanarConfiguration
Cant have Planar Configuration in JPEG/JPEG-LS/JPEG 2000. Discarding

The warning is correct (a bit pedantic, but correct). How did you generate those files ? Was it with gdcm command line tool ? In any case a good reference file used for unit testing should not declare an invalid state for Planar Configuration.

RLE files i have done myself with GDCM, i didn't done something special with. Planar configuration 1 comes from here - gdcmImageChangeTransferSyntax.cxx#L142. I am not sure now, may be they are bad. If they are bad -  it is a bug in GDCM. The warning about Jpeg related to RLE is wrong per definition at least thru confusion with wording about JPEGs. And RLE can have planar 1, s. Table 8.2.2-1, i have tons of original RLE from manufacturers, all with planar 1.

In Debug mode, RLE-RGB.dcm and RLE-YBR_FULL.dcm trigger:
Warning: In C:\Dev\ITK-git\Modules\ThirdParty\GDCM\src\gdcm\Source\MediaStorageAndFileFormat\gdcmBitmap.cxx, line 179, function gdcm::Bitmap::SetPlanarConfiguration
Cant have Planar Configuration in JPEG/JPEG-LS/JPEG 2000. Discarding

The warning is correct (a bit pedantic, but correct). How did you generate those files ? Was it with gdcm command line tool ? In any case a good reference file used for unit testing should not declare an invalid state for Planar Configuration.

RLE files i have done myself with GDCM, i didn't done something special with. Planar configuration 1 comes from here - gdcmImageChangeTransferSyntax.cxx#L142. I am not sure now, may be they are bad. If they are bad - it is a bug in GDCM. The warning about Jpeg related to RLE is wrong per definition at least thru confusion with wording about JPEGs. And RLE can have planar 1, s. Table 8.2.2-1, i have tons of original RLE from manufacturers, all with planar 1.

My bad. This has been updated then changed back in the DICOM standard. See the intermediate wording in DCMTK bug tracker:

https://support.dcmtk.org/redmine/issues/819

[...]
The use of separate segments implies that the Planar Configuration (0028,0006) will always be 1 for RLE compressed images.
[...]
Which can still be seen in an older version of the standard:

http://dicom.nema.org/medical/dicom/2018b/output/chtml/part05/sect_G.2.html

CP-1843 has clarified the situation:

ftp://medical.nema.org/medical/dicom/final/cp1843_ft_planarconfigurationforjpeglswithwsi.pdf

So the warning in GDCM is indeed a remaining dust from an old version of the DICOM standard (pre 2018b). I'll fix that ASAP.

Thank you very much.

For later reference this is gdcm commit d1a4ae35a618b76a136edcf4f8a2037054f7bd4b


Initial v1 doc commit to gh-pages

Basically I just copied from head, stripped the versioning information, added layouts, and then rewrote links.

cc @thockin @erictune @bgrant0607
Have at it. I recommend looking at individual commits since the initial copy is bulky.

#11344

Now that I have context from Kris and Richie, LGTM

merging to make progress


Upgrade Files to Use TF-2 using tf2_upgrade script

@JayGupta2003 Do not have enough time to test TF2. You may fork this repo to make your own:)


What caused the resized event not to be triggered？

the grid item won't be efffected when I try to resize the grid item and mouseup,the 'ResizedEvent' won't be printed too.
But it successd sometimes,seems like randomly.
Did u guys have clues what cause this?

I'm having the same issue. Did you end up with a solution @LiuZiqi-dual ?

same here!

I'm having the same issue. Did you end up with a solution @LiuZiqi-dual ?

hey dude,I didnt fix it and Imma follow this bug up again.
I found that add '.sync' after ':layout' and use 'responsive' prop can fix this RESIZED bug.but also leads to another problem,my dynamic data cant be rendered in grid item.
It gonna drive me crazy,did U got any solution?

Anyone found a fix / workaroud?

Just found out I'm having the same issue: https://codesandbox.io/s/festive-voice-3mv3h
I noticed it appears because I'm getting the layout from a computed property. If I move the layout from my state to the data property then it works but it's not dynamic anymore... I have no idea what to do about it.

same！！！

Anyone found a fix / workaroud?

I meet the same problem, and at the end I found It was my wrong.


Tags to categorize tests

To have better categorization and discovery & fine-grained execution control of different types of tests we propose to use Junit 5 tags.
Also it would be good to have capability to exclude specific classes from code coverage based on an annotation.
Tags will also help for Integration Tests pipeline,as in current structure this pipeline lists every module separately which has few downsides

Modules are tested in sequence, not making use of gradle parallelism
Modules with integration tests need to be listed in the workflow. There is a risk that one is forgotten
Unit tests contained in those modules are also run, which is not required. The time impact is probably very small, but it makes the reports larger than necessary
In the future we might need various type of integration test setups in one module (e.g. test data flow between one type of store and another), so fine-grained control of execution is beneficial

hey @cpeeyush, please also note issue #819 which details which @Tags we initially need. might make sense to do those two issues togehter.


Implementation of PartialEq, Eq, PartialOrd and Ord for IndexMap

Hey, I'd like to replace BTreeMap by IndexMap to preserve the order of deserialized elements in RON. However, IndexMap lacks PartialEq, Eq, PartialOrd and Ord.
Is that intentional or just not implemented yet?

IndexMap does implement equality in the same fashion as HashMap -- maps are considered equal if they contain equal keys and values. This is independent of order, which is natural for HashMap but perhaps surprising for IndexMap.
PartialOrd and Ord must agree with PartialEq and Eq in what they call Ordering::Equal, which means this comparison must also be independent of the IndexMap's order. It must also be antisymmetric and transitive, as well as being total for Ord. BTreeMap can easily implement a consistent comparison since the keys are sorted, but we have no such luxury here.
If you do know your keys are sorted, or if you just want to compare by each maps' current order regardless, you can iterate them and use Iterator::cmp and friends.

I see, thank you!


Improve the user experience in getting the candidates' info

If the candidates DONOT have resume, REMOVE or DISABLE  the "download resume" button.
Display the personal introduction directly in "detailed information" page instead of CLICKing the button to show the introduction.

Will be fixed in next version.
Won't be fixed. Think about the condition when introduction is very long.

When the introduction is so long,  FOLD ? But now, every time I want to know about one candidate, I HAVE TO click the button !! User experience is sooooooo bad !!!!!!!! With the increase of the candidates, the UE will be worse. 👎

This is worth considering, but maybe a PR is what we need most currently.

OK. when I finish my course design


improve handling based on type of error_json, catch typeerror as well

Signed-off-by: Samuel Dacanay<EMAIL_ADDRESS>Fixes #647

Closing to keep patch release clean


Multiple parameter types

I outlines what i was playing with at SO https://stackoverflow.com/questions/45506169/how-to-have-multiple-data-types-for-form-body-with-swagger-in-aspnet-core-mvc
I also attempted to create a converter and maybe manipulate the written json.
public class IParameterConverter : JsonConverter
  {
      public override bool CanConvert(Type objectType)
      {
          return typeof(IParameter).IsAssignableFrom(objectType);
      }

      public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
      {
          throw new NotImplementedException();
      }

      public override bool CanRead => false;

      public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
      {

      }
  }

and
 .AddJsonOptions(options =>
            {
                options.SerializerSettings.Formatting = Formatting.Indented;
                options.SerializerSettings.Converters.Add(new IParameterConverter());
            }); ;

but its never called for any of the swagger objects.
Is there any way to work around this? End goal is to be able to change between different content types for the request in the UI

As Swashbuckle.AspNetCore 5.0.0-beta now supports Swagger/OAI V3, it is possible to describe an operation that accepts an object OR a file depending on the provided Content-Type.
While Swashbuckle doesn't support this out-of-the-box, there are a couple of workarounds to get the desired behavior. See #1040 for details around this exact use-case


Remove link to indicator setup on result table modal

From an IPTT report, when you click on the result table, there is a link with the text "Start by selecting a target frequency".  Remove the link (but preserve the red warning text next to it).

PASSED. I no longer see the link to set up targets:


add InclusiveProjection Visitor

This PR has been broken out of https://github.com/apache/iceberg-rust/pull/241 as it was getting too large.
The InclusiveProjection is used in the process of filtering manifest files in table scans. It projects the BoundPredicate that is provided as the filter in a table scan into a Predicate that can be used for filtering the partition specs of manifests.
This also updates BoundPredicateVisitor to add a parameter consisting of a reference to the BoundPredicate itself to the unary/binary/set operation visitor methods, as a convenience. Without this, the implementation for the InclusiveProjection visitor would be much more complex and consist of more boilerplate, as it would need to construct a BoundPredicate itself in each method, in order to be able to pass a reference to a BoundPredicate to PartitionField.transform.project

@liurenjie1024 @Fokko @marvinlanhenke @ZENOTME PTAL, I've refactored this on top of the BoundPredicateVisitor that was merged a few hours ago and it is ready for review

FAO @Fokko  @marvinlanhenke @liurenjie1024: Comments addressed, ready for re-review

I agree that rewrite-not should get applied. But it is not the responsibility of the InclusiveProjection itself. In this design, it happens already earlier on on the process, at the point where the TableScan gets built.
See here, in my other open PR: https://github.com/apache/iceberg-rust/pull/323/files#diff-bbfbe5e334be6c501ba2ca0ddd84d658ff0f3f84f2b5b532212f4e096a09e09bR76

This looks great!
I think @marvinlanhenke has a valid concern on when to apply the rewrite-not. Let's defer that discussion when we start wiring everything together. This look good, thanks @sdd for working on this and thanks @marvinlanhenke for the review 🙌

Thanks @sdd @Fokko ... I think its reasonable to defer the discussion, once we tie everything together.


Fields in my metadata go beyond 128 chars (e.g.: URLS from web archived pages)

class _Validators(BaseModel):
    """Base class for our record models that takes care of general validations"""

    @validator("metadata", check_fields=False)
    def _check_value_length(cls, v):
        """Checks metadata values length and apply value truncation for large values"""
        new_metadata = limit_value_length(v, max_length=MAX_KEYWORD_LENGTH)
        if new_metadata != v:
            warnings.warn(
                "Some metadata values exceed the max length. "
                f"Those values will be truncated by keeping only the last {MAX_KEYWORD_LENGTH} characters."
            )

        return new_metadata

Seems to be that there's no way to define the MAX_KEYWORD_LENGHT, and one has to live with the 128 char limit, is there any workaround?

Hello @davidsbatista ! Thanks for reaching out.
It's not possible to modify change metadata length for textual fields for now.  We will make available a configuration using environment variables in future releases.
As workaround, maybe you can parse the url and use several metadata fields, for example url_hostname and url_path.
I hope I have been helpful

Hi @frascuchon, thanks for the reply, I just changed the source to a higher value, but thanks for your suggestion

Hi @davidsbatista, we've created an issue with your suggestion. Thanks for pointing this out!

Closing this issue. Moving discussion to #1319


Release problem.

Release to jcenter sometimes fail to upload library module. And when we move to library dir and execute this script again, new library artifact is uploaded...

It happens in my library in most time. I really hate this...In my case, I uploaded modules, separately. Like this.
./gradlew clean build generatePomFileForMavenPublication :processor:bintrayUpload -PbintrayUser=hotchemi -PbintrayKey={$bintrayKey} -PdryRun=true
./gradlew :library:bintrayUpload -PbintrayUser=hotchemi -PbintrayKey={$bintrayKey} -PdryRun=true

Umm, it might be the bug of novoda/bintray-release.

There is no solution and we have to work around with...


multisport fitness graph misbehave

Bug description:
activity is missing on fitness graph
Actual Behavior:
multisport fitness graph not showing and not calculating yesterdays activity, but shows today and before yesterday.
Auto sync says that all activities are synced.
Expected Behavior:
should show all activities.
Steps to Reproduce:

...
...
...

Chrome version
Version 61.0.3163.91 (Official Build) (64-bit)
Plugin version:
5.11.0 Stable
Activities links?:
this activity is missing in graph  https://www.strava.com/activities/1200632167
Console errors? (press F12 to see developer console, and copy paste here):
put console errors here if exist

Link screenshots or youtube video link if necessary:
(todo for me)

[ ] Check link or not with #459

Could you attach me original export of theses activities?
Ty

[ ] Check link or not with #459

Thomas,
I checked it few minutes ago and everything is ok. I did not do anything it just fixed by itself.
do you want me to export strava activity as gpx?

Yes ideally the original format from your gps device
FIT, TCX, GPX

Thomas,
2017-09-25_11-10-02_4_302.fit was the one that had problem in fitness graph, but I included one before and one after so you can see that all three are good.
garmin_src.tar.gz

Hi @pent1,
I was not able to reproduce the problem yesterday evening.
Closing that ticket?!
Tom


chore!: rename optional dependency

tests -> test

To be consistent with our other tools

oh wait

other way https://github.com/GenomicMedLab/software-templates/blob/2e814cf08285c8306b03208d2760bc569f9f4b32/python/{{cookiecutter.project_slug}}/pyproject.toml#L25

there are like 3 cases of 'test' that ive been meaning to change but the rest are 'tests'

Ope my bad. Though gene was updated. I can fix the others


add workflows for project automation

writing this for the third time, excuse the brevity...
adding 2 workflows for adding all new issues/PRs in the Core repos to a "Core management" project for triage and further refinement. for now, adding everything -- may consider filtering down

@lostmygithubaccount are you still waiting on a review for this?

@leahwicz missed that, sorry! closing in favor of #27, this would be a (in my opinion, needlessly more difficult) way to achieve the same thing


How many service instances can one instance of eureka support?

I have checked eureka wiki, and not found this kind of information.
Could you please share the performance matrix about Eureka? such as:

How many service instances can one instance of Eureka support?
How many CPU / memory should one eureka use under such condition?
What's the original refresh interval for eureka client in such circumstances, and how many concurrent requests can eureka support, such as xx thousand tps?

Thanks,

Hi @iamzhout we don't have any exact numbers on the edge limits for eureka, and of course this also is highly dependent on the instance type that the servers are deployed on. To give you a rough idea:

eureka servers do not shard their registry, so from a memory footprint p.o.v. all servers will share the same restrictions. Having said that, we have typically found that network I/O being the bounding factor (by far) rather than cpu or memory, especially considering that the network out for queries will increase with the number of instances registered with eureka.

We run a pretty limited number of servers internally (~10), which serves many 10s of thousands of clients. Having said that, these servers are running on the larger EC2 instance types. If the number of clients reduce, the number of servers can also be reduced.

See above regarding network I/O being the bigger bounding factor for eureka servers. Eureka servers does need some baseline amounts of CPU and memory to operate, probably something similar to an EC2 .2xl would be fine.

The original (if not overridden) refresh rate is 30seconds.

Thanks @qiangdavidliu for your reply.
Currently, we are doing some performance test purely on eureka to check its capability and performance in large scale, and found some problems during the process, mainly are:

after registered 100,000 service instances to eureka, and then call delete API (~200 threads concurrently), eureka will be extremely slow of response

after registered 10,000 service instances to eureka, and refresh server list with "/eureka/v2/apps/delta" API every 30 seconds (~200 threads), eureka will slow of response; and the response size is quite large, about 1MB for single request.

What's your suggestion on above performance issue, is it because we didn't call the correct API, use eureka in the right way, or it do have reached the uplimit of eureka itself?  What's the recommended/suitable refresh/hearbeat interval under 100s of thousands service instances?
Thanks,
Tao

Thanks for the update. I have some questions regarding your set up:

are you testing with just a single eureka server, or with a cluster set up (and if so, how many instances?)
with your 200 concurrent calls, are they (relating to the above) hitting the same server or distributed? what is the rate of these calls?

Address your questions without understanding of the two questions above,

We typically run with a cluster set up (~10) as mentioned, so the requests would be shared between these servers. Additionally, we have independent deployments in different regions so the environment itself is effectively sharded.

We did encounter this issue as well, and resolve it by adding a readonly proxy fleet internally. There is logic (disabled via configuration) inside eureka-client that handles logic regarding a redirect to only do reads from servers in the readonly fleet. The readonly fleet code has not been open sourced yet, but it is quite straight forward:

eureka-server's REST resource -> cache -> eureka-client connecting to write servers

see EurekaTransportConfig.java for the configs as well as javadoc.
Lastly, there are some server side optimizations that we have not enabled by default in OSS configs yet (mainly due to complexity of upgrading an existing deployment with these).

One setting you may want to take a look at this setting which enables batching for the server to server replication.

Another is are you using the gzipEncodingEnforcingFilter? This is enabled by default in the provided example web.xml but your set up may be different.

Closing old issue. Please re-open if necessary.


Installer fails - Step 4.2

When I attempt to run the installer in section CONTINUE after SETTING UP AUDIO, step 4.2:
sudo  /home/pi/GassistPi/scripts/gassist-installer-pi3.sh
It errors out with the following:
Collecting pycryptodomex>=3.0 (from gpsoauth>=0.2.0->gmusicapi>=11.0.0->-r /home/pi/GassistPi/Requirements/GassistPi-pip-requirements.txt (line 6))
Using cached pycryptodomex-3.4.11.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-build-zu3w3oyv/pycryptodomex/setup.py", line 107, in
for line in open(os.path.join("lib", "Crypto", "init.py")):
FileNotFoundError: [Errno 2] No such file or directory: 'lib/Crypto/init.py'
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-zu3w3oyv/pycryptodomex/
I started this build from scratch with a fresh install of raspbian.
Can anyone provide any direction to resolve this?

Are you using GassistPi? You may want to file your issue there.

Thank you -- too many tabs open.   I thought I had posted it in GassistPi.