Online aggregation / Interactive Query Session Protocol

This issue discusses two proposals: "Online aggregation" and "Interactive Query Session Protocol" because they are very closely related to each other.
Online aggregation
Previously the "online aggregation" concept in the context of Druid was proposed as "incremental query results", but to avoid a clash with "incremental" term as used in IncrementalIndexes, and because it seems that "online aggregation" term is most often used to refer to this concept in scientific papers and elsewhere (possibly beginning from the Online aggregation paper by JM Hellerstein et al, 1997) it's suggested to stick to "online aggregation" from now on.
To facilitate human interactions with analytics and data exploration interfaces backed by Druid, and also to reduce percieved Druid's error rates online aggregation must be implemented on the level of Druid's Broker nodes. See The case for interactive data exploration accelerators (IDEAs) by A Crotty et el, 2016, and related research for some data and ideas related to this topic.
To help readers better understand online aggregation, I first describe "offline" aggregation, i. e. what is already implemented in Druid:
"Offline" (default) aggregation
Simple HTTP request-response between a Druid's Broker node and a client. (Possibly proxied through a Router node).
Broker determines all segments needed to compute results for the query and historical nodes on which those segments are loaded (except for segments for which results of the current query are found in cache). Broker sends requests to all those historicals to execute the query over all those segments. When historicals send the results back, Broker aggregates them all and send results back to the client (or a Router, if the request is proxied through it). This logic is implemented mainly in CachingClusteredClient class.
Online aggregation
Works on top of HTTP streaming or WebSockets connection between a Druid's Broker node and a client (possibly proxied through a Router node).
Broker determines all segments needed to compute results for the query and historicals on which those segments are loaded, but may not send requests to historicals to execute the query over all those segments right away. Instead, if, for example, there are 10 partitions in all intervals covered by the query, broker sends requests to historical to execute the query over 3 segments in each interval (not necessarity with partition numbers 0, 1, and 2; they may be chosen randomly for each interval in separation). As soon as results for at least two segments in each interval arrive to Broker, Broker sends requests to historicals to execute the query over the next portion of segments in each interval. Broker aggregates incoming segment query results from historicals in background. From time to time Broker sends progressively more complete aggregation results (partial aggregation results) back to the client.
Fault tolerance: if some historical failed to return results for some segment (or timed out), Broker tries to send this request to another historical node on which the segment is loaded. It may also avoid sending more requests to that historical node for other segments in the course of this online aggregation session.
The reasoning and the principle behind the throttling of broker -> historical requests: a user interacting with the analytical interface may quickly narrow down the query or start executing another, entirely different query, not interested in the results of the current query anymore (by closing the browser tab, or going to "Home" in the interface). In this case an attempt to compute the most precise results with the maximum possible speed (bound by the throughput of the Druid cluster) will turn to be a waste of resources.
In the example above, Broker sends requests for 3 segments in each interval out of 10. A possible general principle is to not having more than 1 or 2 outstanding segment query executions on any historical at any time. This is because if historicals use HDDs or network-attached disks, and the segments don't appear in the page cache (reminder: they are all memory-mapped, but there is an idea to move away from that) more segment query executions will likely anyway queue up inside the historical, contending for I/O. So, that "1 or 2" (or more? configurable?) may depend on the recency of the interval, because more recent data is more likely to appear in the page cache.
Results format: along with ordinary aggregation results (on each iteration), Broker sends to the client the information of over what fraction of total data the current results are aggregated. It may also send estimated error / confidence intervals of the partial aggregation, if it is able to compute them for the given aggregation function, and if the user opts to recieve such data.
Broker also sends a flag indicating that the partial aggregation results may be skewed, e. g. if the partial aggragation contains no data from some interval(s) covered by the query (because of availability problems, slowness, errors, etc) or if there are disproportionate amounts of rows from different intervals it's not possible to adjust them for the aggregation function(s) that we compute, or if rows are partitined between segments within intervals based on some key rather than randomly.
When (how often) broker sends partial results back to the client: it may be a combination of the following factors:

Time: send something (whatever new results Broker has since the previous sending) every X seconds. This is to ensure interactivity and feed the user with new information timely. X may increase since the beginning of the query. E. g. timeouts may be: 0.5 seconds since the beginning of the query, 1s, 2s, 4s, 6s, 8s, 12s, 16s, ... A sending is skipped if there is no new segment results aggregated on Broker since the previous sending.
Readiness thresholds: send partial results to the client when we estimate that 90% (95? 99?) rows that should be covered by the query are already aggregated. It needs to fire only within the first 0.5 seconds since the beginning of the query execution (or whatever the first timeout is), to make the analytics interface to be percieved as even faster by the user. It probably shouldn't fire sooner than in 0.1 seconds since the beginning of the query execution, because it's where a user stops to notice difference.

Aggregation: for simple Sum and Count aggregators, interpolation of partial results to projected final values is pretty trivial, if historicals send the numbers of rows in segments and (for sum aggregators) the numbers of aggregated rows (i. e. Count) along with segment results themselves. For some other aggregators approximation of final results by partial results is non-trivial and may require using tools such as sketches (FYI @leerho, @edgan8) in Broker's memory, although neither the data nor the aggregation requested by the user has anything to do with sketches. This may be futher complicated by the requirement to estimate errors / condifence intervals of the partial aggregation results (see above).
However, even if during online aggregation approximation / projection of final results by partial results is not done at all and partial aggregation results are returned to the client as if it was all the data that needs to be aggregated, this is still much better than offline aggregation and in fact may not be noticeably worse than a sophisticated approximation algorithm from the user's perspective, because users may only be interested in the relative weights of different rows topN and groupBy results or a general trend in timeseries results, not the absolute values. Many visualisations even don't show users absolute values and let them only percieve relative weights (pie charts, bar charts).
JSON vs SQL query: it would be nice if online aggregation was agnostic to the query format and work with JSON as well as SQL queries.
Interactive Query Session Protocol
Interactive Query Session Protocol works on top of online aggregation. It doesn't seem that it provides much benefit without online aggregation implemented.
It may be implemented as an actual protocol on top of a single WebSocket connection, or just be a loose agreement about the expectations between clients and Druid nodes (Brokers, Routers), although each query is a separate HTTP Streaming / WebSocket interaction.
The idea is that human interaction with an analytics interface often appears to be a series of "drilling-down" queries: each following query is the previous query + more dimension filters. As soon as user starts the next query, he stops being interested in the previous query to be computed further, but it's likely that a user will return to that less selective query soon. There are also "sibling" query transitions on the same level of selectivity: e. g. a user moves from query with a filter dim1 = value1 to an otherwise identical query with a filter dim1 = value2, or dim1 IN {value1, value2}, or dim1 != value1.
Interactive Query Session Protocol (IQSP)
All queries within the human interaction session should end up on the same Broker. Unless IQSP is implemented as an actual protocol on top of WebSocket, user (analytics interface) need to make sure to query the same Broker within the session, or a Router node needs to identify a session heuristically or with help of some extra headers in requests and route all queries within a session to the same Broker.
As soon as the next query in the session arrives, broker stops online aggregation of the previous query, but doesn't drop the partial results and the query execution state until the end of the session. If a user returns to this query later in the session, broker will resume its execution from where it stopped.
After certain "sibling" transitions, broker may be able to provide some results to the client before querying any historical nodes, by manipulating the cached results of previous less selective queries and the previous "sibling" query. E. g. dim1 = value1 -> dim1 != value1 transition, and dim1 = value1 -> dim1 IN {value1, value2}, if dim1 = value2 already appeared earlier in the session.

@leventov I'm not sure what problem you're trying to solve with online aggregation. Is it the problem of "heavy queries blocking light queries"? For this problem, I think https://github.com/apache/incubator-druid/issues/6993 is a better approach because it also considers what query is important. Sometimes, a heavy query is more important than others and should be finished quickly.
Also, as far as I remember, the online aggregation defines query interface as well as query processing method. The query interface of online aggregation shows the query result with an error rate before the entire query processing completes. As query processing progresses, the query result becomes more accurate.
I'm not sure where this interface is appropriate for. Usually people already know what error is allowed and want for their queries to be finished as soon as possible in the error bound. Do you have any particular example of this use case?
Finally, the query result accuracy is highly related to the input sampling. Do you have an idea of how good the accuracy is with the random segment selection?

Also, I think we have agreed on the proposal template. Would you please update the proposal based on the template?

Is it the problem of "heavy queries blocking light queries"?

No, that's an orthogonal issue. Online aggregation addresses two big things:

Fault tolerance and query latency: show a user something quickly, rather than waiting for the latest struggling segment computation, or failing a query completely if one segment computation has failed or one segment is not loaded in the cluster. See this post.
Avoid making unneeded computations: it's assumed that when a user sees first approximate results, he may move on to the next query, not interested in precise results of the previous query anymore. Less selective queries are sometimes (often?) used just as a means of navigation to more selective queries.

Also, as far as I remember, the online aggregation defines query interface as well as query processing method. The query interface of online aggregation shows the query result with an error rate before the entire query processing completes. As query processing progresses, the query result becomes more accurate.

I'm not sure where this interface is appropriate for. Usually people already know what error is allowed and want for their queries to be finished as soon as possible in the error bound. Do you have any particular example of this use case?

I don't see how the sentence "Usually people already know what error is allowed and want for their queries to be finished as soon as possible in the error bound." is connected with the rest of this part of your message. But I think that usually people don't know and/or don't care about error bounds. People want to see something as soon as possible. For navigational topN queries in the interface, for example, they often care only about top1 to filter on it, or filter on some value that they already have in mind (e. g. "country = US"), so they merely need to start to see dimension values to be able to click on one of them, not caring about the topN values themselves at all.

