Filesystem backend moving files from cache to store come up empty

When I upload via Refile, using default Filesystem backends, in Rails 4.2, the file appears in the cache (tmp/uploads/cache), then when the model instance is saved (persisted to active record) the resulting object in the store/ directory has a filesize of 0 bytes.
I've searched around heaps for any info, can't find anything. Any point in the right direction would be appreciated.
I did some quick testing, and Refile itself can most definitely see the empty file, and it is presented through the browser no problem... But just empty.
Deliberately invalid ID:
17:22:20 web.1         | Refile::App: Could not find attachment by id: 8c75d4a122365fd3db7dd2d346294ef970ec45778540a109a9e65e9245d1
17:22:20 web.1         | Refile::App: [2015-09-01 17:22:20 +1000] GET "/store/8c75d4a122365fd3db7dd2d346294ef970ec45778540a109a9e65e9245d1/m.png" 404 1.0ms

Valid ID that was just uploaded:
17:22:28 web.1         | Refile::App: [2015-09-01 17:22:28 +1000] GET "/store/8c75d4a122365fd3db7dd2d346294ef970ec45778540a109a9e65e9245d0/m.png" 200 1.9ms

Ruby 2.1.1p76
Rails 4.2.1
Relevant lines from Gemfile.lock
    refile (0.5.3)
      mime-types
      sinatra (~> 1.4.5)
    refile-mini_magick (0.1.0)
      mini_magick (~> 4.0)
      refile (~> 0.5)

This is very strange. I haven't seen this kind of bug before. I imagine you can't find a way to reproduce this? I have no idea where to even begin looking for a solution to this, so your best bet is digging through  what happens inside Refile and where it loses the data.

Absolutely. It may be my environment, I'm running on a pretty hacked Debian box. I will do some debugging and report back with anything I find in case it ever comes up in other places.
Sent from my iPhone

On 8 Sep 2015, at 16:41, Jonas Nicklas<EMAIL_ADDRESS>wrote:
This is very strange. I haven't seen this kind of bug before. I imagine you can't find a way to reproduce this? I have no idea where to even begin looking for a solution to this, so your best bet is digging through what happens inside Refile and where it loses the data.
—
Reply to this email directly or view it on GitHub.

Hi there @jnicklas, I've done some further testing on this and I'm only seeing this bug in one part of my app. There are a couple of other places where I'm uploading files that this isn't happening, so I'm going to assume it's my implementation rather than anything within refile.
Thanks for the comments. You can close this issue now.

I am having the same problem. This is the table I've got:
  create_table "documents", force: :cascade do |t|
    t.integer  "attachment_id"
    t.string   "attachment_filename"
    t.integer  "attachment_size"
    t.string   "attachment_content_type"
    t.datetime "created_at",              null: false
    t.datetime "updated_at",              null: false
  end

And this is the model:
class Document < ActiveRecord::Base
  attachment :attachment
end

I am calling:
attachment_url(Document.first, :attachment)

Which generates something like: /attachments/3032fe9feddddd4d341eeb26d35ab40a6466c4e6/store/2554/ArtieZiff.gif
But when I visit it, I get the error:

Refile::App: Could not find attachment by id: 2554

The strange thing I am seeing, in the public/upload I find a file with a totally different name than the hashed path of the url (I am not sure if it should be the same?).

Ah (annoyed grunt), attachment_id should be a string not an integer.
Carry on...


Fix for vehicle "isMoving" and position to return correctly regardles…

Changed so that vehicleMoving is always supported if position is supported. And position is supported even if vehicle is moving when component is initialized.
…s of movement or no
ändrad:        skodaconnect.py

Hi @Farfar - just half hour ago I commited fix for this as well so I think this pull request is no more needed...
But what I see in logs after last commit - when car was parked and then it started to move, next update will correctly update vehicleMoving attribute, but for some reason it is also trying to get position even when is_position_supported is false, but maybe capabilities are loaded only during first load? I don't know how to proceed with that, would you have some idea?
2020-11-27 08:24:55 DEBUG (MainThread) [custom_components.skodaconnect.binary_sensor] Getting state of vehicleMoving
2020-11-27 08:24:55 DEBUG (MainThread) [custom_components.skodaconnect.device_tracker] Getting location of Kodiaq
2020-11-27 08:24:56 ERROR (MainThread) [homeassistant.util.logging] Exception in see_vehicle when dispatching 'skodaconnect.updated': ()
Traceback (most recent call last):
  File "/config/custom_components/skodaconnect/device_tracker.py", line 34, in see_vehicle
    gps=instrument.state,
  File "/usr/local/lib/python3.8/site-packages/dashboardskoda.py", line 263, in state
    state = super().state or {}
  File "/usr/local/lib/python3.8/site-packages/dashboardskoda.py", line 58, in state
    return self.vehicle.get_attr(self.attr)
  File "/usr/local/lib/python3.8/site-packages/skodaconnect.py", line 680, in get_attr
    return find_path(self.attrs, attr)
  File "/usr/local/lib/python3.8/site-packages/utilities.py", line 86, in find_path
    return find_path(src[path[0]], path[1:])
KeyError: 'position'

I added an easy fix that should take care of that. Check out the diff!
This way should reliably return correct values when vehicle is moving: No data from def position and True from def vehicleMoving.

Ah! Great idea, thank you! Shouldn't it be if not self.vehicleMoving: ? Without self I was getting error, that vehicleMoving isn't defined... Testing now with self and if working I will release :)

Ok, now it works without exception, it just shows warning:
2020-11-27 09:48:56 WARNING (MainThread) [homeassistant.components.device_tracker] Could not parse gps value for kodiaq: ('?', '?', None, None, None)
but position is somehow wrong. I would expect it will show Unknown, but it cycles between Home & Away :(

Ah! Great idea, thank you! Shouldn't it be if not self.vehicleMoving: ? Without self I was getting error, that vehicleMoving isn't defined... Testing now with self and if working I will release :)

I was a bit hasty I see, of course self.vehicleMoving is correct :)

Ok, now it works without exception, it just shows warning:
2020-11-27 09:48:56 WARNING (MainThread) [homeassistant.components.device_tracker] Could not parse gps value for kodiaq: ('?', '?', None, None, None)
but position is somehow wrong. I would expect it will show Unknown, but it cycles between Home & Away :(

I reverted some changes and did a new take on this. I thought hass would report position as unknown but this apparently raised some issues.
The problem before I think was that the vehicleDataResponse gets overwritten with only "isMoving". With latest commit the old position data should remain until the car comes to a stop.

I published 1.0.16 so let's see how it behaves... I have put a note about possible issues with device_tracker, but when used in combination with vehicleMoving=no, then it should be OK...

I published 1.0.16 so let's see how it behaves... I have put a note about possible issues with device_tracker, but when used in combination with vehicleMoving=no, then it should be OK...

If you move the "isMoving" content to its own key instead of "findCarResponse" then the positional data should be intact between updates (just no new position data until stopped) and you can revert the isMoving check in def position.

I have tested this latest commit and it is working for me. The moving state is displayed correctly and the device tracker doesn't get new GPS data until the car stops (old data persists until stop)

Ok, even when it is not ideal (to have old data when car is moving), it is definitely better than switching between Away&Home every refresh because it would trigger change of position which is not correct... As your code seems to be far away from mine now, I will include changes manually and release :) Thank you!


Dep 1527 open jdk11

Please update version number in start.py as well.

approved. please merge into mendix8beta3


Feat k8s expose local

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


Objects/Works Rights Info (from 831)

Problem Description: As part of #388 and #372 , we created a /content/rights-info page so that the 'Can I re-use it?' section can show rights information. However, we will want to revisit how to display this data at a future point. Objects can be linked to Units, which may have certain policies around rights to reproduction. However, it is really the Works carried by Objects which are subject to rights.
This ticket should be considered as part of the larger Rights Meta Issue: #1698
~There is potentialy a rights profile being added to Marklogic: https://git.yale.edu/lux-its/marklogic/issues/1059, which would make it easy to just get the rights info for the Work carried by an Object, rather than getting the entire document~  Per Teams meeting of 11/3/23, there is not a data solution to this.
Expected Behavior:
For any object that has a work use the following statement. "Rights information may be available on the associated Works page."
Also, change the text of the FAQ link in all Can I re-use it boxes to say "For more information about Rights and Usage, visit the LUX Frequently Asked Questions"

Needed:

[x] Requirements
[x] wireframes/mock for Rights WG discussion
[x] Mark as groomed on #1698
[ ] Update FAQ (post deployment)

Testing link:

shows the change: https://lux-front-tst.collections.yale.edu/view/object/2e538bf0-faa7-4484-accf-43b5cde93c72
doesn't show the change: https://lux.collections.yale.edu/view/object/2e538bf0-faa7-4484-accf-43b5cde93c72

Approved per UAT

deployed


Fix for #114: Remove focus and blur listener on 'hover' trigger and add 'focus' trigger.

Fix #114

thanks


Timeout on NTP Servers ... any server

Hi!
  Further, I tried changing timeX.google.com, timeX.facebook.com, various ntp.pool.org and still getting timeout.
MkR is connected to Ethernet router, and I am getting an IP from DHCP.
Any hints?

There are some NTP servers for you,
time.apple.com,time.windows.com,time.nist.gov
hope this helps

There are some NTP servers for you,
time.apple.com,time.windows.com,time.nist.gov
hope this helps

Thanks!
I actually dont think is a server issue.  I've tried many, including the
ones you indicated.  I just tried, time.nist.gov, and get same error.
Is it possible that a UDP port may be closed?  How can I find out?
On Wed, Jan 27, 2021 at 12:54 AM Pidbid<EMAIL_ADDRESS>wrote:

There are some NTP servers for you,
time.apple.com,time.windows.com,time.nist.gov
hope this helps
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768050194, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSB6MGNOEREA54LOAQALS36S73ANCNFSM4WURF6GQ
.

--
Carlos G. Leon

Thanks!
I actually dont think is a server issue.  I've tried many, including the
ones you indicated.  I just tried, time.nist.gov, and get same error.
Is it possible that a UDP port may be closed?  How can I find out?
On Wed, Jan 27, 2021 at 12:54 AM Pidbid<EMAIL_ADDRESS>wrote:

There are some NTP servers for you,
time.apple.com,time.windows.com,time.nist.gov
hope this helps
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768050194, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSB6MGNOEREA54LOAQALS36S73ANCNFSM4WURF6GQ
.

--
Carlos G. Leon

