Merge Develop into main for release

As the title says, this pulls develop into main for a release.

I'm blocking this. I just realized our FindESMF.cmake file assumes that ESMF is still using the old style beta_snapshot style of tags. But @rsdunlapiv, et al, have moved to more semver like beta tags v8.3.0b14. So we should support that before moving into this so ESMF_VERSION returns the right thing!

I'm blocking this. I just realized our FindESMF.cmake file assumes that ESMF is still using the old style beta_snapshot style of tags. But @rsdunlapiv, et al, have moved to more semver like beta tags v8.3.0b14. So we should support that before moving into this so ESMF_VERSION returns the right thing!

Ooh. Actually, I think I need to look at the "official" FindESMF.cmake from ESMF. That seems to have some updates that we don't have. Though I might need to hack around it a bit. We've been assuming the CMake target is esmf not ESMF. Though that might be as simple as:
if (ESMF_FOUND)
  add_library(esmf ALIAS ESMF)
endif ()

and our code keeps working.


Control confidence and support

Hi Martino,
Thank you for nice package.
I would suggest to have a control of confidence and support for DBpedia Spotlight  though package parameters. Also make possibility use "candidates" endpoint instead "annotate" for API.
Best
Sergei

Hi @Benja1972,
Thank you very much for your suggestion! I will add control of the confidence and support parameters that are available through the DBpedia API.
Also to switch from the annotate to the candidates endpoint (or also the spot) would be done with a similar parameter.
Does it make sense to usually set them only once when the pipeline is created?
I see there that also three other parameters exist: types, sparql and policy. Do you think they may be useful?
And if they are, would it make sense to set them for the whole nlp object or to customise it for single documents?
The configuration would work in the following way:
import spacy
nlp = spacy.blank('en')
sentence = 'Joe Biden is the president of the United States'

# set the parameters when the pipeline stage is created
nlp.add_pipe('dbpedia_spotlight', config={'confidence': 0.6, 'types': 'DBPedia:Person'})
doc = nlp(sentence)
# this will output only Joe Biden
print(doc.ents)

# if I want to change the types filter, I need to instantiate a new nlp or to change the parameter inside (not very clean)
nlp.get_pipe('dbpedia_spotlight').types = 'DBpedia:Place'
# then to see the updated result, I need to create a new doc
doc = nlp(sentence)
print(doc.ents)

# I cannot use the same doc object because entities are computed at document creation

Would this workflow be good for you?
If you plan to change parameters dynamically (e.g., every document has different confidence/types filter/...) maybe a more elegant solution is necessary (instead of changing the attributes of the pipeline stage every time).
Let me know what you think.
Best,
Martino

Hi @Benja1972,
you can now use candidates endpoint and control the confidence and support parameters.
import spacy
nlp = spacy.blank('en')
nlp.add_pipe('dbpedia_spotlight', config={'process': 'candidates', 'confidence': 0.7, 'support': 50000})

Best,
Martino

Thank you @MartinoMensio
It is very clear for me. I like you implementation to place parameters on initiation of nlp model. I did play a lot with Spotlight yet and don't see examples of different annotations on document level.
Best
Sergei


Port to architectury

This is a complete port of the mod to architectury, and by extension forge.
The current setup should maintain backwards compatibility with fabric addons:
Tested with MobOrigins & Classes
It should also have all powers fully functional on forge, though I may have missed a few.

Hi! What an amazing effort. :)
While I really really do appreciate the work and time you put into this (which must have been a lot!), I sadly don't feel up to the task of maintaining this mod on Architectury. It would mean an additional effort of maintaining compatibility with existing Forge mods which might conflict (even if it's just issues I'd close with "sorry, no further support for Forge compatibility than this"). Also, it'd be another hard dependency - I would be bound to Architectury updates in the future, which is not something I'd like.
However I don't want your efforts to go unused, of course! If you feel like this is something you'd like to do, feel free to maintain a separate fork of Origins with these changes and publish them as a Forge version (of course considering the project license).
If you want to chat about this, feel free to message me on Discord: Apace#9324
I'd love to talk to you :)


Having view-table permission but NOT view-database should still grant access to /db/table

Stumbled into this while working on datasette-permissions-sql. I had granted table permissions, but the permission check wasn't even executed because the user failed the previous view-database check.

Relevant code:
https://github.com/simonw/datasette/blob/ce4958018ede00fbdadf0c37a99889b6901bfb9b/datasette/views/table.py#L267-L272

May the fix here is to implement a .check_permissions() method which passes when the first permission passes?
await self.check_permissions(request, [
    ("view-table", (database, table))
    ("view-database", database),
    "view-instance",
])

How would I document this? Probably in another section on https://datasette.readthedocs.io/en/latest/authentication.html#permissions
But I'd also need to add documentation to the individual views stating what permissions are checked and in what order. I could do that on this page: https://datasette.readthedocs.io/en/latest/pages.html

So for the following:
    ("view-table", (database, table)),
    ("view-database", database),
    "view-instance",

The logic is: if the first test returns True, you get access. If it returns False you are denied. If it says None then move on to the next check in the list and repeat.

I think the new .check_permissions() should be a documented utility that is available to plugins.
Maybe a method on datasette?

I already have this method on Datasette:
async def permission_allowed(self, actor, action, resource=None, default=False):

What would be a good method name that complements that and indicates "check a list of permissions and do it against the request"? Should it even run against the request or should you have to hand it request.actor?

I could rename permission_allowed() to check_permission() and have a complementary check_permissions() method.
This is a breaking change but we're pre-1.0 so I think that's OK. I could even set up a temporary permission_allowed() alias which prints a deprecation warning to the console, then remove that at 1.0.

permission_allowed is already the name of the pugin hook. It's actually a bit confusing that it's also the name of a method on datasette..