I'm not sure where this interface is appropriate for.

I think all interfaces such as Superset, Imply's interface and Metamarkets's Exlore can adapt to online aggregation to improve user experience.

But I think that usually people don't know and/or don't care about error bounds. People want to see something as soon as possible.

@leventov thanks. I think this is the argument. I think people should know it. For an extreme example, no one wants the result of 1% of accuracy. They might not know the exact allowed error bound, but at least they should know a rough one. Then, I think updating the query result progressively is not necessary because, as you said, they want to see the query result as soon as possible. Once the query result shows up and the error bound is allowed, they will just want to do something else rather than waiting for the query result to be more accurate. If this makes sense, the query can be processed by just sampling some segments and returning an approximate result.
I think this is why the online aggregation hasn't been implemented in any production systems even though it's been almost 20 years since it was introduced.

I think this is why the online aggregation hasn't been implemented in any production systems even though it's been almost 20 years since it was introduced.

I think not quite true. Splunk does something like this. I couldn't find documentation on it, but I think the feature is called a "preview". It can show time charts and tables that sort of bounce around until they're done being computed, and at that point a checkmark is shown. I found it useful for search results, but annoying for aggregations (since the previewed results can easily be misleading, like a time chart in a totally different shape from how it will end up being).

In the context of how Druid is usually used, I could see this functionality being useful for topNs that are used for autocomplete or quick-filter widgets (they are sort-of like searches and partial searches can be useful). But I would shy away from it for most visualizations, for the reason above (it can easily be misleading).

@gianm thanks. Good to know Splunk has a similar one.

An additional idea here (from this paper by Eric Brewer, "Graceful degradation" section) is that as soon as there are first results ready for a query on a Broker, it can allow the next query to start in parallel. If the current limit of parallel queries on a Broker is X, we can make the limit of "parallel already partially computed queries" 3X or 5X, for example. This may help in case of Broker's overload so that it returns something useful to more clients faster (but they may wait for longer for complete results). This will also require different prioritization of per-segment queries on Historicals.
The effectiveness of running some NCPU * 5 processing threads may be reduced through unless we move to async data processing (at least in the part of the system where Broker aggregates partial results from Historicals).

I think the interval chunking query runner is a partial solution for this. Since the json result is streamed back, with interval chunking some of this is implemented for time-series-like queries. But it would certainly be helpful for many interactive query tools and UIs.

In Big Data Visualization and Analytics: Future Research And Emerging Applications (a review from SIGMOD 2020), two scientists, Jean-Daniel Fekete and Tim Kraska, explicitly mentioned progressive analytics.

In Big Data Visualization and Analytics: Future Research And Emerging Applications (a review from SIGMOD 2020), two scientists, Jean-Daniel Fekete and Tim Kraska, explicitly mentioned progressive analytics.


NPM version outdated

Is there a reason this package hasn't been published to npm? I'd like to use this package but I have to clone it because I need the latest version.
Thanks.

There are no tests or active maintainers to make sure features work as intended. (i don't want to break anyone's code by publishing an untested version)
You can add the github repo directly as a dependency in npm.
eg.: npm i tamkeen-tms/electron-window-manager#master

@a-sync Ok thanks for the info. See this mentioned in PR https://github.com/tamkeen-tms/electron-window-manager/pull/81 too.
Is there any preferred approach to writing tests?

Nothing established here. Spectron could be a good approach perhaps. https://www.electronjs.org/docs/tutorial/automated-testing-with-a-custom-driver
But more then anything this repo would benefit from a rewrite in typescript, and an update to the core functions using electron APIs to support the latest version and features/options.


Add PHP 8.2 Support

Based on the PR for 8.0 and 8.1 support and the original code from https://github.com/baronbiosys/PHP-CPP/pull/1/commits/58c1d78c62b431acc6caea845ff00a8efeb22746 this adds conditional support for PHP 8.2

This has been merged into a maintained fork here: https://github.com/fast-debug/PHP-CPP/pull/13


Add --wolfi-defaults flag, clean up flag handling.

Prior to this change, wolfi repo / keyring was hardcoded to python/gem convert command. Add a flag --wolfi-defaults if set to false will not do that. Motivation is that then removing them is manual work, that shouldn't be necessary. Default behaviour is unchanged.
Also unified the flag handling so that the common flags are specified in one place and not replicated.
Also fixed couple of .Equal commands where the expected / got were reversed which made it wonky to read the output.

Fixes: #638


jenkins is dead, long live buildkite

Would have been nice to update the docs for what things are built by Jenkins :(

sorry, which docs are those?

The proposals stuff says it's auto-generated by Jenkins, which looks like it is no longer the case.

see #1981


User interface

This branch contains the basic flow of the Tic tac toe game.
The logic part of the game is not implemented, yet.
This branch only showcases our the users will interact with the game.

@NtwaliHeritier  this branch is only for the user interface, I don't need to put any logic yet into the project. what I'm trying to do now is to show how the game will interact with the user, also I mention those things in the comments I put in the code. I also simulate a way to break out the while loop. the logic goes for milestone 3 and I'm currently doing milestone three I don't understand why should I call any method yet as per the requirement of that milestone I only need to show the basic flow of how the game will interact with each player.

@NtwaliHeritier  this branch is only for the user interface, I don't need to put any logic yet into the project. what I'm trying to do now is to show how the game will interact with the user, also I mention those things in the comments I put in the code. I also simulate a way to break out the while loop. the logic goes for milestone 3 and I'm currently doing milestone three I don't understand why should I call any method yet as per the requirement of that milestone I only need to show the basic flow of how the game will interact with each player.


[DatePicker] Can not receive focus

Input element in datepicker can not receive focus, is there easy way to fix this behavior?

Quite old but... +1 :)

Ok I found a solution with onFocus() and openDialog(), it's just very tricky to not openDialog() when click on it !

it's just very tricky to not openDialog() when click on it

I think we do. Can you check here http://material-ui.com/#/components/date-picker?

Yes I checked all of this page, but I had to do that:
    _handleFocusDateBegin(event) {
        // Ignore when click directly
        if (event.relatedTarget !== null) {
            this.refs.dateBegin.openDialog();
        }
    },

It's ugly but DatePicker is not triggered 2 times.

@otroboe Are you using the React-Tap-Event-Plugin?

@oliviertassinari Yes. But how do I know if it's correctly enable ?

Closing this issue as it seems like a workaround was found.
@otroboe is this easier to do with the new props that were introduced for Dialog (open etc.)?


No Audio on Kasumi

Describe the bug
On Kasumi (Acer A4 Chromebook) devices, the script does not work. On Fedora 40 KDE Spin it shows two audio devices named
Pro Audio" and "Pro Audio 7". When clicked a toast notification showing HDMI 0 or HDMI1 appears. (It should be noted this device has no HDMI ports). Neither device works, nor does testing the 8 audio streams related to each device (Labelled aux0-7).
On LMDE it only shows Dummy Output. I chose to install the Custom Kernel.  On EndeavourOS I have the option to select Digital Surround Sound 5.1 (HDMI/AC3), Digital Surround Sound 5.1 (HDMI 2/AC3), and Pro Audio and none of them output audio
Tested on: Fedora 40 KDE Spin, Linux Mint Debian Edition, EndeavourOS
Boardname
Kasumi
Logs
Generate logs with wget https://raw.githubusercontent.com/chrultrabook/linux-tools/main/debugging.sh; bash debugging.sh and attach the output here.
Please note that these logs are from a Live Disk of Fedora 40 KDE spin. I ran the script, logged out and logged back in. If this isn't sufficient please let me know. I didn't want to wear out the eMMC memory on it so I decided not to reintsall an OS. It's currently still on Endeavour which doesn't boot. I will reinstall Fedora or LMDE if needed.
debug-logs.tar.gz
EDIT: EndeavourOS output, I got it to boot.:
EOS-debug-logs.tar.gz
Please let me know if I can post anything else here to help. This device is not mine and is for a relative and I wasn't really expecting the audio not to work as the script worked fantastic on another (different board) device.

Edit: Looks like I need a custom kernel, as per: https://docs.chrultrabook.com/docs/firmware/supported-devices.html
I've been looking around and researching how this works and feel a bit overwhelmed. The most common thing I see people saying is to use https://fs.nightcore.monster/chromebook/stoney/kernel/latest.tar.xz but I am unsure of the safety of this kernel as I don't know if the people who compiled it are reputable in the community or if it is someones private build. I looked into compiling for myself but I could only find https://github.com/chrultrabook/stoney-kernel/tree/main and it looks like it only supports Alpine? I'm currently compiling "none" to see if I can get it to work with Fedora. I am not too sure what I'm doing but I think I should take the rest of this to the forum. I'll link my post here when I get registered. https://forum.chrultrabook.com/
Going to put the other models here so they can see this when they are having a similar issue as it seems like all of these models need this kernel.
ALEENA BARLA CAREENA KASUMI KASUMI360 LIARA TREEYA TREEYA360


New section under "ECS best practices"