I got the same problem today,But my Arduino borad often runs twice and finally succeeds. Here's some code that might help,NTP service based on port 123, you should run "nc -vuz IP 123"

I got the same problem today,But my Arduino borad often runs twice and finally succeeds. Here's some code that might help,NTP service based on port 123, you should run "nc -vuz IP 123"

I can't thank you enough!  I did as you suggested, the problem is still
there.    Do you have further recommendations that I can try, I am really
desperate!
I am running the Ethernet.ino example provided in ezTime library.
On Wed, Jan 27, 2021 at 11:19 AM Pidbid<EMAIL_ADDRESS>wrote:

I got the same problem today,But my Arduino borad often runs twice and
finally succeeds. Here's some code that might help,NTP service based on
port 123, you should run "nc -vuz IP 123"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768399580, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSB5RW2NLKGZYQAAEP4DS4A4JRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

I can't thank you enough!  I did as you suggested, the problem is still
there.    Do you have further recommendations that I can try, I am really
desperate!
I am running the Ethernet.ino example provided in ezTime library.
On Wed, Jan 27, 2021 at 11:19 AM Pidbid<EMAIL_ADDRESS>wrote:

I got the same problem today,But my Arduino borad often runs twice and
finally succeeds. Here's some code that might help,NTP service based on
port 123, you should run "nc -vuz IP 123"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768399580, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSB5RW2NLKGZYQAAEP4DS4A4JRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

Start from the basics.  Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping

Start from the basics.  Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping

Thanks, I'll check it out.
I've been using queryNTP function from ezTime library getting a time-out. I
will try your recommendation.
On Wed, Jan 27, 2021 at 2:14 PM doanerock<EMAIL_ADDRESS>wrote:

Start from the basics. Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768513376, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSBYL6FYTG5T7RCXQK23S4BQZRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

Thanks, I'll check it out.
I've been using queryNTP function from ezTime library getting a time-out. I
will try your recommendation.
On Wed, Jan 27, 2021 at 2:14 PM doanerock<EMAIL_ADDRESS>wrote:

Start from the basics. Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768513376, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSBYL6FYTG5T7RCXQK23S4BQZRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

Just tried!!
Can't get it to work, as I am getting the same issues as reported in
https://forum.arduino.cc/index.php?topic=573949.0.  Any suggestions?
On Wed, Jan 27, 2021 at 2:14 PM doanerock<EMAIL_ADDRESS>wrote:

Start from the basics. Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768513376, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSBYL6FYTG5T7RCXQK23S4BQZRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

Just tried!!
Can't get it to work, as I am getting the same issues as reported in
https://forum.arduino.cc/index.php?topic=573949.0.  Any suggestions?
On Wed, Jan 27, 2021 at 2:14 PM doanerock<EMAIL_ADDRESS>wrote:

Start from the basics. Can your device ping the servers?
https://github.com/BlakeFoster/Arduino-Ping
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ropg/ezTime/issues/108#issuecomment-768513376, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AR3JSBYL6FYTG5T7RCXQK23S4BQZRANCNFSM4WURF6GQ
.

--
Carlos G. Leon

I'm using manual NTP update and have the same issue. Not all the time, but sometimes it report timeout. When I use my local server, it never happens. I've tried may different internet ntp servers, but doesn't care.
Even more critical issue is that it changes the time to some strange value in the future, included the date, just 5 minutes after the new and successful ntp update. Today it displayed "Monday, 23.5.2021, 05:10", see the attached report. "No network" on the report is due to WiFi is switched off just after the updateNTP(). Each updateNTP() is performed only when WiFi.status() == WL_CONNECTED. Please help.
ezTime.txt

In my case will help if the updateNTP() will return status flag. I was looking for some status indicator, but only timeStatus() != timeSet which is not triggered either. Any other valid status info indicating wrong update?


gRPC C++ Client Side Fork Support

Do we have plans to do the following work?

Support fork in ev_epollex_linux.cc like ev_epoll1_linux.cc?
make GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK configurable when compiling c++ client?

Support fork in ev_epollex_linux.cc like ev_epoll1_linux.cc?

No current plans to add this; we aren't opposed to it, but epoll1 is the default in our python distribution and seems sufficient for current use. For locally compiled versions of gRPC, you can choose epoll1 via the GRPC_POLL_STRATEGY environment variable.

2. make GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK configurable when compiling c++ client?

No, we do not support fork() without exec() for C++ clients. C++ does not have the same threading limitations that encourages Python clients to fork, so you are better off using threads, or fork() followed by an exec(). gRPC C++ clients do not have a channel close API nor any easy means of ensuring gRPC core shuts down in the child post-fork, which is a requirement for fork support. You can set this already via the EXTRA_DEFINES environment variable using make, but it will not work in the same way as with our Python/PHP clients unless you manually ensure gRPC Core shuts down in the child process (which is not trivial), and is not a supported use case.


Search fuction not working for DC address

When I go to type in specific address for upcoming 4/28 DC election on VIP projects page (www.votinginfoproject.org) and hit search, nothing happens. However, the self populating address including US works.
Address that does not work: 1325 Jefferson St NW, Washington, DC
Address that works:  1325 Jefferson St NW, Washington, DC, DC, United States

@jen-tolentino

