Add a "Featured" tab on the homepage

Following up from slack ...
Right now the homepage lists all approved projects by default, most recently created first. This doesn't give a great first impression, because we end up seeing mostly little projects nobody has ever heard of or is giving to. We don't want to hide such projects per se (we want to be careful of "the rich get richer"), but when people are hitting Gratipay for the first time, they want to see, "Who is on here that I recognize?"
I had an idea to incrementally improve the situation without too much trouble (hopefully), and it seemed to @JessaWitzel like a good next project. So here we are! 💃
Basically I propose that we add a "Featured" tab in addition to the others on the homepage. It would be the default tab, and would show ten projects. Seven of the projects would be drawn randomly from a pool of the most popular projects (maybe ngivers >= 5, I think? We're so sad), and three would be taken randomly from amongst the rest. (Gratipay itself should never be a featured project.) Once we have those 10, I think maybe we randomize the order we list them on the Featured tab, for freshness and because otherwise how would we sort them without burying the new/unpopular projects at the bottom?
Apart from an icon (blue ribbon?) for Featured to match the other tabs, I think we should be able to do this only changing www/index.html.spt (plus tests?), because we already load all of the teams every time someone hits the homepage (that's an optimization problem we can worry about later).

Mockup

We Are Sad
gratipay::MAROON=> select name, nreceiving_from from teams where nreceiving_from >= 5 order by nreceiving_from desc;
┌──────────────────────────┬─────────────────┐
│           name           │ nreceiving_from │
├──────────────────────────┼─────────────────┤
│ Gratipay                 │             265 │
│ sqlalchemy               │              21 │
│ DevDocs                  │              19 │
│ CIDER                    │              18 │
│ Nuvola Player            │              17 │
│ jsbin                    │              16 │
│ PylonsProject            │              13 │
│ Internet of Ownership    │              13 │
│ Org-mode                 │              12 │
│ Magit                    │              11 │
│ Shields                  │              11 │
│ WDRL                     │               9 │
│ Chocolatey               │               9 │
│ RuboCop                  │               9 │
│ webpack                  │               8 │
│ Mojolicious              │               8 │
│ catapultpgh              │               7 │
│ Pillow                   │               7 │
│ Font Awesome             │               7 │
│ PerlWeekly               │               7 │
│ sudo room                │               7 │
│ simplytest.me            │               6 │
│ Reddit Enhancement Suite │               6 │
│ weblog.sh                │               6 │
│ dokku                    │               5 │
│ SublimeLinter            │               5 │
│ OpenLP                   │               5 │
└──────────────────────────┴─────────────────┘
(27 rows)

Does that give you enough to get started, @JessaWitzel? Anything jump out at you that needs to be better-specified?

Maybe constrain to only list on per owner among the 10?

If this is all about the projects and being able to support a project and the team working on that project what benefit is there to limiting it to one project per owner? Especially if it's random. Are we worried how it will look if 5/10 of them are owned by one person?

Are we worried how it will look if 5/10 of them are owned by one person?

Yeah, that was my only thought. I'm not proposing we limit the whole website to one project per owner, just the rotating featured 10 on the homepage. Eh?

I was originally thinking about resetting daily but I like the idea of resetting weekly. I have no clue how to do that but will explore once I get this tab working. :)

Resetting either weekly or daily is going to be a fair bit more work, because we'll need to store the featured listing somewhere other than in memory. My suggestion would be that we get it working on this PR with generated-every-request, and work on persisting the list in a separate PR.

slack

I am still having a hard time making enough fake data to test this properly so would LOVE a set of eyes on this before I move forward and some feedback. The icon isn't right, I'm still trying to figure that out. And I haven't written specific tests yet. @mattbk  or @whit537 or anyone would you mind taking a look and giving me feedback?

Is it only showing the tab when there are enough projects that match certain criteria?

@mattbk Yes. I had to make it that way because of the way our testing environment works but also I think it's smart because we are open source so if someone wants to copy our tabs situation but has less teams it will still work for them.

@JessaWitzel I don't think the tab should be hidden when there are fewer than 7 popular + 3 unpopular. IMO it's shown when there's at least one and we show up to 7 popular and 3 unpopular.

@nobodxbodon Well if there is only one or two teams then they will all just show up on the Approved tab. What point is a featured tab if it just shows the Approved tab in a random order?

As we have much more than 2 teams now, I suppose you are thinking of reusing it by some other projects. I'd say suit our needs first, and I don't think it's a big task for other project maintainers to customize it to their needs.
Besides, in case we have only 5 or 6 popular, is it better to still show the 'featured' tab?

Ah, I see what you mean. Like if we have 30 projects but only 5 popular. Ok thanks! I will make that change. This works for us currently but I think it makes sense to make that change in case projects fall. I can do that tonight. Any other feedback?

As a workaround for fake data, you can just modify fake_data.py locally to change nreceiving_from=3 to whatever you want.

To make sure we are on the same page, here are some cases in my mind. Could you check?

existing projects
result

no project at all
tab is hidden

1 unpopular project only
tab shows the 1 project

1 popular project only
tab shows the 1 project

2 populars, 2 unpopulars
tab shows the 2 populars, 2 unpopulars

2 populars, 10 unpopulars
tab shows the 2 populars, 8 unpopulars

8 populars, 1 unpopulars
tab shows 7 populars, 1 unpopular

10 populars, 10 unpopulars
tab shows 7 populars, 3 unpopular

@nobodxbodon The way I wrote it if the total number of approved projects is less than 10 there is no featured tab because it will just be a randomized version of the approved tab. If, however there are more than 10 projects total then the rest of your logic is true. Does that work?

@JessaWitzel sounds good to me. Thanks.

@mattbk  yes! I want it to be a star. :( I totally looked up the icon and used the right SVG code and everything.

I requested reviews but should probably write tests, yeah?

I see featured projects! 😱

I want it to be a star. :(

The way the icon font works is that we have multiple versions of the same font in four formats—eot, svg, ttf, woff—and then some SCSS to switch between them depending on browser and operating system support. Looks like so far we've changed the SVG one but not the others?
Here's a somewhat crustabulous link to slackarchive where I started braindumping about icomoon. Now that my memory is jogged I believe what I did was export from IcoMoon and then move files into place under www/assets/fonts and then manually edit the icons.scss file based on whatever was in the ZIP that IcoMoon gives us. 'Nuff to go on?

Took a pass through. Good progress, @JessaWitzel! Here's what it looks like with production data:

How about we sort the featured tab by amount descending? Do you think that's a good idea?
Also, seems we'll need to do something about the float drop on the tabs. Maybe it's enough to change "Under Review" to "Reviewing"? Would we have to do that elsewhere as well?

I'd rather not sort by anything. I think sorting by receiving implies that this is the reason they are featured?
!m everyone!

What can I do to help?

Nothing yet @mattbk . Was marching on DC and today had a sale but tomorrow is Gratipay day and I will ping you if I have questions!

Ok I think I have fixed the things that need fixing except the standard naming which @mattbk nicely provided me a replacement for. I will write tests before I use that which means the next step is to write tests!

Do we need (n=10) on the featured tab? Also, I see a square icon now.

Oh yeah, I haven't fixed that because I don't really understand Chad's instructions. It's always been a square for me. We do not need n= 10 but I think it's a nicer look, for consistency's sake.

Hey @whit537 . This is done except for the icon.
"what I did was export from IcoMoon and then move files into place under www/assets/fonts and then manually edit the icons.scss file based on whatever was in the ZIP that IcoMoon gives us. 'Nuff to go on?"
I can't even get a ZIP from IcoMoon and don't really understand this process. Does someone wanna just fix the icon or merge as a square?

Wayne seems to think that I need the project file and I cannot select all of our previous icons. Icomoon says "Note: Your changes and your projects only get stored in your browser's cache. Clearing your browsing data will result in losing your projects." Do you have a project stored somewhere that you can send me so that I can add this icon? @whit537

Nevermind. :) Used the existing SVG file to import font icons and selected the one I needed to add. Now everyone can see how my brain works. This is ready for review.

Woo-hoo!
Rebased, was 887e4f8ba23e72eada05255b843a52663701961d. Reviewing ...

I kicked out #4314 and restarted the build.

Rebased again, was 4fcaa25821ba867ae3303ba92b97738a5d718089.

I see a star! ⭐ 🔵  💃

How about "Unreviewed" to keep the tabs on one line? cc459901b21c78926d9b8653a7768ce0b0c35b53

Do we want to include Gratipay in the pool of featured projects? Is that too forward?

Or does it help communicate that Gratipay is funded on Gratipay?

I think it should be like any other project, included when it is chosen at random.

How about "Unreviewed" to keep the tabs on one line?
Does "In review" fit?

I'm ready to merge and deploy when you are, @JessaWitzel @mattbk @TravisCI.

Does "In review" fit?

Probably. You think "Unreviewed" is that bad?

"Unreviewed" is actually more parallel to "Approved" and "Rejected," isn't it?

/me preps a tweet ...

We've added a "⭐ Featured" tab to https://gratipay.com/—mix of popular & up-and-coming projects. (Thanks to @/JessaCarpenter for the PR!)

We have a +1 from @JessaWitzel in slack.
You good, @mattbk? I'm thinking we can tweak the tab after the fact if need be ...

Alright, I'm holding off until tomorrow. I was the last to commit, so I shouldn't be the one to merge.
@mattbk I believe the merge is yours, unless the tab name is a blocker for you.

"Unreviewed" is actually more parallel to "Approved" and "Rejected," isn't it?

"Approved" and "Rejected" are end-members, "In Review" is transitional. Not a blocker for me.

FIREWORKS!!


Merge master branch to prTesting1_202010101923 branch

Docs Build status updates of commit 3d7e042:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 3d7e042:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestRef1.md
:warning:Warning

Details

split/updateTestRef1.md

Line 0: [Warning-h1-not-first] Markdown content is not allowed before {0}.
Line 1: [Suggestion-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning around July 2020.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


New Type System

Implements the type system from, and therefore closes #19.

I will also work on the typechecking system with this PR to address #10.


Running into errors during set up LLM serving

Please describe the bug
Hi! I am trying to set up LLM serving following the tutorial here: https://alpa.ai/tutorials/opt_serving.html
I was trying to run python3 textgen.py --model facebook/opt-125m but got the following error:
2022-11-20 22:31:28.919355: W external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2022-11-20 22:31:28.983202: W external/org_tensorflow/tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
A decoder-only architecture is being used, but right-padding was detected! For correct generation results, please set `padding_side='left'` when initializing the tokenizer.
Traceback (most recent call last):
  File "textgen.py", line 63, in <module>
    main(args)
  File "textgen.py", line 44, in main
    **generate_params)
  File "/home/yidingji/miniconda3/envs/opt/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
    return func(*args, **kwargs)
  File "/home/yidingji/miniconda3/envs/opt/lib/python3.7/site-packages/transformers/generation_utils.py", line 1441, in generate
    if self.device.type != input_ids.device.type:
AttributeError: 'WrappedInferenceFunc' object has no attribute 'device'

System information and environment
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, docker): CentOS Linux 7
Python version: Python 3.7.11
CUDA version: 11.1
NCCL version: 2708
cupy version: cupy-cuda111
GPU model and memory: GTX2080, 12G
Alpa version: 0.2.1
Pytorch version: 1.9.1+cu111
TensorFlow version: NA
JAX version: 0.3.15

Your transformers version is too high. As mentioned in our doc (https://alpa.ai/tutorials/opt_serving.html#requirements), could you downgrade it to <= 4.23.1?

Fixed by #784


Setup Streamlit sharing

Dear TAs, please add our repo to Streamlit sharing and then respond to this issue with the URL to the deployed application.

https://share.streamlit.io/cmu-ids-2020/fp-vectorization/main


Overall message/log interface including plugin API

We don't want plugins just spewing to stdout by default, as they're doing now. We want something we could route into a GUI at some point.

I think that in addition to plugin, we should add a logger for entire OSVR server, to keep track of data, errors, configs, etc. Especially once we add GUI #42.

In a quick skim of the "Awesome C++" library list, https://github.com/gabime/spdlog stuck out as a good option, or perhaps http://www.templog.org/  - both would presumably require a little bit of extra code to send stuff to logcat on Android.
glog doesn't work on Android and is fairly complicated apparently,  boost.log needs really new boost and didn't look appealing, easyloggingpp is single header, but appears focused on things with a main(), as opposed to libraries.

And of course, for all we'd have to implement a C API wrapper, since these are C++ libraries (which is a good thing, it's just, they're C++) and we'd also want to append extra data based on the source (annotate plugin logs with plugin name, etc), but since that's the same for all, doesn't help us pick one to use.

Do we log anything within the C API layer?

spdlog looks pretty good. It allows us to add new message sinks (for Android, for instance), and to modify the default log format (to prepend [OSVR], for example).
[I'll take a look at templog next.]

I like the design statement of templog, but the unmaintainedness of it worries me

The templog one also looks like it's using the C++ template-based policies which can lead to some pretty inscrutable error messages if you mistype something.
From its suggested features and improvements list, it sounds like it's not yet multithread-safe.
Between the two, I vote for spdlog.


Update new navigation groups

Description
Update new navigation groups from latest UX change.
Issues Resolved
N/A
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

From the code I suppose it should work as expected, but could you please add a screenshot for all use case and observability use case?

From the code I suppose it should work as expected, but could you please add a screenshot for all use case and observability use case?

Updated in the description

CI failure isn't related to this PR


boards: arm: stm32f469i_disco: add sdmmc1

adds sdmmc1 node on stm32f469i_disco board
to use SDIO bus for SD card access
the mandatory clock is 48 Mhz.

Yes


java.lang.IndexOutOfBoundsException: No enough data in the stream java.io.ByteArrayInputStream@36f0f1be

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
0.6.0
Component(s)
Java
Minimal reproduce step
    ThreadSafeFury fury = Fury.builder().requireClassRegistration(false).withCompatibleMode(CompatibleMode.COMPATIBLE).buildThreadSafeFury();
    ByteArrayOutputStream bas = new ByteArrayOutputStream();
    fury.serialize(bas, Lists.newArrayList(1, 2, 3));
    fury.serialize(bas,Lists.newArrayList(10,9,7));
    fury.serialize(bas,Lists.newArrayList(7,5,4));
    bas.flush();

    InputStream bis = new ByteArrayInputStream(bas.toByteArray());
    FuryInputStream stream = of(bis);
    Object lobj1 =  fury.deserialize(stream);
    Object lobj2 =  fury.deserialize(stream);
    Object lobj3 =  fury.deserialize(stream);

What did you expect to see?
no exception
What did you see instead?
java.lang.IndexOutOfBoundsException: No enough data in the stream java.io.ByteArrayInputStream@36f0f1be
at org.apache.fury.io.FuryInputStream.fillBuffer(FuryInputStream.java:66)
at org.apache.fury.memory.MemoryBuffer.readerIndex(MemoryBuffer.java:1274)
at org.apache.fury.resolver.ClassResolver.readClassDefs(ClassResolver.java:1469)
at org.apache.fury.Fury.deserialize(Fury.java:758)
at org.apache.fury.Fury.deserialize(Fury.java:780)
at org.apache.fury.Fury.deserialize(Fury.java:773)
at org.apache.fury.ThreadLocalFury.deserialize(ThreadLocalFury.java:160)

Anything Else?
In version 0.5.1 it ran successfully, but after upgrading to 0.6.0 an exception was thrown, which is related to enabling COMPATIBLE.
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

We enabled scoped meta share mode by default, but it doesn't support native streaming deserializaiton. Could you use org.apache.fury.io.BlockedStreamUtils instead?

I have checked the BlockedStreamUtils method. The deserialization process reads the entire byte stream before performing the actual deserialization. However, my file is large and requires streaming reads. It's not feasible to read the entire byte stream into memory.
Is there any other solution available?

Could you disable scopedMetaShare option?  I tested locally, It works


Added Human BHOP

Added kerncs' implementation of human bhop with a GUI section added to the MISC gui

How do you set max_hops_hit?

@MinecraftGoodGame
change " ImGui::InputInt("Max Hops Hit", &config.misc.hops_restricted_limit); " in GUI.cpp
to
" ImGui::InputInt("Max Hops Hit", &config.misc.max_hops_hit); "

Ikr I just wanted to point it out

oke ;)

it resets everytime i reload config ._.

just do a little things in Config.cpp...

oops, thanks gius for pointing that out, I'll fix it now!
On Sat, Feb 29, 2020, 8:42 AM twangsriprasoet<EMAIL_ADDRESS>wrote:

just do a little things in Config.cpp...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/danielkrupinski/Osiris/pull/1162?email_source=notifications&email_token=ACLUIFVAUSPXYUXDHS3BUUDRFDFAXA5CNFSM4K5BKHD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENLUBWI#issuecomment-592920793,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLUIFWWBVUJYETUNGJL4DTRFDFAXANCNFSM4K5BKHDQ
.

I hope this should've fixed the issues!
If there are any issues simply tell me and i'll fix them asap

Hi guys,
as seen as this doesn't seem to be pushed into the main branch of Osiris, I am going to keep this version updated with an automatic fork updating piece of software, and every few days or when I notice an update come through I will rebuild Osiris for the following instruction sets:

IA32
SSE2
AVX
AVX2

If there are any issues with the implementation feel free to drop me an issue and I'll fix it as soon as I can :)
It should be noted, if Osiris implements its own version of the Human Bhop (other than Kerncs' implementation that mine is based on), I will either archive this repository or I will leave the Pull software running on it so as to allow it to keep up to date with the current versions, yet it will no longer recieve any new compiles...
Hope this fork can help y'all out,
Jim

What does the restricted limit do?

??

needs to be updated


Fix maze_runner.wbt and abstacle_avoidance.wbt

Fix appearance of window's wall that were mistakenly set to white instead of green (as the other walls).
Note that even if the PBRAppearance node for the walls and the window's walls is exactly the same, in Webots the resulting color is slightly different. This difference is not visible in THREEjs

Disable the castShadows flag for walls, windows and some other objects attached to the wall that are not supposed to cast shadows inside the room.
Given that we the room is illuminated using a DirectionalLight, if not specified the walls will cast shadows inside the room in THREEjs. In Webots walls strangely don't cast shadow even  if the flag is not unset, but the Blackboard object does.

Build Passed :ok_hand:
You can safely merge 'fix-robotbenchmark-worlds' into 'develop'.

:+1:

:-1:
I forgot to disable casting shadows for the lights.

test me

test me

Build Passed :ok_hand:
You can safely merge 'fix-robotbenchmark-worlds' into 'develop'.

Build Passed :ok_hand:
You can safely merge 'fix-robotbenchmark-worlds' into 'develop'.

:+1:

:eyes:


Server integration with appium-windows-driver

Hello @licanhua
Thank you for your great work on this project. My name is Mykola and I am one of Appium core developers. We are considering to incorporate your implementation of the WDA server with Appium instead of the one which has been abandoned by Microsoft.
I would like to know if you are interested in such cooperation and if you have plans for further long time project maintenance and development.
Basically, what we have on our roadmap for now is the full W3C protocol support and various bugfixes.
Thank you for your time.

Good initiative 👍

@mykola-mokhnach Good to know on it. I don't have long term plan on it. I didn't work on native app anymore, so I may put limited time on the maintains. If anyone is willing to put more time on the future planning and user engagement, I can add them to the admin

Ok, no problem.
Let me ask then at the forum if someone would like to support/maintain the project.


Release 1.6.0

PR for tagging release 1.6.0.
(to be merged only when fully ready to release)

I know that I was working with the TwoPhaseFlow app with the sphere in box case, which doesn't really use most of the h-adaptivity tools. Is there an existing TwoPhaseFlow version of the 2D/3D dambreak problem (or something similar) that I can test out to make sure there aren't any issues with h-adaptivity?

@zhang-alvin you can find the 2D dam break problem with the setup by Colagrossi and the Marin problem here https://github.com/erdc/proteus/tree/master/proteus/tests/TwoPhaseFlow. Both tests should run with rans2p or rans3p and with either the clsvof model or the non-monolithic level set method (VOF, NCLS, etc). I would be interested to learn how you run those tests and the results you get.

@zhang-alvin are you planning to add things to TwoPhaseFlow for h-adaptivity before 1.6.0 is released?

@tridelat @manuel-quezada Sorry for the delay. It looks like h-adapt works fine as is for now as long as the rans2p + vof+ls+rd+mcorr setup is used. I've pushed a case to the scorec/meshAdaptAniso_examples branch of air-water-vv: https://github.com/erdc/air-water-vv/tree/scorec/meshAdaptAniso_examples/MeshAdapt_PredictiveControl/dambreak_Colagrossi_TwoPhaseFlow
which shows how to use h-adapt with the Two-Phase-Flow app. I have below a sample initial mesh and final mesh with the VOF field.

@zhang-alvin two comments:

I have made h-adaptivity work with rans2p+clsvof within an older version of TwoPhaseFlow. I am sure that either it works with your current setup or it should be trivial to make it work as well. Maybe it is worth testing that out for this release.
I suggest to have the example/test of h-adaptivity not only on air-water-vv but also in Proteus.

@manuel-quezada
1)I took a look at rans2p+clsvof and there were some changes that needed to be made, particularly in the post-adapt solution transfer/proteus-reinitialization step, but guaranteeing that the solution transfer is doing the right thing will take some time.
I get the following results:
Initial

Final

In the final step, the vof field towards the left shows some pronounced perturbations/waviness. Is this expected behavior from clsvof?
If things look alright, I'll go ahead and push the changes into release_1.6.0 branch. Or maybe a PR if that's cleaner (@tridelat ).

I agree that these examples should probably be in the proteus repo; ideally, I would put these examples as part of a notebook, but I think that would hold up this release for quite a while.

@zhang-alvin

No, the clsvof shouldn't behave like that and it doesn't for this problem with non adaptive meshes. Maybe it is better if we don't delay this release for this to be working. If you push these changes to a different branch, I can take a look at them whenever I get a chance.
Understood.

@zhanga @cekees I am about to merge this (when the tests pass), but without squashing as there is #958 that was merged here instead of master, in order to keep proper history


Update README.md

Description
Documentation change:
pytorch-native-cpu isn't working for CentOS with glibc = 1.17, but pytorch-native-cpu-precxx11 is; therefore I think the docs should be more clear making the supported glibc version inclusive (>=1.17 rather than >1.17).

@delgadofarid Thanks for your contribution.


use undefined for timed out responses

Overview
Under heavy load, fabric_update_doc workers will return timeout via
rexi. Therefore no responses will populate the response dictionary.
This leads to badargs when we do dict:fetch for keys that do not exist.
This checks for the existence of the key and then returns undefined
if it does not exist, which aligns with the same code path of when we
the number of docs < 100.
In this solution, we're masking the fact that workers failed their updates. handle_message
is never called since no workers return. The returned Health value is actually ok. It solves
the badargs but we need to consider a correct response. I don't think 200 is correct.

We can return {error,...} and also change it for < 100 docs. Possible Breaking change.
We can return {error,...} for only > 100 docs. But this could lead to different results.
We can return {accepted...} when Results are not empty, and error only when results is
completely empty.

Testing recommendations
Run https://gist.github.com/nickva/bde7d3cfa8c9df0dd18700c661fec4ab
with
python stampede.py -x 100 -w 5

should not create badargs.
Related Issues or Pull Requests
https://github.com/apache/couchdb/issues/3948
Checklist

[x] Code is written and works correctly
[x] Changes are covered by tests
[ ] Any new configurable parameters are documented in rel/overlay/etc/default.ini
[ ] A PR for documentation changes has been made in https://github.com/apache/couchdb-documentation

I think, ideally, if we didn't get any response for some document we'd want to return an error (500), regardless if it's greater or smaller than 100. It seems would be a data loss situation if we returned a 201 but never got any response back.
If at least some response came, for all docs we can return accepted then.
Instead of undefined, perhaps if we'd do a pre-processing of responses and mark the un-returned ones with a better error (timeout or internal_server_error if it could be anything).

@nickva mind taking a second look at this?

@tonysun83 looks pretty good, nice work!
I think one more thing we're missing is turning the {error, ResultsOrErrors} into a proper 500 where users get the actual errors instead of a clause match.
I wonder if something like this could work?
index cfae8ad5f..157467104 100644
--- a/src/chttpd/src/chttpd_db.erl
+++ b/src/chttpd/src/chttpd_db.erl
@@ -633,6 +633,15 @@ db_req(#httpd{method = 'POST', path_parts = [_, <<"_bulk_docs">>], user_ctx = Ct
                         Results
                     ),
                     send_json(Req, 202, DocResults);
+                {error, Results} ->
+                    % output the results
+                    chttpd_stats:incr_writes(length(Results)),
+                    DocResults = lists:zipwith(
+                        fun update_doc_result_to_json/2,
+                        Docs,
+                        Results
+                    ),
+                    send_json(Req, 500, DocResults);
                 {aborted, Errors} ->
                     ErrorsJson =
                         lists:map(fun update_doc_result_to_json/1, Errors),
@@ -647,8 +656,12 @@ db_req(#httpd{method = 'POST', path_parts = [_, <<"_bulk_docs">>], user_ctx = Ct
                 {accepted, Errors} ->
                     chttpd_stats:incr_writes(length(Docs)),
                     ErrorsJson = lists:map(fun update_doc_result_to_json/1, Errors),
-                    send_json(Req, 202, ErrorsJson)
-            end;
+                    send_json(Req, 202, ErrorsJson);
+                {error, Errors} ->
+                    chttpd_stats:incr_writes(length(Docs)),
+                    ErrorsJson = lists:map(fun update_doc_result_to_json/1, Errors),
+                    send_json(Req, 500, ErrorsJson)
+             end;
         _ ->
             throw({bad_request, <<"`new_edits` parameter must be a boolean.">>})
     end;
@@ -1472,6 +1485,12 @@ receive_request_data(Req, LenLeft) when LenLeft > 0 ->
 receive_request_data(_Req, _) ->
     throw(<<"expected more data">>).

+update_doc_result_to_json({error, _} = Error) ->
+    {_Code, Err, Msg} = chttpd:error_info(Error),
+    {[
+         {error, Err},
+         {reson, Msg}
+    ]};
 update_doc_result_to_json({{Id, Rev}, Error}) ->
     {_Code, Err, Msg} = chttpd:error_info(Error),
     {[

@nickva updated with your changes. I realized that I was erlang:error bubbled it up as a 500 so we didn't need to add the extra clause. But since we're returning it now, then we do it need. Nice catch. If you get a chance mind running the script on your end to see we actually get the correct 500? My python packages broke for some reason and I get some weird decode error coming from couchdb python library.


Fix ServiceKeyOption protocol conformation

Creating new PR because #128 wasn't completed.
Need this one to be merged asap, as we need it in production.

Hey @sumit-anantwar  :), Any updates to this?
https://github.com/Swinject/SwinjectStoryboard/pull/128


add hour to convertTime() function

hewo sensei, with how the app seems to target movies with subtitles, why does convertTime() only show minutes? movies can be 1 hour up to 3 hours!!! it doesn't make sense to not show time in hours.....

https://github.com/arma7x/k-video-player/blob/master/app.js#L882-L903


1.2 무음제거에서 CUDA out of memory

OutOfMemoryError: CUDA out of memory. Tried to allocate 9.45 GiB (GPU 0; 12.00 GiB total capacity; 2.68 GiB already allocated; 7.32 GiB free; 2.71 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
어떻게 해결하나요?

아 파일 길이가 문제였네요


Revert "Assign_Bot testing"

fix location

@self-assign-bot assign @AnonymousCodes911

@self-assign-bot assign @AnonymousCodes911


[json] Add/remove json schema associations from extension at runtime

I'm developing a small extension that relies on built-in JSON language features. My extension monitors changes to the file that looks like following:
{
  "configs": ["file1.json", "file2.json"]
  // other properties
}

Where configs is an array of relative paths to files that share a common schema. I want to register/remove schema associations for these files when the array changes, but so far I haven't found a way to do this besides the jsonValidation contribution. But jsonValidation cannot be used there because the fileMatch pattern is not known at package time (users can structure their projects however they like).
It would be nice to have an API to add/remove schema associations at runtime, like in the XML extension.  Or am I missing something and there is already a way to achieve the described behavior?
Thanks in advance!

duplicate of #96120


Add annotations to Lens Ingress

What would you like to be added:
The ability to add annotations to the Ingress object for Lens.
Why is this needed:
When using a different ingress controller (or multiple) it's necessary to specify kubernetes.io/ingress.class.
https://github.com/kontena/pharos-cluster/blob/master/non-oss/pharos_pro/addons/kontena-lens/resources/12-ingress.yml.erb
i.e.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: 'traefik-dmz'

Hi @Timer .
I open similar issue:  https://github.com/kontena/pharos-cluster/issues/1438 and now i see your.


0.1.3

Pull Request Guidelines
These are recommendations for pull requests.
They are strictly guidelines to help manage expectations.
PR preparation
Run make all from the root of the repository to run formatting, linting and tests. To run all tests require an API key.
Should this be an issue instead

[ ] is it a convenience method? (no new functionality, streamlines some use case)
[ ] exposes a previously private type, const, method, etc.
[ ] is it application specific (caching, retry logic, rate limiting, etc)
[ ] is it performance related.

API changes
Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes.

no tests, if you're adding to the API include at least a single test of the happy case.
If you can accomplish your goal without changing the API, then do so.
dependency changes. updates are okay. adding/removing need justification.

Examples of API changes that do not meet guidelines:

in library cache for users. caches are use case specific.
Convenience methods for Sending Messages, update, post, ephemeral, etc. consider opening an issue instead.

LGTM


Broken since upgrading to Obsidian 1.2.7

Describe the bug
Icons do not show since updating to Obsidian 1.2.7 from 1.1.16, and a javascript error is now showing in the console:
MacOS 13.3.1, Obsidian 1.2.7
To Reproduce
Steps to reproduce the behavior:
Upgrade to Obsidian 1.2.7
Expected behavior
Icons show as previously configured.
Screenshots
Before:

After updating to Obsidian 1.2.7:

Additional context
Add any other context about the problem here.

Exact same issue on my side. I really love this plugin, so I hope that a fix is possible !

Same error on my side too, is really weird to imagine Obsidian without this plugin imo, hope is fixed soon

Disabling the bookmarks core plugin made no difference for me.
Reapplying icons makes them appear but only until Obsidian restart.

oh geez oh man my life is over without my icons T____T

Looks like the Obsidian team removed the core plugin "starred" (StarredInternalPlugin) without prior notice, would be an easy fix but I've decided to disable automatic updates forever 😇

Same issue, both file color and icons are gone :(

Everything should be now ready to go including v2.0.0.

Update worked superbly, thanks so much!

does this update apply to file colour? I still cannot change my file colour through the community plugin

Thank you!!!
On Wed, 3 May 2023, 21:05 DawsSauce97, @.***> wrote:

does this update apply to file colour? I still cannot change my file
colour through the community plugin
—
Reply to this email directly, view it on GitHub
https://github.com/FlorianWoelki/obsidian-icon-folder/issues/170#issuecomment-1533261141,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACQS2I7NF7YK4EFJFX7LPQLXEJ3N7ANCNFSM6AAAAAAXTNFEJM
.
You are receiving this because you commented.Message ID:
@.***>


feat(mox/link-button): add new link-button component

Closes https://github.com/meroxa/platform-ui-v1/issues/988
With this change, we're adding a new Mox::LinkButton component to the component library. The component is both dark and light mode capable. This way, we can already integrate its dark mode variant into the dashboard today.
Screens

dark mode
light mode

@jmar910 I may also add these two component updates to the library this week in follow-up PRs:

https://github.com/meroxa/platform-ui-v1/issues/989
https://github.com/meroxa/platform-ui-v1/issues/990

Does it make sense to add these changes first before adding a changeset or would you prefer if I already added one to this and the other subsequent PRs? Happy to go with either!


collectd: added to playbook and inventory

Added collectd role to playbook and inventory
Signed-off-by: Sandro Bonazzola<EMAIL_ADDRESS>

@sandrobonazzola could you please add the changes @paramite requested?

@mrunge added @paramite requested changes.

Any other change required on my side?


accept either string or obj for option-selector title prop

Sometimes we want to be able to have an object as title. Especially for cases that require a glyphicon. This PR does a PropTypes validation for either string or object for OptionSelector title prop.

📦 3.3.1


Fixed Slime Block Opacity(Transparency)

Added opacity: 0

I don't know much about semisolid... Does it support opacity? Or just make it normal block and put opacity?


how to get the hdet?

it seems hdet in the test_Solver is from Test_RCNN.pkl. But I check the AlphaPose result, the human score is always bigger than 1.0 , and in the Generation_detection.py it requires hdet < 1.0 .  So maybe I'm wrong, and how to get the hdet? If it is from Object detection (iCAN), how to get the final humans from two different results (AlphaPose and iCAN) ? Thanks.

It is provided by the object detector (Faster-RCNN, which is used by iCAN). For detailed information, you could take reference from https://github.com/DirtyHarryLYL/HAKE-Action/blob/Instance-level-HAKE-Action/script/part_box_generation.py .


Config is not getting set correctly in rules file or in attach when using filter --add

It was noted that the config in the filter file did not look correct in the rules file, and in attach processes after adding a rule.
There are 4 ways to set configuration when performing a scope rules --add. These are:

don't specify a configuration. The default scope run configuration should be used
pipe a config file to stdin
pass a path to a config file to --userconfig [file]
use flags to set things like metricdest, eventdest, etc.

We should check that:

config looks correct in the rules file
config looks correct in attached processes

These are the scenarios that should be tested:

the above is true when running the rules --add command on the host, targeting processes on the host and child containers
the above is true when running the rules --add command in a container, targeting processes on the host, child, and sibling containers

Scenario: running the rules --add command on the host, targeting processes on the host and child containers
No config supplied

[ ] rules file correct (matches default)
[ ] attached procs tbc

Pipe a config file to stdin

[ ] rules file correct (matches piped in config)
[ ] attached procs tbc

Pass a path to a config file to --userconfig [file]

[ ] rules file correct (matches provided config)
[ ] attached procs tbc

Use flags to set things like metricdest, eventdest, etc.

[ ] rules file correct (matches supplied args)
[ ] attached procs tbc

after performing a scope inspect, the config in the attached processes do not match the rules file.

something strange is happening.
if i run top then sudo ./scope attach top, the config looks correct (default config).
but when i follow the steps in the previous comment (which is essentially doing the same thing; attaching to top), the config is wrong

i noticed that when attach is run, we create a session directory in /tmp, then create a symlink from /root/.scope/history to that.
i noticed that when rules is run, we create a session directory in the /root/.scope/history dir directly.
in both cases, the config in those directories is accurate. but it is not getting read into the process in the rules case.
is this something to do with it?
i can imagine that the top process cannot get permission to read the config file from the root directory.

ok, for the rules command i now create a /tmp directory and then create a symlink from /root/.scope/history to that.
this solved the problem of config not getting respected on attach.

Scenario: running the rules --add command on in a container, targeting processes on the host and child containers
No config supplied

[x] rules file correct (matches default)
[x] attached procs on host correct (matches default)
[x] attached procs in containers correct (matches default)

Pipe a config file to stdin

[x] rules file correct (matches piped in config)
[x] attached procs on host correct (matches piped in config)
[x] attached procs in containers correct (matches piped in config)

Pass a path to a config file to --userconfig [file]

[x] rules file correct (matches provided config)
[x] attached procs on host correct (matches provided config)
[x] attached procs in containers correct (matches provided config)

Use flags to set things like metricdest, eventdest, etc.

[x] rules file correct (matches supplied args)
[x] attached procs on host correct (matches supplied args)
[x] attached procs in containers correct (matches supplied args)


UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

I was just trying to get the baseline model working with the preprocessed training set but I run into an issue upon trying to evaluate the tiny-dev:
Traceback (most recent call last):
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/multiprocessing/pool.py", line 121, in worker
    result = (True, func(*args, **kwds))
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/multiprocessing/pool.py", line 44, in mapstar
    return list(map(*args))
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/natural_questions/eval_utils.py", line 264, in read_annotation_from_one_split
    for line in input_file:
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/gzip.py", line 374, in readline
    return self._buffer.readline(size)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/_compression.py", line 68, in readinto
    data = self.read(len(byte_view))
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/gzip.py", line 463, in read
    if not self._read_gzip_header():
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/gzip.py", line 406, in _read_gzip_header
    magic = self._fp.read(2)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/gzip.py", line 91, in read
    self.file.read(size-self._length+read)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/codecs.py", line 322, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/natural_questions/nq_eval.py", line 462, in <module>
    app.run(main)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/natural_questions/nq_eval.py", line 425, in main
    FLAGS.gold_path, n_threads=FLAGS.num_threads)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/site-packages/natural_questions/eval_utils.py", line 303, in read_annotation
    dict_list = pool.map(read_annotation_from_one_split, input_paths)
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/multiprocessing/pool.py", line 268, in map
    return self._map_async(func, iterable, mapstar, chunksize).get()
  File "/home/mmcmill/anaconda3/envs/tf_gpu/lib/python3.7/multiprocessing/pool.py", line 657, in get
    raise self._value
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

Is the tiny-dev sample file incorrect? I don't understand why this would happen otherwise.

Changed to a python 2 environment and no longer had the same issue.

Also found a fix for running it on python 3.7.
-Change line 260 in eval_util.py within the natural_questions package from:
gzipped_input_file = open(gzipped_input_file)
to
gzipped_input_file = open(gzipped_input_file, 'rb')
-You also have to change line 338 in nq_eval.py within the same natural_questions package from:
for threshold, (precision, recall) in scores_to_stats.iteritems():
to
for threshold, (precision, recall) in scores_to_stats.items():
-Repeat the same change for line 411 in the same file from:
return dict([(prefix + k, v) for k, v in metrics.iteritems()])
to
return dict([(prefix + k, v) for k, v in metrics.items()])


DE463738 : Fixed the environmentIncluded flag issue for full bundle

Fixes #
Fixed the environmentIncluded flag issue for full bundle
Proposed Changes

JsonFileUtils should have generic methods, this method just updates one of the metadata attributes.
Instead we can have readBundleMetadataFile and use this method in FullBundleTask

done


match throwing errors during deployment

upon deployment, the tournament microservice does not run due to match being a reserved keyword in MySQL
2024-10-26T10:43:25.114Z WARN 1 --- [Kickoff Tournament Management] [ main] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "create table match (id bigint not null auto_increment, club1id bigint, club1score integer not null, club2id bigint, club2score integer not null, is_over bit not null, match_number bigint, winning_club_id bigint, round_id bigint, primary key (id)) engine=InnoDB" via JDBC [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match (id bigint not null auto_increment, club1id bigint, club1score integer not' at line 1]

match table has been renamed to "GAME"


Documentation is not clear

session.scalars(query): Returns an iterable with a single result per row.
session.scalar(query): Returns the first result from the first row.
session.execute(query): Returns an iterable with a tuple of results per row.

Did you mean to say something like
'session.scalars(query).all(): Returns an iterable with a single result per row.'?

The section of the docs you are reading has a link to the SQLAlchemy documentation, where you can find details about these methods. They are listed here just as a quick summary.
In any case, when you use the session.scalars(query).all() you get a list. When you use session.scalars(query) you get an iterable, which is a more generic type of sequence that is more efficient to iterate on, since results are obtained as you iterate.


TST: Add ncf to fail_normalization

Reference issue

What does this implement/fix?

# this is a temporary plug: either ncf or expect is problematic; has been here for 7+ years.
>>> stats.ncf.expect(lambda x: 1, args=args)
0.9999972739366044

Which is a relative error of 2.7e6

I took a peek in _continuous_distns.py and there's a lot of math.
stats.ncf(rv_continuous) calculates integrate.quad on stats.ncf.cdf,
stats.ncf.cdf is derivative(stats.ncf.pdf). I tried playing with dx and order but they don't help it converge to 1.
stats.ncf.cdf(np.inf, *args)) = 1.0 so I'm chalking this up to the numerical_integrate(numerical_derivative(x)) != x.
As a fun note I ended up in scipy/special/cdflib/cdffnc.f which is at least 18 years old! Wow this is some great code.
Additional information

I don't understand, What's the point of this change?
AFAICS, you are replacing a unit tests that has lower precision than usual by not unit testing at all.
?

I feel it's nice to use a uniform format instead of having "temporary" hacks all over the place seven years late. I'm following the advice of the comment and cause it to marking as xfail instead of pass.

[Is the relative error 2.7e6 or 2.7e-6?]
SciPy has functions with different precisions, one size doesn't fit all.  I'd be in favor of keeping the current special casing of ncf, rather than dropping the test.

The relative error is 2.7e-6
Thanks for considering. I'll close this

having "temporary" hacks all over the place seven years late.

Maybe update the comment then?


Adding explicit Flask session cookie options to default config

CATEGORY
Choose one

[x] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
This will enforce a SameSite policy of Lax for session cookies served up by Superset.
(https://www.owasp.org/index.php/SameSite)
The SameSite cookie attribute attempts to solve many of the issues associated with cross origin attacks as they relate to cookies with a single option.
In this PR, I'm basically surfacing the underlying Flask options which control these options and am providing a sensible set of defaults.
REVIEWERS
@mistercrunch @dpgaspar

Codecov Report

Merging #8317 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #8317      +/-   ##
==========================================
+ Coverage   67.74%   67.75%   +<.01%
==========================================
  Files         451      451
  Lines       22699    22702       +3
  Branches     2370     2370
==========================================
+ Hits        15378    15381       +3
  Misses       7184     7184
  Partials      137      137

Impacted Files
Coverage Δ

superset/config.py
89% <100%> (+0.17%)
:arrow_up:

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 3764d43...34913cb. Read the comment docs.


Support for querying views

hello, i wanted to open this issue to track potential efforts on using postgres_attach/postgres_scanner to be able to query views. i didn't realize querying views wasn't possible until I saw it commented on #20 and i didn't see another open issue specifically for this use case.

@dpprdan I've had success with materialized views!
But agree views would be nice too and relatedly, using indices when the a filter is applied that could benefit from an index - which I don't believe happens today. For example I want to be able to scan on created_at > X , using an index on created_at, but for >3M rows the performance is quite poor even when the number of rows matching that condition is tiny.

@vimota how have you been able to query materialized views? When I try it says the table was not found. When I do PRAGMA show_tables, materialized view don't appear.

I guess @vimota used SELECT * FROM POSTGRES_SCAN(), see below.
I'll add a minimal working example for matviews:

Setup

spin-up a local postgres docker containerdocker run --name mypg -d --rm -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword postgres

connect and create table and matview (I use a connection service file (service=test) and a password file to connect).PS C:\Users\Daniel> psql service=test
psql (15.3, server 15.4 (Debian 15.4-1.pgdg120+1))

postgres=# CREATE TABLE mytable AS SELECT 2 AS col;
SELECT 1

postgres=# CREATE MATERIALIZED VIEW mymatview AS SELECT 1 AS col;
SELECT 1

postgres=# \d
                 List of relations
 Schema |   Name    |       Type        |  Owner
--------+-----------+-------------------+----------
 public | mymatview | materialized view | postgres
 public | mytable   | table             | postgres
(2 rows)

PS C:\Users\Daniel> .\duckdb
v0.8.1 6536a77232
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.

D INSTALL postgres;
D LOAD postgres;
D CALL POSTGRES_ATTACH('service=test');
┌─────────┐
│ Success │
│ boolean │
├─────────┤
│ 0 rows  │
└─────────┘
D PRAGMA show_tables;
┌─────────┐
│  name   │
│ varchar │
├─────────┤
│ mytable │
└─────────┘
D SELECT * FROM mytable;
┌───────┐
│  col  │
│ int32 │
├───────┤
│     2 │
└───────┘
D SELECT * FROM mymatview;
Error: Catalog Error: Table with name mymatview does not exist!
Did you mean "mytable"?
LINE 1: SELECT * FROM mymatview;
                      ^
D SELECT * FROM POSTGRES_SCAN('service=test', 'public', 'mymatview');
┌───────┐
│  col  │
│ int32 │
├───────┤
│     1 │
└───────┘
D .quit

So PRAGMA show_tables; and SELECT * FROM mymatview;  don't work with matviews (they are not POSTGRES_ATTACH()ed), while querying an individual matview with SELECT * FROM POSTGRES_SCAN() does.

Thanks for the report! I've added support for querying views (and more) in #111.

@Mytherin Thanks a bunch for merging this! I was trying to test it out but maybe it's still too soon or I have the syntax wrong.
Do we still have to do INSTALL postgres; LOAD postgres; LOAD postgres_scanner and then follow that with ATTACH 'dbname=my_db' AS postgres (TYPE POSTGRES); I'm getting the following error using duckdb 0.9.1:
Error: Binder Error: Unrecognized storage type "POSTGRES"

The released binaries for v0.9.1 still contain the old version - if you want to try out the extension you will need to compile it from source currently. We will likely upload the new version in the coming weeks.


Mobile notification doesn't follow custom layout

Bug description
Notifications of the Slack mobile app don't follow the custom layout as they do in Slack itself.
It always looks like this:

Even if, for example, flaky and skipped tests were not part of the custom layout (or had different icons), it would still show those exact four icons in the mobile notification.
How to reproduce (please include a snippet of your Playwright Slack Reporter configuration)

Run a bunch of tests
Check the notification from the Slack mobile app

Expected behavior
The mobile notification follows the custom layout as closely as possible.
Environment & setup

OS: Debian (Jenkins agent)
Node.js version: v18.18.0

Our custom layout:
import {Block, KnownBlock} from '@slack/types'
import {SummaryResults} from 'playwright-slack-report/dist/src'

export async function slackReporterLayout(summaryResults: SummaryResults, slackUser: string): Promise<Array<KnownBlock | Block>> {
  const meta: {type: string; text: {type: string; text: string}}[] = []
  if (summaryResults.meta) {
    for (let i = 0; i < summaryResults.meta.length; i += 1) {
      const {key, value} = summaryResults.meta[i]
      meta.push({
        type: 'section',
        text: {
          type: 'mrkdwn',
          text: `*${key}*: \`${value}\``,
        },
      })
    }
  }
  const testExecutionText = process.env.TEST_EXECUTION_KEY ? `<https://xyz.atlassian.net/browse/${process.env.TEST_EXECUTION_KEY}|${process.env.TEST_EXECUTION_KEY}>` : '`No JIRA ticket was provided`'
  const websiteUrl = (process.env.WEBSITE_URL || '').trim()

  return [
    {
      type: 'divider',
    },
    {
      type: 'section',
      text: {
        type: 'mrkdwn',
        text:
          summaryResults.failed === 0
            ? `:tada-yay2: All ${summaryResults.tests.length} tests passed!`
            : `:white_check_mark: ${summaryResults.passed} | :ballot_box_with_check: ${summaryResults.flaky} | :x: ${summaryResults.failed} | :fast_forward: ${summaryResults.skipped}`,
      },
      fields: [
        {
          type: 'mrkdwn',
          text: `*Tests*\n\`${process.env.TEST_TYPE_VALUE}\``,
        },
        {
          type: 'mrkdwn',
          text: `*Branch*\n<https://github.com/xyz/playwright/tree/${process.env.BRANCH}|${process.env.BRANCH}>`,
        },
        {
          type: 'mrkdwn',
          text: `*Xray Test Execution*\n${testExecutionText}`,
        },
        {
          type: 'mrkdwn',
          text: `*Test Results*\n<https://qe-jenkins.staging.xyz.com/job/playwright/${process.env.JENKINS_BUILD_NUMBER}/Playwright-Test-Report/|Playwright Test Report (#${process.env.JENKINS_BUILD_NUMBER})>`,
        },
        {
          type: 'mrkdwn',
          text: `*Deployment Version*\n\`${process.env.DEPLOYMENT_VERSION ?? 'Version not found'}\``,
        },
        {
          type: 'mrkdwn',
          text: `*User*\n${slackUser}`,
        },
      ],
    },
    {
      type: 'section',
      text: {
        type: 'mrkdwn',
        text: `*Server*\n<${websiteUrl}|${websiteUrl}>`,
      },
    },

    ...meta,
    {
      type: 'divider',
    },
  ]
}

playwright-slack-report version
v1.1.89

hey @azad-resolver, currently it uses a default layout and ignores custom layout:
https://github.com/ryanrosello-og/playwright-slack-report/blob/5bf02f4fb2f8b8385a8664a81a1f68244d4d547c/src/LayoutGenerator.ts#L100

hey @azad-resolver, currently it uses a default layout and ignores custom layout:
https://github.com/ryanrosello-og/playwright-slack-report/blob/5bf02f4fb2f8b8385a8664a81a1f68244d4d547c/src/LayoutGenerator.ts#L100
This is intended because there is not much real estate on the mobile notifications - see implementation here => #67

Ah gotcha! That's understandable of course.
In our case, we use almost the same 4 icons, only with one difference and different order, and just a congratulatory message if all tests were passed:

At first I was thinking it could try to use only the first line of the custom layout if that already includes a results overview but that would probably become too convoluted to check (what qualifies as an overview and what doesn't?).
So it makes sense to use the default layout.
But what if there was a feature that allows to create a separate mobile custom layout, could that be an option in the future?


Unsupported Layout Animation

Trying to render my scene, which contains a SlideMenu in which each items change my Content View, I get that error :
[RCTLog][tid:0x7f8f7054b4b0]
[RCTUIManager.m:466]>Unsupported layout animation createConfig property (null)

I suppose it comes from the animation of the layout of the SlideMenu, but occurs only when it triggers a change of 'fragment' (which means the content view) on the click of an item in it. Otherwise the menu closes himself normally.
When clicking "dismiss" my fragment is displayed well, but I don't see the SlideMenu closing up.
I don't know if this comes from the animation itself or the combination of the change of element and the animation together.
Here is some of my code :
toggleSlideMenu: function() {
  if (this.state.slideMenuIsAccessible){
    if(this.state.menuIsOpen) {
      //close Menu
    } else {
      //open Menu
    }
    queueAnimation(this.props.animation);
    this.center.setNativeProps({left: this.offset}); //updates UI
  }
});

To fragment selection happens in the generalTemplate :
  matchIdToFragment: function(fragmentId) {
    switch (fragmentId) {
      case 'suggestions':
        return <Suggestions />;
      case 'onScreen':
        return <OnScreen />;
      case 'zap':
        return <Zap setFragmentId={this.props.setFragmentId} setItemId={this.setItemId}/>;
      case 'programDetails':
        return <ProgramDetails itemId={this.state.itemId}/> ;
    }
  },
  render: function() {
    var fragment = this.matchIdToFragment(this.props.fragmentId);

    return (
      <View style={styles.container}>
        <View style={styles.fragmentView}>
          {fragment}
        </View>
        <NavigationBar
          onOpenUserMenu={this.onOpenUserMenu}
          toggleSlideMenu={this.toggleSlideMenu}/>
      </View>
    );
  }

Pressing item in the menu triggers the closing of the menu (and transmits ID, which doesn't appears here, to the generalTemplate :
var Section = React.createClass({
  onPress: function() {
    this.props.toggleSlideMenu();
  },
  render: function() {
    return (
      <TouchableHighlight underlayColor='#DFDFDF' onPress={this.onPress}>
        //Name and icon of the menu item
      </TouchableHighlight>
    );
  }
});

And the code of the animation (not sure it's useful but we never know) :
var LayoutAnimation = require('react-native').LayoutAnimation;
var DEFAULT_ANIMATION = 'linear';

var animations = {
  layout: {
    linear: {
      duration: 300,
      create: {
        type: LayoutAnimation.Types.linear,
      },
      update: {
        type: LayoutAnimation.Types.linear,
        springDamping: 0.7,
      },
    },
  },
};

var layoutAnimationConfigs = {
  'spring': animations.layout.spring,
  'linear': animations.layout.linear,
  'easeInOut': animations.layout.easeInEaseOut,
};

module.exports = function(animation) {
  var _animation = layoutAnimationConfigs[animation];
  if (!_animation) {
    _animation = layoutAnimationConfigs[DEFAULT_ANIMATION];
  }

  LayoutAnimation.configureNext(_animation);
}

I think you are missing "property" in create section.
     create: {
        type: LayoutAnimation.Types.linear,
        property: LayoutAnimation.Properties.opacity,
      },

You're right ! thank you, I took these animations from a github project and apparently it isn't totally stable... Thanks again !

Can you provide your example code ?


Table view data source proxy

This PR makes it possible to implement additional table view data source functions which are not handled by LUExpandableTableView such as:
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {

This resolves issue #15.

I'll take a look when I come from vacation. Thank you !


Get back the special measurements dropdown with the possibility of filter by category

It was initially created here, and then changed again to a normal dropdown filtered in the client. So, finally, we have decided to get back to the first solution and use "backend filtering" using DO queries. That means we will need help in order to create the "search-as-you-type" functionality with backend requests. cc @CartoDB/builder-backend

Step 1 (measurament):

Step 2 (segment):

@ethervoid do you have the query to filter measurements using the search box above?

@ethervoid @javitonino I'm afraid we will need a query to get a measurement by its id. The thing is when you enter in an analysis to edit it, in that moment you have only the measurement id. Because we are changing the way we handle measurements, requesting only those measurements that fit in the user's selection parameters (filter and search), we need a way to grab the information about the selected measurement.
Until now what we were doing is request the whole measurement collection and look for that id in the frontend. But with these changes, it's likely the returned measurements don't include the selected.
I've been looking at the docs and I found OBS_GetMeasureById and OBS_GetData but they need additional params beside the measurement id. Is there any simple way to get the metadata linked to a measurement id?

AFAIK we're gonna wrap the function so it can be paged, but paging can be optional, isn't it? Adding an optional id filter as well shouldn't be hard. Am I right, @ethervoid ?

@buti with this query should be enough:
select numer_id, numer_name FROM cdb_dataservices_client.OBS_GetAvailableNumerators((select extent from _summary)) WHERE numer_id = '{{ numer_id }}';

hi guys, there is something I've spotted while doing acceptance.
Simple options on any dropdown should be blue (for example in the region dropdown they are black now).

In any design, dropdown list items appear with color black... is this new?

@urbanphes can you take a look at what's going on?

@saleiva @urbanphes open an issue for that: https://github.com/CartoDB/cartodb/issues/12426

We found a problem related with selects editor: #12427. But the goal of this issue is achieved, we have measurements and filters up and running and fully async. So 🚀 .

Closed by #12415.


java.io.EOFException creating a FileObjectQueue

I feel like I am doing something wrong. I get the following exception when trying to create a FileObjectQueue:
java.io.EOFException
        at java.io.RandomAccessFile.readFully(Unknown Source) ~[?:1.8.0_92]
        at java.io.RandomAccessFile.readFully(Unknown Source) ~[?:1.8.0_92]
        at com.squareup.tape.QueueFile.readHeader(QueueFile.java:160) ~[tape-1.2.3.jar!/:?]
        at com.squareup.tape.QueueFile.<init>(QueueFile.java:117) ~[tape-1.2.3.jar!/:?]
        at com.squareup.tape.FileObjectQueue.<init>(FileObjectQueue.java:35) ~[tape-1.2.3.jar!/:?]

I'm trying to use a temporary file for the queue:
File file = File.createTempFile(System.getProperty("java.io.tmpdir"), UUID.randomUUID().toString());
And then I create the queue:
ObjectQueue<Message> queue = new FileObjectQueue<Message>(file, new GsonConverter<Message>(gson, Message.class));
I changed to the InMemoryObjectQueue and it works fine. I'm using Java 8 and currently on a Windows VM at the moment. I'm using version 1.2.3. Any ideas what I could be doing wrong? Thanks

File.createTempFile() creates a an empty file.
FileObjectQueue will initialize a file if it doesn't yet exist, but an empty file is treated as an error.
Everything should be OK if you execute file.delete() before initializing the queue

Ah! Thank you!


 Is this bug already reported elsewhere?
[x] Are you running the latest SDK version?
[x] Are you reporting to the correct repository (magic-sdk)?

🐛 Description
When following the Solana blockchain integration docs on react-native, I seem to have stumbled upon a nasty bug.
upon calling signTransaction with a valid magic transaction and config (tested my setup in a Vuejs environment perfectly fine)
The function call to signTransaction seems to hang and only gets resolved upon multiple repeated calls to signTransaction again.
🧩 Steps to Reproduce

const signedTransaction = await magic.solana.signTransaction(transactionMagic, serializeConfig)
expect the json rpc call to execute (it doesnt)
call signTransaction again
notice the transaction go through

🤔 Expected behavior
signTransaction to only need to be called once correctly.
😮 Actual behavior
There is also a warning that shows up "No instructions provided." However, this warning also shows up on my vuejs environment where the signTransaction function works perfectly fine.
💻 Code Sample
async function send(
    destinationAddress: string,
    sol: number,
  ): Promise<string | null> {
    const lamports = sol * LAMPORTS_PER_SOL;
    if (!connection || !pubKey || !balance) return null;

    const recipientPubKey = new PublicKey(destinationAddress);
    const hash = await connection.getLatestBlockhash()
    let transactionMagic = new Transaction({
      feePayer: pubKey,
      recentBlockhash: hash.blockhash,
    })

    SystemProgram.transfer({
        fromPubkey: pubKey,
        toPubkey: recipientPubKey,
        lamports,
      })

    transactionMagic.add(...([transaction]))

    const serializeConfig = {
      requireAllSignatures: false,
      verifySignatures: true,
    }
    const signedTransaction = await magic.solana.signTransaction(transactionMagic, serializeConfig)
    const tx = Transaction.from(signedTransaction.rawTransaction);
    return connection.sendRawTransaction(tx.serialize());
  }

where connection is a web3.js Connection
pubKey is a web3.js PublicKey
balance is a number
🌎 Environment
{
  "name": "quip-app",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@ethersproject/shims": "^5.7.0",
    "@expo/metro-config": "^0.10.7",
    "@expo/vector-icons": "^13.0.0",
    "@magic-ext/auth": "^2.3.0",
    "@magic-ext/solana": "^15.3.0",
    "@magic-sdk/provider": "^19.3.0",
    "@magic-sdk/react-native-expo": "^20.3.0",
    "@magic-sdk/types": "^16.3.0",
    "@react-native-async-storage/async-storage": "1.18.2",
<EMAIL_ADDRESS>"^1.78.4",
    "base-64": "^1.0.0",
    "expo": "~49.0.7",
    "expo-dev-client": "~2.4.6",
    "expo-splash-screen": "~0.20.5",
    "expo-status-bar": "~1.6.0",
    "react": "18.2.0",
    "react-native": "0.72.3",
    "react-native-get-random-values": "~1.9.0",
    "react-native-safe-area-context": "4.6.3",
    "react-native-url-polyfill": "^2.0.0",
    "react-native-webview": "13.2.2",
  },
}

I'm testing on iphone 12 pro ios: 16.6
The app is being tested on a dev client

I wasn't following the docs properly.  I needed to wrap the m.Relayer component in a SafeAreaProvider from react-native-safe-area-context in the root of my application.


A decentralized domain name market

Project Description
Building a Dapp where people can buy domain name for their website and after the name is bought they will be rewarded with an NFT which shows that this website belongs to them only
Problem it Solves
If the organization who sells the domain names, is not trusted then they can sell the same domain name to other customers and their will be a confusion that who is the real owner of that domain. Here after the domain name is bought it is being directly listed in the blockchain and also the NFT gives a proof that who is the real owner
Tech Stacks

[x] React
[x] Tailwind
[x] Hardhat
[x] Solidity
[x] Polygon
[x] Ethers.js

gr8 , include this in level2

Ok!! Thanks for accepting


Delete TxFeesExplicitInEra and TxFeesImplicitInEra

Changelog
- description: |
    Delete `TxFeesExplicitInEra` and `TxFeesImplicitInEra`
    New `ByronEraOnly` feature
    Move `ShelleyBasedEra` into its own module as it is a legitimate feature
# uncomment types applicable to the change:
  type:
  # - feature        # introduces a new feature
  - breaking       # the API has changed in a breaking way
  # - compatible     # the API has changed but is non-breaking
  # - optimisation   # measurable performance improvements
  - improvement    # QoL changes e.g. refactoring
  # - bugfix         # fixes a defect
  # - test           # fixes/modifies tests
  # - maintenance    # not directly related to the code
  # - release        # related to a new release preparation
  # - documentation  # change in code docs, haddocks...

Context
Feature types make these types unnecessary.
Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] The change log section in the PR description has been filled in
[ ] New tests are added if needed and existing tests are updated.  These may include:

golden tests
property tests
round trip tests
integration tests
See Running tests for more details

[ ] The version bounds in .cabal files are updated
[ ] CI passes. See note on CI.  The following CI checks are required:

[ ] Code is linted with hlint.  See .github/workflows/check-hlint.yml to get the hlint version
[ ] Code is formatted with stylish-haskell.  See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
[ ] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7

[ ] The changelog section in the PR is updated to describe the change
[ ] Self-reviewed the diff

No, I disagree. The era itself isn't a feature, it represents a boundary between feature sets IMO.

Maybe Feature is not the right word?  Stuff like ShelleyToBabbageEra and ConwayEraOnwards are more like era selectors for other things that are features.  BabbageEraOnly has that kind of shape.

No, I disagree. The era itself isn't a feature, it represents a boundary between feature sets IMO.

Maybe Feature is not the right word? Stuff like ShelleyToBabbageEra and ConwayEraOnwards are more like era selectors for other things that are features. BabbageEraOnly has that kind of shape.
If we had another word to replace Feature that fit, I think it would work.

I don't think it's worth the churn. However the fee refactoring is good.

FeatureInEra has been renamed to Eon so the misnaming doesn't apply anymore.


[iOS][NavigatorIOS] - Drag gesture area is too large - need advice on where to fix this.

IIRC, I wrote an issue for this before, or mentioned it in another but cannot find any trace.
I'm digging into RCTNavigator.m and its related manager and I can't figure out how the gesture area is configured at the top.  It seems that the drag-down gesture area should be constrained to some size that any developer should be able to set (such as a top-toolbar or a NavigatorBar).
However, it's some large value that is bleeding into my apps' View area (see below).  Any direction on how I can work through this, would be appreciated.

Agreed that making this programmatically configurable would be good. Really depends on the the design of the product and it's too early for Navigator to try and anticipate all use cases.
I think it's controlled in the SceneConfig so you could try looking there first.

Thanks @ide. I'll dig in.

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/iosnavigatorios-drag-gesture-area-is-too-large-need-advice-on-where-to-fix-this
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix. We rely on the community to provide
bugfixes as the core team is focused on performance.


feat: add couchbase 4.1.5 release

update couchbase with release 4.1.5

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


Standard Forcing Double Quotes Within Double Quotes

What version of this package are you using?
standard 1.1.4
What operating system, Node.js, and npm version?
MacOS Catalina 10.15.7
Node v16.5.0
NPM 7.19.1
What happened?
When I run bundle exec standardrb --fix, it wants to change this:
"#{@appointment.start_at.strftime('%b %e, %Y')}, All Day"
to this:
"#{@appointment.start_at.strftime("%b %e, %Y")}, All Day"
Notice that it is nesting double quotes inside double quotes.
What did you expect to happen?
I expected that single quotes would be allowed inside double quotes, especially when string interpolation is necessary.
Are you willing to submit a pull request to fix this bug?
Perhaps. I am submitting this from work, so… we'll see.

This is the repo for the JavaScript standard formatter. It seems you are using the Ruby standard formatter: https://github.com/testdouble/standard

Sorry about that!


webmap() + polyplot() does not seem to work

Hi there,
first of all congrats on a great product. I'm trying to get webmap() to work in conjunction with polyplot() but can't seem to get the polys to show. Without webmap(), this works no problem:
ax = gplt.polyplot(gdf1, extent=extent, projection=gcrs.Mercator(), **kwargs)
gplt.polyplot(gdf2, ax=ax, **kwargs)

If I try this with webmap(), however, the basemap shows (with the right zoom level and extent), but the polys don't.
ax = gplt.webmap(gdf1, extent=extent, projection=gcrs.WebMercator(), **kwargs)
gplt.polyplot(gdf2, ax=ax, **kwargs)

All examples in the documentation use webmap() in conjunction with pointplot() only. Is that the issue? All my GDFs are in lon lat as required by geoplot, by the way.
Cheers!

Hey, sounds like what might be a bug with the ordering of the elements. Can you try changing the zorder of the polyplot, to see if that helps?

That was it! Thanks a million. For some reason, the GDF in the positional argument to webmap() refuses stubbornly to be drawn, meaning I have to add it a second time with polyplot() (though the documentation suggests one can add and style any GDF as that argument to webmap()):
ax = gplt.webmap(gdf1, extent=extent, projection=gcrs.WebMercator(), **kwargs)
gplt.polyplot(gdf1, ax=ax, zorder=2, **kwargs)
gplt.polyplot(gdf2, ax=ax, zorder=1, **kwargs)

But in either case, I'm happy I got it to work!
Thanks again

The PR I just landed should fix this issue out of the box.


Update README.md

Minor fix to README to align it with correct make target for serving the website locally

Thanks!
/lgtm
/approve


fix bug missing import

Description
SwAt1563 open this issue in #16082，only duso replied. So I submit this pr
Fixes # (issue)
Type of Change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[X] I stared at the code and made sure it makes sense

Suggested Checklist:

[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[X] My changes generate no new warnings

Should bump the version of thos integration package, so that it publishes on merge

ok, done

@logan-markewich a new change in llama-index-readers-box.
They remove CreateAiAskItems from box_sdk_gen when box_sdk_gen>=1.5.0, so I update the requirement in toml.
from box_sdk_gen.managers.ai import CreateAiAskMode, CreateAiAskItems

@nightosong yea, I thiiiink I fixed it here? https://github.com/run-llama/llama_index/pull/16092
But was waiting for box people to get back to me

@nightosong yea, I thiiiink I fixed it here? #16092
But was waiting for box people to get back to me

LGTM！The unit testing of the reader-file will check the testing of box, then the errors block checks.
Error: 4.70 [ERROR] Completed: Run Pytest - llama-index-integrations/readers/llama-index-readers-box/tests/test_readers_box_text_extraction.py - failed (exit code 2).


GoLint with golangci-lint bad paths in quickfix window

Using golangci-lint, the quickfix window isn't populated correctly for lint errors in test files.
running GoLint I see this message of what is run
golangci-lint run --print-issued-lines=false --exclude-use-default=false exited with code: 1 failed

Lint errors in most files are populated correctly, but the ones in test files look like
.//path/to/file.go

instead of
path/to/file.go

so they can't be jumped to.

Issue/difference looks to be in extract_filepath in asyncmake.lua, where test files are treated differently. The find is adding ./ as it does, and then using ./ instead of . adds yet another

This should be fixed in the latest version. Would you take a look?

Looks fixed! thank you.


Hammer does not work on android works only on IOS

Hammer works fine on IOS devices, however it does not work on android devices, also on my surface pro chrome browser

Same here, not working on surface pro / chrome

Whats going on here? Version 2.0.4 was ok for ios/android. In version 2.0.6 swipe events stops work for android devices and in version 2.0.8 totally does not work on android devices ...

Same here, working well only on IOS

I know this is an fairly old issue (that still seems to be open). Has anyone heard of any fork or other solution to remedy the problem ?
I use hammer on an asp.net mvc application and it works fine to pinch zoom on IOS (using both Safari and Chrome) but it does not work on Android 8.0 using Chrome or Opera Mini.
The page behaves almost like it is hung, unless I "disable my zoom code" (by just returning the function) as seen below. (The zoom code basically sets the scale css property of the element that is to be zoomed)
    mc.on("pinch", function (ev) {
        if (isAndroid()) {
            return;
        }
        // Perform "zoom code"
        zoomByOrigin(......);
        ev.stopPropagation();
    });


Update README.md for cleanup

Closes https://issues.redhat.com/browse/FLPATH-1320
If M2K workflow is installed oc get crd -o name | grep -e sonataflow -e rhdh -e knative | xargs oc delete will delete services.serving.knative.dev and ingresses.networking.internal.knative.dev. But then m2k-save-transformation-func ingresses.networking.internal.knative.dev is still there and blocks the deletion of the CRD:
$ oc get ingresses.networking.internal.knative.dev -A
NAMESPACE          NAME                           READY   REASON
sonataflow-infra   m2k-save-transformation-func   True

If a workflow is installing Knative resources, when cleanuping the orchestrator helm chart, those Knative resource will likely generate an issue, like for M2K
This PR explicitly state to remove all additional resources before deleting the CRD and the namespace.

It is probably best to first documentation the limitation we have and say the chart for the workflows must be removed before the orchestrator.
Also, I think the cleanup is too aggresive, and will remove resources which are not our own
I'm referring to the expression here which will remove every knative crd https://github.com/parodos-dev/orchestrator-helm-chart/blob/b43895758b74b377f5c89123f617deaeae3c65d4/README.md?plain=1#L256
It is the rare case to require from users to delete all the deps (like knative and so on ) . What if the system depends heavily on knative now, we shouldn't just remove it.

@rgolangh Agreed, I made the changes you suggested by removing the deletion of the knative CRD but still providing the command if the user wants to remove them nonetheless
And I added a warning stating to remove the installed workflows first

/lgtm
@batzionb @y-first any additions?

why do we need to delete the CRDs?

why do we need to delete the CRDs?

@batzionb to completely remove the resources the orchestrator installed. If the knative operator is not installed, the orchestrator will install it

lgtm

I'm merging this. We definitely do need to refine the cleanup process more.


Fix merge conflict

For this commit, all checkstyle passed.
Those that causes the travis to fail can be traced to Test cases failing.


Waveform not displaying in Angular.

Wavesurfer.js version(s): 6.4.0
Angular version 15
Browser and operating system version(s): Chrome (108.0.5359.98)
Code needed to reproduce the issue:
Using script in the header:
<script src="https://unpkg.com/wavesurfer.js"></script>
and these in the component:
`declare var WaveSurfer: any;
export class DashboardComponent implements OnInit, AfterViewInit {
  wavesurfer: any;
ngAfterViewInit(): void {
    let xhr = {
      cache: 'default',
      mode: 'no-cors',
      method: 'GET',
      credentials: 'same-origin',
      redirect: 'follow',
      referrer: 'client',
      headers: [{ key: 'Authorization', value: 'my-token' }],
    };

    this.wavesurfer = WaveSurfer.create({
      container: '#waveform',
      waveColor: 'violet',
      progressColor: 'purple',
      fillParent: false,
      minPxPerSec: 10,
      xhr: xhr,
      normalize: true,
    });
  }
 async clickedRow(url: string, composer: string, title: string) {
    this.playingComposer = composer;
    this.playingTitle = title;
    this.wavesurfer.load(url);
    this.wavesurfer.play();
}
}`

When opening up the page and looking at the spot where the canvas/waveform should appear,

Empty container with no canvas/display, i have also set zindex to like 1000000 just to make sure it wasn't behind stuff somehow.
Could be caused by this:
Deprecated -

Could be caused by this: Deprecated -

Probably not (see #1281).


Session expiration

After 3 months, the cookies are deleted from the backend

Sessions now expire within 60day.


add tempfile directives on all but the plot and stats generating rules

@yeising can we prioritise this?

Reopened with #94 because losing temp files makes testing new tools more difficult.


Provide option for client side routing

Right now, we generally rely on the web server mapping a path in znai, such as id/chapter/page, to the index.html in that directory.  Not all web servers will do that by default.  It would be useful to provide an option which uses client side routing (i.e. react style paths like id#/chapter/page.

That will not be that trivial as we physically generate different html files.
How about ‘chapter/page.html’ option?
Do you have an example of a server that won’t redirect to ‘index.html’

I think chapter/page.html would probably work, the main requirement really is to be able to share a link (by copying it out of the browser) and have that link open without needing the browser to perform any redirection.
In my case, the generated docs are hosted in AWS S3 and served up via CloudFront.  However, in discussing this problem with other folks here they tell me other web server have the same behaviour but no specific examples were given.

Is the problem that S3 + CloudFront don't do a proper redirect or is there an auth layer that is failing to re-auth?

Hmmm, it's not re-auth but whether it's the S3+CF or the auth component that's guilty of this behaviour I'm not sure.  What actually happens is that opening id/chapter/page redirects to id and loads the index.html in there.

I am not expert in that stack, but just wanted to confirm/understand if that is not a miss-configuration on the stack side as I didn't experience that behavior anywhere else.


Fixed closing of child driver with shared balancer

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
Attention: Patch coverage is 22.22222% with 7 lines in your changes missing coverage. Please review.

Project coverage is 41.01%. Comparing base (6f56a5c) to head (ae35bd9).

Files with missing lines
Patch %
Lines

driver.go
14.28%
6 Missing :warning:

options.go
0.00%
1 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (6f56a5c) and HEAD (ae35bd9). Click for more details.
HEAD has 61 uploads less than BASE

Flag
BASE (6f56a5c)
HEAD (ae35bd9)

unit
9
2

go-1.21.x
6
1

ubuntu
13
0

go-1.22.x
6
1

macOS
3
1

windows
3
1

go-1.23.x
7
0

integration
9
0

ydb-23.3
3
0

ydb-24.1
3
0

ydb-24.2
3
0

ydb-nightly
1
0

experiment
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #1541       +/-   ##
===========================================
- Coverage   70.75%   41.01%   -29.74%
===========================================
  Files         362      359        -3
  Lines       37507    37271      -236
===========================================
- Hits        26537    15287    -11250
- Misses       9883    21477    +11594
+ Partials     1087      507      -580

Flag
Coverage Δ

experiment
?

go-1.21.x
43.51% <22.22%> (-26.75%)
:arrow_down:

go-1.22.x
40.96% <22.22%> (-27.31%)
:arrow_down:

go-1.23.x
?

integration
?

macOS
43.51% <22.22%> (+2.48%)
:arrow_up:

ubuntu
?

unit
41.01% <22.22%> (-0.03%)
:arrow_down:

windows
40.96% <22.22%> (-0.05%)
:arrow_down:

ydb-23.3
?

ydb-24.1
?

ydb-24.2
?

ydb-nightly
?

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Capstone Team Project - Module 4 - Catalog My Things

Hello, dear reviewer.
This project was done by a team of two members: Julio Alejandro Quezada Rodriguez (Team Member # 1) and Juan Carlos Muñoz Navarrete (Team Member # 2). The tasks originally assigned to a hypothetical Team Member # 3 were divided between us. Additionally, the tasks intended for Team Member # 4 were not considered, as per the project requirements. Consequently, the Movie class and the Source class were not implemented.
Description
In this project, we will create a console app that will help us keep a record of different types of things we own: books, music albums, movies, and games. Everything will be based on the UML class diagram presented below. The data will be stored in JSON files but we will also prepare a database with tables structure analogical to our program's class structure.
General requirements

Make sure that there are no linter errors.
Make sure that you used the correct Gitflow.
Make sure that you documented your work in a professional way.

Ruby requirements

Follow our list of best practices for Ruby.

Project requirements

Logic

Each class from the UML class diagram should be created in a separate .rb file.
All associations (1-to-many relationships) and aggregations (parent-child relationships) between classes should be implemented.
All properties visible in the diagram should be defined and set up in the constructor method. Exception: properties for the 1-to-many relationships should NOT be set in the constructor method. Instead, they should have a custom setter method created.
All methods visible in the diagram should be implemented:

add_item method (in all classes that have that method)

should take an instance of the Item class as an input.
should add the input item to the collection of items.
should add self as a property of the item object (by using the correct setter from the item object).

can_be_archived?() in the Item class

should return true if published_date is older than 10 years.
otherwise, it should return false.

move_to_archive() in the Item class

should reuse can_be_archived?() method.
should change the archived property to true if the result of the can_be_archived?() method is true.
should do nothing if the result of the can_be_archived?() method is false.

can_be_archived?() in the Book class

should override the method from the parent class.
should return true if the parent's method returns true OR if cover_state equals to "bad".
otherwise, it should return false.

can_be_archived?() in the MusicAlbum class

should override the method from the parent class.
should return true if the parent's method returns true AND if on_spotify equals true.
otherwise, it should return false.

can_be_archived?() in the Movie class (It does not apply because we are a team of two)

should override the method from the parent class.
should return true if the parent's method returns true OR if silent equals true.
otherwise, it should return false.

can_be_archived?() in the Game class

should override the method from the parent class.
should return true if the parent's method returns true AND if last_played_at is older than 2 years.
otherwise, it should return false.

Add unit tests for all implemented methods.

User interface

Create a main.rb file that will serve as your console app entry point.
Your console app, at the start, should:

Present the user with a list of options to perform.
Let users choose an option.
If needed, ask for parameters for the option.
Have a way to quit the app.

The following options should be available:

List all books
List all music albums
List all movies (It does not apply because we are a team of two)
List of games
List all genres (e.g 'Comedy', 'Thriller')
List all labels (e.g. 'Gift', 'New')
List all authors (e.g. 'Stephen King')
List all sources (e.g. 'From a friend', 'Online shop') (It does not apply because we are a team of two)
Add a book
Add a music album
Add a movie (It does not apply because we are a team of two)
Add a game

All data should be preserved by saving collections in .json files.

Database

Create a schema.sql file with tables that will be analogical to the structure of the classes in your app. As you cannot implement inheritance in the database tables - add all properties and associations from the parent Item class as table columns to all tables based on the child classes. Thanks to that it can be used to store data in the future.

Project documentation
Once you have finished the development of the project, you should record a video presenting the features of the project you built. It is a video with a maximum length of 5 minutes. The content of the video should include:

A description of the project.
A demo of the project features.
You should also highlight some interesting piece of code or something you built that you are very proud of.
You all should appear in the video and talk about the project.

This is the documentation VIDEO link: https://youtu.be/9LO_0zhpoC4

Thank you very much for your time and review.


Clicking on a button in Select Screen popup prints an error

Tested versions
4.4.dev1
4.1.2.stable
System information
Fedora Linux 40 (KDE Plasma) - Wayland - Vulkan (Forward+)
Issue description
When clicking on a button in this menu popup

Prints this error:
platform/linuxbsd/x11/display_server_x11.cpp:2084 - Condition "prev_parent == p_parent" is true.
Similar error is printed on Windows too
Steps to reproduce
Right click on Make editor floating button
Click on one of the screen buttons
Error is printed in Output
Minimal reproduction project (MRP)
N/A

Error on Windows:
platform/windows/display_server_windows.cpp:1771 - Condition "wd_window.transient_parent == p_parent" is true.

Error is also present in X11

I believe you are using x11 here, you need to go into editor settings and turn on prefer wayland or whatever the option is called (search Wayland)
I am unable to use this feature on wayland in general

@Giganzo the error is from the wayland display server: platform/linuxbsd/x11/display_server_x11.cpp:2084 - Condition "prev_parent == p_parent" is true.

sorry, x11

on Wayland, the select screen button is greyed out:

Ye

on Wayland, the select screen button is greyed out:
At least for me

Yes, if prefer wayland is on. As it uses Single window mode if I understand it correctly.

Was mentioning this to make sure, that the issue is indeed with x11/windows, rather than wayland/windows
Will look into the error :smiley:

Something interesting;
If you start godot after a pop-out window was in use, it will start with that pop-out window, and no error:
WARNING: prev: -1; parent: 0
     at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2084

If you then close the popout and reopen it, you get the error, and neither the previous window, nor current window, can be found, resulting in equal IDs of -1
WARNING: prev: 0; parent: -1
     at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2084)
WARNING: prev: -1; parent: 0
     at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2084)
WARNING: prev: 0; parent: -1
     at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2084)
WARNING: prev: -1; parent: -1
     at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2084)
ERROR: Condition "prev_parent == p_parent" is true.
   at: window_set_transient (platform/linuxbsd/x11/display_server_x11.cpp:2085)

Going to leave this here, and hope someone else has an idea, i am unsure why it is getting 2 invalid window IDs for both the new window + the previous window, when it works on startup

A couple of notes:

This issue is present in both the script_editor_plugin.cpp and shader_editor_plugin.cpp. So we know it's downstream from there
I traced backwards from the error to here, but can't find how clicking on a "Select Screen" option calls _make_window(): https://github.com/godotengine/godot/blob/b6223c0df0300ba2db17b5742c349f13c33f8884/scene/main/window.cpp#L647

Still investigating, but this looks suspect to me:
https://github.com/godotengine/godot/blob/b6223c0df0300ba2db17b5742c349f13c33f8884/editor/window_wrapper.cpp#L106
By reparenting, I think we invalidate the window ID and that's what is generating the error.
Here's the call stack in case it helps anyone else:

Going to leave this here, and hope someone else has an idea, i am unsure why it is getting 2 invalid window IDs for both the new window + the previous window, when it works on startup

The ID of 0 isn't invalid, it just means main window:
	enum {
		MAIN_WINDOW_ID = 0,
		INVALID_WINDOW_ID = -1,
		INVALID_INDICATOR_ID = -1
	};

I ran a similar test on windows and I get these values on startup (inside window_set_transient):
wd_window.transient_parent: 0
p_parent: -1

wd_window.transient_parent: 0
p_parent: -1

Then when using the "Select Screen" option I get:
wd_window.transient_parent: 0
p_parent: -1

wd_window.transient_parent: -1
p_parent: -1

So technically it's only the 2nd pass that's causing the issue (transient parent and p_parent are both invalid). Haven't been able to trace what's driving that. Might be something to do with the popup.

If you comment out this line, the error doesn't appear until the popup window is made hidden by losing focus:
https://github.com/godotengine/godot/blob/b6223c0df0300ba2db17b5742c349f13c33f8884/editor/window_wrapper.cpp#L373
Issue may actually be with the popup window's ID not being valid.