Strange behaviour for faults accessing trap vector table

The spec contains the following "interesting" sentence:

If there is an access exception on the table load, xepc holds the faulting address. If this was a page fault, the table load can be resumed by returning with xepc pointing to the table entry and the trap handler mode bit set.

This is a strange case for software to have to handle, suddenly having to complicate its page fault handler for this special case. Why not just put the faulting address in xtval like a normal fault? Putting a data pointer in a code pointer register seems to be an abuse of the available registers, and will prove particularly awkward for CHERI where pointers are capabilities with associated permissions (and the xepc registers are extended to special capability registers xepcc, with xepc aliasing the integer address part); there's probably a way to make it work, but it'd be a bit gross to put a data capability in what should be a code capability register.
There should also be no need to special case the exception return; if the interrupt is still pending it'll be immediately taken again on xret, and if not then it no longer needs servicing so it's fine to not trap.
That's also, incidentally, the effective behaviour you'd get if you didn't try to do anything special to support nested traps.
With those addressed it xinhv becomes unnecessary and can be removed. If desired, two new exception codes could be allocated for "load trap vector (access|page) fault", which is a far more space-efficient encoding.
I also don't see why all the xstatus bits need mirroring in xcause. Any decent OS is going to need to save/restore xcause anyway because that's where the actual hardware-affecting state is that it needs to preserve. And for the tiniest of embedded OSes it's really not going to make a performance difference asking them to look at a single extra XLEN-bit CSR. Putting all this stuff in xcause feels like another abuse, and xpil similarly belongs in xstatus or some other CLIC-specific CSR that's not xcause.
That should all simplify and clean up the spec IMO.

FYI, During the Fast Interrupts TG meeting discussion of #105,  we also discussed thoughts on use cases for restarting after a page table fault during hardware vectoring.   Just want to link those discussions here.
In some implementations CSR accesses can be time-expensive due to their atomic nature and how they can affect other machine state.  That's one advantage of mirroring xstatus bits within xcause.    Does this mirroring cause issues for CHERI implementations or is your suggestion more of a simplification argument?

FYI, During the Fast Interrupts TG meeting discussion of #105,  we also discussed thoughts on use cases for restarting after a page table fault during hardware vectoring.   Just want to link those discussions here.
In some implementations CSR accesses can be time-expensive due to their atomic nature and how they can affect other machine state.  That's one advantage of mirroring xstatus bits within xcause.    Does this mirroring cause issues for CHERI implementations or is your suggestion more of a simplification argument?

On high-performance architectures you'll be running a full-fat OS where you will not notice an extra pipeline flush from a CSR access, plus reads at least will be increasingly pipelined (I believe the new SiFive U7 series does this?). On simple microcontroller architectures that's just a few cycles so really does not matter. Has anyone actually done any scientific analysis to justify the proposed changes? If it does turn out to make a significant difference in real use cases then fine, but I do feel it should be grounded in evidence not speculation.
No, the mirroring into xcause doesn't cause issues for CHERI, I'm just looking at it with an OS kernel developer hat on sighing at having two different ways of doing things for what doesn't seem like a particularly good reason from my perspective (and also the nuisance it'll be if we ever want to provide a CLIC in our cores).

On high-performance architectures you'll be running a full-fat OS where you will not notice an extra pipeline flush from a CSR access, plus reads at least will be increasingly pipelined (I believe the new SiFive U7 series does this?). On simple microcontroller architectures that's just a few cycles so really does not matter. Has anyone actually done any scientific analysis to justify the proposed changes? If it does turn out to make a significant difference in real use cases then fine, but I do feel it should be grounded in evidence not speculation.
No, the mirroring into xcause doesn't cause issues for CHERI, I'm just looking at it with an OS kernel developer hat on sighing at having two different ways of doing things for what doesn't seem like a particularly good reason from my perspective (and also the nuisance it'll be if we ever want to provide a CLIC in our cores).

Also, on reflection, I do not think there is any real situation where you'd legitimately expect to fault on accessing the trap table.
Access faults should never happen and are a sign you've done something very wrong.
Page faults could be that you've screwed up your page tables, in which case that's also wrong. Or you decided to swap out your trap table, but you're unlikely to be able to swap it back in without taking an interrupt; the I/O subsystem is going to be interrupt-based in a real OS so would need a special polled I/O path in every single driver, and will want to sleep and switch to another thread whilst the request completes, but you cannot do anything useful with interrupts disabled. So I cannot see how you would ever legitimately end up with a page fault. Plus, the table is tiny (especially in comparison to page tables), there's really no need to page it out.
So IMO both would be treated as fatal panics if they ever occurred in an OS, and my proposal still lets you (a) distinguish them so you know to panic (b) if you really really really want to adapt your OS to support such a very niche use case then you still can, but no hardware complexity is wasted on trying to support that efficiently.

Also, on reflection, I do not think there is any real situation where you'd legitimately expect to fault on accessing the trap table.
Access faults should never happen and are a sign you've done something very wrong.
Page faults could be that you've screwed up your page tables, in which case that's also wrong. Or you decided to swap out your trap table, but you're unlikely to be able to swap it back in without taking an interrupt; the I/O subsystem is going to be interrupt-based in a real OS so would need a special polled I/O path in every single driver, and will want to sleep and switch to another thread whilst the request completes, but you cannot do anything useful with interrupts disabled. So I cannot see how you would ever legitimately end up with a page fault. Plus, the table is tiny (especially in comparison to page tables), there's really no need to page it out.
So IMO both would be treated as fatal panics if they ever occurred in an OS, and my proposal still lets you (a) distinguish them so you know to panic (b) if you really really really want to adapt your OS to support such a very niche use case then you still can, but no hardware complexity is wasted on trying to support that efficiently.

linking open issue #26

lalso inking open issue #46

also linking open issue #87