New section proposal
CloudWatch agent now has capability to push Open Telemetry data. (For example : https://aws.amazon.com/blogs/mt/using-the-unified-cloudwatch-agent-to-send-traces-to-aws-x-ray/)
We propose a new section under AWS Native (within ECS Best Practices) to provide the use case of application level metrics collection using CloudWatch Agent. (this is separate then Application Signals)
Me and Shane Carragher are up for authoring the section.

I will help with this

I will help with this

Great.


Change version to c++14 in CMakeLists

Enable c++14 flag in cmake configuration.

@alekgajos I removed the comment as suggested


docs: input tokens

Pull Request
📖 Description

🎫 Issues

👩💻 Reviewer Notes

📑 Test Plan

✅ Checklist
General

[ ] I have added tests for my changes.
[ ] I have tested my changes.
[ ] I have updated the project documentation to reflect my changes.
[ ] I have made sure to follow the projects coding and contribution guides.

Component

[ ] I have created a new component.
[ ] I have added changes to an already existing component.
[ ] I have written integration tests (or have adjusted already existing ones).
[ ] I have validated that there are no accessibility errors.
[ ] I have created or updated any stories affected by my changes.
[ ] I have used design tokens instead of fix css values

@LeaLeRose LGTM.


badges at port does not work

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
I try to retrieve a status - badges at a service, but I only get a N/A as answer!
Screenshots

Would be happy about a patch :)
👟 Reproduction steps
I tried to call the badges of Status with the ID of a created monitor with the check port.
👀 Expected behavior
I thought there is something like "Status UP" now
😓 Actual Behavior
Currently only a "N/A" is output!
See screenshot above
🐻 Uptime-Kuma Version
1.20.2
💻 Operating System and Arch
Ubuntu 20.04.5 LTS \
🌐 Browser
Firefox V110
🐋 Docker Version
Docker version 20.10.12, build 20.10.12-0ubuntu2~20.04.1
🟩 NodeJS Version
-/-
📝 Relevant log output
No message in the logs!

root@Max1021Vweb:~# docker logs uptime-kuma
==> Performing startup jobs and maintenance tasks
==> Starting application with user 0 group 0
Welcome to Uptime Kuma
Your Node.js version: 16
2023-02-27T19:51:56Z [SERVER] INFO: Welcome to Uptime Kuma
2023-02-27T19:51:56Z [SERVER] INFO: Node Env: production
2023-02-27T19:51:56Z [SERVER] INFO: Importing Node libraries
2023-02-27T19:51:56Z [SERVER] INFO: Importing 3rd-party libraries
2023-02-27T19:51:58Z [SERVER] INFO: Creating express and socket.io instance
2023-02-27T19:51:58Z [SERVER] INFO: Server Type: HTTP
2023-02-27T19:51:58Z [SERVER] INFO: Importing this project modules
2023-02-27T19:51:58Z [NOTIFICATION] INFO: Prepare Notification Providers
2023-02-27T19:51:58Z [SERVER] INFO: Version: 1.20.2
2023-02-27T19:51:58Z [DB] INFO: Data Dir: ./data/
2023-02-27T19:51:58Z [SERVER] INFO: Connecting to the Database
2023-02-27T19:51:58Z [DB] INFO: SQLite config:
[ { journal_mode: 'wal' } ]
[ { cache_size: -12000 } ]
2023-02-27T19:51:58Z [DB] INFO: SQLite Version: 3.39.4
2023-02-27T19:51:58Z [SERVER] INFO: Connected
2023-02-27T19:51:58Z [DB] INFO: Your database version: 10
2023-02-27T19:51:58Z [DB] INFO: Latest database version: 10
2023-02-27T19:51:58Z [DB] INFO: Database patch not needed
2023-02-27T19:51:58Z [DB] INFO: Database Patch 2.0 Process
2023-02-27T19:51:58Z [SERVER] INFO: Load JWT secret from database.
2023-02-27T20:51:58+01:00 [SERVER] INFO: Adding route
2023-02-27T20:51:58+01:00 [SERVER] INFO: Adding socket handler
2023-02-27T20:51:58+01:00 [SERVER] INFO: Init the server
2023-02-27T20:51:58+01:00 [SERVER] INFO: Listening on 3001
2023-02-27T20:52:22+01:00 [AUTH] INFO: Login by token. IP=<IP_ADDRESS>
2023-02-27T20:52:22+01:00 [AUTH] INFO: Username from JWT: Maximilian1021
2023-02-27T20:52:22+01:00 [AUTH] INFO: Successfully logged in user Maximilian1021. IP=<IP_ADDRESS>
2023-02-27T20:52:47+01:00 [AUTH] INFO: Login by token. IP=<IP_ADDRESS>
2023-02-27T20:52:47+01:00 [AUTH] INFO: Username from JWT: Maximilian1021
2023-02-27T20:52:47+01:00 [AUTH] INFO: Successfully logged in user Maximilian1021. IP=<IP_ADDRESS>
2023-02-27T20:55:24+01:00 [AUTH] INFO: Login by token. IP=<IP_ADDRESS>
2023-02-27T20:55:24+01:00 [AUTH] INFO: Username from JWT: Maximilian1021
2023-02-27T20:55:24+01:00 [AUTH] INFO: Successfully logged in user Maximilian1021. IP=<IP_ADDRESS>

Did you add the monitor to a status page first?

This is a stock monitor... I just saw in the changelog that it was added and I wanted to include that right away Am 28.02.23, 11:06 schrieb Nelson Chan @.***>:
Did you add the monitor to a status page first?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Currently you have to add a monitor to a status page before you can access the badges.

Okay.. That could be the problem with me. I will try this tonight...

Sorry. I misunderstood your first answer. Thought you meant whether I have already created.
I put it in a status page and now it works!
Thanks


Update HealthChecker.ps1

