fix: Adding and removing annotations

SUMMARY

This fix covers adding, editing and removing annotation layers.
It closes #11782 where everything was explained with details.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
Adding annotation
before:

after:

Removing annotation
before:

after:

TEST PLAN
Please verify manually. Steps to recreate issue are described on the Issue #11782 page.
ADDITIONAL INFORMATION

[x] Has associated issue: Fixes #11782
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

cc @adam-stasiak

manually tested from local, LGTM.

Codecov Report

Merging #11811 (0b9501a) into master (84c8a62) will decrease coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11811      +/-   ##
==========================================
- Coverage   63.54%   63.24%   -0.31%
==========================================
  Files         915      458     -457
  Lines       44358    27989   -16369
  Branches     4221        0    -4221
==========================================
- Hits        28189    17701   -10488
+ Misses      15990    10288    -5702
+ Partials      179        0     -179

Flag
Coverage Δ

javascript
?

python
63.24% <ø> (-0.66%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
54.08% <0.00%> (-29.97%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-12.53%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.56% <0.00%> (-2.44%)
:arrow_down:

superset/examples/birth_names.py
96.51% <0.00%> (-2.33%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

... and 465 more

Continue to review full report at Codecov.

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

let's merge if everything looks alright, other upcoming PRs around this area will rely on this.

Tested - It is working fine. One short question related to logic of this feature @junlincc :
Should all added annotation layers be included in summary in manage menu? It is not included now.


deployment logs have an extra carriage return which show up in disco logs

running disco logs will show "correct" output most of the time, but will show an extra carriage return when printing lines starting with disco.utils.deploymentflow:Deployment, resulting in one empty line for each regular line
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.github:Output: HEAD is now at 3e5f272 .
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.github:Getting head commit hash for llama3
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.filesystem:Reading disco file /disco/projects/llama3/disco.json
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.deployments:Setting deployment disco file of DEPLOYMENT_c52f8d84a8094f16af790e18f480f81c (llama3 13)
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.deploymentflow:Deployment c52f8d84a8094f16af790e18f480f81c: Building image default
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.deploymentflow:Deployment c52f8d84a8094f16af790e18f480f81c: #1 [internal] load build definition from Dockerfile
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.deploymentflow:Deployment c52f8d84a8094f16af790e18f480f81c: #1 sha256:045ea43d70a6e226d056df92141f72f28d8db2517c93d3ed4cabb3f283628426
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z
disco.1.d9x0jhanbo0kac22yivygd4oz 2024-04-20T02:53:23Z INFO:disco.utils.deploymentflow:Deployment c52f8d84a8094f16af790e18f480f81c: #1 transferring dockerfile: 293B done

check if this is still true


frontend: revert f564cfa94f0979fd3efff2b638ce1e933f4e63f0

f564cfa94f0979fd3efff2b638ce1e933f4e63f0 causes infinite loop / calls to the AOPP endpoint, thus we revert it for now.

Opened #2976 with a fix.


Feature request: Provide single script to create data

Currently there are instructions for running scripts in multiple steps per dataset/split. Can you provide a single script that runs everything?

+1


qemu/qmp: support hotplug a nic whose qdisc is mq

If we hotplug a nic with args mq=on, its qdisc will be mq by default.
This aligns with cold plug nics.
Signed-off-by: Ruidong Cao<EMAIL_ADDRESS>

From test results, mq can provide better performance than pfifo_fast. So this may be necessary.

Coverage decreased (-0.2%) to 79.745% when pulling c3363161c36c5467b8d47a2035142c7df496fe9b on caoruidong:support-mq into 6aa35d33f2fded7ee32f7eadabda95182059572f on intel:master.

Coverage decreased (-0.2%) to 79.745% when pulling c3363161c36c5467b8d47a2035142c7df496fe9b on caoruidong:support-mq into 6aa35d33f2fded7ee32f7eadabda95182059572f on intel:master.


Unable to Schedule Events with L&D Package

Hello!
I have been testing this app, and was trying to set up a test event within a Team. The error message is vague, and there are no errors within "App Insights" on Azure either.

+1 for the issue

Same

See #5


Signal fanout

Question:
From @wavedrom group topic: https://groups.google.com/d/topic/wavedrom/iqTKBLl6mYU/discussion

Can some tell me how to make a driver gate to drive multiple gates in the next level with replication of the driver gate.
For example:
Level 0 : AND GATE
Level 1:  3 Inverters driven by the same AND GATE

Answer:
Current engine renders only tree forest structures. So, signal fanout will not be visualized.
Naming the signals with the same name will help user to navigate, but no line will appear on the schematic.

TODO:

[ ] scope all the cases
[ ] sketch the cases
[ ] appropriate grid design
[ ] routing algorithm

Easy case 1:
{ assign: [
  ["out", ["&", "a", "b", "b"]]
]}

Now:

Expected:

Comment to the initial question. Is it possible to add unique tag/id/name to the block, or assign a name to the output signal of any block (not only for global output)? If so, task becomes the same as for input signals in examples above.

ok, you are right @DmitryAGusev . My pictures above have not addressed the original question. How about next example as the possible solution?
{ assign: [
  ["a",
    ['|',
      ["&", ["!s0", ["~", "s0"]], ["!s1", ["~", "s1"]], "e0"],
      ["&", "!s0", "s1", "e1"],
      ["&", "s0", "!s1", "e2"],
      ["&", "s0", "s1", "e3"]
    ]
  ]
]}

Yes, this is what I meant. It will be nice to add the ability to suppress the showing of intermediate names like !s0, !s1.

Yes, this is what I meant. It will be nice to add the ability to suppress the showing of intermediate names like !s0, !s1. I.e. by using another quotes '!s1' instead of "!s1"

Yes, this is what I meant. It will be nice to add the ability to suppress the showing of intermediate names like !s0, !s1. I.e. by using another quotes '!s1' instead of "!s1". And the same for input signal names, sometimes some of them are not important to be shown, i.e. for highlighting critical paths.

Another important question is: How to render connect between multiple expressions?
Gray to Binary example:
{ assign:[
  ["b3", "g3"],
  ["b2", ["^", "b3", "g2"]],
  ["b1", ["^", "b2", "g1"]],
  ["b0", ["^", "b1", "g0"]]
]}

It looks like the structure {assign: [ ]} should define some kind of name space. All signals within this space with similar names should be connected (unless it is suppressed explicitly by some option/flag). Two output signals with similar names cause an error. Multiple intermediate inputs can be connected to one intermediate output signal or one global input signal.

That is correct. We have to think about the temporal variable scoping. Especially, if we going to use multiple scopes (namespaces), or / and nested scoping.


WIP: Support for Pixel 3

With minor modifications, this all should work on Pixel 3 XL and OnePlus 6T also
Use these instructions set up the userspace:
https://gist.github.com/geohot/569e9e4b20fd41203d8da71c6022be15
Two major issues right now:

The built binutils segfaults, so it can't build the panda firmware
SNPE doesn't run. If this isn't fixed by the community, it will have to wait for steelix (SNPE replacement) to be finished

was caused by broken libCB on pixel 3, fixed using version from OP6T

Two minor issues from move to Android 9 from 6:

visionimg.cc no longer works, minor API change required
eglfs_surfaceflinger needs to be modified. This branch includes a binary, but I think it should just be moved into openpilot.

no immediate action required here though

And then:

camerad must be modified to support Pixel 3
A bunch of minor fixups for hardware abstraction. It's half a TICI half an EON

Join our discord to discuss:
https://discord.comma.ai/

I managed to setup the userspace, compile openpilot and launch the UI on a Pixel 3 XL. Using system image crosshatch-pq3a.190801.002.
The UI is centered in the screen on the training steps and has black bars, I think because the resolution is set too small for the 3 XL.

I also replicated this on the OnePlus 6T (6GB RAM + 128GB ROM). It's running OxygenOS 9.0.17 (Build: A6013_41_190911).
In order to get touch events to work, you must change QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS in selfdrive/ui/ui to /dev/input/event3. The touch input is slightly offset, similar to the Pixel 3 XL, too. I assume because of the different screen resolution.

OnePlus 6T next to a Google Pixel 3 XL, both running openpilot

To troubleshoot SNPE, you can try compiling the model by hand.
cd /data/openpilot/selfdrive/modeld/thneed
LD_LIBRARY_PATH=/data/openpilot/third_party/snpe/aarch64:$LD_LIBRARY_PATH ./compile /data/openpilot/models/supercombo.dlc /data/openpilot/models/supercombo.thneed

On the Pixel 3, I get
error_code=809; error_message=OpenCL function has returned error. error_code=809; error_message=OpenCL function has returned error. OpenCL Error (-61) CL_INVALID_BUFFER_SIZE; error_component=GPU Runtime; line_no=892; thread_id=535608423664; opencl_error=-61; error_component=GPU Runtime; line_no=271; thread_id=535779222856

To troubleshoot panda build, you can run arm-none-eabi-as
blueline:/data/data/com.termux/files/home # arm-none-eabi-as
Assembler messages:
Internal error (Segmentation fault).
Please report this bug.

If you fix the segfault, panda should build. I believe gcc is correct and just binutils has the issue. It's being built by install.sh

The camera issues can be dealt in one of two ways.

You can add raw support to camera_qcom2.cc, this will involve understanding the sensor in the phone and a bit of refactoring. It would be phone specific, but would get high performance with low lag.
You could also write camera_android.cc which uses Android's camera stack, similar to camera_webcam.cc This would be more generic, but could possibly have performance issues and issues running multiple cameras at the same time.

The built binutils segfaults, so it can't build the panda firmware
The root cause of binutils segfault is fopen64 function not found by clang due to undefined __ANDROID_API__ macro required by stdio.h.

This issue can be fixed by prepending this line to binutils-2.32/bfd/bfdio.c (Adding this to Makefile is better?):
#define __ANDROID_API__ 28
Verified that panda/baord can be built successfully on pixel 3 device after this fix applied.

Awesome fix for binutils!
@adeebshihadeh has been moving the install.sh stuff to termux-packages to build it on the PC. Can we apply this fix to binutils?

In theory, can we use other sdm845 mobiles with Adreno 630 GPU?

launched it on oneplus 6t

I think we can close this in its current form. An AGNOS port seems like the way forward for this kind of thing.

Hi guys, I am trying to replicate this on Android 12 but can't figure out where this libqeglfs-surfaceflinger-integration.so file comes from. Is it something you wrote? Can you share the source?
With the current binary I am stuck on error:
: Failed to load EGL device integration "eglfs_surfaceflinger"
: EGL library doesn't support Emulator extensions

Hi guys, I am trying to replicate this on Android 12 but can't figure out where this libqeglfs-surfaceflinger-integration.so file comes from. Is it something you wrote? Can you share the source?

qeglfs_sf_main.cpp
qeglfs_sf_integration.cpp

With the current binary I am stuck on error:
: Failed to load EGL device integration "eglfs_surfaceflinger"
: EGL library doesn't support Emulator extensions

I'd target Android 9

I'd target Android 9, there is also a group of users who have it working in current form over here https://discord.gg/PaSgTgUS8S if you'd like to collaborate

Okay, I'll target Android 9 then. So where is the source of that library?

@adeebshihadeh is there anyway to get a copy of the pixel3 branch that was deleted?

@adeebshihadeh is there anyway to get a copy of the pixel3 branch that was deleted?

The branch has been deleted but not commits :wink:


Fix the error that caused the workflow create_release to run twice - at pr/main

done
https://github.com/obervinov/users-package/pull/20/commits/1ed9c68f2386e1202b95a200bd15d1f1675e3be4


Enable WGM=-1 in ContractionSolution.

In previous PR, I forget to modify ContractionSolution.
Fixed in this patch.

@nakajee Please help to review this PR. If there are still any parts we need to modify please remind me. Thanks.

===== 62 passed, 18 skipped, 1 xfailed, 24 warnings in 13072.82s (3:37:52) =====
tensilelite test passed

[----------] Global test environment tear-down
[==========] 37294 tests from 13 test suites ran. (1756548 ms total)
[  PASSED  ] 37294 tests.


can we have first browse button and then allow crop ??

I have used model example.where i need first browse image then model will appear with crop image option.I did practice and worked well except crome and safari browser.issue getting default image dimension as approximate 180*210 px.

Hi @fengyuanchen , i loved your cropperjs, it works great. However I had some problems with IE11(win7) and 搜狗browser when use the image from local machine ( eg "access is denied" or "cross orgin" issues). I found that the steps I used were quite close to those in your comments above.
Would you provide some suggestions what i did wrong ? or any workarounds? thank you!


[hotfix][docs] Fix typos in apache-kafka.md and aws-kinesis.md

A few typos here and there.

Thanks, merging this ...


Reimplement buddy allocator

Hopefully allows us to support more interesting usage cases. A good base to start is by reverting commits 11e01d834086087e24545f8367a2420dcfbdc0d8 and d9a59f805a5fb58f3e3796add832e5537fdca9cc.
This requires support for linear mapping RAM, which will be tracked in a separate ticket.

This * should * be implemented properly now.
The initial attempt at the buddy allocator required a direct mapping of RAM, which limited us to 512 GB. However, the introduction of pagedb allowed us to increase the amount of maximum supported RAM to 128 TB (although this will probably go down in the future as we cram more things into struct page).
Otherwise, this is largely the same as the earlier buddy system except with fixed coalescing. Because we use a free list, allocations are much faster vs. using a purely bitmap system since we no longer need to scan through the bitmap.


demonstrate custom_init behaviour

Show how https://github.com/pydantic/pydantic-core/pull/566 works
selected reviewer: @dmontagu

please review.

Needs https://github.com/pydantic/pydantic-core/pull/566 to be merged before tests will pass.

Another thing that works in v1 but not in v2:
from pydantic import BaseModel

calls = []

class InitModel(BaseModel):
    x: int

    def __init__(self, **kwargs):
        print(kwargs['x'])
        super().__init__(**kwargs)

InitModel.parse_obj({'x': 1})
#> 1

It seems hard to do anything before the call to super().__init__; given that, are there things that this enables that can't be done with model_post_init? (I will note that the custom inits I saw while investigating had keyword arguments added to the signature, so I think won't be compatible with this validated_data thing.

I'm thinking if you call BaseModel.__init__(instance, validated_data=ValidatedData(...)) on the inner call instead of calling cls.__init__(validated_data=ValidatedData(...)) maybe it will help? Sorry if that's dumb, I haven't fully thought it through

Okay, I looked into it a bit, and I realize I misunderstood what was happening; I will note that changing the definition of model_validate to:
    @classmethod
    def model_validate(
        cls: type[Model], obj: Any, *, strict: bool | None = None, context: dict[str, Any] | None = None
    ) -> Model:
        # `__tracebackhide__` tells pytest and some other tools to omit this function from tracebacks
        __tracebackhide__ = True
        if cls.__init__ is BaseModel.__init__:
            return cls.__pydantic_validator__.validate_python(obj, strict=strict, context=context)
        return cls(**obj)

gets it to work the same as in v1 (unsurprisingly), though of course this will mishandle various things. But I'm thinking maybe it provides some insight into how to fix the behavior — if there is a custom init, maybe attempt to call it right away, rather than after getting the validated data?

For context, here's the custom __init__ example I found that did nontrivial stuff before and after the __init__ call: https://github.com/gdsfactory/gdsfactory/blob/447d3c183aea2e157c3edb64691a32dee57136a9/gdsfactory/technology/layer_views.py#L426-L461
(There were two other custom inits in that repo but they started by calling super().__init__(**kwargs) so could just be replaced with model_post_init, I think.)


Implement IsOpaque for CompInfo

This allows us to properly detect structs that should be treated as opaque due to their non-type template paramaters, which in turn lets us correctly codegen template aliases to such things.
Fixes #820
r? @emilio

 Warning

These commits modify unsafe code. Please review it carefully!

Why is Debug removed from many of the cases? I'm a bit concerned this could potentially break some code.
Also, it seems those Default and Clone impls are redundant. They should be derivable.

I had to change our defaults from true to false for when we don't have a layout because we were mistakenly putting derive(Debug) on arrays of 33 elements when 32 is the max. I'll look into loosening it again and see if I can fix the root cause.
We can still derive(Copy) even when we can't derive(Clone) because it is just a marker trait and has no fixed number of elements limit.

Ok, it turns out that the CanDeriveDebug implementation for templates needed to look through type refs and aliases when checking for if its definition used non-type template parameters. Fixing that and we can go back to being optimistic when we don't have a layout.

@fitzgen does this conflict with #824? Should we wait for that to land?

@fitzgen does this conflict with #824? Should we wait for that to land?

#824 should actually make the seeing-through-type-refs Just Work automatically. There may be conflicts in git but it shouldn't be too bad.
Since this fixes a stylo bug, I think we shouldn't wait around and should land this now.

Well, stylo isn't updating at least until #826 is fixed I think, but sure, will review this now.

:pushpin: Commit 20253fc has been approved by emilio

@bors-servo r=emilio

:hourglass: Testing commit 20253fc29cc1ad56354bf0903121469ea153e4ca with merge 781385fa7d322eeda180da17172dfe0448fa9cf0...

:sunny: Test successful - status-travis
Approved by: emilio
Pushing 781385fa7d322eeda180da17172dfe0448fa9cf0 to master...


Replace ELBAuditor DB query with support watcher

Why is this change necessary?
DB query will perform a very inefficient table scan on the item table
which could slow down DB performance when the item table gets large. It
is also not the best solution because the security group may not be in
the database.
This change addresses the need by:
A better solution would be to add the security group results as a
support watcher and find the security group out of the in memory list.
Potential Side Effects:
None

Coverage increased (+0.01%) to 54.426% when pulling b049e5b93b34c0a656ab0c533c644c7f6736b45c on Bridgewater:9761_ReplaceELBAuditor into 83e572a83a9c003efe79399631873b232c7086f6 on Netflix:develop.


App (macOS) crashes inside vkUpdateDescriptorSets() and unable to debug into it with source code

Hi,
I have a Vulkan app modified from a sample project and it runs well on Windows and Android, but crashes when update a sampled image with VkDescriptorImageInfo struct, the crashes happens when calling the API function "vkUpdateDescriptorSets(...)", there is no any error message shown in the IDE console.
In order to figure the reason, I need to step into the function "vkUpdateDescriptorSets(...)" to find where it crashes. However, I do not know why the XCode debugger only shows me the assembly code?
I'm able to debug into other static libraries (.a) with full source code in other applications. What makes me unable to step in MoltenVK's source code to debug? See the screenshot.
Note that:

My app links to MoltenVK's static library (moltenvk.a)
I have made sure the MoltenVK's static library is built with "generate debug symbols" set to YES
The MoltenVK packaging is not in the same XCode workspace of my app
I'm frustrated by this, thanks for any suggestions.
Hongkun

I can provide the whole app source / project if someone can help.
Hongkun
www.omnigsoft.com

PS: It looks like that I need to find the MoltenVK.dSYM symbol file to show the library source code? Still trying to find the symbol file ...

After switch to static linking the MoltenVK.framwork, I'm able to debug into the library with source code. Still do not know when linking to MoltenVK.a does not work, I have ensured build the library with debug symbols.

Linking application with framework instead of static library make me debug into library's source code.


host vs. bind

Should this https://github.com/sensu-plugins/sensu-plugin/blob/master/lib/sensu-handler.rb#L100 refer to settings['api']['bind'] instead?

As explained in IRC, this is not a bug:
15:14 (rob_) { host: sensu-api } on one machine, { bind: 0 } on another
15:14 (ucb) ok, I think I understand now
15:15 (ucb) thanks
15:15 (rob_) same config block is read by sensu-server and sensu-api
15:16 (rob_) same config block is read by multiple things, rather
15:16 (rob_) (like sensu-plugin)
15:16 (ucb) latter block is read by api, former by other things, right?
15:16 (rob_) the bind parameter tells the api where to bind to, the host parameter tells <other stuff> where to find the api


The buildprerequs.sh script downloads macOS and creates the .iso file and checksum. If you just need to make only the checksum file check out https://github.com/trodemaster/packer-macOS-11/blob/bee7e00b55e5d8abaa0449e1e2af8a2079c11743/scripts/buildprerequs.sh#L40


Migrations

Correct me if I'm wrong, but I haven't seen any migration handling. AFAIK there is an open issue regarding the Supabase CLI having this recently removed where you can set a target supabase api, whereas now it's '--project' which is less than ideal for self hosted.
I was thinking on my fork of pushing my migrations up to a DO space where they can then be actioned / triggered within a migrations container. Or have a GitHub Action detect migrations files and run the necessary commands within the PG container.
What are your thoughts on this?

Ahhh good question, I'm actually looking in to that now. So I'll keep you updated if I have anything concrete.
According to how you are doing updates of the containers (are you creating a new snapshot? are you sshing into the Droplet, modifying the docker-compose.yml file and running docker compose up -d? something else) there are multiple ways of doing this.
I'm a fan of separation of privileges/tasks so I'd lean towards a migration container.

Thanks for getting back to me,
I did a DEEP dive into this late last night, I ended up falling asleep trying to figure out how the integrated migrations work with Superbase. It looks like they already have some migrations directories which look through the migrations, but adding our own migrations into that directory could break some of the flow.
I did read that they are fully aware migrations can be a Pain In The A** for people self-hosting, but no one really seems to have provided a concrete approach. Or at least I haven't found these yet.
In response to your question I am creating new snapshots each time I have any infra changes using your packer example.
There is a migrate.sh I found in one of their repos, but I was thinking if the supabase-cli was/is installed within the Postgres container then potentially a migration can be run there using the pre-existing tooling.
A final thought, I might use pg-migrate in a separate container but just load in the migrations produced from the CLI from my local dev. Or even better, a GitHub Action to detect migration files and run them via pg-migrate

Ahha. Thought I would take a quick look at this today, the migration script within the supabase/postgres repo is quite simple, I think I will go with a container which pulls a copy of the repo where my migrations are housed and use dbmate like is used in this script: https://github.com/supabase/postgres/blob/91f2a2278f112df816ecf45ea49f4ccfdc7a0e6f/migrations/db/migrate.sh
Maybe at some point create some sort of trigger once a build has been successful, I guess the migration could run part of a GitHub Action but would prefer to keep database connections to the containers locked down.

Closing this issue as we have an ongoing discussion regarding migrations.


Fix precision loss when unloading timestamps from Redshift

This patch fixes a bug which led to loss of sub-second precision when unloading certain timestamps from Redshift.
In a nutshell, the problem is that Redshift's unloaded timestamps carry only the significant figures in sub-second components of the timestamp, so a timestamp such as 2016-05-27 00:27:41.100 is output as 2016-05-27 00:27:41.1 in the unload output, while one like 2016-05-27 00:27:41.123 is roundtripped with three significant sub-second digits.
From its earliest versions, spark-redshift incorrectly assumed that Redshift's unloaded timestamps would conform to either a yyyy-MM-dd HH:mm:ss.SSS or yyyy-MM-dd HH:mm:ss format, with either three full digits of sub-second precision or none (source), so the length of the timestamp string was used to select the DateFormat used for parsing. As a result, timestamps like 2016-05-27 00:27:41.1 would be routed to the "seconds-only" format, losing the sub-second information and leading to the bug reported in #204.
Note, however, that we can't simply fix this by using a different strategy to select the DateFormat (or a greater number of DateFormats); see https://stackoverflow.com/questions/7159895 for a full explanation of why this is the case.
Instead, this patch addresses this issue by using java.sql.Timestamp.valueOf, which properly handles fractional seconds,  to parse timestamps. I also removed a redundant date formatter implementation which was used for Date columns and have fixed a number of outdated code comments.
To test my fix, I added both end-to-end regression tests as well as unit tests in ConversionsSuite.
Fixes #214.
/cc @jaley @mwho

[Current coverage][cc-pull] is 89.92%

No coverage report found for master at 127e5fc.

Powered by Codecov. Last updated by [127e5fc...7023a78][cc-compare]
[cc-base-branch]: https://codecov.io/gh/databricks/spark-redshift/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/databricks/spark-redshift/compare/127e5fc834682e729fc442d6ff58b0f2ac7d0bb9...7023a78d69b8ab6198d772dee25f496d21ce8853?src=pr
[cc-pull]: https://codecov.io/gh/databricks/spark-redshift/pull/227?src=pr

Going to merge this into master.


Feature request: Reduce verbose output to terminal

Is it possible to add a feature, so that the file generation reporting can be truncated. Running a terminal in the left or right side of VSC results in a rather word wrapped experience, what makes it much less clean.

First run: Running templ generate creates on first runs:

Processing path: /home/perusae/Project

(✓) Generated code for "/home/perusae/Project/Base/Scr/Component/general.templ" in 18.700572ms
(✓) Generated code for "/home/perusae/Project/Base/Scr/Component/Button/Button.templ" in 18.700572ms
(✓) Generated code for "/home/perusae/Project/Base/Scr/Component/....templ" in 18.700572ms
(✓) Generated code for "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms
(✓) Generated code for "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms
(✓) Generated code for "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms
x 55 files ...

And clutters the entire terminal output. There is no way to suppress successful generated code. Showing errors = perfect but there is no need to show generated files that are successful beyond a short summary on first run.

Output: There really is no need to display the "Generated code for" on each line. A single statement at the top is plenty:

Generated code for path ` /home/perusae/Project` :

(✓) "/home/perusae/Project/Base/Scr/Component/general.templ" in 18.700572ms
(✓) "/home/perusae/Project/Base/Scr/Component/Button/Button.templ" in 18.700572ms
(✓)  "/home/perusae/Project/Base/Scr/Component/....templ" in 18.700572ms
(✓)  "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms
(✓)  "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms
(✓)  "/home/perusae/Project/Base/Scr/.../....templ" in 18.700572ms

There is no need to show 7 digits behind the milisecond.

Generated code for path ` /home/perusae/Project` :

(✓) "/home/perusae/Project/Base/Scr/Component/general.templ" in 18.7ms
(✓) "/home/perusae/Project/Base/Scr/Component/Button/Button.templ" in 18.7ms
(✓) "/home/perusae/Project/Base/Scr/Component/....templ" in 18.7ms
(✓) "/home/perusae/Project/Base/Scr/.../....templ" in 18.7ms
(✓) "/home/perusae/Project/Base/Scr/.../....templ" in 18.7ms
(✓) "/home/perusae/Project/Base/Scr/.../....templ" in 18.7ms

Maybe interesting to use path truncating:

Generated code for path ` /home/perusae/Project` :

(✓) "/.../Scr/Component/general.templ" in 18.7ms
(✓) "/.../Scr/Component/Button/Button.templ" in 18.7ms
(✓) "/.../Scr/Component/....templ" in 18.7ms
(✓) "/.../Scr/.../....templ" in 18.7ms
(✓) "/.../Scr/.../....templ" in 18.7ms
(✓) "/.../Scr/.../....templ" in 18.7ms

Showing the full path is not useful as this is already reported on the first line by templ right now. So the focus needs to be the subdirectories relative to the path.
Notice how much more clean the reporting has become ... Less is more.

Maybe it's your lucky day @Perusae - I tidied up the generate command CLI output a few weeks ago in https://github.com/a-h/templ/issues/439
It now uses the slog package, and you can set whether you want verbose output or not.
It will be included in the next templ release, but you can try it out early by building the main branch. 😁


fix for bookmark title clipping

Task/Issue URL:
#416
Description:
fixed bookmark title clipping by increasing image view height constraints inside stackview from 16 to 24..
Steps to test this PR:
Issue image:
https://i.imgur.com/uDZuZeN.png
Fixed image:
https://i.imgur.com/uIxK4X7.png

Internal references:
Software Engineering Expectations
Technical Design Template

Thank you for finding time to do this and sorry it took me a while to get back to you.
The problem you noticed is caused by system font - internally we use Proxima Nova fonts that are proprietary, and with these, problem does not exist (as can be seen in the APpStore version of the app). I consulted with design team about your change to the image view size, but the conclusion is that we don't want to tweak it that way right now.
Since this problem does not affect AppStore version (as it is build internally, with Proxima Nova fonts) we are not going to proceed with this fix.
Once again, thank you for bringing that up.


Brazilian Portuguese translation of Gear up for Success.

@Janainaf @lucaslmuller can you QA, please?

@Janainaf @lucaslmuller could you QA, please?

Hi Christopher, this is the first time I'll comment on an open question, I hope I'm doing it in the right place;
So, gear translates to "marcha" so, in Portuguese we have "primeira marcha ate quinta". It's like saying "quinta marcha em rumo ao sucesso", "marcha total em rumo ao sucesso", "acelere em rumo ao sucesso", "vai com tudo em rumo ao sucesso" or anything close to that.
Hope it helps.

Hi @daianepiva!
First of all, thank you for the input!
Actually, the expression "Gear Up" means something like "To step up to the challenge". That way, the translation to portuguese would be "Prepare-se para o sucesso".
Also, could you point in the code where this translation is missing? If it's the title, I will question @vtamara about it because I haven't seen the title being translated in the spanish translation.

@christophermoura please, rebase your branch on top of the latest staging branch.

Closing as stale. Feel free to re-open when ready


Publish for Scala 2.13

If possible, would like an artifact published for Scala 2.13.

see #73

Oops - missed that - thanks.
On Fri, Jun 14, 2019 at 11:45 AM Kai(luo) Wang<EMAIL_ADDRESS>wrote:

see #73 https://github.com/iheartradio/ficus/pull/73
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/iheartradio/ficus/issues/74?email_source=notifications&email_token=AF62ZN2PDM4ZJCTWARYP35LP2O4KFA5CNFSM4HYGJ4JKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXXFWBI#issuecomment-502160133,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF62ZNZ2WJMPXW62DIQ4X5DP2O4KFANCNFSM4HYGJ4JA
.


External Commits

https://github.com/mlswg/mls-protocol/pull/406

@raphaelrobert what's the state of this? Are you working on it? We need at least the structs in for the key schedule test vectors #326.

@raphaelrobert what's the state of this? Are you working on it? We need at least the structs in for the key schedule test vectors #326.

I can tackle that next if we need it for test vectors.

I can tackle that next if we need it for test vectors.

From what I can see I need at least the PublicGroupState (actually external_pub) for the key schedule test vectors.

From what I can see I need at least the PublicGroupState (actually external_pub) for the key schedule test vectors.


Clarify the format of <VERSION-as-integer> in SGX / TDX Endorsement Data Format

https://github.com/CCC-Attestation/interoperable-ra-tls/blob/a2c2323377007aa27b5ceb453a741a860e0245a0/docs/Interoperable Attested TLS\Interoperable-RA-TLS-SGX-TDX-evidence-formats.md?plain=1#L43
In my understanding, the array in Endorsement Data Format and its mapping to fields in sgx_ql_qve_collateral_t are as follows:
CBOR array ->
   [
     0: CBOR uint (<VERSION-as-integer> -- equals to collateral.version),
     1: CBOR bstr (<TCB_INFO> -- equals to collateral.tcb_info)
     2: CBOR bstr (<TCB_ISSUER_CHAIN> -- equals to collateral.tcb_info_issuer_chain)
     3: CBOR bstr (<CRL_PCK_CERT> -- equals to collateral.pck_crl)
     4: CBOR bstr (<CRL_PCK_PROC_CA> -- equals to collateral.root_ca_crl)
     5: CBOR bstr (<CRL_ISSUER_CHAIN_PCK_CERT> -- equals to collateral.pck_crl_issuer_chain)
     6: CBOR bstr (<QE_ID_INFO> -- equals to collateral.qe_identity)
     7: CBOR bstr (<QE_ID_ISSUER_CHAIN> -- equals to collateral.qe_identity_issuer_chain)
     8: CBOR bstr (<CREATION_DATETIME>, opt -- the time when collateral is generated)
   ]

Is there any mistake here?
In addition, since collateral.version is uint32_t, I suggest clearly defining <VERSION-as-integer> as a CBOR 32 bit width unsigned integer.

Let's make the first entry an unsigned integer, as CBOR does not have a specific 32-bit uint type. Commit 5bc013a contains the edit for this change.


Could we get go version from golang ELF file?

yes, that is what @chenhengqi did originally, but the pre-condition is that the go app needs to be not stripped, our thought is with stripped go app, we add --gover to workaround it, but stripped go app also contains no symbol table, so won't work and this PR is not going to work as workaround

@cfc4n @chenhengqi based on discovery at https://github.com/ehids/ecapture/issues/120#issuecomment-1174485403, this PR should be dropped, agree?

golang ELF must be without -ldflags="-s -w" to keep symbol ,eCapture should be working.
The ELF file have a not stripped symbol with gover string.
so ,  this pr should be dropped.

right?
useful articles about golang reverse engineering:
https://cujo.com/reverse-engineering-go-binaries-with-ghidra/

golang ELF must be without -ldflags="-s -w" to keep symbol ,eCapture should be working.
The ELF file have a not stripped symbol with gover string.
so ,  this pr should be dropped.

right?

correct


Generates BOM with duplicate dependencies

On a PHP composer projet having 2 composer.json files in a vendor-bin directory, cdxgen generated a BOM with duplicated dependencies:
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "version": 1,
  ...
  },
  "components": [
    ...
  ],
  "services": [],
  "dependencies": [
    {
      "ref": "pkg:composer/app@latest",
      "dependsOn": []
    },
    {
      "ref": "pkg:composer/app@latest",
      "dependsOn": []
    },
    ...
  ]
}

It may be due to https://github.com/CycloneDX/cdxgen/blob/5778776c0527c3a829872489d994e5c7a6f922d2/lib/cli/index.js#L4900 adding the dependency without de-duplicating (after calling mergeDependencies that do some de-duplicating?).

@marob could you kindly share a repo to replicate this issue? Alternatively, could you send a PR to use mergeDependencies like you have identified?


GPU plugin 'smooths out' gradiants

Before/after of a farming patch:
Before / After
Before/after of random ground:
Before / After

This at the same time results in a brighter looking game as shadows are made to blend more into the environment


Setting for menu api, disabled by default

If the reason this wasn't added was user confusion, does disabled by default make it acceptable?
@moridyn @czpython

Hello @narfman0,
Thanks for this contribution.
To expand further on my answer in https://github.com/divio/djangocms-rest-api/pull/5#issuecomment-266318207, our main goal is to start with the most basic functionality, fetching pages and content. There's also some issues I see with the implementation which will require us to come together and discuss the way forward, as such once we reach this initial first stage then we will start to working on other endpoints.

Sounds good, thanks for checking it out!
On Dec 11, 2016 7:04 PM, "Paulo Alvarado"<EMAIL_ADDRESS>wrote:

Hello @narfman0 https://github.com/narfman0,
Thanks for this contribution.
To expand further on my answer in #5 (comment)
https://github.com/divio/djangocms-rest-api/pull/5#issuecomment-266318207,
our main goal is to start with the most basic functionality, fetching pages
and content. There's also some issues I see with the implementation which
will require us to come together and discuss the way forward, as such once
we reach this initial first stage then we will start to working on other
endpoints.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/divio/djangocms-rest-api/pull/8#issuecomment-266318694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABPFXCVjsdTCLMa8x6yfCmyia4mqfO7Nks5rHI9zgaJpZM4LKBt6
.


[5.4] Tweak DatabaseQueue to not require locking

Using SELECT ... FOR UPDATE is expensive and can cause deadlocks (as described here) which just ends up making both your workers and DB unhappy.
This switches the approach to try to update a single row with a reservation tag and then looks up that job if anything was updated. Running this results in no exceptions (like deadlocks) compared to the current implementation.

Where did you find this reservation tag approach?

This is essentially a copy from delayed_job in Ruby (source), just named reservation instead of locked_by since it uses a random string instead of a combo of host + PID.
I might need to tweak this though based on the SQL engine, so I'll need to investigate a bit more. Any recommendations for testing SQL Server?
In general though does this look like an approach you'd be willing to merge?

I dislike using a random string for identification. I do like however you're adding locking to the job. That's smart.
However, a combination of getmypid and gethostname seems smarter.
It would require slightly more work to fully implement, but by using a method that is repeatably accurate, you have a more consistent workflow.
So then you would change "reserved" to "reserved_by" and the content would be similar to:
function () {
  return md5(gethostname()) . '_' . getmypid();
}

This would allow proper locking by each job processor, allow the job processor to "claim" the job properly that can be identified using a repeatable method and require no user configuration to initialize. A random string seems like a sloppy approach to an otherwise rather good idea.
Thoughts @drcapulet ?

So it looks like LIMIT on an update is only supported on MySQL? I don't see support for it at all on Postgres or SQLite.

You could use a sub query to get around limit support

I'm working on switching to using the reserved_by suggestion from @scrothers and only enable on MySQL for now.
Has anyone had issues with Postgres / SQLite / SQL Server and deadlocks? Not sure if locking in the subquery is more efficient in those cases, whereas it is in MySQL unless you're using statement based replication (source).
Also planning to add a flag to either enable or disable, any preference on the default?

@drcapulet I personally don't think a flag to enable/disable this feature is needed. Since the code seems to fix a legitimate MySQL "problem", it should always be on. Flagging for different database engines is smart too. Now, if you wanna talk SQL Server deadlocks, I've had issues with them in the past in my larger Enterprise Always On environment but I've never used it as a queue driver before. I'll be happy to do some testing, but, as you are probably well aware, a synthetic load very rarely captures the finer points and details of a live load.

Actually reading over those MySQL docs again, this implementation should be fine since it has an ORDER BY clause, so should replicate fine in statement-based replication mode.
On the load, luckily with MySQL the deadlocks come up pretty easily so fairly easy to test. However, by casing the driver the integration test is only testing SQLite. What's the best way to "repeat" that file with different DB setups? (source)

Updated to use a split approach based on engine, any recommendations on how to get the test to repeat for mysql, postgres, and sqlite?

How can I recreate a deadlock or something on the current queue code. I'm running about 8 daemon works and putting a few thousand jobs on the queue and I can't trigger an exception.

@taylorotwell this problem occurred for us using 15 workers processing around ~50k jobs a day on a worker host separate from the mysql host in a GCE production environment. Below is an example of where it deadlocks on the retry attempt but we also have other circumstances where it deadlocked. This solution solved the problem for us internally.
Here is the stacktrace from the retry deadlock event. I'll dig through our logs this week and find the other examples as well.
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:413 PDOStatement::execute
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:413 Illuminate\Database\Connection::Illuminate\Database\{closure}
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:644 Illuminate\Database\Connection::runQueryCallback
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:675 Illuminate\Database\Connection::tryAgainIfCausedByLostConnection
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:615 Illuminate\Database\Connection::run
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:416 Illuminate\Database\Connection::affectingStatement
    vendor/laravel/framework/src/Illuminate/Database/Connection.php:359 Illuminate\Database\Connection::update
    vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php:1849 Illuminate\Database\Query\Builder::update
    vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php:198 Illuminate\Queue\DatabaseQueue::releaseJobsThatHaveBeenReservedTooLong
    vendor/laravel/framework/src/Illuminate/Queue/DatabaseQueue.php:164 Illuminate\Queue\DatabaseQueue::pop
    vendor/laravel/framework/src/Illuminate/Queue/Worker.php:181 Illuminate\Queue\Worker::getNextJob
    vendor/laravel/framework/src/Illuminate/Queue/Worker.php:151 Illuminate\Queue\Worker::pop```

@taylorotwell any recommendation on how to get the QueueDatabaseQueueIntegrationTest to repeat for MySQL, SQLite, and PostgreSQL?

I still get deadlocks with your code, as well as a different kind of error about integrity constraints. Feel free to re-open if you work out these issues.
[2016-11-18 21:19:28] local.ERROR: PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction in /Users/Taylor/Documents/Code/Laravel/framework/src/Illuminate/Database/Connection.php:504
Stack trace:

Next Illuminate\Database\QueryException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction (SQL: update `jobs` set `attempts` = attempts + 1, `reserved_at` =<PHONE_NUMBER>, `reserved_by` = e35c1f4afd78a6c03bfae8c6dd8c7e05_27029 where `queue` = default and ((`reserved_at` is null and `available_at` <=<PHONE_NUMBER>) or (`reserved_at` <=<PHONE_NUMBER>)) order by `id` asc limit 1) in /Users/Taylor/Documents/Code/Laravel/framework/src/Illuminate/Database/Connection.php:778
Stack trace:

[2016-11-18 21:19:28] local.ERROR: PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'e35c1f4afd78a6c03bfae8c6dd8c7e05_26943' for key 'reserved_unique' in /Users/Taylor/Documents/Code/Laravel/framework/src/Illuminate/Database/Connection.php:504
Stack trace:

Ah yeah, looks like I left something around when I refactored which would cause the locking - fixed now on this same branch (I don't have to power to re-open).
Re the unique key constraint, that's actually interesting. Somehow that seems to mean that the process is asking for a new job but seems to have one still marked reserved. Any ideas how that'd happen?
Technically there's a chance that the process could crash and restart with the same PID, which was part of the reason behind the reservation tag. Otherwise we can remove the unique key and the job would otherwise be picked up once it expires, but the worker would continuously have marked two jobs as reserved.

I seem have to run into this problem with only 10 workers
https://sentry.io/share/issue/3132303437332e313934323630363632/


DistributedSampler can't shuffle the dataset

almost same things with
https://github.com/pytorch/pytorch/issues/31771
https://github.com/huggingface/transformers/issues/3721
how to fix them in pytorch lighting

PL already calls set_epoch() for it as part of the training loop.
I'll close this for now, if you have a bugged replicable code sample feel free to re-open.


[GSSOC'21]Huffman Encoding

I would like to add Huffman encoding problem in Greedy algorithms. Please assign me this problem.

@rudrakshi99
I wish to contribute & resolve this issue with proper indentation, comments & sample I/O in C++.
Kindly assign me these issues under GSSOC '21...

Hey, I am Kanchan Jeswani, a GSSOC'21 participant.
I am a Competitive Programmer and C++ enthusiastic.
I would love to solve this problem using CPP with well-explained code and along with its time and space complexity.
Please assign me this issue.
Hope to hear from you.
Discord username  kanchan19#3152
@anubhavitis @dheerajkotwani @tarun26091999 @todi-2000 @geekquad @plazzy99 @rudrakshi99


#770 Allow non-numeric values for lag and lead functions

Description
Lag and lead function can not process non-numeric values now.
This commit will allow non-numeric values for lag and lead functions, because there's no numeric calculation in lag and lead functions
Related Issue :
https://github.com/metatron-app/metatron-discovery/issues/788
How Has This Been Tested?
Tested window rule with lead and lag function like below.
window value: lag(Call Date, 2) group: City
window value: lead(Name, 2) group: City
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project. it will be added soon
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document. it will be added soon
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Additional Context

run build
deploy to 1

Error messages for un-supported column types on rolling_sum and rolling_avg functions are  also changed.

Integrated test passed.


Stdgo types need to be known by the compiler when typing.

Go code is currently processed in a certain typing order import/types first, variables next and finally functions. This allows the compiler to know for instanceType(10) being a type assertion rather then a function call. The issue comes from stdgo which is written in Haxe and passes no information to the compiler at present.
Example :
x := time.Duration(10)

The compiler doesn't know that Duration is a typedef of GoInt64, and keeps in a non existent function call. So there needs to be a system that passes in this case a list of interfaces of a package. Question is how should this data be stored, and should it be generated by macros, manually or something else?

I presume the issue is that the AST for the time (and other Haxe-implementd) Go-native package is not being generated and therefore not processed by the go2hx compiler. I am coming up against similar issues in my limited work on reflect.
I can see two ways forward:

Generate and process the AST for the native time (and other Haxe-implemented) Go-native packages, then throw them away and replace the generated code with what is in the stdgo libraries.
Write new Go time (and other Haxe-implemented) wrapper functions in a new Go time package, then call the Haxe implementation using the methods described in #24 .

Obviously I favour writing new Go wrapper packages with Haxe back-ends, because I know the approach works - TardisGo, GopherJS and TinyGo (without a back end) all use this approach.
Two other advantages of the second approach are:

In the short term, some of the existing Go code can usually be re-used; and
In the long term, when the project makes changes to the way the go2hx compiler generates code (e.g. changing the naming conventions), the number of changes need to be made to the Haxe stdgo support code will be smaller.

My experience with TardisGo was that most of the work was in writing the Haxe back end code, and then keeping it up-to-date as the Go standard library evolves.

@elliott5 you bring up very strong evidence for the second approach, and I agree, I was initally not as much in favor because I thought it could lead to more incombatibility with for instance Tardisgo bringing in go 1.4's src and modifying it (I'd be curious what was the main driver of taking that approach as well). But you're right with the second approach lots of the Go code from the standard library can be reused, such as the types, functions not using internal etc and the others can be replaced. I'll write various ideas circling in my head for calling Native Haxe from Go at #24 as now that you've set a good path to go down, I apperciate it.

This should now be able to easily be worked out with access to Go's type system now integrates into the Compiler.

This is now clearly working haha


Displaying multiple "To" recipients in a send?

I have a use case where I'm sending to multiple email addresses, as well as CCing and BCCing several more. The problem I'm running into is that everyone in the "To" list only sees their email address there, and are assuming the others who are known to supposed to be in the "To" field aren't getting the email because they don't see them there, creating mass confusion.
So, is there a way to display all the "To" recipients as you would if you were creating the email in an email client?

Hi @mltroutt I know you asked a while back, but yes there is a way to do this. You have to add the header_to field to each recipient with a comma-separated list of all recipients:
$results = $sparky->transmission->send([
    'from'=>'Real Rich<EMAIL_ADDRESS>    'html'=>'
Hello World!
',
    'text'=>'Hello World!',
    'subject'=>'Example Email',
    'recipients'=>[
      [
        'address'=>[
<EMAIL_ADDRESS>          'header_to' => 'rich.leland+one<EMAIL_ADDRESS>        ]
      ],
      [
        'address'=>[
<EMAIL_ADDRESS>          'header_to' => 'rich.leland+one<EMAIL_ADDRESS>        ]
      ]
    ]
  ]);

I'm going to go ahead and mark this resolved, but please feel free to re-open and/or ask any further questions!

Is it possible to include the recipients name in the 'header_to' value? I've not had much luck with the format
'header_to' => 'One<EMAIL_ADDRESS>Two<EMAIL_ADDRESS>

Hi @iangregory yep it's possible - I just tried an example using this in the recipients array:
        'recipients'=>[
            [
                'address'=>[
<EMAIL_ADDRESS>                    'header_to' => 'Rich One<EMAIL_ADDRESS>Rich Two<EMAIL_ADDRESS>                ]
            ],
            [
                'address'=>[
<EMAIL_ADDRESS>                    'header_to' => 'Rich One<EMAIL_ADDRESS>Rich Two<EMAIL_ADDRESS>                ]
            ]
        ]

Which came through successfully:


No change in media pop-ups

The media popup sometimes doesn't change, even if I close the app or change a song, it still looks the same

I'm sorry for your inconvenience 😅.
Duplicate of #29, we can continue our conversation there


Use file system watching info to skip up-to-date checks

Expected Behavior
In the "inner loop of software development" use case the user executes builds in quick succession with small changes in-between. As a result most tasks in the build will be up-to-date. In larger builds re-checking these tasks for up-to-dateness can add up to a significant amount of time.
When configuration cache and file system watching are both enabled, we can optimize for this use case. Essentially, we can use CC to confirm that we are running with the same configuration as during the previous build, which means our non-file inputs should be the same. And FSW can confirm that (for the vast majority of tasks) none of the input nor output files have changed, and thus we could skip the relatively costly up-to-date checks for all these tasks.
The process could look like this:

During the first execution of the build, once a task (=unit of work) has executed, we record it in a data structure indexed by input location roots. (We already do this with outputs for overlap detection.) Let's call this "up-to-date work list".
We keep the "up-to-date work list" alive between builds. When we get a file system watching event, we drop any task from this data structure whose file inputs or outputs have changed.
When the next build starts we check with CC if we are running with the same config as the previous build (=same cache key); if not, we drop the entire "up-to-date work list".
During execution, for each work item we check if it's on the "up-to-date work list". If so, we just assume it’s up-to-date and short-circuit; otherwise we continue with the usual execution steps.
If we end up executing or loading the work from cache (=outputs are changed), we also remove anyone consuming this output from the "up-to-date work list".

Context
This is mainly relevant for mid-to-large builds with hundreds of tasks executed on several thousands of input files.

We need to also take into account inputs that don't directly derive from configuration. I.e. some properties might come from (or be influenced by) environment variables. For the first version we can simply not enlist tasks with "dynamic inputs" like that.
For a v2, for lazy properties we can actually track these back to their origin via Property provenance. Then we can track dependencies on environment variables and system properties and Gradle properties for each task similar to how we already track their input dependencies. Then at the beginning of the build we can detect changes to environment variables, and drop tasks with dependencies.

Some notes from a quick research:

We can collect inputs via WorkInputListener interface, see AccumulateBuildInputsListener where we collect build input hierarchy. We should just map them to a task (or also in general to UnitOfWork)
We can listen to file changes via FileChangeListener, see implementation for continuous build FileEventCollector.
We would need to register change listener to global/or user home services, probably best to do in ExecutionGlobalServices

A spike of partial implementation: https://github.com/gradle/gradle/pull/26868/


Showing <!---

https://docs.microsoft.com/ja-jp/office365/enterprise/microsoft-cloud-it-architecture-resources?cid=kerryherger
決定することができます。
<!---
Microsoft Cloud Services and Platform Options

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

ID: 096f9573-ba23-b0a0-23dc-7b0eb57a17d8
Version Independent ID: 45643fe7-700e-8eca-b7b9-563327472d6b
Content: Microsoft cloud IT architecture resources
Content Source: Enterprise/microsoft-cloud-it-architecture-resources.md
Service: o365-solutions
GitHub Login: @BrendaCarter
Microsoft Alias: bcarter

@hyoshioka0128 - thanks for the feedback, I'll get this over to the Enterprise content team to correct the localization issue.

Thank you for the feedback. We're working on it . . .

@hyoshioka0128 Good bug, thanks for reporting.  It also occurs on other languages.  I reported to the localization vendors who will fix it soon.

@OfficeGlobal Thanks.

@hyoshioka0128 This issue is now fixed.  Thanks again for reporting it!


Improve DeepSpeed support

What does this PR do?

This PR improves DeepSpeed support on HPU:

FusedAdamW is not automatically disabled anymore when using DeepSpeed
HMP is turned off when using DeepSpeed
The DS regression test is updated accordingly

Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Is Azure AD Basic EDU still a thing?

The page has an information block with the following content:
Using the Office 365 Groups Naming Policy requires Azure Active Directory Premium P1 licenses or Azure AD Basic EDU licenses for each unique user that is a member of one or more Office 365 groups.
Where can I find additional information about "Azure AD Basic EDU" and how can it be enabled within a tenant?

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

ID: 815d1ce1-cb68-25b5-6a59-435461559495
Version Independent ID: 1f6ac386-4ca4-1cde-bae0-ed6df8c94d61
Content: Microsoft Education governance FAQ for IT pros - Microsoft Teams
Content Source: Teams/plan-teams-governance-edu.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

answered in https://github.com/MicrosoftDocs/OfficeDocs-O365ITPro/issues/785

Thank you @MaratMussabekov


[Bug] Crowdin translation project is suspended

What happened?
The web page https://crowdin.com/translate/chia-blockchain is saying that the project is currently suspended.
Version
N/A
What platform are you using?
Linux
What ui mode are you using?
GUI
Relevant log output or stacktrace
No response

Fixed. Thank you


chore: update to latest Redis (aioredis is deprecated)

As of Feb 21, 2023 aioredis-py was archived. See the package repo here:
https://github.com/aio-libs-abandoned/aioredis-py
Summary of Changes
A docs update to correct the ASGI doc to use the latest version of Redis and swap the aioredis package for the redis package since aioredis is now included within redis.
Pull Request Checklist
This is just a reminder about the most common mistakes.  Please make sure that you tick all appropriate boxes.  But please read our contribution guide at least once; it will save you a few review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.

[ ] Applied changes to both WSGI and ASGI code paths and interfaces (where applicable).
[X ] Added tests for changed code.
[ X] Prefixed code comments with GitHub nick and an appropriate prefix.
[ X] Coding style is consistent with the rest of the framework.
[ X] Updated documentation for changed code.

[X ] Added docstrings for any new classes, functions, or modules.
[ X] Updated docstrings for any modifications to existing code.
[ ] Updated both WSGI and ASGI docs (where applicable).
[ X] Added references to new classes, functions, or modules to the relevant RST file under docs/.
[ ] Updated all relevant supporting documentation files under docs/.
[ ] A copyright notice is included at the top of any new modules (using your own name or the name of your organization).
[ ] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.

[ ] Changes (and possible deprecations) have towncrier news fragments under docs/_newsfragments/, with the file name format {issue_number}.{fragment_type}.rst. (Run towncrier --draft to ensure it renders correctly.)

Tests pass, though coverage is not at 100%.


added msoa and oa to cob-4a classification

What
Added OA and MSOA to country_of_birth_4a choropleth in content.json.

Approved.

Closing this, because we're about to retry it without the unverified commit.


basic example on windows-64

First of all, congratulation for the tool, it looks really nice!
I was trying to execute the basic example on Windows, but I found a small problem.
The following command returns nothing if single quotation marks are used:
input: rexdep --p 'import\s+(\S+)' --format json test1.txt
output: {}

however it works with double quotation marks
input: rexdep --p "import\s+(\S+)" --format json test1.txt
output: {"test1.txt": ["test2, ... ]}

Also the other examples do not work.
For instance, the following command raises an error
rexdep -p "import (\S+)" --format json PyGitHub\PyGitHub\github\*.py

Instead the command below seems to work fine
rexdep -p "import (\S+)" --format json --recursive PyGitHub\PyGitHub\github -e py

Thank you. Right, single quotes does not work on Windows and I think I should mention on it. I prefer single quotes due to the C language examples; --pattern '^\s*#include\s*"(\S+)"'. Does  "^\s*#include\s*\"(\S+)\"" work on Windows? I don't have Windows environment and I can't test.

Yes, it works (I have tried with the git example). Below you can see the command and the output.
rexdep -p "^\s*#include\s*\"(\S+)\"" --format json --output ./output.json --recursive git
output.zip
I have also tried to filter by extension with -e, but all files are returned


Failed to generate API report after running pnpm exec dev-tool admin migrate-package --package-name=@azure/arm-durabletask

Package Name:
@azure/arm-durabletask
Operating system: Windows 11
[x] nodejs

version: 23.4.0

Describe the bug
Failed to generate API report after running pnpm exec dev-tool admin migrate-package --package-name=@azure/arm-durabletask
Root cause
Failed create review folder
To Reproduce
Steps to reproduce the behavior:

cd sdk/durabletask/arm-durabletask
pnpm exec dev-tool admin migrate-package --package-name=@azure/arm-durabletask
rush update
cd ../../.. (back to root)
rush build -t @azure/arm-durabletask --verbose

Expected behavior
build successfully

Will be fixed by #32283


ci: scans the jest coverage and sends a report to sonarqube

Sets up Node.js, scans the Jest coverage and sends the report to SonarQube.

Changes are looking fine to me, but I would suggest to prefix all commits with ci as this would trigger an unwanted patch release otherwise.


How do you configure the trigger keyword?

The instructions say:

set the keyword (or hotkey) to create a new task (default: !!!)

Can you please explain how to set this keyword?

@felciano you are right! it got left out at some point, I will reintroduce at the next release. thanks for reporting!
for now, you can just double click on the object below in the workflow configuration and edit the keyword field


Describe your problem here.
I want to find a way to round the health number, like this:
math.round(getProperty('health') * 50)
for some reason math.round() doesn't work, so what does?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

there is no math.round in Lua, but you can do math.floor(getProperty('health') * 50 + 0.5) / 50)

there is no math.round in Lua, but you can do math.floor(getProperty('health') * 50 + 0.5))

I think math.ceil() exists too

there is no math.round in Lua, but you can do math.floor(getProperty('health') * 50 + 0.5))

Thank you so much!!! It works :D


Build game and send it to all of the stores after each sprint

Google Play
App Store
Itch.io
Microsoft Store

LIST WILL BE UPDATED ONCE WE HAVE ANOTHER STORES

Closed due to it being persisten task, no need to be "open"


Incorrect decoding of nested arrays

Arrays of arrays are not correctly decoded.
Minimal example:
let input: [[Int]] = [[1,2],[3,4]]
let data = try ProtobufEncoder.encode(input)
let output: [[Int]] = try ProtobufDecoder.decode(data)
print(input == output) // False
print(output) // [[1, 2, 0, 3, 4]]

The encoded data is: [0, 0, 1, 2, 0, 3, 4]
The arrays have no length specified, so the first array is decoded until the data ends.
Probably related to #3.

No longer relevant with new major version.


[Feature request] Optionally allow invalid links in Markdown

Clear and concise description of the problem
Crowdin, a widely-known translation platform, has a certain configuration called "In-Context" translating. This essentially embeds a small JavaScript and a set of template strings that consist of string identifiers for Crowdin. You can read more about Crowdin's in-context translation setup here: https://developer.crowdin.com/in-context-localization/
However, when doing it this way, Crowdin generates links like this:
1. crwdns6233:0crwdne6233:0![crwdns6231:0crwdne6231:0](crwdns6229:0crwdne6229:0)

and this breaks compilation:
[vite:load-fallback] Could not load C:/Users/lifehackerhansol/Documents/Git/dsi.cfw.guide/docs/translate/crwdns6229:0crwdne6229:0 (imported by docs/.vuepress/.temp/pages/translate/file-extensions-(windows).html.vue): ENOENT: no such file or directory, open 'C:\Users\lifehackerhansol\Documents\Git\dsi.cfw.guide\docs\translate\crwdns6229:0crwdne6229:0'

You can view an example of a project using this configuration here: https://github.com/cfw-guide/dsi.cfw.guide, where we temporarily worked around it with a hack.
Suggested solution
If possible, it would be nice to disable this open check, ideally for specific files.
I don't know at all if this is possible, as I don't really know enough JS to look around for ideas.
Alternative
No response
Additional context
No response

I also don't really know if it's something that should be done here or done in Vite itself. I assumed the former, as VitePress did it there as well.

There is something you should know:
images (and other assets like video and font) setting with local file path needed to be resolved and handled while packing.
In another word, these must be valid:

a full file url
relative path

These can be invalid as they are kept as is and not being resolved:

data uri
full url
pathname

So in your case, you definitely could write image link with protocol or starting with /, the others like a.jpg will require a local a.jpg.

I also don't really know if it's something that should be done here or done in Vite itself. I assumed the former, as VitePress did it there as well.

cc @meteorlxy I think we can support this to avoid broken relative image link stops the build process.

Ummm... IMO the ignoreDeadLinks of VitePress is not doing the same thing. It's used for skipping VitePress' built-in dead links checking.


Fix Stage 2 output of user vars

/tmp/ceph-storage-classes.yaml should now be correctly generated in
Stage 7 with this change to generation of user-variables.yml in
Stage 2.

LGTM


API: Add support for swizzle arrays and input dtypes

Hi @willow-ahrens @hameerabbasi,
Here's a PR with a draft support for SwizzleArrays, in a summary:

permute_dims is a "transpose" function, and also the first Array API compatible here!
Here's my understanding of a SwizzleArrays support:

transposing a Tensor makes internal _obj a lazy SwizzleArray which is materialized only when an operation requires it, e.g. todense(). This makes it possible to stack SwizzleArrays by transposing multiple times without intermediate materialization.
Here, todense(), +, -, and other elemwise functions require materialization so a _get_obj() is called.
For some specific permutations I noticed that SwizzleArrays don't match with dense counterparts - here's an issue with julia code to reproduce: https://github.com/willow-ahrens/Finch.jl/issues/387. With that explained, test_permute_dims should pass.
Apart from swizzle, is there any other operation that doesn't require materialization and can be stacked here with SwizzleArray?
When materializing, I need a "levels" description that doesn't contain data (only composed layers). I implemented it in _get_lvl_description method. Could it be done in a simpler way? Can I extract "levels" structure from Tensor without levels' data?

The PR also contains a change that sets the default value with a dtype of a passed data, so finch.COO(data).todense() holds the same dtype as data.

WDYT?

  * Here, `todense()`, `+`, `-`, and other elemwise functions require materialization so a `_get_obj()` is called.

An issue here I think is that when you call todense, you create a column-major array, is that right?

  * For some specific permutations I noticed that SwizzleArrays don't match with dense counterparts - here's an issue with julia code to reproduce: [Question regarding 3d swizzle array Finch.jl#387](https://github.com/willow-ahrens/Finch.jl/issues/387). With that explained, `test_permute_dims` should pass.

Perhaps related to the above, you can't just reverse the permutation if the permutation is expected to be applied to a reversed input. We may need to be more precise about which arrays are row or column major and how we convert between.
julia> list = [1, 2, 3]
3-element Vector{Int64}:
 1
 2
 3

julia> perm = [3, 1, 2]
3-element Vector{Int64}:
 3
 1
 2

julia> list[perm]
3-element Vector{Int64}:
 3
 1
 2

julia> reverse(list)[reverse(perm)]
3-element Vector{Int64}:
 2
 3
 1

julia> reverse(list)[invperm(reverse(invperm(perm)))]
3-element Vector{Int64}:
 3
 1
 2

  * Apart from `swizzle`, is there any other operation that doesn't require materialization and can be stacked here with SwizzleArray?

There are, but I wouldn't worry about it for now. There are array wrappers (like padding, circular shifting, etc), but I think we should skip that for the time being.

  * When materializing, I need a "levels" description that doesn't contain data (only composed layers). I implemented it in `_get_lvl_description` method. Could it be done in a simpler way? Can I extract "levels" structure from `Tensor` without levels' data?

On this point, I think we shouldn't define either _get_lvl_description or _get_materialized_obj. The swizzle should be treated as a finished tensor format by itself, and if we want to materialize it to a different format or storage order, we can call "copyto".

I'll need a little more time to review this one, because your question about whether the Tensor object should wrap every array Julia produces or just Finch.Tensor is a good question.

Julia is 1-indexed, col-major array
Finch is 1-indexed, col-major array
Python is 0-indexed, row-major array
JuliaCall(JuliaArray) is 0-indexed, col-major array
I think the purpose of finch-tensor (this package) should be to define a tensor which, by default, is a 0-indexed, row-major array. Under the hood of Tensor, we should be allowed to do anything we wish to support that. I see two paths:

The stored jlobj inside of the Tensor is always a column-major Finch.Tensor that we are reinterpreting to be row-major, and we do things like shape(self) = np.reverse(jl.size(self._obj)). This has the added benefit that we can always expect _obj to be Finch.Tensor, and access it accordingly. permute_dims would be eager unless we use the lazy api.
The stored jlobj inside of the Tensor is always a Swizzle, and the user is allowed to specify a mode ordering, which we interpret in a row-major context. Thus, if the user specifies no dimension ordering, the object inside the tensor is swizzle(Tensor, reverse(1:ndims)). If the user requests column major, we still store swizzle(Tensor, 1:ndims). The only lazy transformation the user can do outside of the lazy api is transposition.

side note: something I've been thinking about: broadcast dimension padding is reversed in Julia and in Python. you can get correct semantics if you transpose everything first to reverse dims, then transpose back.

Here, todense(), +, -, and other elemwise functions require materialization so a _get_obj() is called.

An issue here I think is that when you call todense, you create a column-major array, is that right?

@willow-ahrens Sorry for lack of context: When I try to e.g. add two SwizzleArrays, it says that there's no matching method.
sw = swizzle(A_fbr, 2, 1, 3)

sw + sw
# ERROR: MethodError: no method matching +(::Finch.SwizzleArray{(2, 1, 3), Finch.SwizzleArray{…}}, ::Finch.SwizzleArray{(2, 1, 3), Finch.SwizzleArray{…}})

A_fbr + sw
# ERROR: MethodError: no method matching +(::Tensor{DenseLevel{Int64, SparseListLevel{…}}}, ::Finch.SwizzleArray{(2, 1, 3), Finch.SwizzleArray{(2, 1, 3), Tensor{…}}})

Therefore I understand that all elementwise functions require materialized (Tensors-only) input, is that correct?

It seems to me we have multiple levels of nested SwizzleArrays, which Finch doesn't have a rewrite rule for. I guess extracting the axes and internal Tensor and then manipulating those so that there is just one level of swizzling would help.

What do others think?

@willow-ahrens I like option 3. so everything internally is a column-major Tensor, we reinterpret it to NumPy realm when needed, permute_dims is eager where permutation order is adjusted to map row-column.
Then for the sake of the eager mode permute_dims won't yield a SwizzleArray but rather copyto! it.

Regarding permutedims in approach 3: What does numpy do in this situation? Numpy arrays have variable strides, so in theory permutedims could just change the strides on the array. When does Numpy actually transpose and when does it just mess with the strides?

From the meeting, it sounds like we're going with Option 2. I'll try to stay on top of any related Finch issues, thanks!

From the meeting, it sounds like we're going with Option 2. I'll try to stay on top of any related Finch issues, thanks!

@willow-ahrens @hameerabbasi I followed option 2 and yesterday's discussion: Right now _obj is always a SwizzleArray with a default permutation depending on order (n...1 when row-major (default) is set or 1...n when column-major is).
When constructing a Tensor a permutation is applied as a SwizzleArray. When todense() is called to get a numpy array, materialization occurs (and only then!) and transposition happens, if row-major is expected.
Nested SwizzleArrays aren't allowed. When permute_dims is called, the permutation inside SwizzleArray is adjusted and returned as SwizzleArray(Tensor(...)).
Please take a look at CSC and CSR classes - now they differ only in swizzle permutation argument.
I will add some tests to also check if internally permutation is correct after different operations. Once #390 the test suite should be green.
Just to repeat from yesterday, I commented out + / * elem-ops on Tensor as we need SwizzleArray to support it.

Hi @willow-ahrens @hameerabbasi,
I finished SwizzleArray support here, with the option 2 (my previous comment explains some details). Tensors can be constructed (with different formats), transposed, and converted to dense NumPy.
Maybe we could try to merge it? Would you review it?

A few notes from our discussion:

shape(Tensor(arr, order=order)) == shape(arr)
shape(permutedims(Tensor(arr, order=order), order2)) == shape(permute_dims(arr, order2))
to_dense() should never materialize a dense finch tensor
swizzle(swizzle(arr, order1), order2) should collapse swizzles
the python Tensor wrapper only needs to store it's jl obj, which is always jl.swizzle(jl.Tensor(arr), order)

to_dense() should never materialize a dense finch tensor

I'm curious of the reasoning behind this, is there a concrete reason at all?

Both np.Array and finch.Tensor can represent lazy permutations and any combination of row/column major layout. When finch.Tensor is dense, then it seems to make sense that the correspondence between the two representations would be realized in to_dense(). While finch.Tensor uses a swizzle to manage dimension ordering, np.Array uses strides, but one would hope that np.Array(finch.Tensor) and finch.Tensor.to_dense() could both avoid materialization and do the direct conversion.

@willow-ahrens I applied all review comments - thank you for feedback!
About zero-copy constructors - let me implement it in a follow-up PR: it will contain zero-copy fully-dense Tensor constructor, and from_scipy zero-copy constructors with tests.

Thanks a lot for your work on this, @mtsokol!


Running Vulkan Debug requires SDK installed

Vulkan SDK is required to build engine on vulkan-debug, this is intended.
If someone receives a pre-built vulkan-debug build, the Vulkan SDK is still required to run it because it asserts on loading validation layers. This is not intended.

Potentially fixed in aa11b72bba31bc21b9ca2150d4f59d62dc9c1abc

Re-opening as I am no longer convinced that this is working as expected.


Fix code scanning alert #1: Client-side URL redirect

Fixes https://github.com/cooljeanius/highlight.js/security/code-scanning/1
Suggested fixes powered by Copilot Autofix. Review carefully before merging.

OK, I guess this one is no good...


Populate swagger repository information in Prod

In REST API meetings, Prod instance doesn't have information about the available repos to associate a PR with. See

For Private preview we agreed on including https://github.com/Azure/azure-rest-api-specs

This issue has been fixed

Thanks for reporting this @markweitzel .
It's fixed, now it shows both repositories.


Zis aes - Fix HMAC Calculation

Hi
I took a look at your draft for ZipInputStream AES support. The problem with the HMAC calculation is that your implementation always decrypted and calculated HMAC for the entire input buffer. But actually it should only decrypt and calculate the HMAC up to the compressed size of the current entry. This pull request fixes that problem and all the Unit Tests pass.
You might want to look into that implementation again as I don't know from your changes if there is anything else that needs to be changed.
Best regards
Remo

I certify that I own, and have sufficient rights to contribute, all source code and related material intended to be compiled or integrated with the source code for the SharpZipLib open source product (the "Contribution"). My Contribution is licensed under the MIT License.

It's probably better to leave any discussion to the SharpZipLib repo, where more people will see it


Explicitly set default resource requests to 0 for pipeline containers

Fix #1892

@msteffen I refactored the code a bit and updated some doc.

What's the status of this PR?


Typo - Error message

This issue has been moved from a ticket on Developer Community.

What steps will reproduce the problem?

I changed the version of .net core from 2.2 to 3.0
I see a green line under app. UseMvc();
I hover over UseMvc()

What is the expected output? What do you see instead?
When I see the error message it says: please set 'MvcOptions.EnableEndpointRounting = false' inside 'ConfigureServices'
I Expect: please set 'MvcOptions.EnableEndpointRouting = false' inside 'ConfigureServices'.
Please provide any additional information below.
EnableEndpointRounting has typo must be : EnableEndpointRouting

Original Comments
Visual Studio Feedback System on 8/27/2019, 11:27 PM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
Visual Studio Feedback System on 8/28/2019, 00:05 AM:
Thank you for sharing your feedback! Our teams prioritize action on product issues with broad customer impact. See details at: https://docs.microsoft.com/en-us/visualstudio/ide/report-a-problem?view=vs-2017#faq. In case you need answers to common questions or need assisted support, be sure to use https://visualstudio.microsoft.com/vs/support/. We’ll keep you posted on any updates to this feedback.

Original Solutions
(no solutions)

This is a duplicate of #11467.

@mkArtakMSFT \ @rynowak can we consider fixing this for 3.0? As @adrianwright109 pointed out, the PR was merged in to master, it's incorrect in 3.0.

This pretty obviously doesn't meet the bar for 3.0

Given the number of users that have reported this we should just fix it.


bad function parsing

Hi there is a problem when you parse annotations of function with space between "function" and "("
module.exports = function() { ... }  // ok
module.exports = function () { ... } // not ok

Hi
Good find!
Would you mind submitting a pull-request

add failing unit test (just add a space there https://github.com/mastilver/node-annotation-parser/blob/master/test/fixtures/moduleFunctionMock.js)
fix https://github.com/mastilver/node-annotation-parser/blob/master/index.js#L72
check those are no affected: https://github.com/mastilver/node-annotation-parser/blob/master/test/fixtures/functionsMock.js


Best practices for HoloViews video output

Hi all,
This is sort of a follow-on to #2095 .
I was wondering if people had played around a bit with making videos from HoloMaps and DynamicMaps generated from Jupyter notebooks. My use case is to run a notebook on a Jupyter server that non-technical people can mess around with and then export their desired animations as videos. From what I can naively tell, it seems that you use the Bokeh backend for visualization in notebooks (what I have some experience in already), and MPL for the video generation. Not sure how I'd go about doing that.
Is there a best/good way that people have found to do this?
Thanks a lot!

I think this is largely a documentation issue; we should probably have a dedicated page explaining the various animation options and how they work with different backends.  Right now it's only covered under MPL, but e.g. the scrubber interface should work with both, and we probably don't cover exporting and how to share them very well.

Agreed that this is primarily a docs issue.

From what I can naively tell, it seems that you use the Bokeh backend for visualization in notebooks (what I have some experience in already), and MPL for the video generation.

That is correct. I can imagine using Bokeh to export PNGs frame by frame and then stitching the frames into video, but this would be painfully (if not unusably slow). Matplotlib is the only reasonable way of turning plots into video output that I know of. Are there any other tools that can do this?

@drs251 Thanks for the pointer to the imageio package. I hadn't heard of it and the dependencies seem fairly reasonable to install.
My worry is that getting the raw pixel arrays from matplotlib/bokeh will be slow unless you use matplotlib's animation support. If this isn't true and it is no faster than capturing PNG output in memory and using imageio, I would be open to making imageio an optional dependency and using the holoviews renderers for generating the PNG data, dropping the old matplotlib animation approach. That way, one code path could handle all code paths and renderers which would make animations/video based on bokeh plots possible. Note that I'm not saying it would work quickly!

The approach via matplotlib only seems to work with pure HoloMaps; HoloMaps of Layouts are not supported

This sounds like a regression to me, it definitely used to be supported.

One thought I had a long time ago was to use GR, namely the matplotlib GR backend which is supposed to make matplotlib plotting much faster. I haven't tried it myself but it might be of interest to you @drs251 - if it works well, it might be something we could recommend.

@philippjfr OK, I discovered that it works more or less in the current version (it kept raising exceptions in the last version I tried this in, but I don't remember which one it was). However, there is still a problem with cut colorbars and titles:
%%opts Image [colorbar=True]
%%output holomap='mp4', fps=1
ds = hv.Dataset((np.arange(20), np.arange(20), np.arange(5), np.arange(2),
                    np.random.random((2, 5, 20, 20))), kdims=['w', 'x', 'y', 'z'], vdims=['A'])
ds.to(hv.Image).layout('z')


METRON-1439: Turn off git pager in platform-info script

Contributor Comments
Just added a couple --no-pager args.  Before you'd have to progress past the couple git pages, now they should just be part of the output.
Output should look something like this when run:
{10:08}~/Documents/workspace/metron:METRON-1439 ✗ ➭  metron-deployment/scripts/platform-info.sh
Metron 0.4.3
--
* METRON-1439
--
commit a285b83ee0153cecf24132b4aed70250040a83b0 (HEAD -> METRON-1439, upstream/master, origin/master, origin/HEAD, apache/feature/METRON-1416-upgrade-solr, master, feature/METRON-1416-upgrade-solr)
Author: nickwallen<EMAIL_ADDRESS>Date:   Tue Jan 30 09:31:53 2018 -0500

    METRON-1432 JDK Install Fails on Ubuntu Development Environment  (nickwallen) closes apache/metron#913
--
 metron-deployment/scripts/platform-info.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--
ansible <IP_ADDRESS>
  config file =
  configured module search path = Default w/o overrides
--
Vagrant 1.8.1
--
Python 2.7.10
--

Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?
[x] Have you included steps or a guide to how the change may be verified and tested manually?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Sidenote, do we want to move this script to the dev-utilities dir?

+1 works great for me.  Thanks

Sidenote, do we want to move this script to the dev-utilities dir?

I do think it would be good to move that script.  Not sure where under dev-utilities though.  And we can tackle as separate PR, if you like.

so, I'm +1 on this and we probably want a discussion outside of this about where to move platform-info.sh

@ottobackwards Any objections to having the discussion outside of this and merging this in as-is?

No, I am sorry, I thought that was understood.  I have not reviewed, but I would go ahead based on @cestella


Link to "Agri-activisme" project does not work

404 error, link does not exist or repo is private. Best to make repo public or remove link.

the link is removed


Feature/add bookmarks to autocomplete results

Task/Issue URL: https://app.asana.com/0/1125189844152671/793359964050426
Tech Design URL:

https://app.asana.com/0/1125189844152671/1126825521040709
https://app.asana.com/0/1125189844152671/1130803239304249
https://app.asana.com/0/1125189844152671/1131117077069108
https://app.asana.com/0/1125189844152671/1131117077069109

Description:

Make it easier for the users to find and open a specific bookmark by showing their bookmarks on the autocomplete results.
Move caret to the end of the query when editing suggestions (introduced with https://github.com/duckduckgo/Android/pull/281)

Steps to test this PR:
Bookmarks as part of suggestions

Add a new bookmark for https://www.cnn.com, set the title of the bookmark as My CNN.
Type "c" as a query and note how the first results coming back is the bookmark.
Type "m" as a query and note how the first results coming back is the bookmark.

Bookmarks suggestions disabled

Add a new bookmark for https://www.cnn.com, set the title of the bookmark as My CNN.
Go to settings and disable "Include Bookmarked Sites".
Type "c" as a query and note how the bookmarks is not being shown.

Autocomplete suggestions disabled

Add a new bookmark for https://www.cnn.com, set the title of the bookmark as My CNN.
Go to settings and disable "Show Autocomplete Suggestions" and note how "Include Bookmarked Sites" is now grayed out.
Type "c" as a query and note how neither bookmarks or search suggestions are shown.

Edit a suggestion

Add a new bookmark for https://www.cnn.com, set the title of the bookmark as My CNN.
Type "c" as a query and note how the first results coming back is the bookmark.
Tap on the editable icon (arrow pointing to the top left corner) and note how the focus is returned to the omnibar and the caret is moved to the end.
Same behaviour should happen when tapping on the arrow belonging to a search suggestion.

Navigating to a URL doesn't move caret to end
To avoid regressing on https://github.com/duckduckgo/Android/pull/281 follow the instructions there.

Internal references:
Software Engineering Expectations
Technical Design Template

The recent commit to launch code in a coroutine launch has resulted in a crash.
    java.lang.IllegalStateException: Cannot invoke setValue on a background thread
    at androidx.lifecycle.LiveData.assertMainThread(LiveData.java:461)
    at androidx.lifecycle.LiveData.setValue(LiveData.java:304)
    at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
    at com.duckduckgo.app.global.SingleLiveEvent.setValue(SingleLiveEvent.kt:59)
    at com.duckduckgo.app.browser.BrowserTabViewModel.onUserSubmittedQuery(BrowserTabViewModel.kt:318)
    at com.duckduckgo.app.browser.BrowserTabViewModel.onUserSubmittedAutocomplete(BrowserTabViewModel.kt:289)
    at com.duckduckgo.app.browser.BrowserTabFragment$userSelectedAutocomplete$1.invokeSuspend(BrowserTabFragment.kt:629)


No exported member

Getting error when importing plugin to my component: No exported member on following:
LcSvgComponent
LcSVGService
ILcSvgConfig

Hi Elizabeth, thanks for bringing this to our attention. With lc-svg 0.0.2+ there is no need to import the service or the component, however the ILcSvgConfig interface may still be used for strong typing as shown in the updated README.


[5.7] Add message value assertion to assertJsonValidationErrors

This PR adds the assertion for JSON validation error messages in assertJsonValidationErrors.
Currently, we can only check json validation error keys:
$this->assertJsonValidationErrors('key');
$this->assertJsonValidationErrors(['foo', 'bar']);
With this addition, you can check the key and the message:
$this->assertJsonValidationErrors(['key' => 'validation message']);
You can still continue to use the normal functionality by just passing a key or an array of keys.

Please send to 5.8 branch.


Opening a session and keeping it open seems to increase memory usage (JS)

Hi , First of all I must say that this is an incredible work.
The examples are a very helpful. I came across a problem when trying to send a file using session and saw that memory was increasing.
Using nkn-sdk-js  javascript lib and the examples for session. I found that by opening a session and leaving it open memory is increasing .
Do you have any ideas why?
Should the session be closed and reopen whenever someone sends something through it?
I am using node version 14.16.0
"nkn-sdk": "^1.2.0",

Are you running the examples/session.js? As a simple example, it keeps all random data generated and received in memory (both sender and receiver side), and that might be the reason. In practice, the sender side should read the data from somewhere (e.g. disk), and the receiver side should write data to somewhere (e.g. disk), this way the memory usage will not increase and data is transmitted. You can find a more comprehensive and working example at https://github.com/nknorg/nftp-js/blob/master/main.js
Feel free to let me know if you have more questions!

I am not sending anything I just opened a session nothing else

Thanks for the details! I did reproduced and located the issue. It's caused by this library @nodeguy/channel. I ended up with making a copy of its code in project and fixed it there (this PR). This issue should have been solved in both the latest master branch and published package (v1.2.1). Really appreciated your info!

I am glad that I helped.
Unfortunately after installing the 1.2.1 version and tried to run the code I got
node:internal/modules/cjs/loader:488
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in<EMAIL_ADDRESS>    at new NodeError (node:internal/errors:371:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:429:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:683:3)
    at resolveExports (node:internal/modules/cjs/loader:482:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/sce9sc/Documents/Work/testNknLatestNode/node_modules/nkn-sdk/lib/multiclient/multiclient.js:8:35) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Replied to you in #82


Add support for auto-completion

It would be nice to have code completion on keystroke like in the webkit console. jsconsole.org also support this and shouldn't be too difficult to implement.
I might give it a shot if I have some free time.

Yeah this is definitely something I wanted to have in the sandbox - feel free to give it a go if you like.


⚠ AVS (kty) has degraded performance

In 52a66ac, AVS (kty) (https://avus.com.br) experienced degraded performance:

HTTP code: 200
Response time: 9709 ms

Resolved: AVS (kty) performance has improved in 8d4240b.


KAFKA-14814: Skip target state updates when the configs store has sam…

…e state
Repeated PUT /connectors/<name>/resume or /connectors/<name>/pause attempts to put the connector to the TargetState specified again. In particular, multiple resume calls to a connector would cause it to restart which is wasteful. We change this behavior by not triggering a TargetState change when the connector's TargetState is the same as the request keeping these endpoint idempotents.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hi, @yashmayya / @C0urante let me know if you folks can take a stab at reviewing the PR. Thanks!

@yashmayya that's my bad, it does appear that you're correct and that the Connector won't be restarted, but a request for new task configs will take place.
IMO this change still has some value since, at the very least, it leads to cleaner logs when redundant requests are made. But if we think this isn't worth the implementation complexity and testing efforts, we don't have to merge it.

it does appear that you're correct and that the Connector won't be restarted, but a request for new task configs will take place.

Ah right, that is true. However, I still agree this makes the endpoint non-idempotent. In cases where the new task configs produced on reconfig due to a resume operation are different from the currently running ones, they could cause the tasks to restart/rebalance as things stand. Is that correct? I would surely vote to avoid that if we can.


fix(breaking-change): update for nodes 18 and 20

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

Fix https://github.com/adobe/aio-lib-template/issues/47


Add options for quality

from this issue https://github.com/anijackich/kinescope-dl/issues/19

Video quality selection scheme you propose is not very informative.
First, the video quality can be not only 360, 480, 720 and 1080, as you specified in the help field.
Secondly, passing quality as a number does not carry any semantic load, and also an unhandled exception occurs when passing quality that is not among the acceptable range ones.