There are two separate issues here - packing of other bits into cause is already recorded as #97, so please continue that discussion on that issue.
Any horizontal trap in an interrupt handler is non-resumable until exception state has been saved.  Using either mtval or xepc does not change this (#87).
The reason to support resumable faults on vector tables is in case a more privileged level has virtualized/emulated the RTOS+application using the CLIC, and could have paged out the vector table (or just wants to track accesses to it).
I believe the original motivation to use xepc instead of mtval was that the original CLIC proposal used instruction fetch instead of data fetch to access the vector table, and effectively switched to a new ISA for vector table fetches which only had a single instruction: "jump to address encoded in instruction".  This trick avoided need to route memory load data to PC, which is a path not otherwise present in processors, and also allowed restart to be handled as an instruction fetch restart.  Using xepc instead of mtval avoided the need for new hardware path from mtval to pc.
It would be more consistent to use mtval to hold the faulting table address, as this would match the existing privilege architecture spec.

There are two separate issues here - packing of other bits into cause is already recorded as #97, so please continue that discussion on that issue.
Any horizontal trap in an interrupt handler is non-resumable until exception state has been saved. Using either mtval or xepc does not change this (#87).
The reason to support resumable faults on vector tables is in case a more privileged level has virtualized/emulated the RTOS+application using the CLIC, and could have paged out the vector table (or just wants to track accesses to it).

That's fine, the higher privilege level can take the fault, page the data back in (or just do its bookkeeping), xret and then let the still-pending interrupt trigger again? To the guest it just looks like a very slow page table walk, unless the interrupt stops being pending, at which point well you don't actually need to take it any more so it's fine not to (and if missing those interrupts is a problem, well, you already have races, this just makes them more likely, so either way you should make them edge-triggered).

I talked over this point with Andrew, to help reconstruct the original thinking, which predates many subsequent changes to the spec.  Our conclusion was that now both xtval and xepc should be written with the faulting vector table address.
The interesting case is vertical traps, where a more privileged layer is handling page faults or other synchronous faults on vector table access.  The regular code path in more privileged layer will want to use xtval to determine what bad virtual address to page in, but will not normally restore xtval when returning to faulting context (potentially after some time and other contexts have run)  However, it will restore xepc  (using x for more privileged mode here) before using xret on normal code path.
Hardware would detect the inhv bit being set during xret and resume table load using value in xepc (or generate instruction fetch with "jump-to-absolute-address" ISA in place).
I don't believe in general we can avoid resuming table load (versus restart of original interrupted instruction).    Implementations will be simpler if they can treat the interrupt vectoring in two steps (or even using sequence of instruction fetches in one possible implementation style), instead of a single-step instruction which has a lot of CSR updates to back out of on fault.  Some interrupts can be edge-triggered and would be lost under restart model. Restart would also require both original code and handler can be co-resident in TLBs for progress (should be straightforward, but is an additional constraint).  We'd also have to change the xcause reported to distinguish regular page faults on the interrupted instruction versus interrupt vector table faults.   There is also some potential confusion with different privilege modes for interrupted instruction and table reads.
So proposal is to add xtval being written  (which also would be consistent with current privilege spec) along with xepc.

I think this matches reasoning in #105, with option 2 being the surviving option.

Closed by PR #131


Adjust machine instructions to use ide-hd

The ide-drive device was removed in v4.2.0, see:
https://github.com/qemu/qemu/commit/7d60133fcae8
Changelog-entry: use ide-hd instead of ide-drive
Signed-off-by: Alex Gonzalez<EMAIL_ADDRESS>

@balena-ci I self-certify!


Provide test-case JSON queries for unit-tests

@kurtnordstrom will then integrate these into the unit tests using whatever framework is appropriate for #18.

@kurtnordstrom Here you go — does this give you everything you need?
sample-queries.tar.gz

@kurtnordstrom If it helps to know, the result of translating the last of those queries should be
SELECT "_version","hrid","index_title","source","status_updated_date" FROM public.inventory_instances WHERE (("_version" = '2') AND ("source" = 'MARC')) ORDER BY "index_title" ASC NULLS LAST,"status_updated_date" DESC NULLS LAST LIMIT 1001

Completed a while back, should have been closed.


MM-17115 Dismissing a banner causes banner overlap in the UI for a non-dismissable banner behind it

Summary
Do not remove the fixed class on body if there are other announcement bar.
Keep a track of the announcement banners in the UI by adding a count to the body. We don't have a count of the announcement bars in UI so resorting to rather DOM than a react way of doing this.
There are different types of banner so a react state for tracking or children count does not work. Other option is to add redux actions for each mounted component but seems like an overkill.
Ticket Link
https://mattermost.atlassian.net/browse/MM-17115
Note: It is hard to add tests for these as jest has changes about mocking DOM

Could you elaborate on the reasoning for saving the state on the DOM vs in Redux?

I don't think we should have classList.add or classList.remove in the first place as that is an anti pattern and keeping track of how many announcement bars seems overkill because this is the only place we need and it should not have been this way in the first place.
Instead we should have HTML such that
</AnnouncementBanner>
</centerchannel>

are on the same level so if there are announcement bars then center channel gets pushed down automatically without css magic. Even a css change like this will have huge code impact IMO
Another thing is we don't need to add it to redux state unless it needs to be shared across the app. Ideally this would have been fine if we can keep track in the react state of AnnouncementBarController so we don't need a redux state or DOM magic.

I believe this would be a first of its kind in the app (setting class attributes and tabindex notwithstanding).

We do have references like this in the codebase.
Considering this is a dot release i think this is minimal and to the point of the problem and it does not create any new tech debt.
Though we can have one of the above solutions by creating a tech debt ticket so we can fix it properly on master. i am 0/5 about this unless we hit other places where we need to keep track of count.

Creating a new SpinWick test server using Mattermost Cloud.

Creating a new SpinWick test server using Mattermost Cloud.

Spintmint test server creation failed. See the logs for more information.

Feel free to ignore mattermod, I'm just using this PR to test :)

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-3199.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Spinmint test server destroyed

@mkraft Ya i meant the DOM manipulations in general not setAtrribute method but most of them classlist and tab index though(Overlooked the part of the comment).
I am good with this for a dot release but I am gonna create a ticket thought for investigation for master.


How to simulate mouse middle button (down/move/up) using Winappdriver

I'm using winappdriver to test my wpf project. One of the tests is to simulate mouse operation in GLControl. I need to simulate middle mouse down/move/up etc. Below are the codes that reference official demo. But I got the errors said "Currently only pen and touch pointer input source types are supported". Could anyone please tell me how to fix it or other ways to simulate mouse opeartion? Thanks.
`
        TimeSpan moveDuration = TimeSpan.FromMilliseconds(300);
        PointerInputDevice touch1 = new PointerInputDevice(PointerKind.Mouse);
        ActionSequence touch1Sequence = new ActionSequence(touch1, 0);
        touch1Sequence.AddAction(touch1.CreatePointerMove(sceneControlContainer, 0, 0, TimeSpan.Zero));
        touch1Sequence.AddAction(touch1.CreatePointerDown(PointerButton.MiddleMouse));
        touch1Sequence.AddAction(touch1.CreatePointerMove(sceneControlContainer, -200, -200, moveDuration));
        touch1Sequence.AddAction(touch1.CreatePointerUp(PointerButton.MiddleMouse));`

Solved it by using user32.dll`
public class MouseOperation
{
    [System.Runtime.InteropServices.DllImport("user32")]

    private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

    public static int MouseOperate(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo)
    {
        return mouse_event(dwFlags, dx, dy, cButtons, dwExtraInfo);
    }

    public const int MOUSEEVENTF_MOVE = 0x0001;
    public const int MOUSEEVENTF_LEFTDOWN = 0x0002;
    public const int MOUSEEVENTF_LEFTUP = 0x0004;
    public const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
    public const int MOUSEEVENTF_RIGHTUP = 0x0010;
    public const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
    public const int MOUSEEVENTF_MIDDLEUP = 0x0040;
    public const int MOUSEEVENTF_ABSOLUTE = 0x8000;
}

`


Add API to reindex sunspot.

[#146043589]

Related solr PR: https://github.com/concord-consortium/docker-solr-portal/pull/1
The reindexing can in theory take a long time.  I think the portal with the most resources is ITSI so that would be a good test case.  To make sure there isn't a problem there, I think it is best to run the reindex in a background job. This complicates things because the solr side of the code is waiting to see if the job is completed. I'm not sure that is necessary. I think the simple approach of kicking of a background job and hoping for the best would be OK. But perhaps you ran into several cases where the portal tried to re-index and failed?  If we need to know about the status, I think we'll need an id to identify the job.  I've just spent a while looking into how DelayedJob stores the jobs to see if we can use something existing there in this case.  It seems like we can, but it isn't documented well. The Job objects returned by Delayed::Job.enqueue are ActiveRecord models that have an id. So we should be able find the job afterwards and see if has succeeded or not.  Because of this complication, I think just triggering it and hoping for the best is the best place to start.
The next thing is that there is an existing method I've been using for API requests. It uses client tokens from the SSO system. So with one of those tokens the API request are acting as a 'user'. I'll look that up and add more info.

Sorry for the late response, I got lost in the standards stuff. Should I prioritize this PR instead? Or were you going to work it?
Some comments:
Yes it might be nice to expose an API to query jobs by job ID for not just this but any long running jobs we might need to support in the future.
If you access the API as an SSO user, which user do we use? Is there some "system" user?
We might be okay with just sending off the reindex request and hoping it works without checking the result status. I'm fine with that too. In fact, I don't even know that the current blocking implementation even returns a correct failure code--like say if solr isn't up and/or the rake task fails--which is why I added the check on the solr side to use curl to hit it's own ping URL first before contacting portal.

I've been thinking more about this. I think I've got a way that will simplify things so we don't need to worry about authentication.  Here is the new approach:
When Solr comes up the script waits for solr ping to be successful. Then the script sends a message to the portal saying: 'Hey I'm awake'.  That is pretty close to what the solr script is doing already, the difference is that it isn't an explicit 'reindex' request.  It is just a 'hey I'm awake'.
In the portal when it gets the 'hey I'm awake', the portal finds its first ExternalActivity. Then it does a search for that activity in Solr.  If it doesn't find the activity in the Solr results then it re-indexes. If there are no ExternalActivities in the portal database, it is probably OK to do nothing.
I think this eliminates the need for authentication. The main reason for the authentication was to prevent a DoS attack where Mr. Evil keeps hitting the re-index endpoint and slows down solr and the portal.  With this new approach it would be OK for someone to hit this endpoint again and again. After the first re-index the endpoint would require less processing than the home page, so it is not opening up a DoS vector.
I'm going to see if I can get the portal side of this done this morning. That way you can continue focusing on the standards.


Language switcher

Is your feature request related to a problem? Please describe.
We are currently supporting English and Norwegian, more languages are planned for the future. We need a component to let the user switch between languages which will change the text of the UI.
Describe the solution you'd like
Follow the ideas found here, a simple text based solution which we can add to our menu/settings.

We can probably use Filter component #37 for this once it is implemented.


plugin hmail-alias integration

This Pull request is not quite a duplicate of #1863
While @karobolas did admirable work on that pull request, there were a few issues. The major one being direct database access to hmail. This isn't recommended as the hmail COM api is a better choice. This Pull request uses that com api to get the user's first name and last name to use as the user identity in rainloop.
Also, instead of using direct filesystem IO to read/write to the json file that stores the user identity, I am now using the existing mechanisms in place to do such work.
I have tested this in my environment and confirmed it is working.

Test cases:
Scenario: Logging in for the first time
Result: default identity 'name' set to same values as hMailServer upon login. All over properties on the identity remain the same.
Scenario: Logging in for the second time
Result: No change
Scenario: Logging in after changing the 'name; on the default identity
Result: default identity 'name' set to same values as hMailServer upon login. All over properties on the identity remain the same.
Scenario: Logging in with an account which has multiple identities
Result: Only the default identity 'name' set to same values as hMailServer upon login, additional identities remain untouched.


Add dancingdowntonighttt by Angus Nicneven

Song Name
dancingdowntonighttt
Artist Name
Angus Nicneven
Source
Youtube
Youtube Link
wqJohMPUzdM
Direct File Link
No response
Song ID
818027
Start Offset [ms]
0
Extra
Created from Auto Nong.
Created for level: Any Level
Downloaded: Yes

pls accept it i wanna make a level with this song


Reading database sometimes throws an exception

I tried to do a POST /connection with a sample test request, without running the local controllers. It caused a crash.  It must be that there's no "latest_topo" in the DB, but that should be normal and expected.
sdx-controller-sdx-controller-service-1  | INFO:swagger_server.messaging.rpc_queue_consumer: [MQ] Awaiting requests from queue: topo
sdx-controller-sdx-controller-service-1  | INFO:swagger_server.controllers.connection_controller:Placing connection: {'id': 'id', 'name': 'AMLight', 'start_time': '2000-01-23T04:56:07.000Z', 'end_time': '2000-01-23T04:56:07.000Z', 'bandwidth_required': 10, 'latency_required': 300, 'egress_port': {'id': 'urn:sdx:port:amlight.net:A1:1', 'name': 'Novi100:1', 'node': 'urn:sdx:node:amlight.net:A1', 'status': 'up'}, 'ingress_port': {'id': 'urn:ogf:network:sdx:port:zaoxi:A1:2', 'name': 'Novi100:2', 'node': 'urn:ogf:network:sdx:node:zaoxi:A1', 'status': 'up'}}
sdx-controller-sdx-controller-service-1  | INFO:swagger_server.controllers.connection_controller:Gathered connexion JSON: {'id': 'id', 'name': 'AMLight', 'start_time': '2000-01-23T04:56:07.000Z', 'end_time': '2000-01-23T04:56:07.000Z', 'bandwidth_required': 10, 'latency_required': 300, 'egress_port': {'id': 'urn:sdx:port:amlight.net:A1:1', 'name': 'Novi100:1', 'node': 'urn:sdx:node:amlight.net:A1', 'status': 'up'}, 'ingress_port': {'id': 'urn:ogf:network:sdx:port:zaoxi:A1:2', 'name': 'Novi100:2', 'node': 'urn:ogf:network:sdx:node:zaoxi:A1', 'status': 'up'}}
sdx-controller-sdx-controller-service-1  | INFO:swagger_server.controllers.connection_controller:Placing connection. Saving to database.
sdx-controller-sdx-controller-service-1  | DEBUG:swagger_server.utils.db_utils:Adding key value pair connection_data:{"id": "id", "name": "AMLight", "start_time": "2000-01-23T04:56:07.000Z", "end_time": "2000-01-23T04:56:07.000Z", "bandwidth_required": 10, "latency_required": 300, "egress_port": {"id": "urn:sdx:port:amlight.net:A1:1", "name": "Novi100:1", "node": "urn:sdx:node:amlight.net:A1", "status": "up"}, "ingress_port": {"id": "urn:ogf:network:sdx:port:zaoxi:A1:2", "name": "Novi100:2", "node": "urn:ogf:network:sdx:node:zaoxi:A1", "status": "up"}} to DB.
sdx-controller-mongodb-service-1         | 2023-07-26T15:11:40.523+0000 I STORAGE  [conn4] createCollection: sdx-controllder-test-db.sdx-controllder-test-db.sdx-controller-test-table with generated UUID: 1ba44083-3486-4ff5-8be3-4361fa3b4371
sdx-controller-sdx-controller-service-1  | INFO:swagger_server.controllers.connection_controller:Saving to database complete.
sdx-controller-sdx-controller-service-1  | ERROR:__main__:Exception on /SDX-Controller/1.0.0/conection [POST]
sdx-controller-sdx-controller-service-1  | Traceback (most recent call last):
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2529, in wsgi_app
sdx-controller-sdx-controller-service-1  |     response = self.full_dispatch_request()
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
sdx-controller-sdx-controller-service-1  |     rv = self.handle_user_exception(e)
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
sdx-controller-sdx-controller-service-1  |     rv = self.dispatch_request()
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
sdx-controller-sdx-controller-service-1  |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/decorator.py", line 68, in wrapper
sdx-controller-sdx-controller-service-1  |     response = function(request)
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/uri_parsing.py", line 149, in wrapper
sdx-controller-sdx-controller-service-1  |     response = function(request)
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/validation.py", line 196, in wrapper
sdx-controller-sdx-controller-service-1  |     response = function(request)
sdx-controller-sdx-controller-service-1  |   File "/usr/local/lib/python3.9/site-packages/connexion/decorators/parameter.py", line 120, in wrapper
sdx-controller-sdx-controller-service-1  |     return function(**kwargs)
sdx-controller-sdx-controller-service-1  |   File "/usr/src/app/swagger_server/controllers/connection_controller.py", line 92, in place_connection
sdx-controller-sdx-controller-service-1  |     topo_val = db_instance.read_from_db("latest_topo")["latest_topo"]
sdx-controller-sdx-controller-service-1  | TypeError: 'NoneType' object is not subscriptable
sdx-controller-sdx-controller-service-1  | INFO:werkzeug:<IP_ADDRESS> - - [26/Jul/2023 15:11:40] "POST /SDX-Controller/1.0.0/conection HTTP/1.1" 500 -

As Sajith mentioned in the above PR, we should refactor the DB class to make it more resilient and easier to use. Pasting the comments here:

It is better to change read_from_db() such that we can get what we need by simply calling read_from_db("latest_topo").
We'll get an error if db_instance.read_from_db("latest_topo") returns None, or if "latest_topo" key does not exist in the dict returned.
We'll get another error from json.loads() if topo_val turns out to be None.


No default value on dynamic extension registering

waiting for https://github.com/phpDocumentor/ReflectionDocBlock/pull/374


docs: update component category

🤔 这个 PR 的性质是？

[x] 文档改进

🔗 相关 Issue

无
💡 需求背景和解决方案

更新组件分类
📝 更新日志

docs: 更新组件分类

Codecov Report

Merging #279 (0a9334d) into develop (8bdc6ba) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           develop    #279   +/-   ##
=======================================
  Coverage     7.24%   7.24%
=======================================
  Files          377     377
  Lines         4085    4085
  Branches       967     967
=======================================
  Hits           296     296
  Misses        3789    3789

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 fe239b6...0a9334d. Read the comment docs.


for supporting test

for supporting test

Nuxt already takes care of configuring Webpack with the "right" devtool for development and production. If you would like to use a different devtool to the one that Nuxt configures, you can do so within your project's config file. This isn't the concern of this module, so I won't be merging—sorry!

At least, The Nuxt doc has to have description how to set for Typescrtipt code mapping


[BUG] - iOS - Pressing a DropdownItem breaks text selection

NextUI Version
2.4.8
Describe the bug
This is definitely a pretty significant issue. In iOS, if you long press in Safari you can select text. This works totally fine with a NextUI website. If you open and close a DropdownMenu, it continues to work normally, but if you tap a DropdownItem, you will no longer be able to select any text until you do a hard refresh. I might have to pull all DropdownMenu's from my website if it breaks text selection for iOS users. Controlled Popovers do not cause this issue
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Open a DropdownMenu and press a DropdownItem on Safari then attempt to select text by tapping and holding any text.
Expected behavior
Should be able to continue to select text in iOS even after pressing a DropdownItem
Screenshots or Videos
No response
Operating System Version
iOS
Browser
Safari

I don't think I will be able to use this in production since my target audience is iOS users so if this doesn't even get a response soon I think I might have to jump ship here

This is caused when you select a DropdownItem it adds -webkit-user-select: none; to html tag and never removes it.
body {
  user-select: auto;
  -webkit-user-select: auto;
}

^^ My hack to fix it


The command \tref does not work seemly.

As illustrated by the title. The command \tref does not work although the alternative \eqref can do! I do not known the reason for it. Is this a bug or an issue with my plugin settings? Thanks a lot.
Obsidian: v 1.6.3
Latex-like: v 2.2.0

Sorry, I should create some theorem before using the command \tref.


deprecate

@pHill5136 Can you revert this? Removing all the code has broken all of the links on the solutions website. This will have to be done at the time of the next planned solutions website release.


Form horizontal does not work properly

If we have a form horizontal as Bootstrap 3 says:

          Título

            <input type="text" formControlName="name" class="form-control">

The error is placed outside col-md-9 div. It must be inside to view message correctly.

Yeah - definitely an oversight on my part when putting this together. Will need to look into that. Thinking of creating a directive using .form-control as a selector and rendering the error messages as siblings following that element. Does that sound appropriate?

Sounds great for most cases, but... checkboxes and radios don't have form-control class. I think the better strategy would be to search the input/select/textarea inside form-group, level up to his parent and append to it.
If it's a usual form, it would be set under input. If it's a horizontal form with usual input, it would be set under the input inside div with col-* class.
If it's an input-group (input with button to the right, for example) we have a problem, because the help-block should be set under div with col-* class, not under div with input-group class.
It's hard to say a unique rule for that. I guess that it needs an If to control all possibilities. I'm not an expert on angular and I don't know if this is easy to achieve.

Thanks for the input. I'm kicking around a few ideas. I hope to have something put together within the next week or so.


When using "Selected organizational units:" mention the scope of the defined OU more clearly

Somewhere in the text the following is mentioned:
Select the scoping filter. The filter can be one of the following:
All users: Scopes the configuration to apply to all users that are being synchronized.
Selected security groups: Scopes the configuration to apply to specific security groups.
Selected organizational units: Scopes the configuration to apply to specific OUs.
to make it more explicit, I recommend specifying the following:
Select the scoping filter. The filter can be one of the following:
All users: Scopes the configuration to apply to all users that are being synchronized.
Selected security groups: Scopes the configuration to apply to specific security groups.
Selected organizational units: Scopes the configuration to apply to the specified OUs only, meaning that any sub OUs of any specified OU is not included in the scope automatically.
thanks,
regards,
Jorge

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

ID: 1efe4486-2449-4ec7-671b-63d398eec65a
Version Independent ID: 11d3a480-8cde-b13b-d2c2-4ffe8c782d83
Content: Azure AD Connect cloud sync new agent configuration - Microsoft Entra
Content Source: articles/active-directory/cloud-sync/how-to-configure.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@zjorz
Thanks for your feedback! We will investigate and update as appropriate.

@zjorz
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly

@billmath
Can you please check and add your comments on this doc update request as applicable.

Thank for submitting this. I have created a work item for it and will send this to engineering so that they can review it and provide me with updated details. I am not sure what the timeline will be, so I am going to close this for now. But once I have an update I will drop it in here and let you know.
Thank you!
Bill
#please-close


Add Circles, Polylines and Polygons to map.

Add Circles to map.
Update Demo proyect with examples.

Done!

Now i'm done! Thanks!

I've merged your work but I don't understand this change:
Sleep(1000);
application.ProcessMessages;
NavigateToString(HTMLString);
instead of:
NavigateToURL('file:///'+LFileName);


Add OpenMC label to ThermalScattering

What is the change?

Added support for thermal scattering data labels in OpenMC's syntax (usually something like "c_H_in_H2O") analogous to current support for ENDFB8 and ACE labels. Also added tests similar to the existing ENDFB8 and ACE label tests. The label generator does not currently work for all thermal scattering data available to OpenMC (for example "c_O_in_H2O_solid" or "c_ortho_H"), but it works for all thermal scattering laws used in ARMI in thermalScattering.byNbAndCompound.
Why is the change being made?

An OpenMC label generator is necessary to use thermal scattering data in the ARMI OpenMC plugin, and it is simpler to include it in ARMI's thermal scattering module rather than in the plugin itself.

Checklist

[x] This PR has only one purpose or idea.
[x] Tests have been added/updated to verify any new/changed code.

[x] The code style follows good practices.
[x] The commit message(s) follow good practices.

[ ] The release notes have been updated if necessary.
[x] The documentation is still up-to-date in the doc folder.
[x] The dependencies are still up-to-date in pyproject.toml.

Hi @AidanMcDonald - would it be possible to implement this in the OpenMC plugin directly or can we think about ways to abstract the thermal scattering laws implementation so that specific code-based names and attributes aren't added to the code base? I think this would be a more robust way of handling the framework for "n" codes and so that if OpenMC changes the naming it doesn't impact the framework design.

@jakehader , thanks for the feedback. Here's my reasoning for implementing it this way:
My intention is to implement the OpenMC label generator in the same way as the current ENDFB8 and ACE label generators since the generation and use is almost identical. I agree that adding specific names isn't ideal, but just like with the ENDF and ACE label generators, some of the labels don't follow logical rules and must be hard-coded. Since that is the case, I think it makes sense to keep the hard-coded ENDF, ACE, and OpenMC labels together like the hard-coded ENDF and ACE labels are now.
With that said, I have made a function in the OpenMC plugin that will work for now (featuring a lot of if statements for the "hard-coded" labels) if that's the direction you want to go.

Moving discussion to #1804 and closing for now. I will keep the branch in my fork just in case.


Make available through unpkg

Per the docs you can use an http reference to extend a ruleset. When I try to access your ruleset via unpkg.com I get the following error

Cannot find package spectral-jsonapi-ruleset@latest

I believe this is because you haven't created the tag latest. Can you add that please?

Apologies for the super long response time. This status of this project was in flux for quite a while and has just gone through a large overhaul to be Stoplight.io styleguide friendly.
unpkg.com doesn't have this package as we have not published it to npm as of yet.
If you wish to use the Spectral http method you could point to the raw file on github:
https://raw.githubusercontent.com/jmlue42/spectral-jsonapi-ruleset/main/.spectral.yml


RegisterBehaviour没有任何反应

RegisterBehaviour如何使用，文档没有描述，使用没有反应

English:
There isn't much documentation for this. It took me a while to figure out too.
Chinese:
这方面没有太多文件。我花了一段时间才弄明白。
Demo

This is how you use RegisterBehaviour || 这就是您使用RegisterBehaviour的方式
English:
There isn't much documentation for this. It took me a while to figure out too.
Chinese:
这方面没有太多文件。我花了一段时间才弄明白。
Demo

Thank you very very much for your help：）


Nested objects in query builder

Hey guys, I've noticed some odd behaviour with the query builder's handling of nested objects. It tries to JSON.stringify them as opposed to toString().
Following code example:
var obj = {
    email: {
        nested_key: 'value'
    }
}

knex.insert(obj).into('account').toString(); //produces 'insert into `account` (`email`) values (\'[object Object]\')'

knex.insert(obj).into('account').exec(); //produces 'insert into `account` (`email`) values (`nested_key` = \'value\')' }

Which of course throws a ER_BAD_FIELD_ERROR: Unknown column 'nested_key' in 'field list'
Is this expected behaviour? as it's different to how the Mysql module would handle objects which would handle them like the first case, proves very hard to debug when toString() doesn't produce the same query as what's being run also!
I created a gist if you want to replicate: https://gist.github.com/johnbrett/174a77c8a20752031682
Thanks for time on this!

Closing this, seems fixed:
var obj = {
    email: {
        nested_key: 'value'
    }
}

console.log(knex.insert(obj).into('account').toString());
//insert into `account` (`email`) values ({"nested_key":"value"})


Implement a Subreddit Sanitizer that deserializes user-supplied subreddit links into an object

Valid formats include

https://www.reddit.com/r/wallpapers/top/?t=week
www.reddit.com/r/wallpapers/top/?t=week
reddit.com/r/wallpapers/top/?t=week
r/wallpapers/top/?t=week
r/wallpapers
wallpapers

Should also support scraping user accounts like

https://www.reddit.com/user/exampleuser/submitted/?sort=top&t=week
www.reddit.com/user/exampleuser/submitted/?sort=top&t=week
reddit.com/user/exampleuser/submitted/?sort=top&t=week
u/exampleuser/submitted/?sort=top&t=week
u/exampleuser/submitted/
u/exampleuser

Implemented in 305bdd2b1c39704a32239b7e2e35f50ec064f322


Chore: Remove command from slack notification

The command arguments could have sensitive information. Removing the command from notifications for now. Will add it back with the sensitive information redacted in the near future.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


No module named 'fairing.training

getting this when trigger a job
'Traceback (most recent call last):'
'  File "/app/main.py", line 31, in '
'    from fairing.training import kubeflow'
"ModuleNotFoundError: No module named 'fairing.training'"
Seems like you have not published the new version.  fairing==0.0.3

I installed fairing using a commit id but still ran into this issue:
!pipenv install git+git://github.com/kubeflow/fairing.git@132f99d75bcd8dd8377e87aed5d317eede5aa6a0#egg=fairing

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-30-6f92c961e2d7> in <module>
----> 1 fairing.config.set_model(SimpleModel())

AttributeError: module 'fairing' has no attribute 'config'

Oh it seems something not finished yet...
https://github.com/kubeflow/fairing/pull/68/files#r258633717

I installed fairing using a commit id but still ran into this issue:
!pipenv install git+git://github.com/kubeflow/fairing.git@132f99d75bcd8dd8377e87aed5d317eede5aa6a0#egg=fairing

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-30-6f92c961e2d7> in <module>
----> 1 fairing.config.set_model(SimpleModel())

AttributeError: module 'fairing' has no attribute 'config'

closing this as the API mentioned here is changed. Please reopen if you encounter this on current master.


Fix Ctrl-T and Alt-C in fish no longer using last token as search root

This fixes a regression from #3649.

Merged, thanks!


update dependencies

Thanks!

I guess we could do that, yeah. I never thought about it but we could certainly try!
I'd be willing to use it for this repo anyway.


Use M1 runner for macOS arm64 wheels

Now that GitHub has made an ARM64 runner available - hurrah! - let's use it to create the problematic macOS ARM64 wheels.
In the GitHub Action artifacts script, I have separated out the builds for each platform into discrete jobs.  They are all slightly different and it seems sensible to have a specific job for each platform.
We were getting a bunch of deprecation warnings about old versions of node, so I have updated the versions of actions/setup-python from v4 to v5, actions/upload-artifact from v3 to v4, and github/codeql-action from v2 to v3.  I have also taken the opportunity to pin various actions to specific minor versions so we know exactly what is being run.
Lastly, I have swapped around the Appveyor builds so that Python 3.12 is done first and Python 3.8 is done last.  On the free plan, Appveyor jobs are sequential (and slow), and typically it's the Python 3.12 build we are most interested in, so do it first.

You can see examples of the wheels that are generated here: https://github.com/keitherskine/pyodbc/actions/runs/7775109101
(they can't be built in the main mkleehammer pyodbc repo until this PR is merged into master)
This should hopefully fix #1124 .

I have tested the arm64 wheel on an M1 Macbook Pro.  If anybody can test it on an M3 that would be appreciated.


Add GitHub test action

This adds a basic GitHub Action for running tests against all of the currently supported versions of CRuby. Tests are run on pushes to main and any pull request to main. It includes #86 since the committed Gemfile.lock doesn't work with Ruby 3.0.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Closes #85
Closes #86

You can see an example of the tests running on my fork: https://github.com/gaffneyc/twirp-ruby/actions

LGTM

@gaffneyc can you add this - "By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license." to you PR?
Thanks!

Not a problem, I've added it to the PR message

Thanks for your contribution.


Add new fields accessTier and previousTier to event StorageBlobTierChanged

We are adding new fields to the event 'StorageBlobTierChangedEvent' - these fields contain information about the previous tier and the current tier of the blob after the SetBlobTier operation.
Choose a PR Template
Switch to "Preview" on this description then select one of the choices below.
Click here to open a PR for a Data Plane API.
Click here to open a PR for a Control Plane (ARM) API.

@JoshLove-msft Can you help to review this PR? I created this new PR as there were some local issues with my older PR


buildGoPackage: remove build-time dependency on parallel (and perl)

xargs is as good as parallel for our job
Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] 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 nox --run "nox-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)
[x] Fits CONTRIBUTING.md.

Currently running nix-review. I already tested some non-trivial packages.

@GrahamcOfBorg build direnv

Success on x86_64-linux (full log)
Attempted: direnv
Partial log (click to expand)
strip is /nix/store/rpbg8gmqxhz8g61p1plz5d2srs84pvmv-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/77kbz4ij3y1ybxvn2cjbsx9d7ifyh043-direnv-2.17.0-bin/bin
patching script interpreter paths in /nix/store/77kbz4ij3y1ybxvn2cjbsx9d7ifyh043-direnv-2.17.0-bin
checking for references to /build in /nix/store/77kbz4ij3y1ybxvn2cjbsx9d7ifyh043-direnv-2.17.0-bin...
cannot find section .dynamic
shrinking RPATHs of ELF executables and libraries in /nix/store/vx7jgqvqjilawnpqaqvs2gg6zdq9fl21-direnv-2.17.0
strip is /nix/store/rpbg8gmqxhz8g61p1plz5d2srs84pvmv-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/vx7jgqvqjilawnpqaqvs2gg6zdq9fl21-direnv-2.17.0
checking for references to /build in /nix/store/vx7jgqvqjilawnpqaqvs2gg6zdq9fl21-direnv-2.17.0...
/nix/store/77kbz4ij3y1ybxvn2cjbsx9d7ifyh043-direnv-2.17.0-bin

Success on x86_64-darwin (full log)
Attempted: direnv
Partial log (click to expand)
install direnv /nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin/bin
cp -R man/*.1 /nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin/share/man/man1
post-installation fixup
gzipping man pages under /nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin/share/man/
strip is /nix/store/rk3p99jbj4idl3dkkg1rxja5gz0qgs98-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin/bin
patching script interpreter paths in /nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin
strip is /nix/store/rk3p99jbj4idl3dkkg1rxja5gz0qgs98-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/55pvr46qy441hql6qzyjm32wj8jjzj0v-direnv-2.17.0
/nix/store/685dh7pksrqb6fxpysnlskgf6b5hild3-direnv-2.17.0-bin

Success on aarch64-linux (full log)
Attempted: direnv
Partial log (click to expand)
strip is /nix/store/6dpnd5aniypn8124mmy8f88s4mq2zl07-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/dd9a6jvjw24hrbhv0q24qglpj713wv40-direnv-2.17.0-bin/bin
patching script interpreter paths in /nix/store/dd9a6jvjw24hrbhv0q24qglpj713wv40-direnv-2.17.0-bin
checking for references to /build in /nix/store/dd9a6jvjw24hrbhv0q24qglpj713wv40-direnv-2.17.0-bin...
cannot find section .dynamic
shrinking RPATHs of ELF executables and libraries in /nix/store/xkjcz10z6mgj75sjwr97nh6a0b3dzlvm-direnv-2.17.0
strip is /nix/store/6dpnd5aniypn8124mmy8f88s4mq2zl07-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/xkjcz10z6mgj75sjwr97nh6a0b3dzlvm-direnv-2.17.0
checking for references to /build in /nix/store/xkjcz10z6mgj75sjwr97nh6a0b3dzlvm-direnv-2.17.0...
/nix/store/dd9a6jvjw24hrbhv0q24qglpj713wv40-direnv-2.17.0-bin


FD-005.3 Member card component

Description:

Member Card with name, job title, portfolio, & social media

Acceptance Criteria:
 - Card Component

This may change. We make a one general member card to be used throughout the website.

I would like to tackle this

Hi, I can work on this, if you will assign this issue to me.

hey @ZeeMonk-pixel do you still want to tackle this?

Yeah I'll love to... I'll need to see what the card design looks like though

hey @ZeeMonk-pixel I have attached the figma resource above

okay. thanks @Sydnee510 . I'll get to work on it

Hey, wanted to mention that since the member page has a header and styling that needs to be added, I'll add the base styling in this ticket.


Limit careers results

Careers landing page showing all current jobs on landing page -- should only show 5 then link to rest
Additions

Add a 'careers_preview' query to limit the results to 5

Removals

Removed several size=x params passed to query.search(), which don't do anything

Changes

Use the added careers_preview.json in the careers sublanding page instead of careers.json

Testing

Navigate to http://localhost:8000/careers/ and confirm there are only 5 job listings, and then click on "View all job openings" and confirm they are all there.

Review

@kave @kurtw

Screenshots

Notes

Todos

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

:+1:

:+1:


Pass correct logger to watermill.

Summary
In a couple cases, watermill was provided with its default logger which outputs unstructured strings.
This change configures sql and go-channel watermill drivers with a wrapped zerolog instance.
Change Type

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[X] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Manual tests.
Review Checklist:

[X] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[X] Checked that related changes are merged.

coverage: 53.356% (+0.007%) from 53.349%
when pulling 7d56c4a65dc1546317274aaa83bd4201b73d7d9a on fix/pass-logger-to-watermill
into 76e9f430b89934e61c5550c2035a8de58103997e on main.


Bug: Search feature isn't working properly

What happened?
When i search for resume related projects by entering 'Resume' in the searchbar, the results are not static. I mean when i try to scroll down, the projects keep refreshing and also the major projects displayed don't follow the keyword entered.
Also there must be a search button adjacent to the searchbar in order to provide a smooth user experience.
Add screenshots

What browsers are you seeing the problem on?
Chrome
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

ig it's already fixed


using "ratio" token in wallhaven results in wrong query

Bug description
adding ratio: landscape should return only landscape images. However, the actual behavior is that the results are wrong
Steps to reproduce

Go to default search page
write this query rating:safe -greyscale ratio: landscape
notice that results still contains portrait images

Expected behavior
to find images that are only landscape. note, the log says that this is the link it generated from inputted query
https://wallhaven.cc/api/v1/search?q=-greyscale landscape&purity=100&page=1&sorting=date_added&order=desc
while the generated link should be (taken from wallhaven site):
https://wallhaven.cc/search?q=-greyscale&categories=001&purity=100&ratios=landscape&sorting=relevance&order=desc
in the above links, landscape should be in query param ratios=landscape instead of q=landscape
Additional context
this bug is related to the feature  https://github.com/Bionus/imgbrd-grabber/issues/2586

Isn't it just because you added a space between ratio: and landscape?
I just tried with ratio:landscape and it gave me this link:
https://wallhaven.cc/api/v1/search?q=-greyscale&purity=100&page=1&sorting=date_added&order=desc&ratios=landscape

hey if i write it like ratio:landscape  it just gives me
walhaven - No result
possible reasons: too many tags
for something like this:
rating:safe ratio:landscape -Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup

rating:safe ratio:landscape -Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup

I'm getting results for this very query, just copy pasting it into the search field:

As well as this URL:
https://wallhaven.cc/api/v1/search?q=-Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup&purity=100&page=1&sorting=date_added&order=desc&ratios=landscape
🤔

Log:
[21:39:18.180][Info] [wallhaven.cc][Json] Loading page https://wallhaven.cc/api/v1/search?q=ratio%3Alandscape -Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup&purity=100&page=1&sorting=date_added&order=desc&apikey=ZvjL4uICURHZtUJpBRwDULJH1trtDy54
[21:39:18.625][Info] [wallhaven.cc][Json] Receiving page https://wallhaven.cc/api/v1/search?q=ratio%3Alandscape -Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup&purity=100&page=1&sorting=date_added&order=desc&apikey=ZvjL4uICURHZtUJpBRwDULJH1trtDy54
[21:39:18.627][Info] [wallhaven.cc][Json] Parsed page https://wallhaven.cc/api/v1/search?q=ratio0Alandscape -Japanese -man -men -old -greyscale -monochrome -ebony -korean -pregnant -chinese -asian -closeup&purity=100&page=1&sorting=date_added&order=desc&apikey=ZvjL4uICURHZtUJpBRwDULJH1trtDy54: 0 images (0), 0 tags (0), 0 total (1), 1 pages (%11)

About:

Do you have an old model.js in C:/Users/%USERNAME%/AppData/Local/Bionus/Grabber/sites/WallHaven?
model.js files have moved to program files so it might interfere with it and make you use the old model file.

deleting it should make things work?

deleting it results in this errors in log
[17:36:59.095][Error] Uncaught exception at line 74: TypeError: Property 'buildQueryParams' of object JavascriptGrabberHelper(0x1d40353ca70) is not a function
[17:36:59.096][Error] Uncaught exception at line 74: TypeError: Property 'buildQueryParams' of object JavascriptGrabberHelper(0x1d40353ca70) is not a function
[17:36:59.096][Warning] [wallhaven.cc][Json] Uncaught exception at line 74: TypeError: Property 'buildQueryParams' of object JavascriptGrabberHelper(0x1d40353ca70) is not a function
[17:36:59.096][Warning] [wallhaven.cc] No valid source of the site returned result.

i think a quick fix would be giving the newer model.js to replace my current one?

You need to delete helper.js file from C:/Users/%USERNAME%/AppData/Local/Bionus/Grabber/sites as well.

i think a quick fix would be giving the newer model.js to replace my current one?
It's all in the install folder but as long as those files are deleted Grabber will find them properly


Convert report-a-lost-or-stolen-passport to use ERB templates for questions

Looks good to me.

I've rebased on master and force pushed in preparation for merging.


CI error: Failed to upload the '/home/runner/work/casdoor-website/casdoor-website/docs/syncer/LDAP.md' file to the storage. Please contact our support team for help

https://github.com/casdoor/casdoor-website/runs/8103388678?check_suite_focus=true

@Selflocking


[KYUUBI #1696] Add fetch logs and results rows rate

Why are the changes needed?

Add fetch results and logs rows rate metric.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Codecov Report

Merging #1707 (92a9d27) into master (c43d3a7) will increase coverage by 0.08%.
The diff coverage is 75.00%.

@@             Coverage Diff              @@
##             master    #1707      +/-   ##
============================================
+ Coverage     59.67%   59.76%   +0.08%
+ Complexity      225      219       -6
============================================
  Files           269      268       -1
  Lines         13231    13259      +28
  Branches       1673     1692      +19
============================================
+ Hits           7896     7924      +28
+ Misses         4662     4656       -6
- Partials        673      679       +6

Impacted Files
Coverage Δ

...a/org/apache/kyuubi/metrics/MetricsConstants.scala
100.00% <ø> (ø)

...cala/org/apache/kyuubi/metrics/MetricsSystem.scala
68.57% <0.00%> (-6.43%)
:arrow_down:

...he/kyuubi/server/BackendServiceFetchRowsRate.scala
85.00% <85.00%> (ø)

.../scala/org/apache/kyuubi/server/KyuubiServer.scala
63.29% <100.00%> (ø)

...ache/kyuubi/engine/flink/result/OperationUtil.java
77.77% <0.00%> (-2.23%)
:arrow_down:

...uubi/engine/flink/operation/ExecuteStatement.scala
79.68% <0.00%> (-0.96%)
:arrow_down:

.../apache/kyuubi/engine/flink/result/ColumnInfo.java

.../apache/kyuubi/engine/flink/result/ResultKind.java

...org/apache/kyuubi/engine/flink/schema/RowSet.scala
51.90% <0.00%> (+1.90%)
:arrow_up:

...ache/kyuubi/operation/KyuubiOperationManager.scala
95.00% <0.00%> (+2.50%)
:arrow_up:

... and 2 more

Continue to review full report at Codecov.

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

thanks, merged to master


pyfftw dependency

When installing your package I needed to do both

brew install fftw

and then

pip install pyfftw

Otherwise it would keep asking for
/private/var/folders/y_/cnss5hqs3nz9dv_dd28yzt040000gn/T/pip-build-rfotlhg7/pyfftw/pyfftw/pyfftw.c:272:10: fatal error: 'fftw3.h' file not found     #include "fftw3.h"              ^     1 warning and 1 error generated.     error: command '/usr/bin/clang' failed with exit status 1
I suggest adding information about fftw to your docs, I spent some time trying to make it work.

README.md already mentions "You will need to install FFTW as well prior to installation of pyFFTW.". It is up to users how to install FFTW because install procedure of FFTW could be different for different OS (e.g. linux, mac, windows).
Cheers,


Paths with space don't work.

I have tested it with two filenames/paths.
Original: 01-03 Regardless.flac returning 404 not found
Renamed:  song.flac returning the file
Renamed: song 123.flac returning 404 not found.

You can do this as a workaround:
staticPlugin({
  enableDecodeURI: true,
  alwaysStatic: false,
})

https://github.com/elysiajs/elysia-static/issues/15#issuecomment-2550219590


{   "message": ""UnexpectedCancel"" }

Trying to upload a file but keep getting the same error. It's a critical issue as an important daily use case depends on it.  I hope for a good and early reply.
Thank you

@arneshchopra can you please share the AzCopy log file with us from the upload that failed? If you do not know which log file it is, you can:

Try the upload again
If it fails, go to <your home directory>/.azcopy
Drag and drop the newest log file to a reply to this issue

Closing due to lack of response. If you are still encountering this issue we recommend opening a support ticket via the Azure Portal. Alternatively you can open a new issue here.


app-shell-demo does not work

I tried a bunch of things (all step* branches, npm install,  etc).
I am getting:
✘-1 ~/others/sw-precache/app-shell-demo [step4|✔]
14:51 $ gulp build:dist
[14:52:07] Working directory changed to ~/others/sw-precache
[14:52:07] Using gulpfile ~/others/sw-precache/gulpfile.js
[14:52:07] Task 'build:dist' is not in your gulpfile
[14:52:07] Please check the documentation for proper gulpfile formatting

Sorry about that—I attempted to fix it in https://github.com/GoogleChrome/sw-precache/pull/190, which is a change that had to be reverted due to an incompatability with Windows, and I'll come up with a better solution.
Doing an npm install in the top-level sw-precache directory before doing the npm install in the app-shell-demo directory seems to be a workaround.

I did that. But it still does not work.
On Oct 4, 2016 7:17 AM, "Jeffrey Posnick"<EMAIL_ADDRESS>wrote:

Sorry about that—I attempted to fix it in #190
https://github.com/GoogleChrome/sw-precache/pull/190, which is a change
that had to be reverted due to an incompatability with Windows, and I'll
come up with a better solution.
Doing an npm install in the top-level sw-precache directory before doing
the npm install in the app-shell-demo directory seems to be a workaround.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/sw-precache/issues/194#issuecomment-251401009,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJWDSpS3EYC0v8jxJ6fM7nfcuc2Az0gks5qwl_3gaJpZM4KNFZH
.

Sorry; you can just run an explicit gulp build:dist from inside the app-shell-demo directory and it will accomplish the same thing.
I'm going to remove the gulp build:dist from the postinstall script, as it's only really needed when I deploy to https://ifixit-pwa.appspot.com/, so it's not generally useful.
I want to hold off on touching this code for a few more days, as it's being used in its current incarnation as part of the https://events.withgoogle.com/pwa-roadshow-north-america/ events, and the presenters are familiar with the current workarounds. I'll leave this open and address it in a few days.

You could use a new branch, maybe.
I did run gulp build:dist from inside the app-shell-demo. But this is the result:
✘-1 ~/others/sw-precache/app-shell-demo [step4|✔]
14:56 $ gulp build:dist
[12:25:42] Working directory changed to ~/others/sw-precache
[12:25:42] Using gulpfile ~/others/sw-precache/gulpfile.js
[12:25:42] Task 'build:dist' is not in your gulpfile
[12:25:42] Please check the documentation for proper gulpfile formatting


Mouseenter event to keep painting

If you are painting, move your cursor off of the map or map layers, then return, while still clicked, the map does not continue to paint as you would expect

Fixed by #182, no @nofurtherinformation ?

This is slightly subtly the opposite problem -- there are some cases where the application is too quick to cut off a paint even


[Bug]:

Describe the bug
Hi, setup gas reading in HA, keep getting the following
statistics_not_defined
sensor.octopus_energy_gas_g4f74808131700_576923809_previous_accumulative_consumption
Entity unavailable
The state of these configured entities are currently not available:
sensor.octopus_energy_gas_g4f74808131700_576923809_previous_accumulative_consumption (unknown)
Reproduction steps
The electrical meter reading are working fine, no issues, but cannot get the Gas reading to work
Expected behaviour
to see gas usage
Tariff Code
No response
Integration Version
V7.5.0
Home Assistant Version
Home Assistant 2023.7.2 Supervisor 2023.07.1 Operating System 10.3 Frontend 20230705.1 - latest
Fresh Install?
Fresh install
Home Assistant Logs
2023-07-15 19:01:08.691 WARNING (MainThread) [homeassistant.components.number] custom_components.octopus_energy.intelligent.charge_limit::OctopusEnergyIntelligentChargeLimit is overriding deprecated methods on an instance of NumberEntity, this is not valid and will be unsupported from Home Assistant 2022.10. Please report it to the custom integration author.
2023-07-15 19:20:10.304 WARNING (MainThread) [homeassistant.components.media_player] Error retrieving proxied image from http://<IP_ADDRESS>:1400/getaa?s=1&u=x-sonos-http:546914607717de6489ba97ff41422dfaf023ed7a%253aNone%253a13868%253atrack.mp3?sid%3D212%26flags%3D24608%26sn%3D7

Afternoon and sorry that you're having issues.
Is this error being reported when trying to configure the sensor in the energy dashboard? If so, you might need to wait up to 24 hours as OE can take a while receiving the gas sensor data from your smart meter.
It is also advised to follow the guide as outlined in https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/blob/develop/_docs/energy_dashboard.md#previous-day-consumption to get hourly breakdowns. Again it might take up to 24 hours for the outlined sensor to appear.

Thanks, for responding
I get no update for gas at all, I have set it up with the error, and left for over a week, and no update for the gas
I will review the link, and try to see if this will resolve mu issue.
thanks
From: David Kendall @.>
Sent: 16 July 2023 17:40
To: BottlecapDave/HomeAssistant-OctopusEnergy @.>
Cc: CarlD21 @.>; Author @.>
Subject: Re: [BottlecapDave/HomeAssistant-OctopusEnergy] [Bug]: (Issue #312)
Afternoon and sorry that you're having issues.
Is this error being reported when trying to configure the sensor in the energy dashboard? If so, you might need to wait up to 24 hours as OE can take a while receiving the gas sensor data from your smart meter.
It is also advised to follow the guide as outlined in https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/blob/develop/_docs/energy_dashboard.md#previous-day-consumption to get hourly breakdowns. Again it might take up to 24 hours for the outlined sensor to appear.

Reply to this email directly, view it on GitHubhttps://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/312#issuecomment-1637134895, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVJW6OWUI76ME5RZJ34B3CLXQQKOFANCNFSM6AAAAAA2MBDRMI.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Hmm I have had a small number of reports in the past of people not receiving gas because their meters sends the data over 24 hours later, which might be happening in your scenario. Can you see the gas in the octopus energy app or dashboard for the previous day?

HI,
Only just download the app to my phone, which show Elec usage/cost But No Gas
I am getting reading on my Smart meter for both Gas & Elec , so not sure why I am not getting same reading from the amp or in HA
Carl
From: David Kendall @.>
Sent: 17 July 2023 06:19
To: BottlecapDave/HomeAssistant-OctopusEnergy @.>
Cc: CarlD21 @.>; Author @.>
Subject: Re: [BottlecapDave/HomeAssistant-OctopusEnergy] [Bug]: (Issue #312)
Hmm I have had a small number of reports in the past of people not receiving gas because their meters sends the data over 24 hours later, which might be happening in your scenario. Can you see the gas in the octopus energy app or dashboard for the previous day?

Reply to this email directly, view it on GitHubhttps://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/312#issuecomment-1637395800, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVJW6OTGD4DRIU5D7ZXSUE3XQTDLBANCNFSM6AAAAAA2MBDRMI.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

That at least gives a clue as to why you're not receiving the data within the integration, as the app uses the same API and data as the integration. Do you get any data within the app (e.g. a couple of days late?)
Ultimately, this might be an issue that would require HA support.

Hmm I have had a small number of reports in the past of people not receiving gas because their meters sends the data over 24 hours later, which might be happening in your scenario. Can you see the gas in the octopus energy app or dashboard for the previous day?

This just seemed to happen to me, my energy dashboard is missing my Gas data for the 11th Aug, as it just updated in Octopus' App this morning, what can i do to get the data to the Energy Dashboard ?

the data can be downloaded manually via Octopus' website for here https://octopus.energy/dashboard/new/accounts/A-XXXXX/consumption/home, is there way you could add support for us to manually inject the data into the statics ?, or better yet check there for the data each day that has any missing data and import it automatically?

There is currently no way of importing the data via the integration, and there is no simple way of working out if data is missing via the HA APIs, and could get into very nasty situations if data never appears (which has happened to some users).
I've created a ticket in the backlog to expose a service that can be called manually to import additional data for a given previous consumption meter.

@femxiii The rate at which the data is updated varies from customer to customer (possibly from smart meter to smart meter). Some users have a delay in receiving their data. You could potentially contact OE for more clarification.

I've added the ability to set the offset for the previous consumption sensors in scenarios where OE are delayed in obtaining your information. This can be found in v8.3.0, and the docs can be found at https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/blob/develop/_docs/setup_account.md#previous-consumption-days-offset
I'm still working on a separate service for importing data from adhoc periods (like in the scenario of a day of data being missing), so I'll keep this issue open until that has been added.

David,
Thanks for the update, But I am still getting the following error when I try to set up the gas reading, what am I doing wrong ??
[cid:b8b95c39-58b8-47c1-9b43-2dfe7392080f]
Carl Dawson
T: (+44) 07958 752 968
<EMAIL_ADDRESS>
From: David Kendall @.>
Sent: 23 September 2023 10:45
To: BottlecapDave/HomeAssistant-OctopusEnergy @.>
Cc: CarlD21 @.>; Author @.>
Subject: Re: [BottlecapDave/HomeAssistant-OctopusEnergy] Gas current consumption data missing (Issue #312)
I've added the ability to set the offset for the previous consumption sensors in scenarios where OE are delayed in obtaining your information. This can be found in v8.3.0https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/releases/tag/v8.3.0, and the docs can be found at https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/blob/develop/_docs/setup_account.md#previous-consumption-days-offset
I'm still working on a separate service for importing data from adhoc periods (like in the scenario of a day of data being missing), so I'll keep this issue open until that has been added.
—
Reply to this email directly, view it on GitHubhttps://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/312#issuecomment-1732269121, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVJW6OUTT4HWU6BO4CGCVHLX32VUDANCNFSM6AAAAAA2MBDRMI.
You are receiving this because you authored the thread.Message ID: @.***>

I can't see the error you're receiving (also you might want to remove your phone number from your last message?)

David
I have attached a copy of the error OE Gas
Carl Dawson

From: David Kendall @.>
Sent: 23 September 2023 11:14
To: BottlecapDave/HomeAssistant-OctopusEnergy @.>
Cc: CarlD21 @.>; Author @.>
Subject: Re: [BottlecapDave/HomeAssistant-OctopusEnergy] Gas current consumption data missing (Issue #312)
I can't see the error you're receiving (also you might want to remove your phone number from your last message?)
—
Reply to this email directly, view it on GitHubhttps://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/312#issuecomment-1732273958, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVJW6OQ2ZY3ZL4J6NCNW5WTX32Y7TANCNFSM6AAAAAA2MBDRMI.
You are receiving this because you authored the thread.Message ID: @.***>

It's not coming through in github, unless you mean the original error in the post.

Only just download the app to my phone, which show Elec usage/cost But No Gas
I am getting reading on my Smart meter for both Gas & Elec , so not sure why I am not getting same reading from the amp or in HA

Here you mentioned that the gas data wasn't available within the app or OE dashboard. If the data is available, but delayed (e.g. you can see up to 3 days ago), then you can use the new feature to change the day offset that the previous consumption sensors look at. If the data isn't available at all, then this integration won't be able to get you your data as it uses the same source.

A new service is now available in v8.4.0 to manually refresh the data for previous consumption data.


document parametric classes

The problem
I want to define a type-parametric class. I can't find how to do that in the documentation.
Suggestions
Some example, at least, like (a correct version of):
role Foo[::X] { };
class Bar {
    method ^parameterize(Any $, Any:U $param) {
        return Bar but Foo[$param]
    }
}

say Bar[Str].perl;
say Bar[Str] ~~ Foo;
say Bar[Str] ~~ Foo[Str];

but explaining what the first argument to ClassHOW.parameterize is (it's a string with the class name, in Rakudo 2019.07.1)

Noted. Thanks!

(it's a string with the class name, in Rakudo 2019.07.1)

It should be the metaobject the metamethod corresponds to:
class Foo {
    role Bar[Mu \T] { }
    method ^parameterize(Foo:U $this is raw, Mu \T --> Mu) {
        my Mu $mixin := $this.^mixin: Bar.^parameterize: T;
        $mixin.^set_name: $this.^name ~ '[' ~ T.^name ~ ']';
        $mixin
    }
};

say Foo[Int] ~~ Foo;           # OUTPUT: True
say Foo[Int] ~~ Foo::Bar[Int]; # OUTPUT: True

This uses .^mixin and .^parameterize directly instead of through but and [] to prevent the mixin of the parameterization from happening before the method actually gets called (which messes with generics if they're getting involved), and resets its name similarly to how parameterized roles set theirs. I think Metamodel::Mixins should be documented beforehand so people can understand everything this is doing though, and there should be other examples of how parameterization can be used so people don't get the impression that mixins are all parameterization is useful for.

Kaiepi's PR finally hand applied in 399ec6466


Drop off django 1.2-1.4

It would fix test issue on travis

https://travis-ci.org/lambdalisue/django-permission#L375
orz


Verify if we can replace Zalando GL with National GL

This PR
Replaces Zalando GL with National GL. While they are
quite aligned, National guidelines address better number formats
and provide OAS specification examples.
Note
We can even state that, for rules don't covered by the National Guidelines,
io-dev should follow Zalando ones.

@gunzip I'm working on this validator https://teamdigitale.github.io/api-oas-checker/ that you can use to verify if APIs are compliant with the recently released Guidelines which are currently here https://www.agid.gov.it/it/infrastrutture/sistema-pubblico-connettivita/il-nuovo-modello-interoperabilita


Put versions in all WASI WIT files

This commit starts exercising the versioning feature of WIT by ensuring that all WASI descriptions have a version associated with them. The version chosen is 0.2.0 which reflects the upcoming "preview 2" release where in theory 0.1.0 was claimed by preview1. This is intended to stay as 0.2.0 for now and we'll determine how best to update these numbers in the future once preview2 is released.
Closes #7171

Sounds reasonable to me yeah, although I'm not a fan of typing unwieldy version strings so that's motivated me to write up https://github.com/bytecodealliance/wasm-tools/pull/1255, https://github.com/bytecodealliance/wit-bindgen/pull/703, and some further improvements for wasmtime's own bindgen. That should enable avoid forcing the need for versions in more places throughout the tooling. It'll still be required in the WIT syntax itself but I think that should be fixable with Peter's wit tool or similar in the future.

On second though I'm gonna decouple these. There's some wasmtime improvements here to write versions less but the rest in the Rust sources will go away once I update wit-bindgen and wasm-tools which I'll do separately. Otherwise though the versions should be updated to 0.2.0-2023-10-18 now


Fix cursor restore to happen on a tab row

PR Checklist

[x] Closes https://github.com/microsoft/terminal/issues/8918
[x] CLA signed.
[ ] Tests added/passed
[ ] Documentation updated.
[ ] Schema updated.
[ ] I've discussed this with core contributors already.

Doesn't solve the issue for the MinMaxCloseControl

@zadjii-msft - created this PR for the case there is a service release. This solves the issue for tabview but doesn't solve for MinMaxCloseControl.

@zadjii-msft - created this PR for the case there is a service release. This solves the issue for tabview but doesn't solve for MinMaxCloseControl.

@zadjii-msft  - bump.

Sorry for the delays. Dustin's busy all week so it might not be till next Monday till this gets merged for servicing, heads up.

@DHowett - if you are here, please take a look (this is a one-liner).


forward inline_keyboard with data to command

Required Information

?
!

Operating system
Linux

PHP Telegram Bot version
0.82.0

PHP version
8.2.0

MySQL version
none

Update Method
Webhook

Self-signed certificate
yes

RAW update (if available)
{...}

Summary
am trying to use the survey command example using the example-bot.
It works fine when I input /survey in the chat
but using an inline keyboard doesn't seem to make the wizard work propely
in CallbackqueryCommand.php I tried to use:
return $this->telegram->executeCommand('survey);
and it only shows the first step of the wizard and doesn't continue.
this is my code CallbackqueryCommand.php
 public function execute(): ServerResponse
    {
        // Callback query data can be fetched and handled accordingly.
        $callback_query = $this->getCallbackQuery();
        $callback_data = $callback_query->getData();

        return $this->telegram->executeCommand($callback_data);
}

this is my /start command code
 $inline_keyboard = new InlineKeyboard([
                ['text' => 'Start surevey', 'remove_keyboard' => true, 'callback_data' => 'survey'],
            ], [
                ['text' => 'more info', 'remove_keyboard' => true, 'callback_data' => 'info'],
            ]);
            Request::sendMessage([
                'chat_id' => $callback_query->getMessage()->getChat()->getId(),
                'text' => "choose option 👇',
                'reply_markup' => $inline_keyboard,
            ]);

Example survey command was build using regular keyboards only, it won't work properly if you try to call it from the callback query handler command.

i solve it by modifing the command as following:
[ - ] $this->conversation = new Conversation($user_id, $chat_id, $this->getName());
[ + ] $this->conversation = new Conversation($chat_id, $chat_id, $this->getName());

I'm not sure how good that works with chatID as userID in the database since it would cause a duplicate when 2 or more uses were start the survey from a group chat
I've come across the issue myself and wrote a pastebin how i solved it, using InlineKeyboard in a conversation
https://pastebin.com/qxQAekwj


Support "form" workflow

Sometimes you don't want your model to change as soon as the value in your widget changes.
You might want to change several values before you press a submit button. Optionally some validation would run before changing the values of the underlying model.
It would be nice if this workflow was supported. It might be as simple as providing an example in the documentation on how to do this.

Yeah this is definitely doable. I could add a mode attribute to the PydanticModelEditor widget that would then add a submit button at the end when if form mode.


bower versionn 1.0.0

Hi Kent,
i see an issue in the bower version 1.0.0, when i see bower.json, it is still 0.0.16 (and generate an error in my formly form. However, if i import the library from rawgit.com/formly-js/angular-formly/master/dist/formly.js and rawgit.com/formly-js/angular-formly-templates-vanilla/master/dist/angular-formly-templates-vanilla.js
my code work fine .
Bruno
.

Whoops, can't believe we didn't see that earlier. I'm not certain that it's worth fixing at this point. I'll be releasing 2.0.0 in the next week or two anyway. Also, master and 1.0.0 have some significant differences. So if you're trying to compare your code with the two, you're going to have a hard time.


Are suspended async generators supposed to resume synchronously?

I’m sure this is answered somewhere in the spec, but are async generators supposed to resume asynchronously even if there are no await calls?
Here’s how sync generators resume:
function *syncGen() {
  console.log(yield 1);
  console.log(yield 2);
  console.log(yield 3);
  return 4;
}

const gen = syncGen();
console.log(gen.next(-1));
console.log(gen.next(-2));
console.log(gen.next(-3));
console.log(gen.next(-4));

Logs:
{value: 1, done: false}
-2
{value: 2, done: false}
-3
{value: 3, done: false}
-4
{value: 4, done: true}

Iterator result logs and yield logs are interleaved, because the suspended generator is resumed synchronously.
Compare this to how async generators resume:
async function *asyncGen() {
  console.log(yield 1);
  console.log(yield 2);
  console.log(yield 3);
  return 4;
}

const gen = asyncGen() ;
console.log(gen.next(-1));
console.log(gen.next(-2));
console.log(gen.next(-3));
console.log(gen.next(-4));

Logs:
Promise {status: "pending"}
Promise {status: "pending"}
Promise {status: "pending"}
Promise {status: "pending"}
-2
-3
-4

Note that we do not await each next result and simply call next synchronously four times. Also note that there are no await expressions in the async generator. Why does the async generator example seem to resume asychronously? Is this a necessary result of the implementation? Can someone point to the part of the spec which defines this behavior?
Thanks!

yield "awaits" the operand implicitly (https://tc39.es/ecma262/#sec-asyncgeneratoryield step 5)

Ah okay. I figured that yield awaits the operand because of the promise-unwrapping behavior of async generators, but it didn’t really click for me that this would affect the execution of the rest of the generator body. I was looking at AsyncGeneratorResumeNext and nothing there seemed to imply asynchrony.
I guess this makes sense, but I’m trying to wrap my head around why the generator has to await the yielded value before continuing. I guess it’s because value can be an abrupt completion (rejected promise?), and it would be unexpected if the generator was resumed even after yielding an abrupt completion.


wave: allow passing source to gql.Field for ModelObject usage

This is needed for us to rewrite Scalars from Graphene to Strawberry ones, as the current "hack" for abusing "source" attribute works only when the scalar is mounted implicitly (e.g. foo = Money(source="bar")), but doesn't work when it is mounted explicitly (e.g. foo = gql.Field(Money, source="bar")). Because after we change the scalar to use strawberry construct we are forced to use the explicit version we have to modify Graphene to allow the aforementioned "hack" on gql.Field

/approve


MRG, ENH: Speed up TimeDelayingRidge.predict()

Addresses #9455 by switching np.convolve to fftconvolve from scipy.signal. Speeds up predict function.
Closes #9455

Only difference I can see in functionality is that fftconvolve always outputs floats, where np.convolve of two integer arrays returns integers. I cannot imagine a case where that would matter.

Can you add an entry to doc/latest.inc in the enhancements section mentioning this speedup? Then +1 for merge from me
Any quick timings you can report on real data before/after your changes?

Sorry, I don't see a latest.inc in the doc folder. Am I looking in the wrong place?

sorry doc/changes/latest.inc

Not really any real data on speedup to report; will be highly dependent on the nature of the data.

I think the changelog fix 0de2fb4 was not a fix :)

So close. My local branch is broken now because I am git-stupid so hopefully no more changes needed.

Thanks @rkmaddox !


chore(dx): migration of husky to v9 ✨

[x] Migrated husky to v9 🐶

hey @haileyok, can you take a look at this when you're free? thanks :)


readme: add logo for checkpointctl

This pull request adds a logo for checkpointctl in the readme file.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (abaaea2) 78.83% compared to head (97043fe) 78.83%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #108   +/-   ##
=======================================
  Coverage   78.83%   78.83%
=======================================
  Files           6        6
  Lines         926      926
=======================================
  Hits          730      730
  Misses        154      154
  Partials       42       42

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

Nice logo. I like that it has 7 corners like the Kubernetes logo.


attempt a patch to 180

rebase of: https://github.com/xaque208/puppet-unbound/pull/190
i'm still not sure if this is the best idea but i thought i would rebase, also i'm no longer with icann
original msg:
its not pretty and i hate the variable name but something to think about for #180

Closing in favor of #210


Optimize split into count

Avoid creating Int32 singleton tensor.

https://github.com/tensorflow/swift-apis/pull/983 has started to use this overload in LSTM, optimize it.

@ematejska @pschuh Ready for review, please take a look.

Thanks!


UX / AWS: bad defaults when launching hosts

Rancher Version:
1.1.0-dev
See https://github.com/rancher/os/issues/935
The server defaults to Ubuntu 15.10 when creating new hosts. It should default to Rancher OS, obviously.
On AWS, the UI should pre-select the latest AMI for RancherOS available on the VPC selected beforehand. Also, the ssh username should be defaulted to rancher.

As mentioned in the OS issue, we wouldn't want to put a RancherOS AMI ID as we are always adding newer versions of RancherOS and the UI would quickly be outdated and pointing to an old version of RancherOS. We do add a link to the RancherOS AMIs under the AMI field and at the link it mentions that you need to be using the rancher user.
Since we're just calling docker-machine, if you don't add an AMI, it uses the default AMI that docker-machine is pointed to.


Fix transformer.cu interleaved matmul for cuda arch < 5

Description
cublasGemmBatchedEx is only supported for GPU with architecture capabilities equal or greater than 5.0.
Fixes a bug in https://github.com/apache/incubator-mxnet/pull/16408
Changes

[X] Fix transformer.cu interleaved matmul for cuda arch < 5

Comments
CC @Caenorst

Verified this patch by finetuning Bert on P2 instance.
Verification was initially blocked / delayed by https://github.com/apache/incubator-mxnet/pull/17576 ...
% python finetune_classifier.py --task_name RTE --batch_size 32 --epochs 3 --gpu 0 --lr 2e-5
INFO:root:01:21:10 Namespace(accumulate=None, batch_size=32, bert_dataset='book_corpus_wiki_en_uncased', bert_model='bert_12_768_12', calib_mode='customize', deploy=False, dev_batch_size=8, dtype='float32', early_stop=None, epochs=3, epsilon=1e-06, gpu=0, log_interval=10, lr=2e-05, max_len=128, model_parameters=None, model_prefix=None, num_calib_batches=5, only_calibration=False, only_inference=False, optimizer='bertadam', output_dir='./output_dir', pretrained_bert_parameters=None, quantized_dtype='auto', round_to=None, seed=2, task_name='RTE', training_steps=None, warmup_ratio=0.1)
[01:21:12] ../src/base.cc:84: Upgrade advisory: this mxnet has been built against cuDNN lib version 7501, which is older than the oldest version tested by CI (7600).  Set MXNET_CUDNN_LIB_CHECKING=0 to quiet this warning.
INFO:root:01:21:26 processing dataset...
INFO:root:01:21:35 Now we are doing BERT classification training on gpu(0)!
INFO:root:01:21:35 training steps=233
INFO:root:01:21:45 [Epoch 1 Batch 10/82] loss=0.7479, lr=0.0000078, metrics:accuracy:0.5507
INFO:root:01:21:54 [Epoch 1 Batch 20/82] loss=0.7263, lr=0.0000165, metrics:accuracy:0.5235
INFO:root:01:22:02 [Epoch 1 Batch 30/82] loss=0.6821, lr=0.0000194, metrics:accuracy:0.5306
INFO:root:01:22:12 [Epoch 1 Batch 40/82] loss=0.6718, lr=0.0000185, metrics:accuracy:0.5370
INFO:root:01:22:21 [Epoch 1 Batch 50/82] loss=0.6743, lr=0.0000175, metrics:accuracy:0.5518
INFO:root:01:22:31 [Epoch 1 Batch 60/82] loss=0.6894, lr=0.0000166, metrics:accuracy:0.5551
INFO:root:01:22:39 [Epoch 1 Batch 70/82] loss=0.6872, lr=0.0000156, metrics:accuracy:0.5587
INFO:root:01:22:48 [Epoch 1 Batch 80/82] loss=0.6626, lr=0.0000147, metrics:accuracy:0.5693
INFO:root:01:22:50 Now we are doing evaluation on dev with gpu(0).
INFO:root:01:22:51 [Batch 10/35] loss=0.6449, metrics:accuracy:0.6750
INFO:root:01:22:52 [Batch 20/35] loss=0.6266, metrics:accuracy:0.6813
INFO:root:01:22:54 [Batch 30/35] loss=0.6930, metrics:accuracy:0.6625
INFO:root:01:22:54 validation metrics:accuracy:0.6715
INFO:root:01:22:54 Time cost=4.00s, throughput=69.97 samples/s
INFO:root:01:22:55 params saved in: ./output_dir/model_bert_RTE_0.params
INFO:root:01:22:55 Time cost=79.30s
INFO:root:01:23:03 [Epoch 2 Batch 10/82] loss=0.5310, lr=0.0000135, metrics:accuracy:0.7719
INFO:root:01:23:12 [Epoch 2 Batch 20/82] loss=0.5022, lr=0.0000126, metrics:accuracy:0.7650
INFO:root:01:23:22 [Epoch 2 Batch 30/82] loss=0.4835, lr=0.0000116, metrics:accuracy:0.7733
INFO:root:01:23:31 [Epoch 2 Batch 40/82] loss=0.4762, lr=0.0000107, metrics:accuracy:0.7754
INFO:root:01:23:40 [Epoch 2 Batch 50/82] loss=0.4412, lr=0.0000097, metrics:accuracy:0.7728
INFO:root:01:23:48 [Epoch 2 Batch 60/82] loss=0.4915, lr=0.0000088, metrics:accuracy:0.7741
INFO:root:01:23:57 [Epoch 2 Batch 70/82] loss=0.4512, lr=0.0000078, metrics:accuracy:0.7767
INFO:root:01:24:05 [Epoch 2 Batch 80/82] loss=0.3897, lr=0.0000069, metrics:accuracy:0.7832
INFO:root:01:24:06 Now we are doing evaluation on dev with gpu(0).
INFO:root:01:24:08 [Batch 10/35] loss=0.6482, metrics:accuracy:0.7125
INFO:root:01:24:09 [Batch 20/35] loss=0.6311, metrics:accuracy:0.7125
INFO:root:01:24:10 [Batch 30/35] loss=0.7034, metrics:accuracy:0.7042
INFO:root:01:24:10 validation metrics:accuracy:0.7076
INFO:root:01:24:10 Time cost=4.00s, throughput=70.06 samples/s
INFO:root:01:24:11 params saved in: ./output_dir/model_bert_RTE_1.params
INFO:root:01:24:11 Time cost=76.11s
INFO:root:01:24:21 [Epoch 3 Batch 10/82] loss=0.2911, lr=0.0000057, metrics:accuracy:0.9125
INFO:root:01:24:30 [Epoch 3 Batch 20/82] loss=0.2762, lr=0.0000048, metrics:accuracy:0.9092
INFO:root:01:24:39 [Epoch 3 Batch 30/82] loss=0.2438, lr=0.0000038, metrics:accuracy:0.9121
INFO:root:01:24:47 [Epoch 3 Batch 40/82] loss=0.2719, lr=0.0000029, metrics:accuracy:0.9077
INFO:root:01:24:56 [Epoch 3 Batch 50/82] loss=0.2787, lr=0.0000019, metrics:accuracy:0.9054
INFO:root:01:25:05 [Epoch 3 Batch 60/82] loss=0.3279, lr=0.0000010, metrics:accuracy:0.9049
INFO:root:01:25:12 Finish training step: 233
INFO:root:01:25:12 Now we are doing evaluation on dev with gpu(0).
INFO:root:01:25:14 [Batch 10/35] loss=0.7463, metrics:accuracy:0.7125
INFO:root:01:25:15 [Batch 20/35] loss=0.6660, metrics:accuracy:0.7250
INFO:root:01:25:16 [Batch 30/35] loss=0.7802, metrics:accuracy:0.7125
INFO:root:01:25:16 validation metrics:accuracy:0.7112
INFO:root:01:25:16 Time cost=3.97s, throughput=70.60 samples/s
INFO:root:01:25:17 params saved in: ./output_dir/model_bert_RTE_2.params
INFO:root:01:25:17 Time cost=65.91s
INFO:root:01:25:17 Best model at epoch 2. Validation metrics:accuracy:0.7112
INFO:root:01:25:17 Now we are doing testing on test with gpu(0).
INFO:root:01:25:54 Time cost=36.38s, throughput=82.47 samples/s


postcss: Another version of flatpickr dark theme.

Since order matters for plugins, its better to use the Array syntax
to pass plugins to the PostCSS instead of Object.
This also allows us to reliably add more plugins programmatically if
we so choose.
Also cleanly imports the Flatpickr dark theme. Note: We modify postcss config because postcss-use plugin doesn't allow specifying nested options, so using that in conjunction with postcss-import and postcss-wrap isn't possible.
#10607.

This doesn’t work with the automatic color scheme, only with the night mode color scheme.
Also, the PostCSS configuration would be cleaner to write declaratively.
const path = require("path");
const postcssWrap = require("postcss-wrap");

const night_mode_plugins = [
    // Add postcss-import plugin with postcss-wrap to handle
    // flatpickr-dark-theme. We do this because flatpickr themes
    // are not scoped. See https://github.com/flatpickr/flatpickr/issues/2168.
    ["postcss-import", {plugins: [postcssWrap({selector: "%flatpickr-dark-theme"})]}],
];

module.exports = ({file}) => ({
    plugins: [
        ...(path.basename(file) === "night_mode.css" ? night_mode_plugins : []),
        "postcss-nested",
        "postcss-extend-rule",
        ["postcss-simple-vars", {variables: media_breakpoints}],
        "postcss-calc",
        "postcss-media-minmax",
        "autoprefixer",
    ],
});

It works with color scheme automatic, I manually tested it. Also, it has no reason not to; this code is extended in .night_mode first and then .night_mode is extended in .color-scheme-automatic.
Also, I see your point about keeping it declarative and I've made that change.

Fixed all the nitpicks, this should be good to merge now.

I replaced postcss-wrap with postcss-prefixwrap since its maintenance situation looks much better.
I also had to make some adjustments to get postcss-cli to work, because it has different expectations for postcss.config.js than postcss-loader does.

I'm curious why you decided to go with require() for the plugins instead of strings now. Was this a postcss-cli requirement?

Yes. postcss-load-config only supports passing plugins by name when plugins is an object:
https://github.com/postcss/postcss-load-config/blob/170ec7735f9c1df2f81b068988d81d351fead0a1/src/plugins.js#L45-L55

Merged, thanks for fixing this @aero31aero and @andersk!