I just wanted to note that this issue seems to be occurring in other tools as well, not just the one embedded at (https://www.votinginfoproject.org/projects/vip-voting-information-tool/). The search icon is no longer clickable, but if you hit "enter" with a valid address, it will bring up information.
We have live tools right now, so it would be great to get this fixed soon -- thank you!
@alexkonrad

I've updated this on staging and live.
Alex Konrad
On Mon, Apr 27, 2015 at 3:18 PM, Jen<EMAIL_ADDRESS>wrote:

I just wanted to note that this issue seems to be occurring in other tools
as well, not just the one embedded at (
https://www.votinginfoproject.org/projects/vip-voting-information-tool/).
The search icon is no longer clickable, but if you hit "enter" with a valid
address, it will bring up information.
We have live tools right now, so it would be great to get this fixed soon
-- thank you!
@alexkonrad https://github.com/alexkonrad
—
Reply to this email directly or view it on GitHub
https://github.com/votinginfoproject/vip-embeddable-tool/issues/116#issuecomment-96785230
.

Perfect! Thanks so much for the quick work.


Add files via upload

@sooonkyu Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Split Texture Category List - Fixes and Improvements

This pull request fixes a few issues related to the Legacy (Split) Texture List and also adds a new toggleable setting that only shows textures in the category lists that are assigned to it.
Unassigned textures will be displayed in a new category called "Uncategorized".
Why?
Categorizing textures in games with a huge amount of loaded textures can get pretty painful. Especially if the list you are working with does not shrink in size.
It can also get really tedious to find textures you once assigned to a category if that category turned out to be wrong.
Having scrolled hundreds of textures to only get your scrolling position changed by accidentally moving your mouse over the world made me think about creating this :D
Issues with the legacy list prior to this pull request:

Having 2 or more category lists open and clicking a texture would not open the category-assignment popup and just leave a little dark square at sometimes random places. Edit: same applies to "world" clicks.
IIRC, in earlier versions of remix, having the "Split Texture Category List" setting enabled would not show the category-assignment popup and just assign the texture one clicked on to the category it was clicked in. This is no longer the case and it will always show the popup. That behaviour doesn't make much sense to me if each list shows every texture.

Changes to fix issue 1:

Always set clickedOnTextureButton in the ImageButton button event to differentiate in which category the mouse click happend so that only that category opens the popup
Edit: Add a bool initFrame to the texture_popup namespace that prevents subsequent 'showTextureSelectionGrid' calls from opening the popup within the same frame
Add an std::string lastOpenCategoryId to the texture_popup namespace. Save the uniqueId of the category that opened the popup so that only that category calls texture_popup::produce and not each and every category list

if (ImGui::ImageButton(texImgui.texID, extent)) {
  if (isListFiltered && !legacyTextureGuiShowAssignedOnly()) {
    toggleTextureSelection(texHash, uniqueId, listRtxOption.textureSetOption->getValue());
  } else {
    clickedOnTextureButton = true;
  }
}

Removed parts ^ because the toggleTextureSelection logic was not working anyway, as mentioned in the second issue above, & always showing the category-assignment popup makes sense with the new setting this PR implements.
Edit: Add && !legacyTextureGuiShowAssignedOnly() to show the popup when using split view + the show assigned only mode

const bool wasWorldClick = !clickedOnTextureButton && !ImGui::GetIO().WantCaptureMouse
          && (ImGui::IsMouseClicked(ImGuiMouseButton_Left) || ImGui::IsMouseClicked(ImGuiMouseButton_Right));

Add !WantCaptureMouse check because wasWorldClick is true when clicking anywhere within the GUI that is not a texture.
This change was made so that the correct uniqueId gets saved in lastOpenCategoryId.

Changes to fix issue 2:

none, rather "made it worse" but it's wasn't that useful and maybe this new behaviour will be the new default way for the legacy list?
Edit: Fixing issue 1 also fixed issue 2 so the legacy split texture list no longer opens a popup and instead adds or removes the category directly upon clicking the texture

TL;DR

Add a new toggle called Only Show Assigned Textures in Category Lists under Split Texture Category List that is only visible if split view is enabled

Enabling this adds a new list at the bottom of the already existing categories called Uncategorized where all textures with no assignments can be found

Categories will now only show the textures that are assigned to it

instead of:

I've updated the PR post to reflect the latest changes. I've fixed the underlying popup issue and also restored the original legacy list functionality. Also fixes the same popup issue when selecting textures via the world (I did not in my initial PR).
I've kinda messed up my squash by merging the latest changes tho ... Is that an issue?
Gotta admit that I'm not a git expert 😵💫

We have tested it, but now textures are being highlighted (in world and UI) only after a mouse click is done on a world / UI element. Before, the texture highlighting was activated immediately, without any click. Would you like to improve it?

Awww I somehow got so used to clicking once that I didn't even notice it wasn't there before. Sorry for causing so much work 😵💫
Fixing that issue took quite some time and caused a few headaches because of how the highlighting / texture popup logic is embedded within showTextureSelectionGrid. I thought about getting rid of the texture popup logic from within showTextureSelectionGrid and include it in showSetupWindow (which might still be a cleaner solution) but the way its handled now is not bad either.

It's no longer required to click a world or UI element to get the highlighting logic to work (after switching the category)
Added logic to dynamically change the child size of categories so its not always using the minimum height of 600 pixels
Added the text Empty to categories that have no textures assigned

I've updated the initial PR post + picture showing the variable child size in action. I've also managed to squash all of the pervious commits into one 👍🏻

Alright, we may have some improvements to the object selection algorithm (but not certainly); and this pull request will be tested as a part of it

@xoxor4d The corresponding internal branch was merged https://github.com/NVIDIAGameWorks/dxvk-remix/commit/90bb5a04c2dbd96fe0562402b48a96682018cba2
Check it, and, if everything is fine, close the pull request :)

Thank you for merging! There are some really nice additional changes in there that greatly enhance the UX 🙌
Looking forward to the next pull request 😜


Add Discourse integration

This PR adds an integration for Discourse. It links to the discourse-chat-integration plugin.
Details of its use can be found here: https://meta.discourse.org/t/set-up-zulip-notifications-using-the-discourse-chat-integration-plugin/68501
I have followed the "Webhook Walkthrough" from the documentation to create the integration - I hope it is all acceptable. Please do let me know if anything needs to be adjusted 🙂 .

@davidtaylorhq this looks pretty good!  I think if you fix the little style nits, we can merge this.
That said, given that the actual formatting is being done on the Discourse side, I wonder if we should instead be defining a "generic" Zulip incoming webhook endpoint that can be used by Discourse/IFTTT/etc. (aka the services that have code for constructing the message formatting on the third party service's side).  I see no reason to block merging this on that idea, but @derAnfaenger @eeshangarg @showell what do you think about that idea?
Even if we go that route, I'd still want to have documentation on the Zulip side for the individual services we integrate with, but it would allow many integrations of this form to be added without any new code on our end.

Thanks for the comments - will resolve them tomorrow.
I 100% agree with the idea of having a "generic" webhook destination for future use. I tried using the /api/v1/messages endpoint, but it would seem that it doesn't work with an "incoming webhook" bot api_key.

@davidtaylorhq ahh, yes, I think we should actually just changing that endpoint to allow access from incoming webhook bots, which I've just done in .  This was on my list of things to check before our first release containing the limited incoming webhook bots in the first place, so thanks for bringing this up :).
Do you think it'd be useful to have something more specialized for "incoming webhooks", or does that solve the problem?

I don't think anything more specific is required for my use case - as long as it can take "stream", "subject" and "message" parameters, and authenticate with the api_key then that works great.
If this change is live in master, shall I just use that instead? Ideally then we'd have the concept of a "documentation only" integration so that discourse can be listed alongside all the others.

Yeah, it's live in master; why don't you try it out and see how the API feels on your end.  I think we already support "documentation-only" integrations in the form of the stuff under templates/zerver/integrations/ (those mostly all live the python-zulip-api repository).

@timabbott I have now changed it to use the /api/v1/messages API - works great for what I need. The only difference I noticed is that this API requires the bot's email address in addition to the api key, whereas the other webhook integrations only require the key. Not an issue at all, just an observation 😄
I have now updated this PR to remove the webhook integration, and add a 'documentation only' integration. I've updated the screenshot to include the discourse logo as the bot's avatar as-per earlier comments.

Looks great; just posted one comment.

Merged, thanks for the contribution @davidtaylorhq!

Great, thanks for the help working everything out 😃


Automate the labelling of nodes

Would be useful if users had the possibility of specifying labels under each node in the YAML file.
Then KET would execute kubectl label nodes <node-name> <label-key>=<label-value> for them during the provisioning process.

@swade1987 we can build on this exciting upstream work  https://github.com/kubernetes-incubator/node-feature-discovery cc @alexbrand @dkoshkin @dasmb

My suggested approach would be as below:
nodes:
  - host: master1
    ip:
    labels: "name=foo,role=bar"

You can then perform a string replace for "," with " " additionally you would need to set --overwrite=true
Usage example
kubectl label [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]
[options]

There is also the possibility of using the array syntax:
es:
  - host: master1
    ip:
    labels: ["name=foo", "role=bar"]

@alexbrand @dkoshkin - @willvrny and myself will collab on a PR for this change.

Labels would also be useful for multi-zoning when running in AWS
failure-domain.beta.kubernetes.io/region=us-central1
failure-domain.beta.kubernetes.io/zone=us-central1-a

Would be nice to get a proposal for this to discuss the plan file interface.

@alexbrand do you see any benefits of not using the kubelet method and coming up with a different interface?
--node-labels mapStringString    Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.

Meaning having a string field in the plan file that would take a comma-separated list of key,value pairs?

Yes, something like:
worker:
  expected_count: 1
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels: "ssd=true,az=a"

@dkoshkin that is what i'd go with.

I think I am leaning towards taking advantage of YAML and using a list of strings instead of a string that we have to split.
We will probably want to validate them to prevent the user setting kismatic/* labels that we depend on, so it might be nice to have them in a list already.

The only reservation I have is that package_repository_urls is already a comma list.
Option a)
worker:
  expected_count: 1
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels: "ssd=true,az=east-a"

Option b:
worker:
  expected_count: 1
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels:
    - "ssd=true"
    - "az=east-a"

Option c:
worker:
  expected_count: 1
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels:
    - key: ssd
      value: true
    - key: az
      value: east-a

I'm in favor of b

Yeah, and that field is actually the one I wish was not a comma-separated list, as we are currently unable to add anything related to a specific repository (I forget what the use case was, but I think we had run into an issue where we would have to break each repository into it's own object. Maybe providing a gpg key? I don't remember).
Option D:
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels:
      ssd: true
      az: east-a

IMO - Option A is the best choice otherwise the YAML file is going to grow out of control.

How many labels do you expect to set? I think I prefer type-safety over the potential of a long file. If length is a concern you can do labels: {"ssd": "true", az: "east-a"}, although uglier.
The other thing to consider in this issue is whether we want to support role-level labels:
worker:
  expected_count: 1
  node_labels:
    foo: bar
  nodes:
  - host: ""
    ip: ""
    internalip: ""
    labels:
      ssd: true
      az: east-a

It could be any number of labels, what I want to try to do is not make the YAML file overly long.

I like Option D from @alexbrand because it is consistent with K8s deployment labels

We should discuss whether the user should be able to modify/remove these labels out-of-band after the KET installation.
On one hand, preventing the user from being able to modify these labels out-of-band is a limitation and bad UX, and result in users having to re-run the installation with a modified plan file.
On the other hand, if the user changes the labels out-of-band, and wants to perform an upgrade, the user will have to modify the labels in the plan file beforehand.
@jaycoon @swade1987 @willvrny @dkoshkin

@alexbrand @dkoshkin What are the anticipated use cases for out-of-band changes here?
If the user is modifying node labels for a specific reason, they may already be managing out-of-band configuration and would be comfortable with the additional step during upgrades.
Even without out-of-band modifications, Production users should be comparing configurations between upgrades and understanding what has changed; this would include updating custom config.

I am mainly concerned with being too strict about labels.
The user will always have the ability to change the labels through the API server. However, depending on our implementation, a restart of the kubelet (or node) could result in those changes being wiped and reset to what is configured in the plan file.

Yeah I don't like the fact that on a node or a kubelet restart the labels could change. Labeling the nodes via the api server after the kubelet has started is safer, in this setup if a user modifies a label it will only be changed back if that value was also not updated in the plan file.
A future improvement I see is checking if the label has been modified in the preflight, but this seems like a premature optimization doing now before the feature is even out.

@dkoshkin  I am leaning more towards that implementation as well.

Labeling the nodes via the api server after the kubelet has started is safer, in this setup if a user modifies a label it will only be changed back if that value was also not updated in the plan file.

Good idea

I would run the commands via kubectl and in the pre-flight error if the labels are going to be changed.


Improve @ForIntent Annotation

Hi,
for the moment we can easily handle Intent by their name:
@ForIntent("Intent Name")
As we often use webhook call for slot filling, it could be interesting to add a second parameter to the annotation that would handle the corresponding slot filling.
For example :
@ForIntent("Intent Name", "Parameter Name")
For the moment as a workaround I do like this :
 // Choose between slot filling
List<Context> outputContexts = request.getWebhookRequest().getQueryResult().getOutputContexts();
Optional<Context> param = outputContexts.stream().filter(context -> context.getName().contains("intent_name_dialog_params")).findFirst();
if (param.isPresent()) {
     if (param.get().getName().contains("parameter_name")) {
          // do this ..
      } else {
          ...
      }
}

Hi @cbeaujoin,
Thank you for your feature request! We are always looking on ways to improve our client libraries, so we appreciate feedback and suggestions for the community.

Should it only check for 1 parameter? Or should it also be able to take in a list of parameters?

Also, as a follow up for this, maybe at some point, add another annotation for @Param("paramName") paramName: string for functions to pass in data? Probably won't be part of this issue, might be out of scope.

It could probably go either way on the array formatting. I think that an actual array would be more explicit. Also, to get which parameters to check,how should we pick which name from the outputContext to choose? Or do we look at the parameters for all of them?
      {
        "name": "projects/projectId/agent/sessions/sessionId/contexts/choose_fact-followup",
        "lifespanCount": 5,
        "parameters": {
          "category.original": "",
          "category": "history"
        }
      },
      {
        "name": "projects/projectId/agent/sessions/sessionId/contexts/_actions_on_google",
        "lifespanCount": 98,
        "parameters": {
          "data": "{\"headquarters\":[\"google_headquarters_fact_1\",\"google_headquarters_fact_2\",\"google_headquarters_fact_3\"],\"cats\":[\"cat_fact_1\",\"cat_fact_2\",\"cat_fact_3\"],\"history\":[],\"test\":\"hello\"}",
          "category.original": "",
          "category": "history"
        }
      }
    ]```

You mean between "category" and "category.original"?

Oh, sorry, I should've explained better.
The @ForIntent("Intent Name") matches the top level intent name.
For the specific outputContexts, they also have names that are specific, will the parameters be the same for those?

You mean the parameter names, or the names of the context?

Name of the context
On Mon, Oct 14, 2019 at 11:33 AM Nick<EMAIL_ADDRESS>wrote:

You mean the parameter names, or the names of the context?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/actions-on-google/actions-on-google-java/issues/31?email_source=notifications&email_token=AF7GLLLDTRHXWP2UVUZATTLQOSNMDA5CNFSM4IUY6AWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBFPEQY#issuecomment-541782595,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF7GLLM725JVBW5ZTU7IPYTQOSNMDANCNFSM4IUY6AWA
.

I guess choosing either the first (exit early) or the last (replace) would be the primary expected way to do it. Or maybe throw an exception if not specific enough.
There are many different ways to do it which could all be potentially valid.

Would the user also need to specify the context type name then (just the last part)? And if they didn't care which it hit, leave it empty and it will default to match the first one that has all the parameters, if any?

Well I don't know whether they'd need to specify the context always. Certainly it's something you may need. But what do you think the expected behavior should be if it's empty?

Hi,
I don't think we need to support a list of parameters.
A second parameter (a String) is enough.
First let me add my understanding of the contexts names :
With actions with have a context at conversation level :

"projects//agent/sessions//contexts/_actions_on_google" built by the actions sdk and that should persist until end of conversation, it has an extended lifespan (99)

For a given intent "intent" whatever the number of filled params there is  parent context :

"projects//agent/sessions//contexts/intent_dialog_context" that should persist until the user answer all the required params or leave the intent, its lifespan is a renewed by dialogflow

For a given intent "intent" with a required parameter "cellphone" not filled and in first position in the required parameters sorted list. There is a context :

"projects//agent/sessions//contexts/intent_dialog_params_cellphone"that should persist until the user answer the param or leave the intent, its lifespan is a renewed by dialogflow.
It means we have to prompt the user for its cellphone number.

If there is no context that contains "dialog_params" it means we have reach the intent's end.
If we apply this to the annotation :
@ForIntent("Intent Name") => with an empty/null second parameters
If there is no context that contains "dialog_params":

It matchs an intent without parameters
It matchs an intent where all required parameters are filled, it means we have reach the intent's end.

@ForIntent("Intent Name", "cellphone")
If a context that contains "intent_dialog_params_cellphone" exists :

it means we have to prompt the user for the cellphone number.


extend plugin in order to customize notification management

Hi @arnesson, thank you for this great plugin, it saved my life in more than one occasion!
I wonder if it's possible to extend this plugin, customising notification management.
To clarify: i need to customise notifications when an app receives a RemoteMessage with data only. Do you know if there is a "magic" possibility or the only solution is to fork the repo changing it in the way I need?
Thanks for your precious help

you could either fork or - if I understand your use-case correctly - you could use this plugin in conjunction with e.g. local notifications

Closing for cleanup.  PRs are welcome to add the desired functionality.


Error handling for Portal frontend

Error handling is missing for Portal frontend. There are two types of error messages in general:

local - attached to an input field (typically below it), copy is
global - appear somewhere in the popup

At the very minimum the following pages/screens and use cases should be handled.
All the required input fields

[x] Input values - if no value is provided to any input -> local error message (e.g. "Please supply an email")

Signup

[x] All input fields are required
[x] Email format validation - for invalid email format -> local error message ("Invalid email address")

Signin

[x] All input fields are required
[x] Email format validation - for invalid email format -> local error message ("Invalid email address")

Account - Plan selection

[x] If current plan is selected - click "continue" -> global error message ("Please select a different plan")

Account - Profile

[x] All input fields are required
[x] Email format validation - for invalid email format -> local error message ("Invalid email address")

@rishabhgrg I'd like to ask one minor change regarding how error messages are displayed. currently if you do this:

click on "Subscribe"
focus on "Name" field
focus on "Email" field without entering a name

-> we show a dedicated error for both "Name" and "Email" fields
ideally we should show the error only for the field that's been focused out without entering any value, not all fields.

This is not working as expected on latest master with https://github.com/TryGhost/members.js/commit/c56eccd9899fe9ef31aa38b6b75e955a84f66bf5.


With error

Description of the issue
Describe the problem or feature in addition to a link to the issues.
Description of changes
How does this change address the problem?
License
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Tests
Describe what tests you have done.

accidental

sorry this was an accident, meant to PR that into my own fork to test something


Uploaded pdf documents are not opened

Uploading a pdf document will not be shown directly. First, a page is shown that a pdf document exists.

[
{ "name":"design-lib.pdf", "type":"file", "mtime":"Tue, 02 Feb 2021 16:45:06 GMT", "size":1139382 }
]

You have to add the document to the url yourself (http://docs.company.com/#/project-lib/8.0.0/design-lib.pdf), open that page and hit refresh because it is not opened the first time with that url.

I know this issue is old but the reason for this is nginx serves by default only things called index. Otherwise you need to use the full url.
I am inclined to close this issue as wontfix because it is a limitation of nginx or basically every webserver.
What do you think @randombenj and @alexanderbeck ?

wontfixwould be okay for me if that is the reason. But I would strongly recommend to document this on the help page.
In addition, the first time I paste the full url, it does not show the pdf. I have to hit refresh button on the firefox browser.
Or is there a posibility to automatically redirect to the full url if a pdf is detected?

doesn't seem to be a big issue, and we print a warning now on upload


SPAR-36 Extend HiveContext, push down sub-queries to Solr, permission checks

SolrSQLHiveContext extends HiveContext and allows push down of sub-queries to Solr's SQL endpoint (https://cwiki.apache.org/confluence/display/solr/Parallel+SQL+Interface)

If the sub-queries are aliased as 'solr', then the sub query is registered as a temp table which uses /sql endpoint and rewrites the original SQL to pull down from temporary table

This approach utilizes the optimization in the Parallel SQL interface in Solr and doesn't require for Spark to pull all the results from Solr to compute the sub-query

To utilize this, one has to create the SolrSQLHiveContext class  and reuse as hiveContext

Introducing interface TablePermissionChecker to validate ACL permissions

LGTM +1 to commit


fix: remove invalid k8s v1.24 flags

Reason for Change:

In Kubernetes v1.24, insecure address flags were removed.
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.24.md#deprecation
https://github.com/kubernetes/kubernetes/pull/106859
https://github.com/kubernetes/kubernetes/pull/106860
Customer with existing api-models containing such a flag got broken deployments and upgrades. This PR will automatically remove the feature flag even if the customer specifies it, if k8s version >= 1.24.
Issue Fixed:

Credit Where Due:
Does this change contain code from or inspired by another project?

[x] No
[ ] Yes

If "Yes," did you notify that project's maintainers and provide attribution?

[ ] No
[ ] Yes

Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[x] adds unit tests
[ ] tested upgrade from previous version

Notes:

/azp run


build(deps): update ui dependency

Update ui dependency to take benefits of new GraphQL subscription handling.

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


Find replacement for yahoo-finance module

Will need to find a new data source for statistics. May use IEX API as used on my current project if a good fit.

We could also use quandl module for it has got more features!

Quandl module is a possibility. Might need to add that API key will be useful if making lots of calls per day (I think the limit is 50/day without API key?).

Switched to IEX for the newer scripts and deprecated the useless scripts (old + better packages out there now).


Avalonia.FuncUI v0.6 release

Opening this issue to track the work needed before we release the non-pre-release version of v0.6
Before release

[ ] Wait for Avalonia v11 to be released (duh!)
[ ] Adapt to "The Great Interface Removal" introduced in https://github.com/AvaloniaUI/Avalonia/pull/9553 (Addressed in #246)
[ ] Remove mention to old docs site in README and point all of them to the docs site under Avalonia's domain
[ ] Create a Migration Guide in the docs

[ ] Interface removals (#246)
[ ] Changes for Elmish v4 (#248)
[ ] Package name changes (#242)

[ ] Migrate templates to new version (includes adding dependency of the newly separated Avalonia.Themes.Fluent)
[ ] Deprecate Avalonia.FuncUI.DSL package from Nuget. See here. I believe this can only be done by you @JaggerJo?

Since 4564a6d98c55e3b9e0437e4d8aecfb41bfed9b5b the DSL project lives inside of the main FuncUI package and upgrading from a previous version that has the a package reference to the DSL makes all this funky errors where half of the imports seem unused and all the controls stop working:

The fix is, of course, to remove the package reference to the DSL but I think we should make this clearer to the user.
After release

[ ] Create documentation for new inline components
[ ] Party? 🎉

Like the Party 🎉 part of it 😁

I can deprecate the DSL package shortly before we plan to release the new version 👍

I'm not happy at all with the documentation situation right now. 🙃

I'm not happy at all with the documentation situation right now. 🙃

Yeah, actually I just realized that we have the GitBook under the Avalonia's domain up and working, I'll add another task here to sunset the current one we have (https://avaloniacommunity.github.io/Avalonia.FuncUI.Docs/) and add the one under Avalonia's domain to the README. What else do you think we should do to improve it? I'm all up for making the docs better, it's true that we're lacking a bit here.

Yes exactly, that's a good first step! (copying our docs over) 👍
I think we have a lot of good stuff in the docs, but it could use some polishing.
Getting started:
I don't think templates should be recommended that much.
I personally prefer to install some packages and pasting a few lines of code.
Might be just me tho.
Why? Needing templates implies complexity and for FuncUI all you really need is this (and the view could be reduced to a lot less code):
namespace Examples.CounterApp

open Avalonia
open Avalonia.Controls
open Avalonia.Controls.ApplicationLifetimes
open Avalonia.FuncUI
open Avalonia.FuncUI.DSL
open Avalonia.Layout
open Avalonia.Themes.Fluent
open Avalonia.FuncUI.Hosts

module Views =
    let counter =
        Component
            (fun ctx ->
                let state = ctx.useState 0

                DockPanel.create [
                    DockPanel.children [
                        Button.create [
                            Button.dock Dock.Bottom
                            Button.onClick (fun _ -> state.Current - 1 |> state.Set)
                            Button.content "-"
                            Button.horizontalAlignment HorizontalAlignment.Stretch
                        ]
                        Button.create [
                            Button.dock Dock.Bottom
                            Button.onClick (fun _ -> state.Current + 1 |> state.Set)
                            Button.content "+"
                            Button.horizontalAlignment HorizontalAlignment.Stretch
                        ]
                        TextBox.create [
                            TextBox.dock Dock.Bottom
                            TextBox.onTextChanged (
                                (fun text ->
                                    let isNumber, number = System.Int32.TryParse text
                                    if isNumber then number |> state.Set)
                            )
                            TextBox.text (string state.Current)
                            TextBox.horizontalAlignment HorizontalAlignment.Stretch
                        ]
                        TextBlock.create [
                            TextBlock.dock Dock.Top
                            TextBlock.fontSize 48.0
                            TextBlock.verticalAlignment VerticalAlignment.Center
                            TextBlock.horizontalAlignment HorizontalAlignment.Center
                            TextBlock.text (string state.Current)
                        ]
                    ]
                ])

type MainWindow() =
    inherit HostWindow()
    do
        base.Title <- "Counter Example"
        base.Height <- 400.0
        base.Width <- 400.0
        base.Content <- Main.view

type App() =
    inherit Application()

    override this.Initialize() =
        this.Styles.Add (FluentTheme(baseUri = null, Mode = FluentThemeMode.Dark))

    override this.OnFrameworkInitializationCompleted() =
        match this.ApplicationLifetime with
        | :? IClassicDesktopStyleApplicationLifetime as desktopLifetime ->
            let mainWindow = MainWindow()
            desktopLifetime.MainWindow <- mainWindow
        | _ -> ()

module Program =

    [<EntryPoint>]
    let main(args: string[]) =
        AppBuilder
            .Configure<App>()
            .UsePlatformDetect()
            .UseSkia()
            .StartWithClassicDesktopLifetime(args)

Hi,
As I mentioned in #232, it looks like version 11 of Avalonia.Web only supports .NET 7.0, so I guess that the FuncUI WebAssembly sample will need to be the same - and that would also mean that the CI builds would need changing to use the .NET 7 SDK rather than 6 - so, is that possible/acceptable? (I'm not sure if the github build pipelines have the new SDK available by default yet though)

fyi, the Avalonia change at https://github.com/AvaloniaUI/Avalonia/pull/9553 has removed a load of interfaces that FuncUI uses, apparently in favour of just using the base classes instead, which is an ever so slightly breaking change over here.
I had a quick go at changing the lib to just use the base clases instead of interfaces and the control catalogue seems to still run, but I didn't check anything beyond that

fyi, the Avalonia change at https://github.com/AvaloniaUI/Avalonia/pull/9553 has removed a load of interfaces that FuncUI uses, apparently in favour of just using the base classes instead, which is an ever so slightly breaking change over here.
I had a quick go at changing the lib to just use the base clases instead of interfaces and the control catalogue seems to still run, but I didn't check anything beyond that

Oh, boy. Thanks for the heads up! I guess a search and replace of I.* should do the trick 😆 Adding that to the checklist

On the subject of nuget packages - anyone have any opinions on adding SourceLink to the build?

On the subject of nuget packages - anyone have any opinions on adding SourceLink to the build?

Great idea!

It looks like another breaking change has been made in Avalonia - the change at https://github.com/AvaloniaUI/Avalonia/pull/10112 has moved ItemsRepeater into a separate nuget package, which breaks the bindings in the core FuncUI library.
So - what would the preferred approach to handling that change be?

Looks like we can get rid of the bindings.

Hmm, I went to update to the new preview10 release and Visual Studio wasn't listing it as an update, and it seems that nuget thinks that preview10 is older than preview9 :-(

ahh, yeah :D everything after the - is string sorted. Changed the version to preview9.1

I see that Avalonia 11 preview 7 was released over night, with another set of breaking changes to the Items/ItemsSource properties (we can but hope that's the last ones).
I'll try to have a go with it, and see how many changes there are

I see that Avalonia 11 preview 7 was released over night, with another set of breaking changes to the Items/ItemsSource properties (we can but hope that's the last ones).
I'll try to have a go with it, and see how many changes there are

Thanks for the ongoing effort, really appreciate it.

Avalonia 11 has finally hit a release candidate build: https://github.com/AvaloniaUI/Avalonia/discussions/11593

I get exception after upgrading to rc1
Unhandled exception. System.MethodAccessException: Attempt by method 'Avalonia.FuncUI.VirtualDom.VirtualDom.updateRoot(Avalonia.Controls.IContentControl, Microsoft.FSharp.Core.FSharpOption`1<IView>, Microsoft.FSharp.Core.FSharpOption`1<IView>)' to access method 'Avalonia.Controls.IContentControl.get_Content()' failed.
   at Avalonia.FuncUI.VirtualDom.VirtualDom.updateRoot(IContentControl host, FSharpOption`1 last, FSharpOption`1 next)

The currently released FuncUI packages don't work with RC1 due to breaking API changes on the Avalonia side, it needs the changes in https://github.com/fsprojects/Avalonia.FuncUI/pull/308 to work

Is it possible to get an RC1 compatible nuget package published? (I've been hung up on updating some things because I was waiting for an RC1 compatible build of TreeDataGrid, and that just dropped)

Is it possible to get an RC1 compatible nuget package published? (I've been hung up on updating some things because I was waiting for an RC1 compatible build of TreeDataGrid, and that just dropped)

Published a new version. If you'd be interested I could make you a co-maintainer. You have contributed quite a lot in the past - might make things easier.

Published a new version. If you'd be interested I could make you a co-maintainer. You have contributed quite a lot in the past - might make things easier.

I don't mind doing that, though I never know how much time I'll have to look at things

Does there need to be an updated version of the diagnostics package?

Published a new version. If you'd be interested I could make you a co-maintainer. You have contributed quite a lot in the past - might make things easier.

I don't mind doing that, though I never know how much time I'll have to look at things

Sent you an invitation.

Does there need to be an updated version of the diagnostics package?

We've never even released it under the new Avalonia.FuncUI.* name. If there is demand we could definitely auto release that package with FuncUI "core" versions.

https://github.com/AvaloniaUI/Avalonia/discussions/12041

I guess it's time to ship it 🚀

Congrats on the release! You guys have been working hard. 👏


can Number decode into int64 with rounding?

https://github.com/serde-rs/json/blob/0daacdd52e4abb4a47a7f7fc598c5bd4492aa104/src/number.rs#L181-L185
Is there a way in serde_json to decode a double (e.g. "256.0") into integer (e.g. 256) ?
I wanted to use a single API / approach to handle both "256" and "256.0",  and also wanted to ideally convert "256.5" into 256, i.e. with rounding.
The API seems like be strict with float and int64.  For example, calling is_f64() on the number "64" return false.

You would need to write something like:
if let Some(int) = value.as_i64() {
    Some(int)
} else if let Some(float) = value.as_f64() {
    if i64::MIN as f64 <= float && float <= i64::MAX as f64 {
        Some(float as i64)
    } else {
        None
    }
} else {
    None
}

Thanks!


multiple hands tracking

I have tested the android application and I have seen that only one hand is tracked (landmarks).
Even if this is not supported now, how do you think the best way to support tracking multiple hands?

Currently a naive solution is to modify the graph so that it contains multiple branches of hand landmark localization (e.g., two branches for up to 2 hands). We are finalizing new features that can support these multi-branch use cases with a simpler graph config change. Once ready, we will update the hand tracking example with the new features to support multiple hands.

can you tell us the details for " modify the graph so that it contains multiple branches of hand landmark localization (e.g., two branches for up to 2 hands)" and how to do this?

Any updates on "...new features that can support these multi-branch use cases"?


Use xeditable in my directive?

I want to wrap xeditable in my directive, for code reuse , like this:
App.directive 'myXedit', ($http, $q)->
  return {
    restrict: 'EA'
    # scope: true
    template: (element, attr)->
      text = element.text()
      template = """
      #{text}
      """
      return template

    replace: true
    controller : ($element, $scope, $attrs)->
      $scope.editable = {
        v: $element.text()
      }
      $scope.saveSetting = ($data, name)->

        // save data

To make my directive work, I have to change $scope.$parent in xeditable.js to $scope. Is there some way that I don't need to change xeditable source? Or a new option?

Closed as being too old


Chunk taskArns into groups of 100

If the ECS cluster has > 100 tasks, passing them to
ecs.DescribeTasksRequest() will result in the AWS API returning
errors.
This patch breaks them into chunks of at most 100, and calls
DescribeTasks for each chunk.

@owen shouldn't we rebase this one v1.2 branch to include it in the next release?

@owen how's your git-fu going today? ;)
also, do you want to rebase against 1.2 as @emilevauge suggested? The bugfix seems fairly important for ECS users.

it's woeful! I'm king of the force push I guess.
I've:

rebased against v1.2
split to a small helper function
added test cases around splittable values

and will be force pushing again as soon as I ensure it passes a make validate
Should I keep a PR against master with this code, or do you all typically pull v1.2 fixes back in?  not sure how that typically works for this project.
(and oh look, more git questions, hehe)

@owen we typically sync back the v1.2 branch with master regularly (usually on release of a release candidate / final version), so there should be no need to maintain a separate branch against master.

A test case failure I observed last night made me realize that pointing Traefik to an empty cluster would result in bad AWS API calls being made.  I've gone ahead and picked up that fix by adding an early return after the first call to ListTasks.
This now works for my empty cluster, and my ~hundred instance cluster.  Tests pass, make validate looks good, and it only took one more force push to get it to go up 😬
@timoreimann

@timoreimann / @emilevauge - I'm wondering if I broke your CI environment with my, er, aggressive Git usage.
Let me know if I can help :(

@owen yeah, it seems Travis needs a holiday... Could you push force again?

Looks like the CI is building now.  I added a few more tests to wake up the CI pipeline.
Apologies... I actually just learned that "rebase master -> v1.2" is as easy as a click at the top of the pull request.  That would've skipped at least one force push on my end, heh.
(I have much to learn about GitHub ;-))

@owen you haven't go fmt'ed your latest commit -- please run make fmt to fix that. Apart from that, LGTM! :heart:
Could you also squash your commits? After that and another successful CI run, I think we are good to go/merge. :-)

I fear Travis may not be happy with me again:
[ERROR]	Update failed for gopkg.in/fsnotify.v1: Cannot detect VCS
[ERROR]	Failed to install: Cannot detect VCS
The command '/bin/sh -c cd integration && glide install' returned a non-zero code: 1
make: *** [build] Error 1

Github is flaking. Retriggered the build.

Grrr, and now the integration tests are flaking. :(
Retrying HARDER...


[Tcgc] Fix etag

All changed packages have been documented.

You can try these changes at https://cadlplayground.z22.web.core.windows.net/typespec-azure/prs/365/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/typespec-azure/prs/365/

/azp run


how to add DN to vanillar DETR?

how to deal with noisy label/bbox embedding with content/position embedding?

You can refer to our extended version that describes how to add DN to vanillar DETR.

You can refer to our extended version that describes how to add DN to vanillar DETR.

Hi Feng @FengLi-ust,
Your work is great, but the references of the figures and tables are a mess in the extended version. For example, in the paper Figure 3 actually refer to Figure 2, and Figure 4(c) does not exist. And Table 1-4 are repeatedly defined in the final parts of the paper. You can fix these typos for readability.

Hi Feng @FengLi-ust
is it possible to add code of vanilla detr training or maybe add more information?
thanks!


Added ppc64le support

Hello Team,
I've updated the specified files to enable the release of ppc64le binaries and docker image for gosec.

Updated .goreleaser.yml to support Linux on IBM Power ( ppc64le )

Signed-off-by: Pooja Shah<EMAIL_ADDRESS>

@wagoodman Could you please review this PR?

Hi @wagoodman, I'm just following up to see if you had a chance to review this PR. Please let me know if you need any additional information or clarifications.
Thanks.

Hi @wagoodman,
I am checking in again to see if you had an opportunity to review the PR. If there's anything else I can provide or clarify to help move this forward, please don't hesitate to let me know.
Thank you!


luci-app-ddns: fix HTML page rendering in globals section

Could you please also increase PKG_RELEASE to reflect changes.
Many thanks

@chris5560 done thanks for the hint


Remove: Discord.Discord.Canary version 1.0.37

## .\Tools\YamlCreate.ps1 -SkipPRCheck -Mode 5 -PackageIdentifier Discord.Discord.Canary -PackageVersion 1.0.37

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


Documentation of the feature "Use query-contextual summaries instead of whole documents"

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ ] feature request
- [X ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

Is there any explanation of "Use query-contextual summaries instead of whole documents" feature?
It seems that it's related to semantic search and changes the output with semantic results. But I cannot determine the complete idea of this.

Good question! It uses semantic captions for the answers, which are described here:
https://techcommunity.microsoft.com/t5/ai-azure-ai-services-blog/introducing-semantic-search-bringing-more-meaningful-results-to/ba-p/2175636
You should be able to see the difference in the "supporting content", the answers would be relevant subsets of the cited sources. I haven't personally used this for my deployments, but if you do use it, please share whether it works well for you. The semantic captions team would love feedback about the caption generation.

We now have tooltips that explain this better, closing this issue.


Fix #357: Reload preview when files are deleted and renamed

This was harder to fix than I thought, because the obvious ways of fixing it caused infinite reload loops.  I've added code to guard against re-entrant reloads for the same URL.

r? @gideonthomas


Pass env variables to Operator while executing tests

What would you like to be added:
Currently I am not able to provide an environment variable to the operator under test.
Why is this needed:
I would like to set a RELATED_IMAGE_* env to change the operator image being tested.
If this is already possible it would be nice to be added to documentation as I could not find something for it, and simply calling ENV_VARIABLE=value kuttl test did not work for me.
Thanks in advance!

Nevermind, this is working, it was an issue on my machine.


stm32: use stm32-metapac from crates.io, remove stm32-data submodule.

embassy-stm32 uses stm32-metapac from crates.io.
Remove stm32-data submodule.
Remove stm32-metapac, stm32-metapac-gen. These are now in the stm32-data repo.
Remove stm32-gen-features, since it used stm32-data directly.

The feature list in stm32-metapac is generated by stm32-metapac-gen now.
The feature list in embassy-stm32 can be updated by hand by copypasting from stm32-metapac's Cargo.toml. We can add a script to do this automatically later if that's too annoying.

Remove outdated xtask scripts that no longer work. Not needed anymore, you can run CI locally by doing ./ci.sh.

bors r+


The tutorial Gui14 on ubuntu 18.04 doesn't have buttons well sized

When building the project for the tutorial Gui14 on ubuntu 18.04 the buttons do not have proper sizes see attached screenshot.

What do you mean by "not have proper" size? It looks very similar to the reference image https://www.ultimatepp.org/srcdoc$CtrlLib$Tutorial_en-us.html#14. Also, the smaller buttons are intentional, because they show when auto scaling is disable (h and v prefix).
@mingodad

What do you mean by "not have proper" size? It looks very similar to the reference image https://www.ultimatepp.org/srcdoc$CtrlLib$Tutorial_en-us.html#14. Also, the smaller buttons are intentional, because they show when auto scaling is disable (h and v prefix).
@mingodad

Also I think that's a good idea to revise the GUI Tutorial because some examples give a bad image for the hard work done on Ultimate++ framework, see attached example of Gui20c on ubuntu 18.04.

Also I think that's a good idea to revise the GUI Tutorial because some examples give a bad image for the hard work done on Ultimate++ framework, see attached example of Gui20c on ubuntu 18.04.

Can you post the screen resolution you have? Is this UHD display?

Can you post the screen resolution you have? Is this UHD display?

@klugier

Can you post the screen resolution you have? Is this UHD display? On my machine this example looks good.

Gui20c doesn't look good on 1080p either.
Let's try this better anchored one for Gui20c?
#include <CtrlLib/CtrlLib.h>

using namespace Upp;

struct MyAppWindow : TopWindow {
	Button ok, cancel;
	EditDate date;

	MyAppWindow() {
		SetRect(0, 0, 320, 90);
		Add(date.HSizePosZ(4, 4).TopPosZ(10, 24));
		Add(ok.SetLabel("OK").LeftPosZ(4, 64).BottomPosZ(4, 24));
		Add(cancel.SetLabel("Cancel").RightPosZ(4, 64).BottomPosZ(4, 24));

		ok.Ok() << Acceptor(IDOK);
		cancel.Cancel() << Rejector(IDCANCEL);
	}
};

GUI_APP_MAIN
{
	MyAppWindow app;
	switch(app.Run()) {
	case IDOK:
		PromptOK(String().Cat() << "OK: " << ~app.date);
		break;
	case IDCANCEL:
		Exclamation("Canceled");
	}
}

@klugier

Can you post the screen resolution you have? Is this UHD display? On my machine this example looks good.

Gui20c doesn't look good on 1080p either.
Let's try this better anchored one for Gui20c?
#include <CtrlLib/CtrlLib.h>

using namespace Upp;

struct MyAppWindow : TopWindow {
	Button ok, cancel;
	EditDate date;

	MyAppWindow() {
		SetRect(0, 0, 320, 90);
		Add(date.HSizePosZ(4, 4).TopPosZ(10, 24));
		Add(ok.SetLabel("OK").LeftPosZ(4, 64).BottomPosZ(4, 24));
		Add(cancel.SetLabel("Cancel").RightPosZ(4, 64).BottomPosZ(4, 24));

		ok.Ok() << Acceptor(IDOK);
		cancel.Cancel() << Rejector(IDCANCEL);
	}
};

GUI_APP_MAIN
{
	MyAppWindow app;
	switch(app.Run()) {
	case IDOK:
		PromptOK(String().Cat() << "OK: " << ~app.date);
		break;
	case IDCANCEL:
		Exclamation("Canceled");
	}
}

My screen resolution is 1920x1080.

My screen resolution is 1920x1080.

First of all, thank you for you contributions, definitely appreciated.
I have gone through the tutorial, hopefully all should be now fixed.
On Thu, Jan 7, 2021 at 12:36 PM Domingo Alvarez Duarte <
<EMAIL_ADDRESS>wrote:

My screen resolution is 1920x1080.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/29#issuecomment-756063232,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH237FYXTROIKY2XU7I23SYWMC5ANCNFSM4VU4NYZA
.

First of all, thank you for you contributions, definitely appreciated.
I have gone through the tutorial, hopefully all should be now fixed.
On Thu, Jan 7, 2021 at 12:36 PM Domingo Alvarez Duarte <
<EMAIL_ADDRESS>wrote:

My screen resolution is 1920x1080.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ultimatepp/ultimatepp/issues/29#issuecomment-756063232,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARH237FYXTROIKY2XU7I23SYWMC5ANCNFSM4VU4NYZA
.

Looking through the commit https://github.com/ultimatepp/ultimatepp/commit/082cd6a3390ca873ab6f169ca532172a27e1664d I can see that several small changes where done, meaning that a review was indeed needed.
Thank you !

Looking through the commit https://github.com/ultimatepp/ultimatepp/commit/082cd6a3390ca873ab6f169ca532172a27e1664d I can see that several small changes where done, meaning that a review was indeed needed.
Thank you !

I just updated my repository and the tutorial/Gui14 now look like the screenshots from the web.
Thank you again !

I just updated my repository and the tutorial/Gui14 now look like the screenshots from the web.
Thank you again !

As the problem was fixed. I am closing the issue.

As the problem was fixed. I am closing the issue.


nix/wlroots-hidpi.patch сontains an error

Hyprland Version
git
Bug or Regression?
Bug
Description
Compilation Error log:
ayland_xwm.c.o.d -o subprojects/wlroots/libwlroots.a.p/xwayland_xwm.c.o -c ../subprojects/wlroots/xwayland/xwm.c
../subprojects/wlroots/xwayland/xwm.c: In function 'xwm_handle_unmap_notify':
../subprojects/wlroots/xwayland/xwm.c:1145:23: error: 'xcb_unmap_notify_event_t' has no member named 'atom'
 1145 |                 if (ev->atom == xwm->atoms[XWAYLAND_GLOBAL_OUTPUT_SCALE]) {
      |                       ^~
../subprojects/wlroots/xwayland/xwm.c:1147:55: error: 'xcb_unmap_notify_event_t' has no member named 'atom'
 1147 |                                         ev->window, ev->atom, XCB_ATOM_ANY, 0, 2048);
      |

An error in the code. ev is of type xcb_unmap_notify_event_t and does not contain an atom.
#include <xcb/xproto.h>

typedef struct xcb_unmap_notify_event_t {
  uint8_t response_type;
  uint8_t pad0;
  uint16_t sequence;
  xcb_window_t event;
  xcb_window_t window;
  uint8_t from_configure;
  uint8_t pad1[3];
} xcb_unmap_notify_event_t;

Reference: https://www.x.org/releases/current/doc/man/man3/xcb_unmap_notify_event_t.3.xhtml
How to reproduce
patch -p1 < wlroots-hidpi.patch
compile hyprland git && wlroots git

Crash reports, logs, images, videos
No response

With patches from wlroots-hidpi, the compilation works.

Looks to me like you haven't applied the patch correctly, but the wlroots-hidpi.patch in this repo is no longer being maintained anyway, see https://github.com/hyprwm/Hyprland/pull/2870
If xwayland:force_zero_scaling does not fit you use case, feel free to use https://aur.archlinux.org/packages/hyprland-hidpi-xprop-git, but please report any issue you encounter that might be related to Xwayland HiDPI there first.

aren't the patches removed now? @fufexan

Oops, I forgot to remove them. I will now.

Removed.

closing then


show/hide custom fields based on another custom fields value

Is it possible to create custom fields that are dependant on another custom fields? I need to show/hide certain custom fields based on the value of another custom field, is it possible?

@hazemtaha for now it is not possible, you need to add your custom javascript to control the custom fields.

is there a way to override admin panel views?

You can add :render attribute for custom fields using this hook "extra_custom_fields":
https://github.com/owen2345/camaleon-cms/blob/master/app/helpers/camaleon_cms/admin/custom_fields_helper.rb#L341
The attribute :render is the template path, if it is empty or not exist it will render
"camaleon_cms/admin/settings/custom_fields/fields/#{custom_field[:key]}"

Check here:
https://github.com/owen2345/camaleon-cms/blob/master/app/views/camaleon_cms/admin/settings/custom_fields/_render.html.erb#L34
Regards,


No longer assume we are always running in a notebook

If notebook is set to False, it will return a string instead of displaying a styled dataframe.

Ah, this is helpful. Thanks!
The evaluate function is pretty basic at the moment. But if you have uses for it outside the notebooks, then it's worth merging this in!


should be a way to cancel the MV Job

Describe the bug
Their should be a way to cancel the MV job, I have created a MV with very big interval and which got stuck.
So, I want to cancel the job, entered the CTL C, but this didn't help. the command got stuck for 12 hours.
To Reproduce
`dev=> CREATE
MATERIALIZED VIEW y1 AS
SELECT B.auction,
B.price,
B.bidder,
B.date_time
FROM bid B
JOIN (SELECT MAX(price) AS maxprice,
window_end as date_time
FROM
TUMBLE(bid, date_time, INTERVAL '1000000000000000' SECOND)
GROUP BY window_end) B1 ON B.price = B1.maxprice
WHERE B.date_time BETWEEN B1.date_time - INTERVAL '1000000000000000' SECOND
AND B1.date_time;
^CCancel request sent
^CCancel request sent
Scenario 2:
`
dev=> create source bid (auction INTEGER, bidder INTEGER, price INTEGER, "date_time" TIMESTAMP)
with (
connector = 'nexmark',
nexmark.table.type = 'Bid',
nexmark.split.num = '3',
nexmark.min.event.gap.in.ns = '0'
) row format json;
create materialized view mv as select * from bid order by price desc limit 10;
ERROR:  QueryError: Catalog error: source with name bid exists
^CCancel request sent
^CCancel request sent
^C^CCancel request sent
^CCancel request sent`
`
Expected behavior
The command should not stuck or should be respond to CTL C.
Additional context
No response

Related: #6488

duplicated


Add support for SMB2 network access (IDFGH-1281)

Libsmb2 is a userspace library to access SMB2 shares across a network (https://github.com/sahlberg/libsmb2).
This allows reading/writing files to a windows file share.
A user recently contributed support to build and use libsmb2 for the ESP32 successfully.
I think SMB2 support would be useful for many ESP32 users and suggest
maybe you can include libsmb2 in your SDK, or link to it from your SDK? Thus making it easy
for ESP32 developer to gain SMB2 network file sharing capability to their projects.

@sahlberg Thanks for reporting this, we will look into this. Thanks.

Hello @sahlberg
It's been a while, since you posted this, but if you are still interested I'd love to help you to get your libsmb2 to our new Espressif's idf-component-manager service,
Idf-component-manager is a new function that allows ESP-IDF users to integrate software package into their project seamlessly. Libsmb2 could be one of the first external components hosted there.
More information about idf-component manager can be found in Espressif API guide or PyPi registry. The component service itself is hosted here.
Let me know if you agree and I can push a PR to libsmb2 repository, so the sw package is deployed after you release new version of libsmb2 (or we can setup a different trigger too)

On Wed, Sep 22, 2021 at 10:14 PM Tomas Rezucha @.***>
wrote:

Hello @sahlberg https://github.com/sahlberg
It's been a while, since you posted this, but if you are still interested
I'd love to help you to get your libsmb2 to our new Espressif's
idf-component-manager service,
Idf-component-manager is a new function that allows ESP-IDF users to
integrate software package into their project seamlessly. Libsmb2 could be
one of the first external components hosted there.
More information about idf-component manager can be found in Espressif
API guide
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html
or PyPi registry https://pypi.org/project/idf-component-manager/. The
component service itself is hosted here
https://components.espressif.com/.
Let me know if you agree and I can push a PR to libsmb2 repository, so the
sw package is deployed after you release new version of libsmb2 (or we can
setup a different trigger too)

Please do.  Note that I do/can not build ESP-IF myself but I have a few
users that do build libsmb2 for their ESP projects and
they make sure that the library keep building.
I appreciate your help. Please add it to your component management service
and send me a PR for the things wou want me to check into the repository.
Thanks!
Ronnei Sahlberg

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-idf/issues/3574#issuecomment-924873075,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADY3EH3CZFKAP6W4CPZXSDUDHCDTANCNFSM4HSDQCRQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Not working on Samsung Galaxy Tab A SM-T597V

I cloned the repo, built the apk using Android studio and installed it with adb install, I don't see that tile. What am i missing?

There can be 2 reasons,

Your device doesn't supports additional tiles.
You Haven't tried to look into add tile section.

Btw, the app is released on Play Store. Just in case, https://play.google.com/store/apps/details?id=com.mcdz.seeip

I wasn't able to find a way to add tiles for the samsung galaxy tab. But when I open the page for the app from play store, it does say that This app may not be optimized for your device.
I installed it on another phone of mine, it took a long time for it to fetch public IP, and I wasn't sure whether it will do that, but it did eventually

Yes, fetching public ip is based on network connection. Maybe some network issues. it usually take 1-3 seconds to fetch it. based on network conditions, it'll vary.


print_help() et al. are conceptually read-only ops and should not take &mut self

 Issue by djeedai
Saturday Nov 21, 2020 at 13:23 GMT
Originally opened as https://github.com/clap-rs/clap/issues/2218

print_help() and other similar variants conceptually just print information to some output based on the already-configured App, and therefore it is quite unexpected for them to be mutating the App and take a &mut self reference. For a typical command-line tool which might want to print-help-and-exit deeper inside the program due to other errors not directly handled by clap's argument validation, this forces App to be passed by &mut self everywhere for no good apparent reason, and thereby makes other unrelated parts of the code more complex.
I looked at the implementation, and it seems this is due to some "propagation of globals and settings", which I understand to be lazy operations which need to be done once and could have been done at another time and/or because they are conceptually not mutating the app should be hidden behind a &self read-only reference. I might be wrong here, as I am no clap expert, but I see no good argument from a user standpoint as to why a print function would mutate anything.
Version

Rust: rustc 1.48.0 (7eac88abb 2020-11-16)
Clap: 2.33.3

Actual Behavior Summary
pub fn print_help(&mut self) -> Result<()>

Expected Behavior Summary
pub fn print_help(&self) -> Result<()>

 Comment by pksunkara
Saturday Nov 21, 2020 at 13:25 GMT

For better performance. There should be an issue like this already.

 Comment by djeedai
Saturday Nov 21, 2020 at 14:04 GMT

I couldn't find any other issue sorry. I've searched for print_help but nothing seems to match.
I understand that how the implementation is lazily doing some ops may be a performance reason, but in my opinion that doesn't warrant making the public interface mutable. Isn't that precisely what interior mutability is for? I can't find the official reference I took that from, but here's another one : https://ricardomartins.cc/2016/06/08/interior-mutability

There are a few general cases that call for interior mutability, such as:
3. Implementation details of logically immutable methods


Change default OPSS team

Description
Ticket: https://trello.com/c/6TOv2SJI

Checklist:

[ ] Automated checks are passing locally.
[ ] CHANGELOG updated if change is worth telling users about.

General testing

[ ] Test without javascript
[ ] Test on small screen

Accessibility testing

[ ] Works keyboard only
[ ] Tested with one screen reader
[ ] Zoom page to 400% - content still visible
[ ] Disable css - does content make sense and appear in a logical order?
[ ] Passes automated checker (automated in build or manual)

Can you add a test for this behaviour?


Math: Implement pow(x, n), which calculates x raised to the power n (i.e., xn). in C++

if it we solve it though simply by  recursion it will give time complexity of O(n) so we will use divide and conquer approach that leads to O(logn)  time complexity eg. 3^7 dive seven by two 333 * 333 3 than in 333 divide by two  3 * 3  3 on conquering 93 *  93 than again conquer 27 * 27 * 3  final output is 2187
`
#include <bits/stdc++.h>
using namespace  std;
double pow(double x, int n)
{
if(x==0)return 0;
if(n==0)return 1;
double res=pow(x,n/2);
res=resres;
if(n%2)res=xres;
return res;
}
int main()
{
int n,x;
cin>>x>>n;
if(n<0)cout<< pow(1/x,n);
else cout<<pow(x,n);
}
`

if it we solve it though simply by recursion it will give time complexity of O(n) so we will use divide and conquer approach that leads to O(logn) time complexity eg. 3^7 dive seven by two 3_3_3 * 3_3_3 _3 than in 3_3_3 divide by two 3 * 3 _3 on conquering 9_3 * 9_3 than again conquer 27 * 27 * 3 final output is 2187
` #include <bits/stdc++.h> using namespace std;
double pow(double x, int n) { if(x==0)return 0; if(n==0)return 1; double res=pow(x,n/2); res=res_res; if(n%2)res=x_res; return res; }
int main() { int n,x; cin>>x>>n; if(n<0)cout<< pow(1/x,n); else cout<<pow(x,n); } `

Assigning it to you, create a pull request by forking this repo

please assign me this issue


JsonLayout - Always stringify when requested

MaxRecursionLimit should be ignored when stringify is requested.

Thanks!
I think this is a bug fix?

No idea. Makes it more predictable, when having requested ToString-behavior.

Can this be 4.5.5 ?

Well it is gonna be a bug for the Seq-target when my request to allow support to configure MaxRecursionLimit in that target is approved. Which will fix #2720
Sent from my Samsung device
-------- Original message --------
From: Julian Verdurmen<EMAIL_ADDRESS>Date: 14/05/2018 10:19 (GMT+01:00)
To: NLog/NLog<EMAIL_ADDRESS>Cc: Rolf Kristensen<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [NLog/NLog] JsonLayout - Always stringify when requested (#2718)
I prefer to keep only bugfixes in patch releases. If this is a behavior change, then 4.6 is better?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/NLog/NLog/pull/2718#issuecomment-388734773, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK-fnPR4JkvwL20uUBHKdx7yP_jMV7Riks5tyT33gaJpZM4T86fY.

@304NotModified Any chance we can get NLog 4.5.5 released ? (Maybe including #2726) Would like to make a PR for the Seq-NLog-target.

@304NotModified Any chance we can get NLog 4.5.5 released ? (Maybe including #2726 and #2724) Would like to make a PR for the Seq-NLog-target, which depends on this.

I will try to do that this week


Usecase for the js library: Atomic-VSCode

A way to edit resources directly in VSCode. Very useful when editing HTML files stored in your atomic server.
Some ideas:

Use the file explorer to navigate files on an atomic server.
Render resources as text files (kind of difficult to do well). When it is changed, construct a Commit.
Render values as text files, and commit when save. (easier to implement)

todo: design UX, implementation

Probably not going to do this any time soon. Closing for now.


Fix dead link in showcase, and add thumbnail to images folder.

There is also a couple of dead pages, but based on responses to previous pull requests it seems that you prefer to leave them.

The showcase page has been updated, but this link is still dead. I could update the pull request, but will you guys review it or just let it sit here?

I looked through all the links and made the decision to leave a few dead
ones temporarily. The rest of the dead ones will be removed at a later date
On Jul 14, 2015 3:19 PM, "Carlos"<EMAIL_ADDRESS>wrote:

The showcase page has been updated, but this link is still dead. I could
update the pull request, but will you guys review it or just let it sit
here?
—
Reply to this email directly or view it on GitHub
https://github.com/Dogfalo/materialize/pull/1671#issuecomment-121409078.

But this pull request was actually changing a dead link to a working link...

Leaving links when you know they are dead for over 11 days?!! That makes no sense on an active page. Do you just not care or don't have the time or what?


[fix][meta] deadlock of zkSessionWatcher when zkConnection loss

Fixes #20105
Motivation
The deadlock is caused by the different acquiring lock order in zkwatcher callback and connection check thread in zkSessionWatcher. Meanwhile, the lock of ZkSessionWatch is intending to  project the currentStatus field,  no need  to perform a lock operation when executing checkConnectionStatus method.
Modifications

don't perform a lock operation in ZKSessionWatcher.checkConnectionStatus method, which runs in single thread.
perform a lock operation in ZKSessionWatcher.checkStatus method.

Verifying this change

[x] Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Could you provide the the dump file or thread stacktrace  ?

Hi @tiny-rain
This problem should be fixed by https://github.com/apache/pulsar/pull/18446
It changed to another thread, not zk internal thread.

@tiny-rain could you please help fix the CI?

@mattisonchao can the CI re-run again , i check the failed 2 failing check is caused by : Unknown host repo.maven.apache.org: Name or service not known

As discussed on the mailing list https://lists.apache.org/thread/w4jzk27qhtosgsz7l9bmhf1t7o9mxjhp, there is no plan to release 2.9.6, so I am going to remove the release/2.9.6 label


Explicitly set "model" property for models that support it

Explicitly set "model" property for models that support it
This change allows us to automatically set the "model" for the following model parsers:

OpenAI
Anyscale Endpoint
Hugging Face text generation
PaLM
Dall-E

Without this change the local editor breaks because if a user doesn't explicitly specify the "model" property in settings metadata, inference fails for (some of) the above model parsers. This isn't ideal, because the user has already selected the model they want to use from the model selector, so shouldn't need to additionally specify a model id as well.
There is still a larger issue of how we distinguish a model ID from a model parser ID. Filed #782 to come up with a proper fix for that.

Stack created with Sapling. Best reviewed with ReviewStack.

-> #783
#778

This feels really weird to make the model parsers do this instead of adding it as a centralized SDK functionality. See comments in here for how I think we should do it: https://github.com/lastmile-ai/aiconfig/pull/765#issuecomment-1878297875
Do you want me to take over this task? I can do it

This feels really weird to make the model parsers do this instead of adding it as a centralized SDK functionality. See comments in here for how I think we should do it: #765 (comment)
Do you want me to take over this task? I can do it

Chatted offline with @rossdanlm, we are good to go with this change. Different model parsers can have different properties so it isn't possible to have a centralized place to do this.

I think this is probably the right solution currently, just need to make sure it's well tested.
Note that this takes the stance that an AIConfig can be valid even with a "dangling foreign key" to the global model mapping, and it's the parser's responsibility to fill in the gap. IMO it would be better to constrain AIConfigs to not have dangling pointers, but I don't know if that can actually be enforced currently via the CRUD API.

Test plan:
https://github.com/lastmile-ai/aiconfig/assets/25641935/32975ac4-096e-46df-8e03-51a0f2b93dae
Also tested with dalle3 (not shown)


Delaying the opening of files in uproot.dask

Just opening an issue to discuss feature 3 of the uproot.dask() as mentioned in #578

Sometimes, just opening files is an expensive operation that we want to avoid on the Dask client (e.g. there are too many files). We want to delay the tasks of opening the files and getting TTree objects out of them, so that this is only done on distributed workers, not locally on the user's client. This would have some drawbacks: you can only know the names and dtypes of the TBranches if you've read at least one TTree metadata (and assume they all have the same names and dtypes), and you can only know the lengths and chunk sizes of the arrays if you've read all TTree metadatas. It would be pretty hard to do much without knowing the TBranch names and dtypes, but Dask allows arrays with unknown chunk sizes. How would you add a open_files=False option that (a) reads TTree metadata only from the first file, (b) assumes all files have the same names and dtypes, and (c) creates Dask arrays with unknown chunks that open files upon compute? Unlike (2), this goes beyond what uproot.lazy could do.

I did give it a thought about how I could implement this. It looks like I'll have to wrap uproot.open() with a dask.delayed() decorator and then use DelayedTTree[key].array() as a delayed function call with start and  stop as parameters. This delayed array will then be fed to dask.array.from_delayed as already implemented.
As already discussed, unknown chunk sizes can be used here, but unknown chunk sizes seem to be an implicit paradigm in dask, with no clear way of passing info to dask.array.from_delayed() that we want to use unknown chunk sizes. Passing (np.nan,) or something like that might work. But I will have to test this.
Luckily, dask.array.concatenate() does have a allow_unknown_chunksizes: bool parameter that will be super useful in concatenating individual dask arrays. That means I will only have to figure out how to indicate unknown chunk sizes to dask.array.from_delayed(), and everything after that is straightforward.

Earlier today, I told @douglasdavis about your work, since you'll eventually be using https://github.com/ContinuumIO/dask-awkward/, and also we want to be sure you're using Dask effectively. He might have some ideas about making a Dask array from N files without opening all N files (opening just the first one to get the names and types). We necessarily would not know how many entries each file has or what the total number of entries is.

Thanks for pinging me here @jpivarski - yes it's certainly straightforward to delay opening files. The absolute simplest case would be something of the form:
from dask.delayed import delayed
import dask.array as da

import uproot
from uproot.behaviors.TTree import TTree

@delayed
def delayed_tree(file_name: str, tree_name: str):
    return uproot.open(file_name)[tree_name]

@delayed
def delayed_array(tree: TTree, branch: str):
    return tree.arrays(branch, library="np", how=tuple)[0]

def arrays_from_uproot(files: list[str], tree: str, branches: list[str] | None = None):
    # use tree0 to get metadata; assume all other files have the same
    # structure.
    tree0 = uproot.open(files[0])[tree]

    # this is probably too simple; here just for example.
    if branches is None:
        branches = tree0.keys()

    # do something to determine the NumPy dtype for each branch (for
    # example we'll use a lambda function which can do this).
    get_dtype = lambda tree, branch: tree[branch].interpretation.numpy_dtype
    dtypes = {branch: get_dtype(tree0, branch) for branch in branches}

    # here `trees` is a list of Delayed objects that represent an
    # eventual concrete uproot TTree.
    trees = [delayed_tree(f, tree) for f in files]

    intermediate_results = {branch: [] for branch in branches}
    for branch in branches:
        for tree in trees:
            intermediate_results[branch].append(delayed_array(tree, branch))

    results = {}
    for branch, delayeds in intermediate_results.items():
        arrays = [
            da.from_delayed(d, shape=(np.nan,), dtype=dtypes[branch]) for d in delayeds
        ]
        results[branch] = da.concatenate(arrays, allow_unknown_chunksizes=True)

    return results


Par write added, updated README, anon=True

Incorporating some add'l feedback from @maxrjones.

pre-commit-config.yaml updated + CI added
parallel_reference_generation.ipynb notebook should now include code to write combined references to parquet.
README.md updated to add references to CarbonPlan's work in extreme-heat.
Adds "anon":"true" to storage_options to allow for anon reads.

Thanks @norlandrhagen, demo is looking really good!
A couple last suggestions:

I think it would be good to remove the unused functions from utils.py (those not used in the comparison notebooks)
The datatree example notebook doesn't seem to be working. Can you please look into this error (I used calc_wbgt(dt['ACCESS-CM2']['ssp245'].ds.isel(time=slice(0, 365))) to test in on a single example)?
ValueError: cannot align objects with join='exact' where index/labels/sizes are not equal along these coordinates (dimensions): 'lat' ('lat',)

Thanks @maxrjones!

utils.py should be cleaned up.
For #2  I think the issue in calc_wbgt(dt['ACCESS-CM2']['ssp245'].ds.isel(time=slice(0, 365))) is that the ds accessor for datatree returns a datatree.DatasetView instead of a dataset. If you run:
calc_wbgt(dt['ACCESS-CM2']['ssp245'].to_dataset() calc_wbgt runs fine.


there is something wrong with radio

Following image shows the code added in the plunker

And following image shows the outcome

Thank you for reporting the issue.
The styling is far from perfect and intended to be more of a demonstration at this point of time. But when I find the time, I will have a look into it.

@xing-zhi simple solution for now would be to just use one required attribute and to adjust the insertErrorTpl-function to your needs. I'm also working on a new directive for such cases.

@xing-zhi After playing around a little with the different options like wrapper directive or a custom directive you can use to place the validations everywhere inside the form, I decided, that using a single required attribute, is the best solution for this use case. But I'm open to suggestions. What would be the behaviour you expect? Do you (or someone else) suggestions how this should be handled?

@johannesjo Thank you very much! "Using a single required attribute" is a good solution.  The radios not be selected will be added the error style when the form submited is the behaviour I expect at present. (Sorry about any Chinglish!)

I'm happy that it works out for you this way. For now I can't think about a elegant solution, as there are too many possible markups for this kind of thing, which might be conflicting with others.