Updated "VCRedist2013 = 201367252" to "VCRedist2013 = 201367256" - it`s latest version of VC redist 2013.

Already fixed in v2.34

Closing, this is fixed in the next release.


Reactivity doesn't work when used with both @html and an if(browser) check in combination.

Describe the bug
This code works as expected and displays "goodbye" to the page along with "running" in the console:

{text}

But this code incorrectly displays "hello" on the page, even though "running" is still printed to the console:

{@html text}

I messed around with this a bit and was able to get correct results ("goodbye" showing up after 500ms) with this code:

{@html text}

and this code ("goodbye" showing up immediately):

{@html text}

Reproduction
Create a new, empty SvelteKit project, paste the above code, and run the dev server. Saving the file will automatically refresh the page and display the correct results, but manually refreshing the page after that (without editing the code) displays incorrect results every time.
EDIT: https://github.com/OOPS-Studio/svelte-reactivity-bug
Logs
No response
System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
    Memory: 1.16 GB / 11.80 GB
  Binaries:
    Node: 22.2.0 - C:\Program Files\nodejs\node.EXE
    npm: 9.6.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Chromium (127.0.2651.74)
    Internet Explorer: 11.0.22621.3527
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.2.5
    @sveltejs/kit: ^2.0.0 => 2.7.1
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.1.2
    svelte: ^4.2.7 => 4.2.19
    vite: ^5.0.3 => 5.4.9

Severity
serious, but I can work around it
Additional Information
No response

Are you using Svelte 4 or Svelte 5? https://svelte-5-preview.vercel.app/docs/breaking-changes#other-breaking-changes-img-src-and-html-hydration-mismatches-are-not-repaired This is an intended breaking change in v5.

As an additional aside - it appears that the if(browser) check is just not working as expected anyway. I'm not entirely sure how it's intended to work, but even with this (properly-functioning) code from above:

{text}

The "hello" is still visible on screen for a second before being replaced with goodbye. I thought this could be due to prerendering automatically injecting "hello" into the HTML during page load, and then once the JavaScript loads it gets replaced with "goodbye"... But even when I disable prerendering this still occurs. Again, I'm not entirely sure how it's supposed to work, but it sees like all of this JavaScript should be executed synchronously and the "hello" portion should never even be reaching the DOM? There shouldn't be an update cycle between let text= "hello"; and tet = "goodbue";, but the way it works right now it seems like let text = "hello"; is being executed by itself, and the if(browser) portion is being delayed - which does not seem logical. browser should be determined before the code is even run at all, so both statements should be able to be executed together without one having to wait.

Are you using Svelte 4 or Svelte 5? https://svelte-5-preview.vercel.app/docs/breaking-changes#other-breaking-changes-img-src-and-html-hydration-mismatches-are-not-repaired This is an intended breaking change in v5.

I'm actually not sure. To be honest, I wasn't even aware Svelte 5 had released yet and a very brief search on the internet didn't yield any concrete answers. My Svelte and SvelteKit versions are included in the original Issue, but I assume 4.2.7-4.2.19 should be Svelte 4 and not Svelte 5. Not sure though.

I'm also curious - in this link https://svelte-5-preview.vercel.app/docs/breaking-changes#other-breaking-changes-img-src-and-html-hydration-mismatches-are-not-repaired it suggests that the solution to this problem is simply to overwrite the values in an onMount() - but doesn't that yield an entirely different result?
The code inside an if(browser) statement will run instantly when the JavaScript loads, allowing it to modify properties before the first paint, while onMount() runs only after a mount - which is after the first paint. This means that any changes that are moved from if(browser) into onMount() will start to cause layout shifts that would have otherwise been avoided.
Am I understanding this correctly or do I have something confused? In my code, if I move my logic from if(browser) into an onMount() then I get widly different results, so it seems strange to me that that's currently the recommended solution.

Please provide a minimal reproduction in the form of a repository. It's difficult to reproduce the issue from following instructions spread out through multiple comments.

Alright, here's the repository. My bad for not including that initially - I completely missed the fine print on the promp where it asked to link a repository. I assumed "Reproduction" was shorthand for "Steps to reproduce"
https://github.com/OOPS-Studio/svelte-reactivity-bug
Running npm run dev and opening the page will incorrectly display "hello" on the page, with "running" in the console.

Given that we changed this in Svelte 5, I would rather not fix this within Svelte 4 (if it's a Svelte issue). Does one of the suggested workarounds in the linked breaking changes section work for you?

Given that we changed this in Svelte 5, I would rather not fix this within Svelte 4 (if it's a Svelte issue). Does one of the suggested workarounds in the linked breaking changes section work for you?

Running the change in a $effect works for me

Does one of the suggested workarounds in the linked breaking changes section work for you?

As far as I know, no. Unless there's some other way to update the page's HTML on only the client side that's earlier than onMount(). The suggested solution of onMount() (or $useEffect() if I was on Svelte 5) doesn't give me the same results, as I want to change the component's HTML before mounting to avoid a repaint/content shift. Is there some other way to do this?
I want to change the HTML according to data that's only available on the client (browser window size, URL hash parameter, pixel density, etc), but I want to make that change before onMount(). I think if(browser) was the only way to do this but I might be mistaken.

I want to change the component's HTML before mounting to avoid a repaint/content shift

A repaint/content shift is unavoidable. You're changing the content of the @html tag that was already rendered of the server, there will always be one regardless

Closing this as it's fixed in Svelte 5


Add Ui component

Separating the sidebar into small components to make it easier to maintain.

Codecov Report
Base: 64.62% // Head: 63.87% // Decreases project coverage by -0.75% :warning:

Coverage data is based on head (6b9ccff) compared to base (d767141).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #55      +/-   ##
============================================
- Coverage     64.62%   63.87%   -0.76%
  Complexity      439      439
============================================
  Files            84       85       +1
  Lines          1521     1539      +18
  Branches        167      167
============================================
  Hits            983      983
- Misses          496      514      +18
  Partials         42       42

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/SideButton.java
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Upgrade to .net core 3.1

fixed with https://github.com/asc-lab/dotnetcore-microservices-poc/commit/268f768d2ad043275f04ac59f907c37d0eb03bd4


TdLib for searchPublicChats() does not return anything

Initially I posted this issue in Airgram https://github.com/airgram/airgram/issues/84
TLDR:
searchPublicChats() Returns nothing, however  I see that on the low level TdLib received Sending update: updateUser {   user = user {...}
Any thoughts on this?

From description of the method searchPublicChats (https://core.telegram.org/tdlib/docs/classtd_1_1td__api_1_1search_public_chats.html): Excludes private chats with contacts and chats from the chat list from the results. If you want to get a chat from your chat list you need to use searchChats or searchChatsOnServer method.

Wrong method used. Resolved. Thanks


KYLIN-4766 Delete job tmp and segment file after job be discarded

Proposed changes
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have create an issue on Kylin's jira, and have described the bug/feature there in detail
[ ] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[ ] Compiling and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If this change need a document change, I will prepare another pr against the document branch
[ ] Any dependent changes have been merged

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

Codecov Report

:exclamation: No coverage uploaded for pull request base (kylin-on-parquet-v2@cd03d6d). Click here to learn what that means.
The diff coverage is n/a.

@@                  Coverage Diff                   @@
##             kylin-on-parquet-v2    #1425   +/-   ##
======================================================
  Coverage                       ?   24.26%
  Complexity                     ?     4587
======================================================
  Files                          ?     1128
  Lines                          ?    63670
  Branches                       ?     9392
======================================================
  Hits                           ?    15451
  Misses                         ?    46618
  Partials                       ?     1601

Continue to review full report at Codecov.

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


Remove deprecated fields

What does this pull request do?
Migrated from #1034 for newer branch name
Remove deprecated fields from the referral table
Remove unused field from the draft_referral table
Migration safety:

DROP COLUMN requires an exclusive lock during the DDL change, but does not rewrite the table. So the lock won't be held long. Still, the referral table is used in everything, so let's do this migration out of hours (past 9 pm).
pg_depends shows that only the two constraints are referencing these columns and they will be dropped automatically.

What is the intent behind these changes?
deprecated_assigned_* fields were a stepping stone in migrating assignments into referral_assignment. We left them in case we needed to roll back. They are no longer referenced or needed.
maximum_enforceable_days, completion_deadline and further_information are now in referral_details and not needed in either drafts or live referrals.
reference_number is not generated for draft_referral, so it does not have to exist.

deployed to production on 25 Feb 2023 (Saturday) at 20:54:08


sst start: stuck on transpiling code... when the debug stack DynamoDB table is manually removed

Solution

Need to print out more detailed message in non-verbose mode b/c sst start finished transpiling code already
Need to be able to detect the issue and notify user

We are transition this repo to https://github.com/sst/v2 and are closing this issue for now. If it is still relevant please reopen it there - sorry for the trouble


Added POHTreasureChestGEValue plugin.

Summary
A plugin that add the GE and / or High Alch value of the items present in the POH Treasure chest, to the title bar.
This plugin is heavily inspired by Runelite's bank plugin.

See here for the full README and Repo

I suggest reaching out in the #development channel of the RuneLite discord, this seems like functionality that would fit in the core client, since the core bank value already exists.


Migrate spring data cosmos sample

This pr migrates a sample of spring-data-cosmosdb to sdk/cosmos/azure-spring-data-cosmosdb/samples.

@JimSuplizio  - These set of samples are not related to azure-spring-boot-samples, but rather just a sample set of azure-spring-data-cosmosdb.
The difference between what is present here and what is present is azure-spring-boot-samples is that the latter one uses azure-spring-boot-starter projects as for samples.
Whereas this uses just the azure-spring-data-cosmosdb for the samples project.
That being said, I am also thinking, do we really need the samples project here, or can we have it somewhere else in a central location - like in azure-samples repo: https://github.com/Azure-Samples
@jialindai @yiliuTo @saragluna  thoughts ?

Hi @kushagraThapar , I agree with you that this sample is not related with those in azure-spring-boot project, and it's better to be placed here. As for your concern about moving this sample to a central repo, I think reserving this sample here can help guide the use of the azure-spring-data-cosmosdb project. Besides, in this stage of repo migration, how about we focusing on moving this whole spring-data-cosmosdb project to SDK repo first?

Hi @kushagraThapar , I agree with you that this sample is not related with those in azure-spring-boot project, and it's better to be placed here. As for your concern about moving this sample to a central repo, I think reserving this sample here can help guide the use of the azure-spring-data-cosmosdb project. Besides, in this stage of repo migration, how about we focusing on moving this whole spring-data-cosmosdb project to SDK repo first?

I agree on moving it as it is. I was wondering whether we should just leave it and not move it at all :)  And we can worry about it later.
But since the PR is already opened let's get it in now :)

/CC @mitchdenny
Right now, I kind of have a problem with this particular change for the following reasons:

This isn't hooked up to build anywhere
sdk/cosmos/azure-spring-data-cosmosdb/samples/example/pom.xml is using spring-data-cosmosdb-samples as its parent and which is using the spring boot BOM as its parent. Using the spring BOM defeats the centralized versioning and we allowed this for modules under spring because it was contained and, with this, it's no longer contained.
sdk/cosmos/azure-spring-data-cosmosdb/samples/example/pom.xml is also using the current version of spring-data-cosmosdb, along with #2 is going to ultimately cause problem.

Hi @JimSuplizio , for the point 1, I think I should add this sample as an additional module in sdk/cosmos/ci.yml. And for point 2 and 3, what is the meaning of "contained" you mentioned? Besides, since it's a sample project just like those in azure-spring-boot project, I think it's unlikely to be imported as a dependency by other modules in this SDK repo. And from this view, could it be permitted that this sample use spring boot BOM as parent instead of azure-client-sdk-parent?

//CC @kushagraThapar @saragluna
This sample should be with the other spring samples under the spring directory, same with the starters and you already have a directories for azure-spring-boot-sample-cosmosdb and azure-spring-boot-starter-cosmosdb there. azure-spring-data-cosmosdb belongs next to cosmos but the samples and starter need to be under sdk\spring.
To be 100% clear, I will not accept any library/sample/starter that parents off of spring-boot-starter-parent outside of the spring subdirectory.

@yiliuTo - The way these samples are configured (with pom file hierarchies and taking dependencies on spring-boot-bom) it does not fit the engineering pattern in azure-sdk-for-java.
So we have two options to fix this:

either we fix it in the current PR, which would require some big changes in the sample code (we can discuss that in more detail)
or we close this PR and I can bring back the samples when we move to track 2.

I like the second option better and would like to close this PR.
@JimSuplizio @jialindai @saragluna - let me know your thoughts ?

Guys, since we don't have one conclusion for the sample location now. I agree with @kushagraThapar that we should close this PR and revisit sample problem after track 2 work (migrate to cosmos sdk v4) which is more important.

Guys, since we don't have one conclusion for the sample location now. I agree with @kushagraThapar that we should close this PR and revisit sample problem after track 2 work (migrate to cosmos sdk v4) which is more important.

Thanks @jialindai for your input, @yiliuTo - Please close this PR.


RFC: custom recursors

Proposal
In a language that compiles pattern matching down to recursor theroems, it seems natural to be able to define custom recursors and have pattern matching and induction work just as before. Here are some use-cases (and I invite interested parties to expand):

Arrays as stacks.
I switched some code that was maintaining a stack from using Lists to arrays for performance reasons, and going from pattern matching to if … then … else and isEmpty and pop and back made it more ugly. It would be great if I could somehow use patterns .empty and .snoc xs s (possibly with nicer syntax) in match statements.o

Fin n.
This is defined as a subtype of Nat, which is a nice definitions. But some programs and proofs would benefit from being able to pattern match on the Fin n directly.
In fact, there are two possible recursions that might be useful useful here (going from 0 up, or going from the last one down, changing n along the way). It would be good to have both.

Refactoring.
The List.Forall₂ predicate is defined inductively. It could have been defined recursively over the input lists, which would provide us with some (presumably) nice defeqs. But such a change would affect a lot of code – unless one could prove the existing constructors and induction principle with the new definition and set it up so that by induction and match work as before.

TODO (help welcome): Propose concrete syntax/commands/semantics.
Community Feedback

Desire for inductive Fin n
Refactoring List.Forall₂

Impact
Add :+1: to issues you consider important. If others benefit from the changes in this proposal being added, please ask them to add :+1: to it.

Backwards compatibility - some changes to datatypes could be be made in a way so that their old interface is still available, decreasing migration costs. For instance, a change from an inductively-defined Fin to the efficient subtype-based version wouldn't have had to break any code.

There is some precedent for this in the induction tactic, which does allow custom recursors with induction ... using myRecursor. I'd propose we mirror that syntax for pattern matching as match ... using myRecursor with ....
For example:
let i : Fin n := _
match i using Fin.succRec with
  | Fin.zero    => _
  | Fin.succ i  => _

The trouble with that is that cases and induction are only a single level destructuring, while match can do nested pattern matching. Where do you put recursors for subsequent matches?

Personally, I would say it's already an improvement to be able to customize only the top-level match, without nesting.
We could set a limitation that a single match statement can use only one recursor per type to destructure. Then the using ... syntax generalizes to taking a list of recursors.
let is : List (Fin n) := _
match is using List.reverseRecOn, Fin.succRec with
  | List.concat (Fin.zero)

That would mean that we disallow the scenario where we have, e.g., a Sum (Fin n) (Fin m), where we would like to destructure with Fin.succRecOn in one case, but Fin.reverseInduction recursor in the other.
In a single match, at least, one can always rewrite such a nested match into multiple matches.
let i : Sum (Fin n) (Fin m) := _
match i with
  | .inl i => match i using Fin.succRecOn with
    | Fin.succ i => _
    | Fin.zero   => _
  | .inr j => match j using Fin.reverseInduction with
     | Fin.castSucc i => _
     | Fin.last            => _

Do you foresee many situations where we would have multiple recursors for the same type in a single match?

Personally I'd be more inclined to explore the direction where each custom recursor has its own exclusive set of “constructors” from which the recursor is inferred. This avoids the need for explicit using and works nestedly, even in examples like yours.

That's a nice idea, but we should be careful to not make totality checking too complicated.
We could say that when tagging an eliminator with the @[eliminator] attribute, the user can also specify a number of "key" constructors subject to the condition that it is not a constructor (key or otherwise) in any other tagged eliminator.
Then, whenever a key constructor occurs in a match it's directly clear which recursor to use. If there are multiple key constructors (from different recursors), this is always an error.
We could keep the using ... syntax (either with a single recursor, or with a list) as an override for the eliminators that are not allowed to be tagged under these rules (which should not be too common).

override for the eliminators that are not allowed to be tagged under these rules (which should not be too common).

Merely uncommon, or fully avoidable? When would it not be possible, not even with introducing new “constructors” that are just equal to existing one, but give you new names to associate with the eliminator?

Good point! At first, I wondered if duplicating the constructors would lead to having to duplicate theorems as well, but since we're talking about term-mode match these constructors should only show up in expected types, where it's not super harmful.
Does that mean you're arguing against having the match ... using ...  syntax at all?

If we can do without, yes.

Here are some use-cases (and I invite interested parties to expand)

One big application of this would be for fancier inductive types, such as inductive-inductive types (IITs), which are very useful when formalising type theory. This repo reduces IITs to Lean's mutual inductive types, and derives a recursor (see example). You can use the derived recursors directly, but being able to pattern match on them would be very nice.
The motives can refer to other motives, for example in Con.rec (motiveCon : Con → Type) (motiveTy : {Γ : Con} → motiveCon Γ → Ty Γ → Type) ..., which I don't know how well it would fit into the existing pattern matching code.

Just triaged this. We think this is would be very useful and I’m excited to have this at some point. But designing and implementing this is non-trivial (e.g. interaction with the pattern match compiler), and nothing we’ll get to do (or review) in the near future. So parking this RFC (in a hopeful manner).


Broken link in documentation

In the docs, at the setup section of the community guide, the link to the README page detailing how to set the development environment up is broken.
Steps to reproduce

Go to http://qcodes.github.io/Qcodes/community/contributing.html#setup
Click on the README link

System
Windows 10 Entreprise
master
a3fbf6e01817e5460c2ac0246c8e8e7d7db75967

@thibaudruelle, thanks for notifying us. I think that part of the documentation is in general need of someone to dust it off. @QCoDeS/core?


Main page link is corrected and solved the error

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes #4824

Mark the task you have completed ✅

[x ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x ] I have performed a self-review of my own code or work.
[x ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[ ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ ] I have added screenshot for website preview in assets/images
[ ] I have added entries for my game in main README.md
[ ] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[ ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @jayanththalla ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Thank you  @jayanththalla , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Fixup for source.name change detection

This fixes false positives on the guard, which has a large performance impact.

Can we come up with a test that shows the problem and prevents a re-occurrence?

The only test I think we could write would require using a test spy, as the body of the if is idempotent. Not sure if this is worth adding a library like Sinon for, or if I should make an adhoc spy.
In case the issue isn't self evident enough: the if statement will ALWAYS be true if this.sourceRoot_ is defined.

Ok now I see that the cache value was changed in b8eab4f to be a value that could never match the input value.

Sorry, I think you were correct about the test. Shall we omit it? Your call, just let me know.

Yeah, think we should let the test go (too brittle). Assume you're cherry-picking again so I can leave omission to you? :)

I use pulley which squashes and uses the PR top comment as the commit message.

OK, I'll push over this branch quick

@johnjbarton test retracted


Using local extendr instead of Github's

This tries to fix #89 .
It's not pretty, but should work... Let me know what do you think.

I'm not convinced. This seems to work by accident rather than due to some underlying principle.
Can you still run checks on the package locally, by opening it in RStudio and clicking on "Check package"?

I'm not convinced. This seems to work by accident rather than due to some underlying principle.
Can you still run checks on the package locally, by opening it in RStudio and clicking on "Check package"?

This works because the package is checked in this path:  /home/runner/work/extendr/extendr/.
I can't run locally because RStudio will use the package directory instead of extendr directory for checking, but I think this is fixable by running the rcmdcheck command from inside tests/extratests instead of the project's root here:
https://github.com/extendr/extendr/blob/master/.github/workflows/test.yml#L177
and tweaking the paths again.

This works because the package is checked in this path:  /home/runner/work/extendr/extendr/.
I can't run locally because RStudio will use the package directory instead of extendr directory for checking, but I think this is fixable by running the rcmdcheck command from inside tests/extratests instead of the project's root here:
https://github.com/extendr/extendr/blob/master/.github/workflows/test.yml#L177
and tweaking the paths again.

Actually this can't be fixed is RStudio, because it runs devtools::check() and this will always use a tempdir() but. It would work if we instead of clicking Check in Rstudio, typed devtools::check(check_dir = ".") or something similar.

Actually this can't be fixed is RStudio, because it runs devtools::check() and this will always use a tempdir() but. It would work if we instead of clicking Check in Rstudio, typed devtools::check(check_dir = ".") or something similar.

Ok, if you think this is somewhat reliable and workable, could you document this in the readme here:
https://github.com/extendr/extendr/blob/master/tests/extendrtests/README.md
Including how to run the tests locally?

Ok, if you think this is somewhat reliable and workable, could you document this in the readme here:
https://github.com/extendr/extendr/blob/master/tests/extendrtests/README.md
Including how to run the tests locally?

@clauswilke updated docs for running locally and the workflow so we can run both easily. What do you think?

@clauswilke updated docs for running locally and the workflow so we can run both easily. What do you think?

I just resolved the comments.

I just resolved the comments.

It looks like this commit was accidentally reverted in the main branch. However, this made me realize one issue with this commit: It not only disables the "check" option in RStudio, it also disables the "Install and Restart" option. Is there a one-liner command to build and install the package?

It looks like this commit was accidentally reverted in the main branch. However, this made me realize one issue with this commit: It not only disables the "check" option in RStudio, it also disables the "Install and Restart" option. Is there a one-liner command to build and install the package?

Maybe this can be resolved by running the checks in a folder parallel to extendrtests, so the relative paths remain the same? Something like ../check instead of check?

Maybe this can be resolved by running the checks in a folder parallel to extendrtests, so the relative paths remain the same? Something like ../check instead of check?


dev is always true after build

Describe the bug
production environment is always false
import.meta.env.PROD  // false

Appears as soon as mod mode is specified
tsc && vite build --mode prod

Reproduction
https://github.com/xjh22222228/tomato-work
System Info
Chrome<EMAIL_ADDRESS>
Used Package Manager
yarn
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/vue-next instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Using production word is built-in vite mode. The prod mode is your defined custom mode.
If you want to use built-in production mode, you need to use .env.production.
https://vitejs.dev/guide/env-and-mode.html#modes

You can also set NODE_ENV=production in the .env.prod file. This is documented in the link above.


Add dropdown to select Escalation Policy

Is your feature request related to a problem? Please describe.
Currently, when creating a PagerDuty service through the scaffolder action users need to provide the Escalation Policy ID. This requires them to copy the Id from the PagerDuty console. This can be improved.
Describe the solution you'd like
I would like to have a dropdown of all Escalation Policies I have access to and just select the correct one.
Describe alternatives you've considered
Currently the only alternative is to copy the Id from PagerDuty. I don't see other way of achieving it.

Solved in #6 and merged to main on #7.


webdevicons - support for custom icons

I'm creating a plugin (vim-emoji-icon-theme) that use webdevicons behind the scenes to allow use of emojis for filetypes instead of patched fonts.
For example NERDTree shows like this:

To support clap my plugin needs that this plugin use the icons provided by webdevicons (using something like the WebDevIconsGetFileTypeSymbol(absolute_file_path) function for example).
Is it possible?

Hmm, that could be partially supported. It's possible for the sync filter, I can make the icons used in vimscript overridable.
https://github.com/liuchengxu/vim-clap/blob/ae4b74557b5107add599b2872cd52066d41fc580/autoload/clap/icon.vim#L11
But it's impossible to configure the icons used in Rust code https://github.com/liuchengxu/vim-clap/blob/master/crates/icon/src/constants.rs. I'm not sure if people can bare with these inconsistent icons.

But it's impossible to configure the icons used in Rust code https://github.com/liuchengxu/vim-clap/blob/master/crates/icon/src/constants.rs. I'm not sure if people can bare with these inconsistent icons.

They can't. This turns the plugin unusable with clap at the moment. One on the objectives from the plugin (for the far future) is to create a interface that is consistent across plugins, even if is there no relation between each. For example a icon for a buffer on one plugin is the same for another.

If people do want to change the icons used in Rust, the process is not convenient at present. He can update https://github.com/liuchengxu/vim-clap/blob/master/crates/icon/exactmatch_map.json, run python3 update_constants.py and recompile the maple binary.

What about to read this values from a json without use Python? Just a *.json file passed as argument for the Rust code with the desired icons.  So EXTENSION_ICON_TABLE and EXACTMATCH_ICON_TABLE can be filled at runtime.

I'm reluctant as that's not the way of having optimal performance. If you can provide a JSON of emojis, I can consider make it a new builtin option.

I'm reluctant as that's not the way of having optimal performance.

Definitely. But maybe that this is not so noticeable.

If you can provide a JSON of emojis, I can consider make it a new builtin option.

I can provide. Some emojis need to have a space together to render properly on Vim/NeoVim, so need to be writed as strings. This can be done?

You are right, an extra space is neccessary.

Yes. But not all chars. Some are fine on MacOS but are wrong on Linux. So I have to test each char for each platform. About Windows I don't know since I don't have one anymore, but last time that I did a test was working fine with GVim.
If necessary I can provide a different json list for each platform, let's see.

I have added some support for vim-clap:

At moment I trying to figure out why Vim/NeoVim has so many problems rendering emojis. Some emojis are rendered just half, others keep showing on the screen (tests on Linux, Windows and Mac)... This is more complex than this issue on Clap, since we need to change on the Vim/NeoVim code base side.
So I decided to create another plugin for icons based on NerdFonts and I will close this issue for now. I will turn public the new plugin until next week.

I found a way to "solve". Basically some icons render right an others dont. So I need to use just the right icons. I will need some work, but works!
I will reopen the issue and provide a custom JSON to be used on this plugin.

Hi @adelarsq, any progress on this issue?

Hi @adelarsq, any progress on this issue?

Yes, did notice that depends on the terminal emulator too. For this I plan after the refactoring (to read all chars from a generated json) on next months to detect the terminal. So we will have a good behaviour even on Windows.
At moment I'm using vim-clap with vim-emoji-icon-theme daily and it's behaving well on iTerm. Need some more testing on Kitty since I don't use so often.

Yes, did notice that depends on the terminal emulator too. For this I plan after the refactoring (to read all chars from a generated json) on next months to detect the terminal. So we will have a good behaviour even on Windows.
At moment I'm using vim-clap with vim-emoji-icon-theme daily and it's behaving well on iTerm. Need some more testing on Kitty since I don't use so often.

With #654, you can use the custom icons easier, just modify the json file in https://github.com/liuchengxu/vim-clap/tree/master/crates/icon directly and recompile the Rust binary. But PR is still welcome :(.

@liuchengxu Nice! Thanks! I will add this feature on the next weeks 🙂


Error submitting Brackets CLA

Trying to sign the BRACKETS CONTRIBUTOR LICENSE AND DISTRIBUTION AGREEMENT ("AGREEMENT") at http://dev.brackets.io/brackets-contributor-license-agreement.html and getting a couple of "No space left on device" messages.
Would love to start hacking but can't sign up.

This happened recently, is there no permanent solution that can be put in? Or at least prevent it happening as this often
#10363

Yes, we should fix this in a way that lasts more than 9 days :-/

I have cleaned up some disk space. There was a huge apache log file. I have removed this log file and disabled the logging for redirects.

Awesome! Thanks @ingorichter for fixing this. Closing..

Thanks!


Disabled comments on channels #88

PR Checklist

Please check all that apply to this PR using "x":

[x] I have checked that this PR is not a duplicate of an existing PR (open, closed or merged)
[x] I have checked that this PR does not introduce a breaking change
[ ] This PR introduces breaking changes and I have provided a detailed explanation below

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation changes
[ ] Other - Please describe:

Fixes
Issue Number: 88
What is the current behavior?
Comments show for channels with disabled comments
What is the new behavior?
Comments not showing for channels with disabled comments
Other information

Merged with https://github.com/OdyseeTeam/odysee-android/commit/f2f822ee18c89347c4d406eacd52074c75cb6047


change default release to Hammer

Signed-off-by: Travis Rhoden<EMAIL_ADDRESS>

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/ceph-deploy-pull-requests/1541/
Tests passed for this pull request.


Options "workspace" & "panels" aren't working.

The "workspace" & "panel" configurations aren't working for my configuration, i believe that this is an issue with plasma-manager itself, since the "startup" & "hotkeys" are working. Furthermore, this issue is happening to me across three different machines, including one with a fresh install of nixos 24.05.
However, if I'm doing anything wrong then I'd love to hear what it is.
Relevant files/links:

flake.nix
plasma-manager configuration
full configuration

If anyone wants to try replicate this issue install instructions can be found in the README.md file in the full configuration root (note: these aren't tied to the version of the repo linked here, so any changes to the repo will be present when installing with it).

Have you tried logging out of your session after setting these options?

Both logging out and/or rebooting have no effect on the "workspace" & "panel" configurations.

Found out that removing syncthingtray script, fixes the problem

It is probably due to the script not having an end

do you mean that the package syncthingtray is causing the issue?

oh my bad, i understand what you mean

You can still run this script, but you need to put in a lower priority

So others scripts can run before that

startup.startupScript."start_syncthing" = {
  text = "syncthing; syncthingtray";
  priority = 4;
};

would it be fixed by putting a ";" after "syncthingtray". Ending up looking like "syncthing; syncthingtray;"?

or do i have to use " &>> /dev/null" to redirect the output & start it in the background?

I can do more testing on it later as i'm busy rn. But thank you for telling me the answer, i was stumped.

would it be fixed by putting a ";" after "syncthingtray". Ending up looking like "syncthing; syncthingtray;"?

This doesn't work

or do i have to use " &>> /dev/null" to redirect the output & start it in the background?

This works too

thank you very much!

To anyone reading this in the future; I found the "startup.startupScript" option to be a tad unreliable. So i am using systemd with home manager to execute scripts/commands instead.
I found these two articles to be very useful in figure out how to do this:

https://linuxhandbook.com/create-systemd-services/
https://haseebmajid.dev/posts/2023-10-08-how-to-create-systemd-services-in-nix-home-manager/

This is what i have in my home-manager configuration to start syncthingtray when all the system initialization is completed:
  systemd.user = {
    enable = true;
    startServices = "sd-switch";

    services.syncthingtray-start = {
      Unit.Description = "Starts syncthingtray.";
      Install.WantedBy = [ "default.target" ];

      Service = {
        ExecStart = "${pkgs.writeShellScript "syncthingtray-start" ''
          #!${pkgs.bash}/bin/bash
          ${pkgs.syncthingtray}/bin/syncthingtray --wait''}";
        Restart = "on-failure";
      };
    };
  };


Initial setup

This PR vendors the following crates:

https://github.com/matter-labs/era-cuda
https://github.com/matter-labs/era-boojum-cuda
https://github.com/matter-labs/era-shivini
https://github.com/matter-labs/era-heavy-ops-service/

The code has been taken from the (logically) "main" branch of the repo.
Some basic appearance and CI is added as well.

CI is failing because it is run on a machine without a GPU and no explicit CUDA architecture was set (by setting the CUDAARCHS environment variable), we need one or the other.


chore: test on node10

This PR brings an updated configuration file for CircleCI:

test on Node.js v10
more YAML references to make config more readable (at least I hope so)

This is an automated PR prepared using github-repo-automation.

Thanks @JustinBeckwith - I fixed that, any other feedback please? :)

@callmehiphop Not right now - we can only drop Node4 support within the major release, and we actually don't want to do it right now and will better wait a little bit more (@ofrobots can comment further)


Final Branding 16.5

Prepping this early. Don't merge it until we're ready.

Work item for this: https://dev.azure.com/devdiv/DevDiv/_workitems/edit/1073169


Application list remove if application not use

agent config:
-Dpinpoint.agentId=xxxx
-Dpinpoint.applicationName=test01
At the first time I run application, test01  in application list on WEB UI. However when stop this app and  offline forever, application list still has test01, can not auto remove.

Hi @imperio-wxm
Please check out this FAQ

@Xylus Thx.


Example Apps Doc Update

Re: Example Apps
Issue Description

I think it should be C# not C.
Suggested Resolution

duplicate of https://github.com/cockroachdb/docs/issues/12022


[Bug]: Climate entity always placed first

What happened?
Other entities seem to show up in the order listed, but a climate entity always ends up first in the inputs, no matter where it is in the entities list.
Card Version
v1.1.8
Home Assistant Version
2023.1.4
Browser Version
Brave 1.47.171
Relevant javascript log output
No response

The current code was not written to show entities in order. If you see them in order, it is a coincidence.


Error on import {shallow} from 'preact-render-spy';

When I import:
import {shallow} from 'preact-render-spy';
I get error from babel:
ERROR in ./node_modules/preact-render-spy/index.js
Module build failed: ReferenceError: [BABEL] [cut]node_modules\preact-render-spy\index.js: Unkn
own option: [cut]node_modules\preact\dist\preact.js.h. Check out http://babeljs.io/docs/usage/o
ptions/ for more information about options.

my .babelrc
{
    "compact": "false",
    "presets": ["env"],
    "plugins": [
        "transform-decorators-legacy",
        "transform-object-rest-spread",
        "transform-object-assign",
        ["transform-react-jsx", { "pragma": "h" }],
        "transform-react-jsx-source"
    ]
}

Any suggestions?

Looks like this might be a TypeScript issue? What version of preact?

honestly though, this error is very confusing, I'm not sure what it could possibly be erroring about

Hrm... I think I've figured this out!
Are you letting babel transpile your node_modules?  We don't actually need you to run babel on our library for it to work, so you should possibly disable it for that subdirectory.
We use the babel-preset-preact in our .babelrc, which is bundled into our release package.
This means when you import preact-render-spy, babel will try to load this preset to transpile our stuff.
I think we could possibly fix this by removing the .babelrc from our dist bundle in .npmignore but in order to make sure it would solve your problem, could you try rm node_modules/preact-render-spy/.babelrc and see if it fixes this problem for you?
Assuming it does, I'll update our npm ignore file to avoid publishing the .babelrc in the future.


Use values file for prototype use/preview

This change introduces a values file to be used when setting prototype
values for the use and preview commands.
The format of the file is Jsonnet that returns an object.
Notes:

if values are added to the file and aren't consumed by prototype, they are ignored.

Fixes #550
Signed-off-by: bryanl<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build 1044

126 of 136 (92.65%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 71.59%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/prototype/values_file.go
48
50
96.0%

pkg/prototype/flags.go
67
75
89.33%

Totals

Change from base Build 1040:
0.4%

Covered Lines:
10682

Relevant Lines:
14921

💛  - Coveralls

Thanks @underrun


fix: prevent restarting driver on hard reset

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.002%) to 21.171%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.002%

Covered Lines:
3899

Relevant Lines:
19585

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 3 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 21.169%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
3
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3899

Relevant Lines:
19587

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.006%) to 21.175%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.006%

Covered Lines:
3899

Relevant Lines:
19582

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 26 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.003%) to 21.166%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
26
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
3899

Relevant Lines:
19590

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 27 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.003%) to 21.166%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
27
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
3899

Relevant Lines:
19590

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 40 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.006%) to 21.163%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/ZwaveClient.ts
0
40
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.006%

Covered Lines:
3899

Relevant Lines:
19593

💛  - Coveralls


Update set_up_dev.md

Add periods (.) in some steps.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks, @scjane :)


Angular version?

A version for Angular would be great because DaysiUI is lightweight, and the current ones increase a little the bundle size of an Angular application, so it would be a positive point.
I would be very happy if there could be an Angular version of this great css framework.

You can use daisyUI with Angular (example)
And Tailwind should be purging unused CSS so there won't be any issues with bundle size.

Yes, I understand that part but I mean in a native way, for example: instead of <Button class="class buttons" it should be <Button type="primary".
And I also wondered if there are no problems with Drawers type components in angular.

@kaname-png I don't have any plans for an Angular package myself but daisyUI is open source and MIT licensed so I would appreciate if any other developer wants to make an Angular version.
About drawer:
There shouldn't be a problem as far as I know because daisyUI is just CSS and the same drawer CSS code is working on other frameworks and environments.


Update Get and list method name

Description
Fix https://github.com/Azure/autorest.csharp/issues/2820

update Get and List method to comply name convention.

Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

Can you create a PR on azure-sdk-for-net? I'm afraid this change could cause breaking changes on existing SDKs.

Can you create a PR on azure-sdk-for-net? I'm afraid this change could cause breaking changes on existing SDKs.

Thanks @archerzz Here is the azure-sdk-for-net branch https://github.com/chunyu3/azure-sdk-for-net/tree/NameConvention, and there is no changes comparing to main branch.


galario: init at 1.2.1

Motivation for this change
Package galario for Nix.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python3Packages.galario python2Packages.galario

nox-review builds for me, non-nixos linux x86_64.

@GrahamcOfBorg build python3Packages.galario python2Packages.galario galario

@GrahamcOfBorg build python3Packages.galario python2Packages.galario galario


Add new Title Screen panorama for 1.6

I just realized that we should follow vanilla and change the panorama shot on the title screen for major updates. Not sure what makes a good panorama for our 1.6 release. I'm partial to making it a Nether panorama because of the color shift feeling dramatic.

Nether with a skeleton horse in the shot somewhere, maybe? vanilla's panoramas usually put a spotlight on a major new feature in the update, which horses will probably end up being for 3.x


json path for cu4 (and cu3) should be $.security.activeDirectory

Can you please add a section to the documentation for configuring the active directory config for CU4 (and I'm guessing CU3 is also affected), for example with CU4, instead of:
azdata bdc config replace -c custom-prod-kubeadm/control.json -j "$.security.ouDistinguishedName=OU=bdc,DC=contoso,DC=local"
you should have:
azdata bdc config replace -c custom-prod-kubeadm/control.json -j "$.security.activeDirectory.ouDistinguishedName=OU=bdc,DC=contoso,DC=local"

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

ID: 6733c468-62a5-41d9-2c5a-5ca57ee5fdf3
Version Independent ID: dd529f6a-f02d-0dc4-dd4f-52321e90bed0
Content: Deploy in Active Directory mode - SQL Server Big Data Cluster
Content Source: docs/big-data-cluster/deploy-active-directory.md
Product: sql
Technology: big-data-cluster
GitHub Login: @mihaelablendea
Microsoft Alias: mihaelab

@chrisadkin -- Chris, thank you for your feedback and research.
@mihaelablendea -- Mihaela, please look into this issue.

Documentation includes samples for both CU2 (and up) and pre-CU2 releases. Please re-open if you still see any issue

#please-close


Route "sylius_invoicing_plugin_admin_invoice_index" does not exist.

When installing and configuring the plugins when I access the admin menu I have the following error:
An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route" sylius_invoicing_plugin_admin_invoice_index "as such route does not exist.").
In the class Sylius\InvoicingPlugin\Ui\Menu\AdminMenuListener this route is called but in the path files:
Resources\config\app\routing
admin_invoicing.yml and shop_invoicing.yml
does not exist.

Sorry, clear the cache and everything's fine.


ODBC Test Program

[Enter feedback here]
This page implies you can download an ODBC Test program. It even names them. However, the programs aren't clickable and it isn't clear how to download them. Page should be more explicit about where to get the ODBC Test program. Thank you.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f5343285-846d-c7c8-d035-84b48dd2e4af
Version Independent ID: 70a44fef-7a92-8bce-8c46-20b5567f6308
Content: ODBC Test - SQL Server
Content Source: docs/odbc/odbc-test.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-daenge

@sfc-gh-space Thanks for the feedback. ODBC Test is part of the Microsoft Data Access Components (MDAC) 2.8 Software Development Kit, which can be downloaded from here: https://www.microsoft.com/download/details.aspx?id=21995
I'll work on updating the documentation.
Thanks,
David

#assign:David-Engel

@sfc-gh-space The documentation has been updated.
Thanks,
David
#please-close


[WIP][AMD][Atomic] Introduceruntime LDS reduction algorithm for atomicRmwOp

Algorithm description:

Sort {ptr, operand} among the threads within the warp via bitonic sort based on DPP and Permute operations;
Distribute threads between groups defined by pointers, define a group for each thread by analizing neighbours with DPP instructions;
Select master thread for each group using exec mask;
Collect partial sum in LDS for each group via DS_ADD-like instructions
Utilize global atomic operation for each group by master thread

As far as described algoritm requires additional memory, size calculating should be done in the target dependent code.
For this purpose SetSpecificAllocationSize pass was introduced, it sets allocation.size attribute for required operation. This attribute has highest priority during LDS size calculation.

TODO: provide testing;
Please consider https://github.com/triton-lang/triton/pull/5503/files#diff-c8636c7e4e8a1713c11e249836ccf2fe132ffc8fd85ad7054582ecad544e4a26R120-R122 .
With following approach we could move shared memory size calculation to target specific components.

Thanks , @scxiao for the optimization idea.


No login checks (Old 79)

In gitlab by @A-Lawrence on Aug 31, 2015, 01:10
Reported in FM-28920-259473
When a user navigates to the login page or the display page, they receive an error if they're logged in.
The system needs to verify current authentication status and redirect accordingly.

In gitlab by @A-Lawrence on Aug 31, 2015, 01:14
mentioned in issue #136

In gitlab by @A-Lawrence on Aug 31, 2015, 01:14
mentioned in issue #137

In gitlab by @A-Lawrence on Aug 31, 2015, 01:16
Changed some of the Auth files to prevent any SSO_TOKEN/SSO_AUTH errors appearing if you're already logged in.  Resolves issue #488612 (82) #79 #488614 (78) #77
ÔåÆ <>
ALawrence66 - 2013-11-10T21:42:31.727399+00:00


Does this still work?

Hey trying to figure out if this still works at all. there are no files that can be opened with lightroom and lr.exe does not do anything
Bruce.

aw man thats a shame. only option seems to be to pay 65 bucks for LR superkeys


cygwin git not work probably. It cannot clone repo

adnois new blog
D:\adonis-tutorial>adonis new blog
_       _             _         _
/ \   | | ___  _ __ ()    | |___
/ _ \ / ` |/ _ | ' | / |  | / |
/ ___ \ (| | () | | | | _ \ || _
//   __,_|_/|| |||/_/|___/
√ Your current Node.js & npm version match the AdonisJs requirements!
× Unable to clone repo
=============================================
Installation failed due to following error
Command failed: git clone --depth=1 https://github.com/adonisjs/adonis-fullstack-app.git "D:\adonis-tutorial\blog"
Cloning into 'D:\adonis-tutorial\blog'...
fatal: Invalid path '/d/adonis-tutorial/D:\adonis-tutorial\blog': No such file or directory

Seems similar of https://github.com/adonisjs/adonis-cli/issues/72

Closing in favor of the other issue.


Support riak-debug on Solaris 10

A fix for #796 (RIAK-2308) (RIAK-2314).

The default Solaris 10 version of awk doesn't support gsub, use xpg4 awk (nawk) instead.
Tar on Solaris 10 has no support for creating compressed tar.gz files. Pipe tar file into gzip instead.
Non-bash (e.g. ksh) shells may not have support for single instances of double quotes nested in single quotes. Escape nested double quotes.

Has been merged by separate PRs to 2.0, 2.1 and develop 2.2 branches. Still not merged back to develop, but nobody cares(?).


automationAccounts/schedules - Bicep/ARM does not correctly interpret the next start time?

Bicep version
0.14.6
Describe the bug
We deploy an automation runbook using Bicep. The schedule is set to execute every date at a fixed time. When deploying, if we deploy before the time of day of the scheduled execution, everything works fine. If we deploy after that time of day, we get the following error in the deployment log:
The start time of the schedule must be at least 5 minutes after the time you create the schedule.
This seems wrong - the next scheduled execution is tomorrow, at the specified time of day, not in the past.
I'm not clear on whether this is a Bicep issue (i.e. Bicep should be interpreting the properties provided) or something else in the Azure platform - apologies if this is not the right place to raise this.
To Reproduce
Deploy an automation runbook with a schedule as follows:
resource schedule 'Microsoft.Automation/automationAccounts/schedules@2020-01-13-preview' = {
  name: 'Schedule'
  parent: automationAccountResource
  properties: {
    description: ''
    expiryTime: ''
    frequency: 'Day'
    interval: 1
    startTime: '01:00'
    timeZone: 'Europe/London'
  }
  dependsOn: [
    automationAccountResource
  ]
}

schedules is badly written resource. The problem is within the resource itself not Bicep. You can set startTime in the following format
YYYY-MM-ddTHH:mm:ss±hh:mm. For example "2023-02-15T09:47:00+02:00". The last is the time zone offset. I believe the offset must match the time zone otherwise you might get weird results. Try that and let me know if it works. When I deploy schedules I usually do not specify startTime at all. That way the start time is time of deployment + 5-10 minutes. Keep in mind that schedules also needs to be unique across all global Azure. So if you try to create schedule with same in another tenant it will fail. Also deleted schedules are kept somewhere for some time and you cannot delete schedule and than re-use the name, at least not for some period of time.

as Alex mentioned you can open a support case but most likely they will tell you this is by design.

I've figured out a work around. Bicep date functions are rather crude so it does look a bit ugly. Apologies if there are any errors as I retyped it to simplify my actual working setup.
param now string = utcNow('yyyy-MM-ddTHH:mm:ss')
param todayDate string = utcNow('yyyy-MM-dd')

var nowTicks = dateTimeToEpoch(now)
var offsetSeconds = 300 // time delay of 5min to allow for deployment delays
var startTime = '01:00:00'

resource schedule 'Microsoft.Automation/automationAccounts/schedules@2022-08-08' = {
  name: 'daily-schedule'
  parent: account
  properties: {
    startTime: dateTimeAdd('${todayDate}T${startTime}', dateTimeToEpoch('${todayDate}T${startTime}') > nowTicks + offsetSeconds ? 'P0D' : 'P1D')
    expiryTime: '9999-12-31T23:59:00+00:00'
    interval: 1
    frequency: 'Day'
    timeZone: 'Europe/London'
  }
}


Getting boundaries of the overlaps

Hi! Is there any method to actually get the boundaries or of the overlapping boxes inside a tree?
Now I can use the "does_overlap(aabb_obj)" method of the AABBTree to check for overlaps but it says nothing about the exact box which overlaps given aabb_obj, only "yes/no" answer.
Or maybe return the AABBTree object with an overlapping box as a root of subtree would be a nice solution.
Thanks.

Sorry for the delayed response. I am added an overlap_aabbs function in addition to the overlap_values function to do just this.


Are there plans to support draft 2020-12?

Just curious and wondered what the appetite is to keep up to date with the latest version.

Note that with the next version (hopefully out in early 2023) JSON Schema will be moving to a new model of marking features and keywords stable vs unstable so there won't be a need to keep publishing totally distinct "drafts" that have to be supported separately.  There will be a blog post soon or you can read the longer discussion now.

Ah interesting. Thanks for the info 👍

Blog post just went up: https://json-schema.org/blog/posts/future-of-json-schema

Ah fab. The new system sounds good. I dislike upgrading libraries out of fear of becoming obsolete. Thanks for sharing ♥


fix(connector-besu): do not crash if ledger unreachable - send HTTP 503

Commit to be reviewed

fix(connector-besu): do not crash if ledger unreachable - send HTTP 503
Primary Changes
---------------
1. Yarn patch to<EMAIL_ADDRESS>so that it does not crash nodejs process
Without the catch block, the rejection is an unhandled rejection that bubbles
up to the top of the callstack where NodeJS itself catches it and then crashes
the entire process. (used to be that it just logged a warning but since some
of the newer versions it crashes which allows us to find these bugs in our
code / library's code)
2. It is returning a 503 instead of a 500
3. Added a static retry-after header value of 5 seconds
4. Added test case in test-ledger which has run-transaction at the end that is
expected to give error 503 when the backing ledger is unavailable

Fixes: #3406
Pull Request Requirements

[x] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[x] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[x] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[x] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[x] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

Hello @petermetz , the test is added at the end of packages/cactus-test-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/openapi/openapi-validation.test.ts . The ledger was shutdown before it to force the ledger unavailable status when running the runTransactionV1.

Please fix yarn-codegen check as well @ruzell22


Binary implementation in readme

Hey everyone,
I've added a column in the readme for binary implementations in your libraries. If you have implemented it, please let me know here or submit a PR so I can add the ✓!
@SuperPaintman @savonarola @merongivian @imdario @Lewiscowles1986 @ararslan @RobThree @fvilers @mdipierro @rafaelsales

What do you define as a "binary implementation"?

Presumably an implementation of what's described in https://github.com/alizain/ulid#binary-layout-and-byte-order

I actually will try over xmas to set this up, it's very clear but I'm in a bit of a over-subscribed period atm. I also need to ensure that my library is compatible with yours as I'm a tad unsure about the sources of randomness...

I actually will try over xmas to set this up, it's very clear but I'm in a bit of a over-subscribed period atm

Don't worry, I only asked because I wanted to make sure I mention it on the readme. I've been pretty busy as well, and have been unable to give much time to open source work.

I'm a tad unsure about the sources of randomness

What are you using today? What do you want to use in the future?

Pretty sure if the string is the same, then the binary representation is the same in most major languages... Also why not just make it string compatible? Then nearly everything gets a tick

Hmm, that's not how I understand it. Python, for example, stores strings by default as Unicode utf-8, so it'll be using at least 1 byte per character, for the 26 characters, adds up to 208 bits, more than the 128 specified. Actually, this is the math for any language that stores its strings in ASCII too, since we're not using any special characters.

Also why not just make it string compatible?

I don't understand what you mean

Also why not just make it string compatible?

I don't understand what you mean

My bad, I read https://github.com/alizain/ulid/blob/master/README.md#specification and assumed by char you were referring to a data-type which is (on all machines I've ever worked on) at least 8 bits in width... I see what you've done there, probably what lead to the confusion you were talking of actual char-strings (in C terms). It makes things a little confusing though...
Could you explain to me how JS is outputting the chars in < 8-bit format (giving 208-bits for JS too)? It's definitely using string concatenation which should lead to 208-bit output even from your reference implementation.
Right now the .NET port, PHP port and Java port seem to be literally outputting the representation mapped to Base32 as strings, using chars native to their language. I'm pretty sure any conversion to alternative encoding should be completed outside of the library, but I'm more worried the math has gone awry somewhere.
At the level we are talking about; inter-operability would need to be done on more than just ULiD strings. If it's stored in a DB as a string the specific encoding conversion would be handled by the client, so again I ask can we not just use strings instead of "binary compatibility"?

Sorry for the overdue reply.
@RobThree ✓ has been added!
@Lewiscowles1986

Could you explain to me how JS is outputting the chars in < 8-bit format (giving 208-bits for JS too)?

It's using 208-bits for the string representation, because the JS implementation isn't working directly with bytes.
# String representation
128 bits of information -> encoded as 26 characters with base32 -> stored as utf8/ascii text on disk, which takes up 208 bits

# Binary representation
128 bits of information -> stored as 128 bits on disk

@alizain so what is the solution for systems not supporting byte-level manipulation? Also what is the solution to the fact that many systems will use different character encoding for their strings? This seems like a nice idea, but something that really doesn't belong in most HLL's IMO

What systems are you working on don't support byte-level manipulation?
Character encoding for strings is beyond the scope of this project. As you agreeably opined, we are not concerned with how strings are stored. The previous example was for illustration of 99.9% of existing systems.

Also, I don't know of any character encoding scheme that is not ASCII compatible and in-use today. Do you know any?


How to submit form data from middleman page to contentful

I have created a form page in my middleman and I would like to submit the form data and store it into the contentful content type. Is there any way I can achieve this ?

Since middleman generates a static site, this isn't directly possible. However, you can probably build a solution using our Content Management API: https://www.contentful.com/developers/documentation/content-management-api/#libraries
Keep in mind that Contentful is not meant to store individual user data, though.