Hah... but check_permissionis a method onBaseView`. Here are the various permission methods at the moment:
https://github.com/simonw/datasette/blob/6c2634583627bfab750c115cb13850252821d637/datasette/default_permissions.py#L5-L14
And on BaseView:
https://github.com/simonw/datasette/blob/a8a5f813722f72703a7aae41135ccc40635cc02f/datasette/views/base.py#L65-L70

I'm going to put check_permissions() on BaseView as well. If I want that method to be available to plugins I can do so by turning that BaseView class into a documented API that plugins are encouraged to use themselves.

Tests needed for this:

If a user has view table but NOT view database / view instance, can they view the table page?
If a user has view canned query but NOT view database / view instance, can they view the canned query page?
If a user has view database but NOT view instance, can they view the database page?
If a user has execute query but NOT view database / view instance, can they execute an arbitrary query?

I don't think this needs any additional documentation - the new behaviour matches how the permissions are documented here: https://datasette.readthedocs.io/en/0.44/authentication.html#built-in-permissions


Engine layers should lazily apply saveLayers

One of the disadvantages to the current design of the engine layers is that they are single purpose layers many of which have to apply a rendering attribute to their children. As such, each of those layers will create a Paint object, set the single attribute, then call saveLayer and recurse to their children. If multiple modifications are needed, then multiple saveLayers are invoked.
When there are cases where we can avoid the saveLayer, we need to communicate those conditions between the layers during Preroll so that we can choose an alternate strategy at Paint time. But this is a burdensome way to detect synergies as the communication is done through the PrerollContext and requires a fair bit of logic devoted to detecting and storing information about the synergies in that context.
Instead, these layers should record their attribute in the PaintContext (or a Paint object embedded therein) and just pass it along to their children in all cases. Most layers can easily pass along their modification and it really only comes down to the eventual DisplayListLayer where we need to deal with those "inherited" attributes. Minimally, if the DisplayListLayer just always did a saveLayer with those attributes (assuming that they aren't the defaults), then we'd save any duplicate saveLayer calls that the parents might have done one-by-one in isolation. But, the DisplayListLayer can easily detect if it can absorb the attributes and avoid the saveLayer without having a lot of inter-layer communication in the Preroll phase.
There are other layers in a similar position. For example, TextureLayer can typically apply any of the attributes in its drawImage call, so it wouldn't really even need to check the incoming attributes.
ContainerLayers with more than one child would likely just emit the saveLayer with all of the accumulated attributes as well.
Nested layers that modify the same attribute would have to make sure their modifications chain properly (i.e. opacity on top of opacity, or composing 2 Image or ColorFilter objects with each other).
Much of this could be handled by a simple "AutoSave" mechanism that took a description of which attributes the layer can apply itself and it would check the attributes set in the PaintContext/Paint object and automatically invoke the saveLayer for the child. TextureLayer would likely have a permissive list of attributes it accepts and DisplayListLayer would start out with just the opacity attribute for now, but could expand that list later as more attributes are vetted through its peephole mechanism.
The main simplification and optimization this brings is that the information is provided to the children who have the actual work to do rather than trying to guess what the children are capable of from the parent layer's Paint/Preroll method.

Technically, this might solve the "BackdropFilter as child of Opacity" problem many people run into.
For that matter, perhaps we should have BackdropFilter declare that it can inherit opacity and the problem could be solved for OpacityLayer without waiting for this new design - but it wouldn't be solved if the parent was an ImageFilterLayer or ColorFilterLayer without additional work such as what is described above.


Querying in nested route cases mutation of attributes in parent store during CSR

Describe the bug
Hi there 👋 fantastic work on this library!
I've been stuck on an issue for a while and I would like to rule out a bug as I can't seem to track down what is happening
I have an app with a sidebar containing a list of items, and then a main content section that displays those same items with some additional fields in the query
Upon initial SSR load of the ./app/[slug]/+page route, everything seems to work fine. However when client routing takes over there is some strange mutation of the parent GetRacesStore when the child query/store is updated - all of the meeting attributes in the parent store are updated to the meeting attribute of selected item
If i subscribe to the parent data store, I can see that it gets mutated when I update the child - every race from the GetRacesStore has it's meeting value updated to the meeting value of the result of the GetRace query
query GetRaces($dateFrom: String!, $dateTo: String!) {
	races(dateFrom: $dateFrom, dateTo: $dateTo) {
		meeting {
			location
			track
			type
			date
		}
		number
		status
		startTime
	}
}

query GetRace($id: String!) {
	race(id: $id) {
		meeting {
			location
			track
			type
			date
		}
		number
		status
		startTime

		runners {
			number
			name
		}
	}
}

Is this something to do with a naming conflit? Caching? Or am I just doing something silly here? 😬
Severity
blocking all usage of Houdini
Steps to Reproduce the Bug

Create a query for a list of objects in a parent +layout.svelte route
Create a query for an individual item of the same type in a nested child route

Reproduction
No response

I've attached a screenshot below showing the state of the meeting object within the parent store

I tried to reproduce this with the integration test suite but it seems to be working as I expect. Can you confirm that these routes are setup correctly?

Thanks for having a look so quickly Alec
I will try and setup a stack blitz a bit later today 😊
Just to confirm - it was only nested properties of the parent query that
are mutated, so your example wouldn’t exhibit the behaviour on my end
either.
On Thu, 29 Sep 2022 at 03:56, Alec Aivazis @.***> wrote:

I tried to reproduce this with the integration test suite but it seems to
be working as I expect. Can you confirm that these routes
https://github.com/HoudiniGraphql/houdini/tree/nested-list-cache-bug/integration/src/routes/stores/nested-lists
are setup correctly?
—
Reply to this email directly, view it on GitHub
https://github.com/HoudiniGraphql/houdini/issues/575#issuecomment-1261272511,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLUQZBWBLKG5TUZBMZ4WVTWASBD3ANCNFSM6AAAAAAQXWOVGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Oh okay, well if you wanted to just submit a PR with the necessary changes to show the problem in that route, it would be a much bigger help than a stack blitz (and probably quicker for you too)

Thanks mate - I've created https://github.com/HoudiniGraphql/houdini/pull/576 however I am not sure what values are available on the User store as there needs to be a nested property like I have shown

Okay, i pushed up some changes to that branch that uses a nested reference to avoid any differences with list handling. I'm not able to see the bug tho 🤔 Mind checking that I got it right?

Your changes look good to me - very strange! I'll have a bit more of a dig into this today and I'll report back. Is there a test API that I could run against?
Thanks again for looking into this

It's included in the integration test project, you should just need to do pnpm run dev and it will start both servers for you. Let me know if you run into any issues

Is there an id field for the records?

Ok so I made some changes to my schema on the server and the issue has gone away...
There is an id field but I think that maybe there was something malformed and it was causing houdini to get confused. I believe this still may be a bug in an edge case but it's no longer blocking me!
Thanks for your assistance Alec - keep up the great work!

Hm, okay. I'll keep an eye out for it but without a way to reproduce the issue I think we'll just have to wait til someone run into it and hopefully reports it.
Thanks for the kind words ❤


Make SRS_EXCLUDE_DOMAINS a configurable option

I've properly set up SPF and SRS. My mailserver is used to relay messages to different relayhosts (using  sender_dependent_relayhost_maps) and postsrsd properly rewrites the envelope sender address to something like<EMAIL_ADDRESS>when doing so.
This works fine for most of the relayhosts, but some relayhosts do not accept such rewritten envelope sender addresses. Thus, I need to add the following variable in order to exclude such domains from the SRS rewriting:
target/postsrsd/postsrsd:
  ...
  SRS_EXCLUDE_DOMAINS=example.com
  ...

It would be great to add an environment variable so that such excluded domains could be controlled from my docker-compose.yml right away.

Can you suggest a PR?

Not yet. I need to get my head around how start-mailserver.sh works... Hope to be able to spend some time on this on the weekend.
I wanted to evaluate if this is, in general, something that's useful for others? Does that qualify for a sensible feature?

It does to me.

Created PR #849 with a potential fix. Let me know if I'm missing something...


How to extract scale factor of weight quantization

Hello!
I used nncf to train a quantized model with the goal of implementing it, using HLS and C++, on an FPGA.
To implement inference on the FPGA I need to get the values of the conv layer weights. This is no problem, I just access the layers in pytorch and write the weights to a file. But those weights don't seem to be quantized.
How to get the quantized weights and the scale factor of symmetric quantization out of a trained model?
Additionally, I tried to export it to onnx format but get an error, because of max-unpooling layer, that doesn't seem to be resolved yet: https://github.com/pytorch/pytorch/issues/25088

Thanks for any help!

@AlexKoff88

Hi,
Regarding the max-unpooling problem. I suggest changing the FP32 model to be able to export to ONNX, the possible options are to replace this layer by deconvolution or upsampling (e.g. bilinear).
As for the quantization of weights and activations, here we represent everything in FP32 precision with the rules on how to interpret the model as the low-precision one. Shortly, we insert FakeQuantize operations in the graph which is, de-facto, a combination of two operations Quantize and Dequantize. So the interpreting rules include splitting all the FakeQuantizes, quantizing weights and keeping quantize operations for activations, and propagating Dequntize after the Conv, FC, etc.
Then you can replace FP32 operations by their integer analogs, merge Dequantize+Quantize into the Requantize and so on.
For more details, please refer to the following resources:

https://www.intel.ai/open-vino-low-precision-pipeline/
https://arxiv.org/pdf/2002.08679v2.pdf
https://arxiv.org/pdf/1712.05877.pdf and corresponding QAT resources from google

Thanks for the fast reply!

Regarding the max-unpooling problem. I suggest changing the FP32 model to be able to export to ONNX, the possible options are to replace this layer by deconvolution or upsampling (e.g. bilinear).

I also thought about that, but unfortunately this reduces accuracy.
I forgot to mention that I don't use the openvino toolkit at all. I just use nncf as standalone package in my custom training pipeline.
I understand that the trained weights are floating point and need to be converted to integer using the quantization rules.
But I'm not sure how to use requantize function in a custom pipeline. I could also implement it by myself but somehow I need access to the quantization varibales like "scale", "input_high", "input_low" etc.
Maybe the approach to use nncf for inference without openvino toolkit is completely wrong and I should go in a different direction? If that is the case you can close the issue and I'll search for another solution.

@JonasNey, sorry but we don't consider any other inference paths except OpenVINO.


Add direct samples

Finally gotten to play with the new Java API.  Here are some samples.  Copied similar style to JCSMP samples.

Closing, made a different branch instead.


BBox gizmo axis info observable

https://forum.babylonjs.com/t/a-little-help-about-boundingbox-gizmo/53457/5
add observable axis and operator type parameters

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15758/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15758/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15758/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15758/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15758/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15758/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15758/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15758/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15758/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15758/merge/testResults/webgpuplaywright/index.html


Current instruction highlight does not get removed on resume

This is supposed to happen in view_breakpoints() which is caused from various places including resumed(). The problem is that view_breakpoints() updates the overlay on whatever the current view is. It should update it on the view representing the actual file where the overlays should be added/erased.
In the case of paused() that's always the correct view, because we look up the view using the script id which gives us the filename. This is in open_script_and_focus_line()
Breakpoints are also okay because they use the script id or filename to use the right view.
In the case of resumed() it calls view_breakpoints on self.view() which is not necessarily the view containing the overlay. If you then change the active window back and forth, it will get called again and fix itself.
I'm not entirely sure what determines what the view is that's on "self" - the active view when the command was instantiated, the active view at the time the command is run, etc. There are calls on another thread (the web worker thread) and there are also calls made using set_Timeout which presumably jumps to the main thread so at an arbitrary later time self.view will be evaluated.
All this needs to be cleaned up so the view the overlay was drawn on is stored, and then when the overlay is to be erased it happens on that view. Make sure to do "do_when" to wait for "view.is_loading()".
It would be great to rationalize some of the set_Timeout's. I assume they exist to get onto the main thread, in the case where the code is not already on the main thread. But some of them have non zero timeouts. Perhaps each notification handler can simply do a set_Timeout and nothing else, so all the implementation is on the main thread.
It may also be possible to reduce the number of times view_breakpoints is called.

Fixed in 70d310f0f27494a123ad076dfdd83cea984c0085


Patch Vespucci Beach wall hole

This fixes the "Infamous" wall hole on the side of a building on Vespucci beach.

Thanks!


Translations (partially?) broken

In testing #588, I noticed that translations are not being properly applied.  From my local install:

and from stable.opencast.org

Oddly enough, Dutch, and German appear to work correctly in my local install, or at least partially - I have not thoroughly verified that all keys are working, just that the table headers change.

Assigning to @ziegenberg since he's work on this already.  Related to removing the /app directory.

Assigning to @ziegenberg since he's work on this already. Related to removing the /app directory.

And the renaming of the default branch ... 🤪

Most of the lang strings were restored.


Add missing instructions step, fix typos.

Added a step to the instructions to flashing with eMMC (on UP2 devices). The WinPE add-on no longer ships together with the Windows ADK and must be downloaded and installed separately.
Fixed some minor typos, inaccuracies and missing details.

 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.:x: dacabdi sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Docs Build status updates of commit 0de6aad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/tutorials/quickstarter/DeviceSetup.md
:bulb:Suggestion

Details

windows-iotcore/tutorials/quickstarter/DeviceSetup.md

[Suggestion] Missing attribute: author. Add the current author's GitHub ID.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Thanks @dacabdi!


Failed to call service update / install.  Empty filename

While trying to install the 3.0.13. pyalarmdotcom update, I get the above noted error.  This started prior to the installation of Home Assistant 2024.2.1.  I then installed HA 2024.2.1, but the system continues to create the same error.
A screen capture of the install attempt and error (bottom left) is attached.

I have tried to reinstall and restart several times, to no avail.
Not sure what to do next.
Thanks,

Is this working now? Can you try removing and re-adding the integration?

Rolled back to a backup that had 3.0.12 installed and stable.  Installed all other updates, but left this at 3.0.12.  It is working, so I don't want to update it to 3.0.13.


Added more escapes to /markdown

the \ is first so the other escapes do not conflict with it. and other misc escapes because why not

thanks!


Install.sh - MySQL: Command not found

Hey!
Bug?
MySQL database: Example
./install.sh: line 91: mysql: command not found
./install.sh: line 92: mysql: command not found
Can't import the database !

Bitsnoxx

Don,t Forget to restant your Apache service with : sudo service apache2 restart. I think is that for your 404 error.


Operators "wait" and "waitRace" should simply forward in sync mode

Now that I have spent some time writing custom operators - see iter-ops-extras, it has become evident that operator wait throwing an error when inside a synchronous pipeline creates a limitation for custom operators.
There are cases when a custom operator supports an asynchronous callback, and needs to make use of wait regardless of the pipeline type (it cannot know the pipeline type).
For example, in a sequence of map(async ()=>{}) -> wait() -> spread, where an operator allows asynchronous callback, then uses map, which then if not waited for, will throw inside spread because it requires iterables only.
Therefore, operator wait inside synchronous pipeline should just forward into the source iterable, and not throw any error. And for consistency reasons, operator waitRace should do the same.

Released this change in v2.7.0.


⚠ Bofrost.fr has degraded performance

In b9bc186, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1622 ms

Resolved: Bofrost.fr performance has improved in 7fdb0c5 after 7 minutes.


Promote Teamnado 3300 to prod-stable

Codecov Report
Base: 89.54% // Head: 89.39% // Decreases project coverage by -0.15% :warning:

Coverage data is based on head (f669758) compared to base (7b27d29).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head f669758 differs from pull request most recent head 2de7705. Consider uploading reports for the commit 2de7705 to get more accurate results

Additional details and impacted files
@@               Coverage Diff               @@
##           prod-stable     #128      +/-   ##
===============================================
- Coverage        89.54%   89.39%   -0.16%
===============================================
  Files               42       42
  Lines              660      660
  Branches           122      122
===============================================
- Hits               591      590       -1
- Misses              69       70       +1

Impacted Files
Coverage Δ

src/utilities/factories/manifestEntry.ts
100.00% <ø> (ø)

.../SatelliteManifestPanel/SatelliteManifestPanel.tsx
75.73% <100.00%> (ø)

src/components/Authentication/Authentication.tsx
92.85% <0.00%> (-7.15%)
:arrow_down:

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

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


Add support for loading the Mustache templates from the filesystem

Would allow easy customization and would it make easier to test new templates w/o having to recompile the tool.

This is done!


nix alias (and maybe url) from config

we can infer alias from the login results (and set it in the client config object). proposed patch would be to remove the alias arg from NewConfig, capture it in Authenticate() and patch all remaining refs? Is there a use case where the user would not belong to the account alias provided?
similarly, was wondering whether we could move baseUrl from a required arg. support would be via env var or custom file-based config.
do you have a running list of sdk clients at this point?

Yea, I had an issue open for dropping alias.  We still want the ability for someone to use the Alias modification of the config so they can make changes to sub-accounts.
I'd like to hear your thoughts on baseURL.  It's really useful for hitting the dev/qa endpoints, which is why it's an optional configuration value.  I don't see many customers needing to change it.

I see. Didn't think about sub-accounts. How about (for both):

leave signature unchanged
when non-empty, set in config
when absent, use the returned alias or url from the token

empty-string arguments seems awkward though
= OR =
a new method DefaultConfig which sets alias-from-token and baseURL
= OR =
NewConfig just fills in Username and Password, caller is responsible for direct config access for everything else?
On an aside, I think UserAgent would be an important parameter as well, since ultimately we'd like to ident every application using the sdk through.

Regarding aliases in general, I think we're good to just grab it from the login. And if they want to use a different alias, this is available for users if they feel the need to subaccount.
So for simplicity, I think you're good removing it as a required config param, and drawing it from the Login call.  Maybe leave it in to be set from the environment?  I could go either way there.
UserAgent is interesting, I think it should be configurable, we should have a default.  I believe that's what amazon does.


Meta: improvement ideas

Some ideas for other visualization types:

[x] Table of results
[ ] Leaflet maps
[x] Single metric (with unit / prefix / suffix)
[x] Text : plain / html / markdown

Some ideas to improve the dashboards system:

[x] Dashboard filters: inspired by Metabase, allow to define filters at the dashboard level dynamically modifying "WHERE" statement in SQL requests (would need to define per chart which field is to filter in metadata) (using query named parameters and/or canned query parameters?)
[ ] Dashboards permissions: use Datasette RBAC system to restrict access to dashboards (maybe using the "roles" feature?)
[ ] Dashboard export (HTML/PDF) / public sharing?
[ ] Generic/abstract configurable widgets: use "vega" for advanced customization otherwise pre-setup "line", "area", "bar", "scatter", "pie", "choropleth", "word-cloud", "metric" (already implemented), "markdown" (already implemented) (see Metabase)
[ ] Chart builder? (there is already Vega editor)
[ ] Dashboard builder? (metadata seems enough)
[x] Link to chart visualization in full page
[x] Dashboard layout: define a generic layout (with better responsive sizes for small screens 240px) and allow to specify a custom layout in metadata
[x] Link to chart underlying data: display call to action to go to the SQL query page

Misc:

[x] Combining custom layouts and Markdown text would allow for "literate notebooks" (cf Markdown in Metabase Dashboards)

dashboards with url path variables, to be used in dynamic pages[1]?
so one could access: /-/dashboards/<dashboard-name>/<unique-id> or /-/dashboards/<dashboard-name>/<variable-name>/<unique-id> which would populate the dashboard based on a variable filter
I'd also personally find it awesome to be able to add dashboards in the  root, along (on the same level) with what would  served from /static/pages/.
Ie  /-/dashboards/<dashboard-name> could be found at  /<dashboard-name>
[1] https://github.com/simonw/museums/blob/main/templates/pages/{id}.html

@pax thanks for your suggestions!

dashboards with url path variables, to be used in dynamic pages[1]?
so one could access: /-/dashboards/<dashboard-name>/<unique-id> or /-/dashboards/<dashboard-name>/<variable-name>/<unique-id> which would populate the dashboard based on a variable filter

Are you talking about a way to implement dashboard filters?
If so, I've started gathering the bits for this to happen more inline with Datasette, along the lines of Table arguments and SQL queries named parameters, allowing to obtain something in the vein of Metabase dashboard filters. The current show-stopper for now is that there is no "optional filter" with SQL queries named parameters in Metabase.

I'd also personally find it awesome to be able to add dashboards in the root, along (on the same level) with what would served from /static/pages/.
Ie /-/dashboards/<dashboard-name> could be found at /<dashboard-name>

I hesitated doing so at first, and I went with the /-/dashboards prefix to be inline with other Datasette plugins and avoid name clashing with custom pages and databases. Is there a use-case where the URL prefix is an issue, other than cosmetics? (IMO: URLs in apps do not matter much, they are not meant to be typed manually)

I'm not familiar with Metabase – the filters look like some controls to use after the dashboard is rendered, like, say, switching a Leaflet layer / filter after the map is loaded? That would be awesome too, but I've already seen it in the roadmap.
I initially meant something in the way of niche-museums.com handling the museum page template. See  {id}.html / niche-museums.com/102. But they could of course handle more variables: /-/dashboards/<dashboard-name>/?var1=val1&var2=val2...
I could see a lot of use cases. I'm currently working on a political financing data exploring interface. We could have a dashboard for what happened with a party during a specific election – so I'd need 2 variables to gather the dashboard data.
Relative to urls, you're probably right, the majority of users ignore the address. Though I imagine it would be sweet to be able to have the front page built as a dashboard. I obviously don't know how technically feasible would be to implement that.
We already have templates for custom pages, but dashboard config mark-up could be a faster / easier to code alternative for some use cases.

I'm not familiar with Metabase – the filters look like some controls to use after the dashboard is rendered, like, say, switching a Leaflet layer / filter after the map is loaded? That would be awesome too, but I've already seen it in the roadmap.
I initially meant something in the way of niche-museums.com handling the museum page template. See {id}.html / niche-museums.com/102. But they could of course handle more variables: /-/dashboards/<dashboard-name>/?var1=val1&var2=val2...
I could see a lot of use cases. I'm currently working on a political financing data exploring interface. We could have a dashboard for what happened with a party during a specific election – so I'd need 2 variables to gather the dashboard data.

This is exactly what I envisioned for dashboard parameters "à la Metabase": each time you tune a parameter, you are simply updating query parameters with values for your dashboard URL. You could set it manually if you're and advanced user or use the GUI to do it for you. Metabase does it like this. Datasette already does this for query named parameters and filters.
For instance, this is what I have in mind and seems to fit your use-case:

You define some dashboard parameters in your metadata:

plugins:
  datasette-dashboards:
    my-dashboard:
      title: My Dashboard
      ...
      filters:
        source:
          name: Source
          type: category
        date-start:
          name: Date Range
          type: date
      charts:
        some-count:
          title: Total number of stuff
          db: data
          query: SELECT count(*) as count FROM stuff WHERE source = :source AND date >= date(:date_start);
          library: metric
          display:
            field: count

Your dashboard can be configured as: /-/dashboards/my-dashboard?source=source1&date_start=2021-01-01

WARNING: the only issue I cannot find a solution for right now is that Datasette do not allow to specify optional named query parameters! Thus if accessing only /-/dashboards/my-dashboard, all your queries will return wrong results as the filter values will be blank.

Relative to urls, you're probably right, the majority of users ignore the address. Though I imagine it would be sweet to be able to have the front page built as a dashboard. I obviously don't know how technically feasible would be to implement that.
We already have templates for custom pages, but dashboard config mark-up could be a faster / easier to code alternative for some use cases.

No sure I understand given the technical limitations. Do you have an example of your envisioned "dashboard config mark-up"?

I can think of 2 types of filters, first the url variables, where you drill-down the necessary db data to render a widget, and in some cases, you could have in-page or in-widget filters.
For instance, in your example Offers by region choropleth one could add the option to dynamically re-paint the map by selecting one source (job-board).
It might go like this:

  datasette-dashboards:
    my-dashboard:
      charts:
        some-count:
          query: SELECT var1, var2 FROM stuff WHERE source = :source AND date >= date(:date_start);
          display:
            fields: ['var1', 'var2']

Further wishful thinking, these in-widget filters could be of 2 kinds, exclusive (radio buttons) or cumulative (checkboxes). For a map, one could choose a variable number of checkboxes (say, show all or just a combination of data sources) and only one of each exclusive filters (show absolute OR per-capita numbers)

@pax Here are some ongoing work:

Dashboard filters are working in their basic form: checkout the demo
Dashboard filters are specified in metadata.yml / metadata.json
To specify optional chart query parameters, use the following syntax (only one variable per optional scope):

[[ WHERE col >= :filter_1 ]]
WHERE TRUE [[ AND  col1 >= :filter_1 ]] [[ AND col2 <= :filter_2 ]]

For now: filtering is done at URL level: /-/dashboards/job-offers-stats?filter_1=some-value&filter_2=12

Tell me what you think!

@pax Some updates: starting with version 0.1.6, dashboard filters are now effective!
Declaring filters in metadata (only types text, date and number are supported for now):
plugins:
  datasette-dashboards:
    my-dashboard:
      filters:
        text_filter:
          name: Text Filter
          type: text
        date_filter:
          name: Date Filter
          type: date
          default: '2021-01-01'
        number_filter:
          name: Number Filter
          type: number
          default: 4
          min: 1
          max: 10
          step: 2

Declaring chart queries with filters:
plugins:
  datasette-dashboards:
    my-dashboard:
      charts:
        chart1:
          title: Some chart
          db: data
          query: SELECT count(*) as count FROM table WHERE [[ date >= date(:date_filter) ]];
          library: metric
          display:
            field: count

        chart2:
          title: Some other chart
          db: data
          query: SELECT count(*) as count FROM table WHERE TRUE [[ AND date >= date(:date_filter) ]] [[ AND value >= date(:number_filter) ]];
          library: metric
          display:
            field: count

awesome. sorry, I haven't got to testing it yet – but I have a project due where dashboards would greatly help.
It might take a bit, but I'll report back.

Supporting other chart render engines via hooks in other datasette plugins would be awesome.  This way I don't have to fork this plugin to implement another renderer.

@20after4 Thank you for your interest in datasette-dashboards and your suggestion, this is a great idea!
Let's discuss in-depth implementation details in dedicated issue #9

@rclement Is there a way to get a simple table showing some results?

@dufferzafar No yet, but as you can see on the top comment, this is one of the components I initially envisioned to integrate!
Ideally, a table component would reuse the existing Datasette implementation. If that's not possible, we need to find a simple and lightweight implementation.
If you feel like it, you could prototype this table component and submit a PR!

@dufferzafar There is a new JS-based project in town from @simonw that could be the perfect candidate for a data table integration: https://github.com/simonw/datasette-table

@dufferzafar A new table chart component has been implemented in PR #70 and will be able in the next release of datasette-dashboards (probably 0.4.0)


Fixes issue of pyquil-for-azure-quantum not working with new releases of azure-quantum

Problem
The current 0.0.2 release of pyquil-for-azure-quantum does not work with new releases of the azure-quantum package because the current dependency constraint ^0.25.218240 effectively becomes <0.26.0,>=0.25.218240 and every month Microsoft creates a new release of azure-quantum that increments the minor version.
When doing a pip install for both latest releases of pyquil-for-azure-quantum and azure-quantum, PIP returns this error:

pyquil-for-azure-quantum 0.0.2 requires azure-quantum<0.26.0,>=0.25.218240, but you have azure-quantum 0.27.258449 which is incompatible.

Fix
This PR relaxes the dependency constraint of azure-quantum to be >=0.27,<1.0.
It also increments the version of pyquil-for-azure-quantum to 0.0.3 expecting that a new package will be released with the updated dependency constraint.

Hi @vxfield, thanks for the pull request!
CI is currently failing due to a couple errors -- if you address them in your branch, I can re-run CI and see if everything passes.
Installing dependencies from lock file
Warning: poetry.lock is not consistent with pyproject.toml. You may be getting improper dependencies. Run `poetry lock [--no-update]` to fix it.

Because pyquil-for-azure-quantum depends on azure-quantum (>=0.27,<1.0) which doesn't match any versions, version solving failed.

@Shadow53, I have updated the poetry.lock file.

@Shadow53, I just noticed you have open #12 to fix the issue.
I'll close this PR and you can take it from there.


Enable date-fns tree-shaking

New Feature Proposal
Description
date-fns increased bundle size a lot. This is especially caused by including all locales into the build. Though, it might be (and should be) avoided.
Background

https://github.com/date-fns/date-fns/issues/179
https://date-fns.org/v2.3.0/docs/ECMAScript-Modules
https://date-fns.org/v2.0.0-alpha.27/docs/webpack

I was able to decrease significantly the bundle size.

Before (~10001KB) :

After (~228KB) :


fix: border size getters when implicit borders are present

When a border style is set and no borders have been explicitly enabled or disabled, a border is implicitly applied to all sides of the block. Prior to this fix border size getters would incorrectly return 0 when an implicit border is set. This revision corrects that behavior.
In other words:
s := lipgloss.NewStyle.Border(lipgloss.NormalBorder)

// Before
fmt.Println(s.GetBorderLeftSize()) // 0

// After
fmt.Println(s.GetBorderLeftSize()) // 1

@bashbunni Just a heads up about this one. Technically it's a behavioral change but I think it is the right approach here. I plan on merging it today.
I encountered the need for the fix in https://github.com/charmbracelet/bubbletea/pull/1204.

Hey @meowgorithm just a heads up, this is super similar to another open PR https://github.com/charmbracelet/lipgloss/pull/282/files
The main difference being naming + I like your GetBorderXSize() implementations better.


Certificate privacy still not in documentation

GitHub issue #18986 and #12150 were opened and closed without any noticeable changes to the documentation. Step 7 mentions to Export all Extended Properties but does not mention to select Enable certificate privacy.
What would help the most would be a screenshot of exactly which of the 4 options should be selected/unselected to make it absolutely clear what the settings should be. I will add reference screenshot in comments.

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

ID: 714a8dfc-9945-9fc1-0a37-171f08ab017a
Version Independent ID: b551a77a-571e-7cce-966e-3798f0036c84
Content: Prepare Azure Stack Public Key Infrastructure certificates for Azure Stack integrated systems deployment or secret rotation
Content Source: articles/azure-stack/azure-stack-prepare-pki-certs.md
Service: azure-stack
GitHub Login: @mattbriggs
Microsoft Alias: mabrigg

Screenshots of certificate export wizard with selected options for clarity

@jgallucci32
Thanks for the feedback! We are currently investigating and will update you shortly.

@jgallucci32 Thanks for the feedback! I have assigned the issue to the content author to investigate this and update the document as appropriate.

@jgallucci32 I've added your screen shot and some text. Thanks for your contribution. The update should appear in the next build. #please-close

@jgallucci32 We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Make Metadata messages match RPC version

Ensure that the v1 RPC method sends the Phase0 metadata message and the v2 sends the Altair message.  Possibly should rename them to just be v1 and v2 messages rather than Phase0 or Altair as they are method specific, not fork specific.

Turns out we are doing this correctly when responding to peers - the key cod is https://github.com/ConsenSys/teku/blob/aa65ca48d3ccd9ac7a8d6671d8f1c8848dd6808e/networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/rpc/beaconchain/methods/MetadataMessageHandler.java#L47
The REST API only starts reporting sync nets attribute once altair activates which seems reasonable.


Error cases while fetching warmup data for new SSE clients aren't handled properly

Currently, the warm-up code assumes that a BaseModel will be returned at all times. Actually an HTTPException can be returned on error.
code: https://github.com/fusion44/blitz_api/blob/b7e9ae29fbcb72b85dc4dea53262c889e82177e8/app/main.py#L303
refs https://github.com/raspiblitz/raspiblitz/issues/4437

If something happend during fetching of the warm-up data the log files will now properly print the error:
Feb 25 08:27:58 python[2332042]: 2024-02-25 08:27:58 | ❌ | main.py:290 | Error while fetching warmup_data for system_info: 410: Something bad happened

In this example, the code raises the following exception.
        raise HTTPException(status.HTTP_410_GONE, detail="Something bad happened")

The client will receive an event with the following data:
event: system_info
data: {"error": "410: Something bad happened"}

@cstenglein You might have to add a code path for this case. Is this OK client side or would you prefer the error format like this:
event: system_info
data: {
  "error": {
    "status": 410,
    "message":  "Something bad happened"
   }
}


x64 compilation for windows platforms

Simple as that, how can I build and use this library into a 64 bits application?
When i do that, i receive some errors related with GWL_USERDATA preprocessor in Window_Win32.cpp file that it is not defined.
Any suggestion?
Thanks.

Looks like the call to SetWindowLong needs to be replaced: https://stackoverflow.com/questions/23083/whats-an-alternative-to-gwl-userdata-for-storing-an-object-pointer


Use data.template_file instead of magic string replace.

Alternate version of https://github.com/gpii-ops/exekube/pull/12.
I think this version should work, but so far I can't get the escaping right on the
variable / terraform.tfvars side.

We decided not to use this alternate strategy.


fix "Unexpected token < in JSON at position 0"

This was a bit of an odd bug I've been experiencing where this error was being logged on every refresh, this small change fixes the issue - at least for me!

Hey ! I have the same problem but your fix didn't fix the issue for me

Ok, the problem is that you're probably mixing up the html implementation. With this plugin, the .html files are supposed to contain the json definition only, that can be - or not - wrapped around a script tag. So, if other markup is left around, it will lead you to that error because the plugin tries to parse the full content of the html file in order to support a json definition with no script wrapping too. Anyway, the error is already caught and it's simply displayed as warning. I'll certainly provide a better messaging with the next release.


Fix module was not compiled for carthage

Issue #66

Thank you for the contribution. It was merged directly as a5d5eb22959734dcae303179e654568af7df070d to keep commit history cleaner. Your contribution is still credited to you.


Improve messages in legacy GAF file

Some warnings don't include line numbers:
Failed to load row: {UNKNOWN}: no value when storing assigned_by prop into feature_cvtermprop at /local-homes/pbuild/git/pombase-chado/lib/PomBase/Import/GeneAssociationFile.pm line 514

Duplicates:

https://github.com/pombase/pombase-chado/issues/1075
https://github.com/pombase/pombase-chado/issues/1074

I've improved the GAF loader so that all message start with a line number.

Much better now:
https://curation.pombase.org/dumps/builds/pombase-build-2023-04-05/logs/log.2023-04-04-21-42-39.legacy_go_from_contigs
The fix has tidied up the main GAF log file too:
https://curation.pombase.org/dumps/builds/pombase-build-2023-04-05/logs/log.2023-04-04-21-42-39.gaf-load-output

I was just about to fix these up. I notice that when I open in vi, the file now displays a control character at the end of every line. It never did before. Before I proceed, is this OK?

I was just about to fix these up. I notice that when I open in vi, the file now displays a control character at the end of every line. It never did before. Before I proceed, is this OK?

That's odd.  The extras characters appeared in this commit:
r8852 | vw253 | 2023-04-04 03:02:18 +1200 (Tue, 04 Apr 2023) | 1 line
curation/issues/3364

Were you using a different editor or copying and pasting?
I've removed the extra characters.

I sometimes used TextEdit and sometimes vi depending what I am doing. It's odd that it never happened before (maybe it is a consequence to the extension change?). Anyway I should be using VSC now its a TSV


Initial load of Sanity Studio hangs forever

Describe the bug
Sanity Studio hangs loading the first time the page is visited for some users. Spinners keep spinning to eternal time.
To Reproduce
Steps to reproduce the behavior:

Go to 'equinor.sanity.studio'
Wait for studio to load
Keep wating…
When tired, stop waiting. Reload to get studio up.

Expected behavior
Studio should load the first time
API calls pending (no answer)

https://h61q9gi9.api.sanity.io/v1/data/query/global?query=[*[_id in ["drafts.1d30382d-607a-4242-8496-00505cee467d"%2C"1d30382d-607a-4242-8496-00505cee467d"]][0...2]{_id%2C_rev%2C_type%2C_type}][0...1]&tag=sanity.studio.preview.document-paths
https://h61q9gi9.api.sanity.io/v1/data/query/global?query=*[_type %3D%3D "page" %26%26 (!defined(_lang) || _lang %3D%3D %24baseLang)%5D%7Corder(_createdAt%20desc)%5B0...100%5D%7B_id%2C_type%7D&%24baseLang=%22en_GB%22&tag=sanity.studio.desk.document-list
https://h61q9gi9.api.sanity.io/v1/data/doc/global/drafts.1d30382d-607a-4242-8496-00505cee467d,1d30382d-607a-4242-8496-00505cee467d?tag=sanity.studio.document.snapshots

Desktop (please complete the following information):

OS: Windows 10
Browser Chrome and Edge
Version evergreen

This has since been fixed - the problem was corporate network policy not playing nice with Sanity if I recall correctly.


test: show that $ref behave differently in 2019-09 vs 07

✖ Error: Unprocessed keywords: ["type"] at #
Without $schema it work. But when I add $schema in one of the SchemaStore file, the build broke.

I am closing this because it is the correct behaviour for 2019-09 pass and 07 fail.
(2019-09)
$ref | changed | Other keywords are now allowed alongside of it


Added space-hero-section by Aakash Mukta

space-hero-section is the hero component file, used react to create the component.

Hero.js, Hero.css ,Slideshow.js, Slideshow.css and nav.css are the website files


Add support for video processor effects in SNM_FXSummaryParser

:x: Build sws 255-master failed (commit https://github.com/reaper-oss/sws/commit/05177efdf5 by @cfillion)


Derive header from data processed during import

Description

Define and return a full set of data structures for the data in the header.
Ensures the encoda JSON is processed during import and the stores remain relatively dumb to the structure.
Change the header so that it is being driven by those data structures in the data store.
Only import and store the article body from encoda (without the header, but with an id added to abstract for jump-to). This moves the JSDOM dependancy from during page generation to import.
Where appropriate, return content that could be complex as a JS structure, and we have the start of a complex content transformation tool for that structure. Currently only emphasis and strong is supported, but that is enough for the titles so far.

@nlisgo - I've been through a review with Will, but I've held off merging until you're either happy, or I can go through it with you.

The merge in master commit I pushed (that invalidated @will-byrne 's review) only incorporated the changes to reviews that Will and I merged in yesterday.
I'll wait a bit for another approve form Will, but otherwise I want to get this merged today and will override review required.


Added normal swipe distance threshold and background dimming option

Wanted to make it so that a fling is not required for normal swipe and it triggers the same way as a far one at a shorter distance. Also to have a visual difference to indicate the item will just snap back if you let go as opposed to carrying out the action.

Nice pull request.
I have one issue with it: you are checking that normalSwipeTreshhold < farSwipeTreshhold in both of the setters. The end result is that the order in which you call both setters matters: if I want to use 0.5 and 0.75, I need to set the farSwipeTreshold first or I'll get an exception, even though the requested final state is valid.
I would just check that both values are between 0 and 1. If they're not, the algorithm becomes funky. If the user does not keep normalSwipeTreshhold < farSwipeTreshhold it is an issue in his code, which he should be able to find out. I find this the lesser of two evils.
I still need to test the code, but I don't expect much issues after eyeballing it.

Yes, I wasn't happy about that either and went back and forth a couple of times. I'll put it back to the 0 and 1.

Updated the pull request. I left the comment about normal ≤ far / far ≥ normal, but removed the check and put the exception check back the way it was.


[Add]

Site URL
https://icon-icons.com/
Description of the above provided site
Icon-Icons is an online platform or website that provides a collection of icons for use in web design, graphic design, and other digital projects.
Category
Frontend
Sub Category
icons
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[ ] I am a GSSoC'23 contributor

You're assigned @AhorIsaac


Fixes #32.

Fixes #32.
Remove transition animation on links in the sidebar, and adjust their border and padding appropriately with regards to the state of the li containing them.

Works beautifully! Thanks @audiodude!


Common random number safe version of numpy.random.choice

This about if there is a way to do something like numpy.random.choice that could preserve common random number alignment.
Labeling as (computational) science.

Choosing without replacement is "easy" -- to choose n items out of uids:
n = 3
bools = ss.random().rvs(uids)
choices = np.argsort(bools)[:n]
return uids[choices]

But choosing with replacement, or permutation, is harder.

@daniel-klein @cliffckerr In many cases sampling without replacement is helpful e.g., if you have a number of people to vaccinate/test/treat etc. then you'd always want to choose without replacement. It could be quite useful to have a standard function with Cliff's method to do this without replacement, even if there is not yet a solution for doing it with replacement. It looks like it's probably also straightforward to have it be a weighted choice, by raising the random number to the power of 1/weight (https://www.sciencedirect.com/science/article/pii/S002001900500298X)
Actually if I understand correctly, this (https://link.springer.com/chapter/10.1007/978-3-319-24024-4_12 section 4.1) suggests that weighted sampling with replacement can be carried out by running N copies of the algorithm and sampling only 1 item each time. So it would be pretty inefficient (and would need to sample from the RNG multiple times per timestep) but that would probably be an CRN-safe way of doing it with replacement?

Hey @cliffckerr, a standard function for sampling without replacement would be super useful, I keep running into this.
Thank you for providing the method above in the meantime!!


Add unit tests with Jest

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@a8362a3). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master       #9   +/-   ##
=========================================
  Coverage          ?   43.96%
=========================================
  Files             ?        5
  Lines             ?      414
  Branches          ?       26
=========================================
  Hits              ?      182
  Misses            ?      229
  Partials          ?        3

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

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


Add conferences and meetups section, Add awesome-speakers

https://github.com/karlhorky/awesome-speakers
Hi, I'm Karl and I'd like to help make it more transparent and easy to find speakers for meetups and conferences. I've started to compile a list of speakers that I'm aware of and the topics that they have spoken about. It has gotten some traction on Twitter and other people have started adding speakers to the list.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Drop all the A / An prefixes in the descriptions.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Hey, sorry for the lack of response, please see #1363.

Category changes should be in a separate follow-up PR.

Has an appropriate license.
If you use a license badge, it should be SVG, not PNG.

You need to fix the merge conflict.

License badge, bolding of names and merge conflict fixed.
Also removed the change of category for the unrelated project.
cc @sindresorhus

Tweet: https://twitter.com/awesome__re/status/1046668613761957888


Followed instruction - DevProxy not intercepting localhost addresses

Hi,
I have looked at the instructions here and believe I am doing everything right. But I am not seeing any requests intercepted by devproxy that are on localhost addresses (public addresses are logged and intercepted correctly).
Configuration file (I've only added one new url)
{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/rc.schema.json",
  "plugins": [
    {
      "name": "RetryAfterPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
    },
    {
      "name": "GenericRandomErrorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
      "configSection": "genericRandomErrorPlugin"
    }
  ],
  "urlsToWatch": [
    "https://localhost:7271/*",
    "https://jsonplaceholder.typicode.com/*"
  ],
  "genericRandomErrorPlugin": {
    "errorsFile": "devproxy-errors.json"
  },
  "rate": 50,
  "logLevel": "information",
  "newVersionNotification": "stable"
}

Starting visual studio and running my project in debug. Testing all is working correctly.
Starting devproxy via (actual path ommitted)
devproxy --config-file "C:\.....\devproxyrc.json"
Launching edge by doing Win + R and using the command
msedge --proxy-bypass-list="<-loopback>"
(have also tried replacing the <-loopback> with localhost and localhost:7271)
I'm sure I am missing something, but if I am, it is not clear what.
Help appreciated.

Hey @cfelstead 👋
Thanks for trying Dev Proxy, apologies for the trouble.
Command-line options for proxy settings suggests that you also need to specify the --proxy-server option.

--proxy-bypass-list=(<trailing_domain>|)[:][;...]
Tells Microsoft Edge to bypass any specified proxy for the specified semicolon-separated list of hosts. This flag must be used with --proxy-server.
Note
Trailing-domain matching doesn't require "." separators, "microsoft.com" will match "imicrosoft.com". For example, --proxy-server="proxy2:8080" --proxy-bypass-list=".microsoft.com;*example.com;<IP_ADDRESS>:8080" will use the proxy server "proxy2" on port 8080 for all hosts except requests for *.microsoft.com, example.com, and <IP_ADDRESS> on port 8080. In the previous example, imicrosoft.com requests will still be proxied. However, iexample.com requests will bypass the proxy because *example.com was specified instead of *.example.com.

Try adding the --proxy-server option to the command line arguments.
msedge --proxy-bypass-list="<-loopback>" --proxy-server "<IP_ADDRESS>:8000"

Thanks @garrytrinder.
Sadly no change. I am also trying via powershell using the below with no luck.
curl -proxy http://<IP_ADDRESS>:8000 https://localhost:7271/Person

Can you tell me more about the local web service? I'll see if I can repro.

When I experienced the issue I wanted to rule out it being my API somehow. So I’ve replaced it with the default .net 8 weather forecast api.
This is a corporate machine so I’m not ruling out it being something to do with the setup there.

I did some investigation today and can repro, I'll do some more digging tomorrow.

@cfelstead I tested this scenario with a simple nodejs express API setup running on http://localhost:3000, here are my findings.
index.js
const express = require("express");
const app = express();

app.get("/", (req, res) => {
  res.json({ date: new Date() });
});

app.listen(3000, () => {
  console.log(`Server is running on port 3000`);
});

devproxyrc.json
{
    "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/rc.schema.json",
    "plugins": [
        {
            "name": "GenericRandomErrorPlugin",
            "enabled": true,
            "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
            "configSection": "genericRandomErrorPlugin"
        }
    ],
    "genericRandomErrorPlugin": {
        "errorsFile": "errors.json"
    },
    "urlsToWatch": [
        "http://localhost:3000*"
    ]
}

errors.json
{
    "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.1/genericrandomerrorplugin.schema.json",
    "responses": [
        {
            "statusCode": 500,
            "body": "Internal Server Error",
            "headers": [
                {
                    "name": "Content-Type",
                    "value": "application/json"
                }
            ]
        }
    ]
}

Program.cs
var client = new HttpClient();
var response = await client.GetAsync("http://localhost:3000");

Console.WriteLine(response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());

Tests

Command
Passed Through

curl http://localhost:3000
❌

curl -x http://<IP_ADDRESS>:8000 http://localhost:3000
✅*

dotnet run
✅

Invoke-WebRequest -Uri http://localhost:3000
✅*

Invoke-WebRequest -Uri http://localhost:3000 -ProxyServer http://<IP_ADDRESS>:800
❌

After starting Dev Proxy, you must create a new session for Proxy to be picked up, or toggle Use Proxy Server checkbox in Internet Options -> Connections -> LAN Settings... for existing sessions

curl requires you to state the proxy you want to use in the command using -x option.

Screenshot of web server, proxy and tests

Thank you so much for you efforts @garrytrinder. I now have the application working as it should, however, only under certain conditions. Here are my notes. I am not ruling out some of these being specific to the work laptop in some way, however, hopefully they will help people in future.

On a windows machine, Powershell overrules the curl command as an alias for invoke-webrequest. As a result, I have needed to call the exe built into windows directly by referencing "curl.exe" and not just "curl".

HTTPS appears to be an issue. However, switching the API to load over HTTP works correctly.

So, in order to get work I did the following.

Inside devproxyrc.json make sure the urlsToWatch contains the API url as HTTP.

"urlsToWatch": [
  "http://localhost:5256/*",
  .......
]

Start devproxy in the windows terminal

Start the project (debug mode or not using a HTTP profile)

In a separate terminal running powershell, run the curl command as follows

curl.exe -x http://<IP_ADDRESS>:8000 http://localhost:5256/people

I can get Firefox to route through devproxy by setting the proxy server to <IP_ADDRESS>:8000 and, in about:config changing the network.proxy.allow_hijacking_localhost setting to true.

Thanks for the updated info @cfelstead
I've been able to confirm that msedge --proxy-bypass-list="<-loopback>" --proxy-server="<IP_ADDRESS>:8000" works for me on Windows 11 and Edge Beta (128.0.2739.5) this morning.

I noticed however that Dev Proxy did not intercept requests unless I used the --proxy-server option, so we should update our docs to include that.

Interesting. I still can’t get it working.
I did get the vs debugger working correctly (so dotnet run) as long as the proxy was running prior to the debugger launching.

I think I’m in a place where it is working enough for me to proceed. It i can provide more assistance, please let me know. Otherwise, I’m happy to close this.

Thanks @cfelstead, I'll close this, but will work on updating the page to reference some of our findings in this issue. Thanks again for raising the issue, please let us know if there is anything we can help with.

https://github.com/MicrosoftDocs/microsoft-cloud-pr/pull/332


tests(scanner): Move zebra scanner tests to binary

Motivation
We moved the scanner into a new binary in https://github.com/ZcashFoundation/zebra/pull/8608 . We also removed the scanner functionality from zebrad and commented out tests in https://github.com/ZcashFoundation/zebra/pull/8594
Now is time to get the tests we commented out back, in the context of the new binary.
Close https://github.com/ZcashFoundation/zebra/issues/8593
Part of https://github.com/ZcashFoundation/zebra/issues/8585
Solution
Add tests to zebra scanner binary.
Follow-up Work

I think we can add a test close to the tip for TrustedChainSync functionality introduced in https://github.com/ZcashFoundation/zebra/pull/8596 to finish with the scanner tests coverage and complete #8585

PR Author's Checklist

[ ] The PR name will make sense to users.
[ ] The PR provides a CHANGELOG summary.
[ ] The solution is tested.
[ ] The documentation is up to date.
[ ] The PR has a priority label.

PR Reviewer's Checklist

[ ] The PR Author's checklist is complete.
[ ] The PR resolves the issue.

Does this also cover #8593 ?

Does this PR also cover #8593 ?

Yes, this PR will close that issue. I added that to the description. I am rebasing now.

@oxarbitrage The shielded-scan feature was partially removed from zebrad, but there are still some uses of it causing test failures.

Ok, ill check that out. Thanks.

Update: Need more work related to moving this test https://github.com/ZcashFoundation/zebra/blob/main/zebrad/tests/common/shielded_scan/scan_task_commands.rs out of zebrad. I am still working on it, changing the PR to draft until that is sorted.


[Bug] monaco-editor blocks processing mouse move events in view zones

Reproducible in vscode.dev or in VS Code Desktop?

[ ] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[ ] Not reproducible in the monaco editor playground

Monaco Editor Playground Code
Select the "Listening to mouse events" example. After line 37 (in the view zone creation code) add this code, to show some text in the view zone:

    var content = document.createElement("div");
    content.innerHTML = "
Try to select this text
"
    content.style.userSelect = "text"
    domNode.appendChild(content);

This will add some text in that view zone.

Reproduction Steps
Now try to select that new text. It is not possible. On my local box I can make it work be out-commenting the e.preventDefault() call in mouseHandler.js (_onMouseMove function).
This does not affect the mouse move handling in the editor from what I see.
It is possible to select some text by double clicking it, but of course this is not very comfortable and allows to select at most one single line.
Actual (Problematic) Behavior
It must be possible to copy text in view zones to the clipboard.
Expected Behavior
Pressing the left mouse button and moving the mouse should select text in a view zone. Copying selected text works as expected.
Additional Context
Monaco should not unconditionally stop processing events. Maybe do that only if no mouse event handler is registered in the application? Otherwise, that handler can decide to stop further event processing.

Thanks for reporting this! Can you try to debug this? We might be open for a PR here!

I debugged it already :-) That's how I found that commenting out the call to e.preventDefault() solves the issue. I can certainly file a pull request, but I'm not fully sure if disabling this call does not break anything else. But if someone knowing the internals of monaco-editor does a review then this might work out.

I just forked the repo and wanted to fix the problem, but I see the code in _onMouseMove has been changed already and the call to e.preventDefault() is gone already. I probably just need to upgrade monaco-editor :-) Thanks for listening...


655 Fix to return correct column type for spatial datatypes

Fixes issue #655. Also added test cases for it.
Also removed an unused import from Geometry/Geography classes.

this appveyor failure is unrelated to this PR, it's a bug I found during internal testing that occurs only with SQL Server 2008. I will merge this PR after that issue has been solved.

Actually I'm going to use a workaround for this problem, it seems like it could take a while to solve.

Codecov Report

Merging #657 into dev will decrease coverage by 0.05%.
The diff coverage is 40%.

@@             Coverage Diff              @@
##                dev     #657      +/-   ##
============================================
- Coverage     48.09%   48.04%   -0.06%
+ Complexity     2576     2574       -2
============================================
  Files           113      113
  Lines         26574    26579       +5
  Branches       4429     4432       +3
============================================
- Hits          12782    12770      -12
- Misses        11668    11682      +14
- Partials       2124     2127       +3

Flag
Coverage Δ
Complexity Δ

#JDBC42
47.96% <40%> (-0.03%)
2572 <0> (-1)

#JDBC43
47.95% <40%> (-0.04%)
2571 <0> (+3)

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/microsoft/sqlserver/jdbc/Geography.java
69.53% <ø> (ø)
33 <0> (ø)
:arrow_down:

...in/java/com/microsoft/sqlserver/jdbc/Geometry.java
71.09% <ø> (ø)
33 <0> (ø)
:arrow_down:

...oft/sqlserver/jdbc/SQLServerResultSetMetaData.java
40.93% <40%> (-0.04%)
24 <0> (+1)

...om/microsoft/sqlserver/jdbc/ReaderInputStream.java
42.69% <0%> (-3.38%)
14% <0%> (-3%)

...om/microsoft/sqlserver/jdbc/SimpleInputStream.java
51.11% <0%> (-1.49%)
11% <0%> (-1%)

...n/java/com/microsoft/sqlserver/jdbc/Parameter.java
61.92% <0%> (-0.84%)
63% <0%> (ø)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
60.91% <0%> (-0.66%)
88% <0%> (-1%)

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
44.96% <0%> (-0.45%)
107% <0%> (ø)

...oft/sqlserver/jdbc/SQLServerPreparedStatement.java
50.6% <0%> (-0.25%)
157% <0%> (ø)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
53.93% <0%> (-0.24%)
0% <0%> (ø)

... and 4 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 d970d77...e0fbbdd. Read the comment docs.


Update bcdec to latest version

Updates bcdec to the newest version, this improves the accuracy and speed of BC1/BC2/BC3 endpoint interpolation.

Thanks!


GitHub actions macos runner

Add support for Mac OS X build and test on github

Renaming actions causes stale ( but passing ) checks to stay incomplete - invoking god mode and rebase+merging


samples: Align tests yaml and overlays to nrf54l15dk

Align mbox sample.yaml and icmsg flpr overlays to nrf54l15dk.

@kartben Could you please take a look?


d1_mini won't build.

Hi there, having trouble compiling for a Wemos D1-mini clone,  fails at finding ESP8266WiFi.h,  tried googling for results, including deleting build libraries and a vanilla reinstall of VS-Code/PlatformIO - still no joy.  Is there a reason for the compile switch ESP32, running a build using the default platformio.ini builds the ESP32 but fails on the d1_min - the main.h include file uses alternative libraries for the two boards using the esp32 compile option.
Thanks.

What OS are you running?  I'll pull this repo down on an alternate machine today and take a look.

absolutely bone dry / brand spanking new environment on an intel mac mini running Sonoma:

What OS are you running? I'll pull this repo down on an alternate machine today and take a look.
The platform switch is used to trigger some precompiler switches where the framework between esp8266 and ESP32 differs.

Tried Ubuntu 20.04.6 LTS where I do most building/compiling, existing VSCode install, tried cleaning and Full Clean in VSC -
Also tried Mac OS Ventura on a MacPro Xeon with brand new VSCode install and vanilla platformIO config.  Googled the reported error and tried all sorts of additional libraries/deleted cache directories manually...
Forced a build with default_envs set to d1_mini on Ubuntu.
Mac tries to build d1_mini then esp32dev, d1 fails, esp32 builds... :-(.  Always fall over at same place, hopefully screenshot will attach.

What OS are you running?  I'll pull this repo down on an alternate machine today and take a look.
Give me your entire build log, and to confirm you're selecting build from the pio d1mini build menu?

Missed the update :-(.  Attached is a fresh build log from PlatformIO and a copy of the terminal output from Building the d1_mini task - and yes I am using the Build button from below the General folder beneath d1_mini.
project update.log
failed_build_log.txt
Both created on Ubuntu LTS workstation and copied/pasted.

let's try this...
Update the BME280's project platformio.ini file like so:
[env:d1_mini]
platform =<EMAIL_ADDRESS>board = d1_mini
lib_ldf_mode = deep+

notice I added lib_ldf_mode = deep+ to the d1_mini build type.

and another option, with our without changing the ldf mode to deep+:
lib_deps =
    ESP8266Wifi
    ${env.lib_deps}

notice we are defining ESP8266Wifi explicitly here.
Tried this -  https://github.com/Hypfer/esp8266-vindriktning-particle-sensor, built OK and worked without sensor attached..
Gave up and bought some Wemos ESP32 d1 mini clones, which built but restarted because LittleFS was borked [another story], still working on that.
Most recent results:
Explicit ESP8266 library, dependency element..
Dependency Graph
|-- ESP8266WiFi @ 1.0
|-- ESP-Bootstrap @ 1.1.1
|-- Adafruit BME280 Library @ 2.2.4+sha.9412f3d
|-- PubSubClient @ 2.8.0+sha.2d228f2
|-- home-assistant-integration @ 2.0.0+sha.93787b2
|-- ESP8266HTTPClient @ 1.2
Building in release mode
Compiling .pio/build/d1_mini/src/main.cpp.o
[FAILED]
With deep+ and lib_deps lots of errors.
Removed and performed deep clean.

Rerun and validate line 82 in Bootstrap.h, in ESP-Bootstrap, after checking whether PlatformIO was case sensitive [it doesn't appear to be] because:
.pio/libdeps/d1_mini/ESP-Bootstrap/include/Bootstrap.h:82:14: fatal error: ESP8266Wifi.h: No such file or directory
Change Bootstrap.h line 82 to read
#include <ESP8266WiFi.h> , capital F.
Unfortunately, doing a Full Clean erases / replaces Bootstrap.h with the original.
So after fixing the name of the file in ESP-Bootstrap/include/Bootstrap.h, we get a result, a build :-).

N.B. there is no sensor attached, but connecting from an iPhone results in a crash / page dump [as does the Wemos D1 mini clone] and system restart.  So the soldering iron will be coming out later, just to see what happens..
N.B. iPhone is set to generate new MAC address

12:50:07.806 > SoftAP [bme280-env-ssk:<IP_ADDRESS>,gw:<IP_ADDRESS>)
12:50:07.806 > bcn 100
12:50:07.806 >
12:50:07.806 > SoftAP [bme280-env-ssk:<IP_ADDRESS>,gw:<IP_ADDRESS>)
12:50:07.806 > bcn 100
12:50:07.806 >
12:50:07.806 > SoftAP [bme280-env-sensor] started
12:50:07.806 >
12:50:07.806 >     Hostname: bme280-env-sensor
12:50:07.806 > Connected to: bme280-env-sensor
12:50:07.806 >   IP address: <IP_ADDRESS>
12:50:07.806 >         RSSI: 31 dB
12:50:07.806 >
12:50:07.806 > ArduinoOTA started
12:50:07.806 > ElegantOTA started
12:50:07.806 > HTTP server started
12:50:07.806 > Watchdog started
12:50:07.806 >
12:50:07.806 > Could not find a valid BME280 sensor, check wiring!
12:50:07.806 >
12:50:07.806 > System Ready
12:50:07.806 >
12:50:07.806 > Sea Level hPa = -32768.00
12:50:07.806 > Gathered Sample #1
12:50:10.738 > add 1
12:50:10.738 > aid 1
station: ee:11:64:1e:f4:11 join, AID = 1
12:50:15.135 > Fatal exception 28(LoadProhibitedCause):
12:50:15.135 > epc1=0x4020d449, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
12:50:15.136 >
12:50:15.136 > --------------- CUT HERE FOR EXCEPTION DECODER ---------------
12:50:15.137 >
12:50:15.137 > Exception (28):
12:50:15.137 > epc1=0x4020d449 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
12:50:15.191 >
12:50:15.191 > LoadProhibited: A load referenced a page mapped with an attribute that does not permit loads
12:50:15.191 >   epc1=0x4020d449 in std::_Function_handler<void (AsyncWebServerRequest*), Bootstrap::wireWebServerAndPaths()::{lambda(AsyncWebServerRequest*)#3}>::_M_invoke(std::_Any_data const&, AsyncWebServerRequest*&&) at Bootstrap.cpp:?
12:50:15.191 >
12:50:15.191 > >>>stack>>>
12:50:17.279 >
12:50:17.279 > ctx: sys
Oh well, but the original issue is closed.


70 TODO comments in kite

Similar to https://github.com/phetsims/dot/issues/95.  There are currently 70 TODO comments in dot, with no associated GitHub issues.
Assigning to @ariel-phet to prioritize and assign.

For the moment, this is deferred. I do recognize the general issue here, and the hope is to address this (and related documentation/standards issues) after Density and Buoyancy are complete. I also recognize that we have continued to push this work back, but I will be strongly advocating for it once these sims get to the testing phase. No other real choice currently due to funding constraints.

There are now 94 issues. Updating the title.