neovide: enable wayland usage without xwayland

Motivation for this change
Allows neovide to be used on Wayland systems without the use of XWayland.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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 nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Note: I don't have an X11 system handy, so I can't test whether this affects the application when running in X11.

it works on nix. I haven't tested on wayland and dont know if these changes are required. the few packages I've looked at seem to enable wayland inconditionnally so it should be fine on that side.

Actually, looking at other packages, Wayland is typically only added for Linux environments. I'll update this PR to do that.

This broke the Darwin build because wayland is not available on macOS.


Organize the Canvas Palette for a more structured and reliable look.

Kindly assign this issue to me under GSSOC ext. I will definitely work on it.
@vishanurag sir

hey @vishanurag sir,
so sorry for this late sir.
I've modified the the canvas palette, kindly review once.

Changes few bugs also,
BEFORE:
https://github.com/user-attachments/assets/22a2fdf6-cf9d-4d4e-8bc1-c3fabe2fc71f
AFTER:
https://github.com/user-attachments/assets/fa061a38-2b82-403e-b67b-43750ff682f1
Changes done:

fixed the alignment of the entire home page
modified canvas palette
adjusted few alignments

Kindly give me the access to make PR as well.
Please let me know if any further adjustments are needed.


Reorganizing 'specimen from organism' hierarchy

Closes #1833. Reorganization of the 'specimen from organism' hierarchy in a way that groups specimens by body system. This first pass is a conservative reorganization, in which the only thing I've done is moved existing terms around, e.g., putting 'lower respiratory tract specimen' under 'respiratory system specimen'. This did significantly reduce the massive wall of un-organized specimen terms, but there's still a long, flat hierarchy of specimen terms remaining.
The next step would be to begin creating more grouped-by-system specimen terms, e.g., "digestive system specimen", "circulatory system specimen", "reproductive system specimen", etc. This will require some degree of adoption of Uberon hierarchies. Before I do that, we'll need to come to a decision on how we want to handle that, as is mentioned in the discussion thread of #1833.

Discussed on the 2024-12-16 OBI dev call. Dan pointed out that 'digestive tract specimen' uses subClassOf axioms but should be an equivalent; Sebastian will go through the template and move other terms using subClassOf to be equivalent classes where applicable.


[Part 1] Individual Test Case Report - Support custom messages

Summary

PART 1 of 2
Aim: Support custom messages
Fixes: #1
Ref: https://github.com/facebook/jest/pull/9662

The original PR by @rogeliog https://github.com/facebook/jest/pull/9662 profoundly inspires the current PR.
This sub-PR is an attempt to achieve https://github.com/facebook/jest/issues/6616
As an independent PR, it allows custom messages to be sent to parent from the worker process using node event listeners

Test plan
An extension from https://github.com/facebook/jest/pull/9662

@jevakallio @kunal-kushwaha Could you try to run yarn jest for this branch.
A single test case is always failing (in the CI build too). Any reasons why?
Test Result:

❯ yarn jest
yarn run v1.22.4
$ node ./packages/jest-cli/bin/jest.js
 FAIL  e2e/__tests__/customTestSequencers.test.ts (5.815 s)
  ● run prioritySequence first async

    expect(received).toBe(expected) // Object.is equality

    Expected: 0
    Received: 1

      48 |     {},
      49 |   );
    > 50 |   expect(result.exitCode).toBe(0);
         |                           ^
      51 |   const sequence = extractSummary(result.stderr)
      52 |     .rest.replace(/PASS /g, '')
      53 |     .split('\n');

      at Object.toBe (e2e/__tests__/customTestSequencers.test.ts:50:27)

@sauravhiremath: I'm also facing the same error 😕

Ahh @kunal-kushwaha no worries. I just resolved the issue, had to add async for running test sort. I didn't know test sequencer had an option to be run in async too. It's fixed now
Push coming in a bit :)

@jevakallio it works!! Could you have a look if any changes required?

@sauravhiremath nice! 🎉 I ran out of time today, will review this tomorrow morning!

@sauravhiremath is this PR still active or has it been superceded by a PR to Jest upstream?

@kunal-kushwaha , you can make this PR to facebook upstream if you want!

@sauravhiremath This looks great! Made one 🎉

Merged into master via upstream 🎉


About page edits

A few changes are needed to make it simpler to read...
We are Yap
Together, we form an editorial partnership. We have incredible synergy, adding benefit over a sole writer.
We begin with an outline for the project - Lyden architects the structure and Janine creates the content. Lyden questions the direction and details, Janine re-thinks and edits.
Everything is thought out and directed towards the ultimate goal - engaging your audience.
Writing simply and minimally is rewarding and fun. It's also tricky. But if it was easy we'd give it up for something more challenging, or suggest you could do it just as well yourself.
Our work is immensely valuable to those who trust us to take over. We are learners and explorers, and pour hours into fine tuning our craft.
We have no plans to employ others. No apprentices, no second-rate work, and no outsourcing to Bulgaria for cheap labour. This is us.
And we never miss a deadline.
We are adventurous and especially enjoy projects which involve our passions; travel, the outdoors, health, alternative lifestyles, and good food.
To read more about us, or to see some examples of our honest and simple writing style, check out lightweight.LIFE.

Agreed, and updated.


#684 | improve error reporting notification

Fixes #684
Description
This PR changes the login to manage error messages. Now it tries to extract the reason or the message from the error object. Only if it can't then proceed with the previous error login, otherwise it shows the extracted message from the error object.

I go to any contract and connect wallet with no funds I try a transaction and see:
{ "error": { "code": -32603, "message": "Internal JSON-RPC error.", "data": { "code": 3, "message": "The sender address has a zero balance", "cause": null } } } this is the detail, but user only sees: Internal JSON-RPC error.


Add OTEL (Open Telemetry) support

Awesome addition!

Codecov Report
Attention: 97 lines in your changes are missing coverage. Please review.

Comparison is base (ca87d7d) 47.22% compared to head (dd3fdfb) 48.65%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #211      +/-   ##
==========================================
+ Coverage   47.22%   48.65%   +1.43%
==========================================
  Files          87       87
  Lines        3867     4020     +153
==========================================
+ Hits         1826     1956     +130
- Misses       1721     1743      +22
- Partials      320      321       +1

Files
Coverage Δ

internal/audittrail/storage.go
100.00% <ø> (ø)

internal/audittrail/storage_blob.go
66.10% <100.00%> (+6.10%)
:arrow_up:

internal/events/service_stream.go
23.07% <100.00%> (ø)

internal/events/service_webhook.go
61.53% <100.00%> (ø)

internal/incoming/odfi/audit.go
52.94% <100.00%> (ø)

internal/incoming/odfi/corrections.go
77.77% <100.00%> (+2.26%)
:arrow_up:

internal/incoming/odfi/incoming.go
61.90% <100.00%> (+4.01%)
:arrow_up:

internal/incoming/odfi/mock_processor.go
60.00% <100.00%> (ø)

internal/incoming/odfi/reconciliation.go
77.63% <100.00%> (+1.24%)
:arrow_up:

internal/incoming/odfi/returns.go
77.35% <100.00%> (+1.84%)
:arrow_up:

... and 21 more

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


Allow user to follow from different profile followFrom

A lot of people have alts on Twitter. In Lens currently, to implement following from an alt, we need to make another Polygon transaction to call LensHub.setDefaultProfile. It seems very unnecessary when we could easily pass in the profile we intend to follow from, in the follow function.
Proposal: a function followFrom which allows you to follow from a different profile
    function followFrom(
        uint256 fromProfile,
        uint256[] calldata profileIds,
        bytes[] calldata followModuleDatas,
        address followNFTImpl,
        mapping(uint256 => DataTypes.ProfileStruct) storage _profileById,
        mapping(bytes32 => uint256) storage _profileIdByHandleHash
    ) external returns (uint256[] memory) {
       // Verify wallet is owner of fromProfile.
       // Proceed

Hey @liamzebedee, follows are intentionally made by addresses instead of profiles by default. But profile-based interaction can be easily achieved by using custom modules, check out ProfileFollowModule which works as you suggested.
Same behavior can be added to collect or reference modules if wanted. Then is up to the indexer/API and UI how to use this information!
Please, let me know if this solves the issue.

Hey Alan. I like the idea of anonymous follows from accounts being the base case, it's useful. IIRC the reason for adding the "defaultProfile" to the protocol was that being able to associate a profile follow to another profile was super useful too - important enough to add to the core protocol, and not a separate module.

A delegation scheme has been under development, will share details soon, but it will allow to perform all core operations through a different address!


Minimize the development database

Historically, we've loaded a copy for test.pypi.org that has been sanitized to give developers something to look at when running warehouse locally.
This has two major drawbacks:

It is easy to leak private information still, in the event that we miss something in our "clean" script
The file is large. The current dump is 67MB and a recent dump would be over 200.

This PR creates a new minimal dev db. Since we're already paying for the dump in history, it also introduces a new make target exampledb that allows for loading that.

While we're at it, can update the existing TestPyPI dump here to have all the latest migrations?

While we're at it, can update the existing TestPyPI dump here to have all the latest migrations?

I thought about doing that, but it'd drop another 67MB blob into our git history.
We might want to consider updating our docs to suggest cloning with git clone --depth=1 or something to cut down on the initial load for new contributors regardless.


Add a persistence query filter implementation

Add a persistence package filter stub implementation
Add persistence Page and Sort structs
Add an entgo query filter implementation
Add methods to add page, sort, and column value filters to the ent filter implementation
Add a timerange package for representing time ranges (i.e. a time period with a start and end time)

@sevein I am currently at SFA, if you have some time before I get to this, I'd appreciate if you could take a look.


Fix geojson projection

As referenced in https://github.com/findsorguk/findsorguk/issues/1045.

Closed in e17fdb5765f25041e62b266f0dcbf4b8c2432e65


feat(app): allow contextIsolation to be disabled via feature toggle

The latest version of the Camunda Modeler is based on Electron 12, which disables the use of require (and other node integrations) by default when contextIsolation is enabled. See this electron issue comment and linked documentation: https://github.com/electron/electron-quick-start/issues/463#issuecomment-790716070.
Consequently, to allow plugins to continue to have access to the file system (understandably dangerous!!) with the latest version of the Camunda Modeler, an additional flag is required to dangerously disable context isolation.

 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.

Thanks for your PR. A valid addition, given that we now tightened our checks even more.
Please sign our CLA if you want us consider and merge your contribution.

I've tested this on my machine and the app doesn't load if the flag is set. This caused by an error in the preload script. So in order to dangerously enable context isolation, you would have to replace the preload script with one which does not use the context bridge.
Can you please specify what FS APIs do you need to use which are not available currently? Alternatively, you can share a link to the plugin you implement.

Please sign our CLA if you want us consider and merge your contribution.

Will do! I am waiting for approval on my end before signing.

I've tested this on my machine and the app doesn't load if the flag is set. This is caused by an error in the preload script. So in order to dangerously enable context isolation, you would have to replace the preload script with one which does not use the context bridge.

Thanks. I was able to build locally today and will troubleshoot further if I have time. I opened an enterprise support ticket as well incase this is a task y'all are open to take on -- if so feel free to close/take over this PR. In the meantime, I'll see what I can figure out about conditionally using the context bridge, but I have limited experience developing electron applications 😅 .

Can you please specify what FS APIs do you need to use which are not available currently? Alternatively, you can share a link to the plugin you implement.

Good question!
One of our plugins uses file-watch capabilities to observe changes in a directory. The current implementation uses chokidar which uses fs.fileWatch in some capacity.
This plugin facilitates managing a suite of models directly in the Modeler, since we often model complex workflows that involve many call activities. We've generated a lot of value for our users from our plugins, and I believe we provided a demo to Camunda to showcase the functionality. I'm not authorized to share the implementation code publicly, however, but could arrange to share it privately if desired?
Thanks for your helpful comments.

Closing this PR as you suggested.
We'd need to have a end-to-end example of what you're doing right now to fully understand the implications of the tightened security measures for you. If we have that end-to-end picture we'll be able to build the respective features / relax security measures using --dangerously- flags for those who know and need it.

Likely the best way to interact outside this PR is Camunda support.


docs: 📚 fix redux-toolkit docs

Wrapping the changeUsername action with the dispatch func. Targeting master directly since this is a quick documentation change. I can still retarget dev, let me know :)

Pull Request Test Coverage Report for Build 119608268

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.673%

Totals

Change from base Build 117197296:
0.0%

Covered Lines:
245

Relevant Lines:
245

💛  - Coveralls

I accidentally merged the previous PR to the master. Normally its always dev. Thanks


[KYUUBI #3727] Extract the common variables of GetTables in flink and spark to ResultSetSchemaConstant

Why are the changes needed?

fix #3727
How was this patch tested?

[ ] 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 #3729 (cb494c8) into master (555ccb5) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #3729      +/-   ##
============================================
+ Coverage     52.56%   52.57%   +0.01%
  Complexity       13       13
============================================
  Files           492      492
  Lines         27689    27689
  Branches       3825     3825
============================================
+ Hits          14554    14557       +3
+ Misses        11747    11746       -1
+ Partials       1388     1386       -2

Impacted Files
Coverage Δ

...yuubi/operation/meta/ResultSetSchemaConstant.scala
0.00% <ø> (ø)

...ache/kyuubi/engine/spark/operation/GetTables.scala
97.36% <100.00%> (ø)

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
81.36% <0.00%> (+0.62%)
:arrow_up:

...yuubi/server/metadata/jdbc/JDBCMetadataStore.scala
89.96% <0.00%> (+0.69%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


update dependencies

Summary
Update project depedencies.
@enzowritescode, @coltoneshaw as part of this updates we modified expo-images to remove the dependency on libdav1d as we do not make use of it.
Ticket Link
N/A
Checklist

[x] Added or updated unit tests (required for all new features)
[ ] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.
[ ] Have run E2E tests by adding label E2E iOS tests for PR.

Release Note
NONE

Does the android lockfile needs updating?

Does the android lockfile needs updating?

@larkox  no changes on the android deps.. deleting the lock files and regenerating them show no changes.


In Bubble sorting JAVA program added some validations

Issue: There is no validation in user input
Changes proposed: Validate the user input whether the array length input is an integer value or double value.
Errors: InputMismatchException
Mentions: I added validation for input so the user will only input an integer value for array length and I changed the array type to double so the users can sort double values also.

My hacktoberfest pull request has been exclued? What is the

reason?


Submit documentation for remaining GA4GH-DREAM workflows

Feature Request
Desired behaviour
When 1.2.7 is out and we can properly run the gdc and bcbio wardrobes via the Dockstore CLI, get them documented on at the Synapse Challenge ( https://www.synapse.org/#!Synapse:syn8507133 )
Also try the ENCODE workflow or anything new that we have not submitted to

It should also be possible run tools directly from dockstore as opposed to local-entry
e.g.
dockstore tool launch --entry quay.io/ga4gh-dream/dockstore-tool-synapse-get --json <params>"  as opposed to  dockstore tool launch --local-entry dockstore-tool-synapse-get.cwl  --json "  as I've been doing for these runs
This applies to the get, checker, and submit steps

Note: see whiteboard for order of testing tasks before this

Hurrah!


Add note for max_map_count on Docker for Mac

Add note for using it running Docker for Mac.
max_map_count must be set within the xhyve virtual machine

The Docker for Mac VM already uses a high value for max_map_count, wouldn't it be better to simply mention it?

It didn't run on my machine (newest Docker release) without setting the max_map_count value

Ok fair enough then, I reviewed your changes.
Regarding the default value, are you sure you're using the latest version? On a fresh installation:
/ # grep max_map_count /etc/sysctl.d/01-moby.conf
vm.max_map_count = 262144

Another suggestion: maybe replace the whole section with a link pointing to https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod-mode

+1 for the link to the elastic guide, existing section can be updated to point at the elastic docs.

I upgraded yesterday to version 17.03.0-ce-mac1 (15583).
1+ for the link - definitely the better option

Thanks @thepill! :+1:


Do not read url from P2 schema (to not fail if it is an env var)

Not needed in the tool afaik.

woops, this is a regression from adding postgres. should be able to remove by looking at prisma.yml
https://prisma-company.slack.com/archives/C010EAVUX0D/p1590747787007600

fixed in<EMAIL_ADDRESS>


Feature Request: Hot-Restart global shortcut

Hot-Reload has a setting "shortcut to invoke" that executes from anywhere. It'd be nice if Hot-Restart also had this so we can restart without focusing the live++ broker window.

That sounds like a useful addition.
Any particular shortcut you had in mind to be set as a default?

I personally have hotreload bound to ctrl+B because it's easy to press and does not generally conflict with other things like most ctrl+button combos in left hand area. So I'd probably bind hotrestart to something like ctrl+shift+B, but I'm not sure if it's the best default for everyone.
ctrl+R or ctrl+shift+R would probably be good as well.

This has been implemented and will ship in the next update.

wow so fast
amazing, thanks!

This has shipped in Live++ 2.4.0:
https://liveplusplus.tech/releases.html
Thanks again for the suggestion!


Updating time crate for Rust 1.80

c.f. https://github.com/NixOS/nixpkgs/issues/332957
and https://github.com/rust-lang/rust/issues/127343

[ ] Amended the changelog in release.nix (see release.nix for instructions)

@nyarly are you able to merge this yourself or should we patch it downstream in nixpkgs?

@JJJollyjim I'm in progress now


Error when setting a Temprature Calibration value.

I get the following error dump whenever I assign a pin with a calibration value set.

Request Method: | POST
-- | --
http://<IP_ADDRESS>/devices/1/sensors/config/
1.11.15
TypeError
Decimal('2.0') is not JSON serializable
/usr/lib/python3.5/json/encoder.py in default, line 179
/home/fermentrack/venv/bin/python3
3.5.3
['/home/fermentrack/venv/lib/python3.5/site-packages/git/ext/gitdb',  '/home/fermentrack/venv/bin',  '/home/fermentrack/fermentrack',  '/home/fermentrack/venv/lib/python3.5/site-packages',  '/usr/lib/python35.zip',  '/usr/lib/python3.5',  '/usr/lib/python3.5/plat-arm-linux-gnueabihf',  '/usr/lib/python3.5/lib-dynload',  '.',  '/home/fermentrack/venv/lib/python3.5/site-packages/gitdb/ext/smmap']

Clearing the input allows the temp sensor to save.
I poked around a little bit, but I don't know Python well enough to narrow in on what is going wrong.  Thanks for putting this project together.

I have what I think is a fix on my laptop for this. Going to push later today to the aio_ble branch and test tonight.

So, saving the value is fixed now.  Thank you.
But, the saved value is a little bit different.  I saved a value of 2.088, but, that temp probe now reports Temp Calibration Offset: 2.023.  Which is close enough, but, I thought it was a bit odd.  Going to close this issue though.


Add Ratio theme

Hi there!
I started playing around with polylux and thought I could contribute another theme!
Would you mind taking a look?
ratio.pdf

I did some cleanup today, as well as properly "namespacing" everything except the slide functions by means of prefixing it with ratio-.

Whelp, I always lose myself in these kind of theme updates. Pretty satisfied for now.
I'm going to roll with it for a while and see if anything turns up.
Latest PDF

@andreasKroepelin ping 👍
Would love to see this merged.

It is unlikely to get merged. Since the advent of proper Typst templates, this should get published as a stand alone template (as will the other builtin Polylux themes at some point).

this should get published as a stand alone template

I mean sure, I understand you, but there is a change in utils in this MR which adds subsection registering. This makes this template not compatible with the current release of polylux unfortunately.

I think the utils part could be handled separately and perhaps could be generalized further into a variable heading level if I remember correctly.
Regarding the theme, I have some local changes/additions and might revise it a bit more for the latest Typst.
Would you consider adding more themes in the general sense or is that just a no-go?

@andreasKroepelin I seem to have glossed over your comment and will investigate the standalone solution some more, which is fine but I'm not sure when I'm going to get to it.
Shall we close this in favor of an issue/PR with variable depth sections? I think that would be a useful addition to the toolkit.

Shall we close this in favor of an issue/PR with variable depth sections? I think that would be a useful addition to the toolkit.

That sounds reasonable.

Whelp, it's easy to get sidetracked with these themes. I did a rewrite of the theme and put a repository up over at
https://gitlab.com/ratio-case-os/typst/polylux-ratio


[improve][broker]Change the log level to reduce repeated error logs

Fixes #23191

Motivation

If the pre-installed NIC is not activated, the NIC driver is not supported, or a virtual NIC is used, the software may fail to read the NIC speed. As a result, the pulsar broker continuously prints error logs every minute. In fact, the system is not in a fault state in these cases. In addition, repeated error logs increase performance overhead and log storage space, and affect log reading and analysis.
An example of the error log is as follows:
[pulsar-load-manager-1-1] ERROR o.a.p.b.loadbalance.impl.LinuxBrokerHostUsageImpl - Failed to read speed for nic enp180s0v0, maybe you can set broker config [loadBalancerOverrideBrokerNicSpeedGbps] to override it.
java.io.IOException: Invalid argument
	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
	at sun.nio.ch.FileDispatcherImpl.read(FileDispatcherImpl.java:46)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:197)
	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:159)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
	at java.nio.file.Files.read(Files.java:3105)
	at java.nio.file.Files.readAllBytes(Files.java:3158)
	at org.apache.pulsar.broker.loadbalance.impl.LinuxBrokerHostUsageImpl.lambda$null$3(LinuxBrokerHostUsageImpl.java:255)
	at java.util.stream.ReferencePipeline$6$1.accept(ReferencePipeline.java:244)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.DoublePipeline.collect(DoublePipeline.java:500)
	at java.util.stream.DoublePipeline.sum(DoublePipeline.java:411)
	at org.apache.pulsar.broker.loadbalance.impl.LinuxBrokerHostUsageImpl.lambda$getTotalNicLimitKbps$4(LinuxBrokerHostUsageImpl.java:261)
	at java.util.Optional.orElseGet(Optional.java:267)
	at org.apache.pulsar.broker.loadbalance.impl.LinuxBrokerHostUsageImpl.getTotalNicLimitKbps(LinuxBrokerHostUsageImpl.java:252)
	at org.apache.pulsar.broker.loadbalance.impl.LinuxBrokerHostUsageImpl.calculateBrokerHostUsage(LinuxBrokerHostUsageImpl.java:104)
	at org.apache.pulsar.common.util.Runnables$CatchingAndLoggingRunnable.run(Runnables.java:54)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:750)

Modifications

Actually, the system is not in the faulty state. It's ok to change the log level to debug.
Verifying this change

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

Documentation

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

@poorbarcode @liangyepianzhou @lhotari PTAL

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

Project coverage is 74.56%. Comparing base (bbc6224) to head (2fee54a).
Report is 542 commits behind head on master.

Files
Patch %
Lines

...ache/pulsar/broker/loadbalance/LinuxInfoUtils.java
0.00%
2 Missing :warning:

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23192      +/-   ##
============================================
+ Coverage     73.57%   74.56%   +0.99%
- Complexity    32624    34186    +1562
============================================
  Files          1877     1921      +44
  Lines        139502   144518    +5016
  Branches      15299    15820     +521
============================================
+ Hits         102638   107763    +5125
+ Misses        28908    28497     -411
- Partials       7956     8258     +302

Flag
Coverage Δ

inttests
27.52% <0.00%> (+2.93%)
:arrow_up:

systests
24.74% <0.00%> (+0.41%)
:arrow_up:

unittests
73.90% <0.00%> (+1.06%)
:arrow_up:

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

Files
Coverage Δ

...ache/pulsar/broker/loadbalance/LinuxInfoUtils.java
53.78% <0.00%> (-2.57%)
:arrow_down:

... and 509 files with indirect coverage changes

I think it's better to add a solution that logs it once on the first time at error level and after that at debug level.

Change as suggested


at sig not working on Mac

Describe the bug
On MacOs with the Client the @ is not working, so you cane not take Users in Chat window .
Screenshots
https://www.youtube.com/watch?v=p4bbKHG3qls
Chatterino version
2.1.1

Seems to happen on the german keyboard layout where you type @ using Alt+L

yep tryring the US layout @ is works.
I don't know exactly what you cane /(could)do to fix it.
but it would be nice
anyway thanks

we don't have enough information to fix this

Why closed? @ sign not working on german Keyboard. How can wie fix it?

Why closed? @ sign not working on german Keyboard. How can wie fix it?

This was broken due to chatterino having default vim keybindings on Option+H/J/K/L to switch between open splits and overwriting the Option+L shortcut for @
This is no longer the case since #2340, you have to update your chatterino and use the nightly release

Why closed? @ sign not working on german Keyboard. How can wie fix it?

This was broken due to chatterino having default vim keybindings on Option+H/J/K/L to switch between open splits and overwriting the Option+L shortcut for @
This is no longer the case since #2340, you have to update your chatterino and use the nightly release

Nice worked perfectly thanks !


Parse simulator list

Summary

When parsing simulator names in order to run on iOS simulator, the name now contains the prefix "com.apple.CoreSimulator.SimRuntime." Therefore the check to filter out simulators that are not iOS or tvOS needs not to check for startsWith, but rather to check for includes.
Without the fix, I am not able to start and run the iOS simulator through the react-native cli
This started happening for me after I installed the latest XCode (beta). I am currently using XCode "Version 10.2 beta (10P82s)", but I have tried using xcode-select to point towards the latest stable XCode version as well, but the problem still occurs. My version of xcrun is "xcrun version 43.1."
Changelog

[iOS] [Changed]- Enabling start of iOS/tvOS simulators when simulator versions are reported with apple-prefixes.
Test Plan

Run the command react-native run-ios. Without the fix I get the error
Could not find iPhone X simulator
With the fix, it starts fine.

For reference.. Here is what the output from xcrun looks like (copied out example just from the iOS (12.2) simulators:
"com.apple.CoreSimulator.SimRuntime.iOS-12-2" : [
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 5s",
"udid" : "E57D975D-4D52-4BFE-9946-A03CB56A98CD",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 6",
"udid" : "EE0AD5E8-CB7A-495C-82ED-1B876D530D9E",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 6 Plus",
"udid" : "7240C89E-CEB3-45B0-9941-903EF96A97C3",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 6s",
"udid" : "B2E798F4-2DB6-4B13-B434-A4B964061545",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 6s Plus",
"udid" : "89D84E6B-4400-4E5B-B653-68E53AEDD6BB",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 7",
"udid" : "9B7FB56A-88F8-4D33-BC56-472F52B20485",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 7 Plus",
"udid" : "B1C3E943-21AB-4F61-94C8-2321306296FF",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 8",
"udid" : "19D4A1BB-29BF-4B96-9384-48EBEC7C74F8",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 8 Plus",
"udid" : "CC87B686-3DBB-4ADF-9421-3FEE948087DE",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone SE",
"udid" : "F2D502D8-FEBD-4E58-8285-55A4D258521A",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Booted",
"isAvailable" : true,
"name" : "iPhone X",
"udid" : "4D9E6A35-6DB5-4FDC-B054-C8729CA87218",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone Xs",
"udid" : "065B59F0-945C-45B0-9FF9-145ACCEF30BB",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone Xs Max",
"udid" : "14613656-5F78-47EC-A53D-6A443F2856DE",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone Xʀ",
"udid" : "4D54A311-EC97-44A1-8CF2-94B1686C4FD3",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Air",
"udid" : "5F59D328-111D-4A20-BC1C-D661C68C7988",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Air 2",
"udid" : "BEA0F58F-EFE2-4131-9CBB-E98C84C39E2C",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad (5th generation)",
"udid" : "62002A8D-76DF-4355-BC5C-70B169A4B71D",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (9.7-inch)",
"udid" : "829DD371-6A9B-4FBA-9561-6CA124635770",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (12.9-inch)",
"udid" : "7D750978-373D-4F62-BC15-BFBDA4F75B65",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (12.9-inch) (2nd generation)",
"udid" : "70D65152-905F-41DF-881D-0CF9512E1FC3",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (10.5-inch)",
"udid" : "DE303370-416A-4B80-B0A0-83F0CF346D0A",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad (6th generation)",
"udid" : "B4E903DA-1D5E-4004-891F-C08D0CC9DEEB",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (11-inch)",
"udid" : "741202BC-6CAD-4BDC-8434-AEC49660ABBD",
"availabilityError" : ""
},
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro (12.9-inch) (3rd generation)",
"udid" : "BED12476-8111-447C-89B6-254459487A13",
"availabilityError" : ""
}
],

Could you please backport to 0.57?

@jmatsushita we have a separate repo for discussing backports and cherry picks over at http://github.com/react-native-community/react-native-releases


fix list sorting

list_sort has changed so that comparison functions passed to it receive the pointer to the object it cares about, instead of a pointer to that pointer.
the comparison function in #247 list_sort(mode->bindings, sway_binding_cmp); would use the wrong pointer, and could cause all sorts of fun.

Thanks for fixing that, sorry for messing up the compare function (I didn't realize counting modifiers in it self was important).


Make memory caching functions thread safe

On more than one occasion, there might be a time where you'd like to perform memory reading across multiple threads. The problem is, if caching is enabled, a race condition becomes very likely. Using mutual exclusion before every read is wasteful since the cache is not always being written to and reading is probably safe (need to double check). Either way, that whole operation needs to be made thread safe though some research needs to be done first.

That mutex thing we talked about a while back. The people working on that gaming code I showed you earlier are considering relicensing their threading code en masse. Any preferences on licenses? We have not made the final decision.

I personally license most of my code under ZLib. But MIT works just as well. For me, the most important consideration is the end-user (and other developers, if applicable). I'll give you three examples of problems that could arise if a bad license is chosen.

Licensing conflicts prevent a developer from bundling third-party executables which are required for their application to work. This means that the end-user has to go out and manually download them from the third-party website. Bad user experience.

Licensing conflicts prevent a developer from statically compiling third-party libraries directly into their application. Why should we let them statically compile? because sometimes it's easier to distribute a single executable to the end-user without having them perform some sort of installation to ensure that all the dependencies get installed.

Licensing conflicts prevent a developer from taking a chunk of code from another project and integrating it directly into their own project. This may sound awful but think about my situation, I have my own little project and I need a fast mutex implementation, should I really be forced to rely on some huge library when I only need a tiny part of it. Imagine if the library I had to rely on was  Boost or Qt.

Now obviously I'm not saying that people should just be allowed to steal code or not properly attribute it, no, all I'm saying is that the restrictions should be relaxed enough to not get in the way of real fair-use scenarios that make life easier. You might also want to include a clause that requires people to make any modifications of library public (like Qt).
But I digress, every library is different and there are a lot of variables involved, so choose a license that best suits your needs. Just don't go into it being angry, like some of the open source community, people will be assholes regardless of what license you choose.

We will certainly not go in angry, good advice. It is actually a corporate decision we decided we need less protections on the licensing front and having more people using the code is more important than the ability to take legal action against people misusing it. I am just trying to get perspective from a few people who showed interest, thank you for your in depth response, I will help take all this into account.
Also when are you planning on releasing 2.1.0? Do you need the mutex before then? I will try to get that relicensed early, but it if you need it "now" we can figure something out and get it out of the GPL3.

There is no set timeline and if certain features have to be held back then that's okay also. Thanks for taking my input into consideration, I hope your licensing decision goes well.


Non‑void returning assertion functions

Search Terms

assertion function non-void return type
assertion function non-void return
assertion function generic return
assertion function custom return

Suggestion
A way to type a function that is both an assertion function and returning a value that is not void.
Use Cases
This is necessary to correctly type Jest’s expect(…) matchers, which have a generic return type of R.
Examples
declare const expect: <T>(actual: T): JestMatchers<T>;

type JestMatchers<T> = JestMatchersShape<
	Matchers<void, T>,
	Matchers<
		Promise<void>,
		T extends PromiseLike<infer U>
			? U
			: Exclude<T, PromiseLike<any>>
	>
>;

type JestMatchersShape<TNonPromise extends {} = {}, TPromise extends {} = {}> = {
	resolves: AndNot<TPromise>;
	rejects: AndNot<TPromise>;
} & AndNot<TNonPromise>

type AndNot<T> = T & { not: T };

interface Matchers<R, T = {}> {
	toBe<E>(expected: E): R & (asserts T is E);
}

declare const foo: unknown;
expect(foo).toBe("foo");
foo; // $ExpectType "foo"

// Some typings for engine262's Completion Record handling:
type UnwrapNormalCompletion<T>
	= unknown extends T ? Value | undefined
	: T extends NormalCompletion<infer V>
		? (unknown extends V ? Value | undefined : V)
	: T extends Completion ? never
	: T;

/** @see https://tc39.es/ecma262/#sec-returnifabrupt */
export declare function ReturnIfAbrupt<T>(completion: T):
	(UnwrapNormalCompletion<T>)
	& (asserts completion is UnwrapNormalCompletion<T>);

/** @see https://tc39.es/ecma262/#sec-returnifabrupt-shorthands */
export { ReturnIfAbrupt as Q };

/**
 * The type signature is the same, but `AssertNormalCompletion` causes an error to be thrown at runtime
 * if `argument` is an AbruptCompletion, whereas `ReturnIfAbrupt` gets replaced with code that causes
 * the caller to return the AbruptCompletion by engine262's build system:
 *
 * @see https://tc39.es/ecma262/#sec-returnifabrupt
 * @see https://tc39.es/ecma262/#sec-returnifabrupt-shorthands
 */
declare function AssertNormalCompletion<T>(completion: T):
	(UnwrapNormalCompletion<T>)
	& (asserts completion is UnwrapNormalCompletion<T>);
export { AssertNormalCompletion as X };

Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

duplicate of or related to #34636

Note that the duplicate #34636 (which got here first) has 39 :+1: at the time of writing, and this one has only 9 :+1:. If these are used for prioritization, perhaps this one should be closed and the other should be reopened?

Here's a simpler example that doesn't require any 3rd party libraries:
type ValidRawData = { foo: string; };
declare function assertIsValidRawData(value: unknown): asserts value is ValidRawData;

// Ideal return type would be some like:
// ParsedData & asserts data is ValidRawData
function parseData(data: unknown) {
    assertIsValidRawData(
        data !== null &&
        typeof data === "object" &&
        Object.hasOwn(data, "foo") &&
        typeof data.foo === "string"
    );
    ...
}

const rawData: unknown = {};
const data = parseData(rawData);
const foo = rawData.foo; // <== Not currently valid. `parseData` called above should be able to assert that rawData is of type ValidRawData.

Playground link.

One footgun this avoids is it can avoid unused variables:
const val = api.value
ensureExists(val)
// if you never use val for rest of file, but linter is happy

const val = ensureExists(api.value)
// if you never use val for rest of file, linter will complain / editor will show unused

The whole point of my post is that if I never use val, my longer/editor doesn’t tell me because it thinks it’s being used. This can happen when you used it, clean up some code below it that removes all the references to it, for example.  You miss seeing its not necessary anymore because it tricks the linter. Whereas the assign pattern if I remove all references below I’ll clearly see it’s dangling.

On May 20, 2022, at 11:25 AM, Rebecca Stevens @.***> wrote:

@natew If you never use val, why define it? just call the function.
ensureExists(api.value)
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

Would love for this feature to exist. Not only would it be useful for some mutating functions like Object.assign and the jest functions above, but I think it also enables some novel compile-time safe patterns for mutable structures that aren't possible to represent currently.
For example, a state machine that can assert that a transition is changing the underlying object to a new state, and return information about the transition itself.
Imagine this example:
myMachine = createMachine();

myMachine.stopExport(); // error: stopExport does not exist on type MachineReady

myMachine.startExport() // returns returns a promise to await the export AND asserts that myMachine is in a different state
myMachine.startExport() // error: startExport does not exist on MachineStarted

I agree that this would be a helpful feature. In addition to the Object.assign() scenario that @irwincollin mentioned above, there may be situations where a developer wants to mutate an array in place in order to avoid the performance overhead that comes from methods like Array.map. (Array.map would consume additional memory unnecessarily since it always creates a new array, and this can be problematic if the array is very large.)
The problem with returning something like T & U (like Object.assign()) is that such a return type won't communicate that the original variable which was passed to the function was mutated. And the problem with asserts is that it can't be used to return the mutated object for convenience.
A syntax like
function mapArrayInPlace<T, U>(array: T[], func: (items: T) => U): mutates array to U[];

could be helpful. I would hope that this would be fairly simple since TypeScript already has a way to assert and a way to return generic types. We'd just be adding 2 new keywords, and it would look familiar to what we have in other situations:
function predicate(arg: unknown): arg is number;
function asserter(arg: unknown): asserts arg is number;
function mutator(arg: unknown): mutates arg to number;

This seems to be related to #17181, though it comes from the opposite angle. A library that rigorously identifies its mutating functions in the way described above could satisfy some of the requirements of that issue if I'm understanding correctly. (I only skimmed the issue.)


arrow<->arrow2 interopability conversion method?

I'm using arrow2 in a project along with polars. I now also want to send the same data to datafusion, which uses arrow (ideally without having to send the data through via the IPC serialization format)
Before I fumble around with the FFI API, I figured I would check first: is there a method somewhere which handles the conversion of a RecordBatch from arrow to arrow2 and vice versa? Seems like something that might exist already in some kind of integration test or similar, but "arrow<->arrow2" is quite a tricky thing to search for

Nop, we do not have such a methods. That is because doing so requires arrow depending on arrow2 or vice-versa.
The arrow format was designed exactly to support this case, though, and the FFI is really the conversion. What happens is that a RecordBatch is not part of arrow in-memory specification, it is just a struct that exists in some implementations.

There could be a crate one level higher that implements the conversion.
    arrow-conv
         |
        /\
      /    \
arrow      arrow2

It could maybe support conversion of the core types, ArrayRef and RecordBatch.

off topic, but in case you missed it, there is also a fairly uptodate arrow2 branch for datafusion that's being worked on.

Hi @houqp , may I ask what branch is that? and is that going to be under apache or also as part of a separate repo?

I think it means https://github.com/apache/arrow-datafusion/pull/68

doing so requires arrow depending on arrow2 or vice-versa.

This could easily be feature-gated though, so there is no hard dependency. The FFI works but is very awkward to do manually since it involves working with raw pointers, versus the lovely abstraction of just calling .into().

This could easily be feature-gated though, so there is no hard dependency

True, although I think there is some benefits to having it be a separate crate, mainly the releases wouldn't be tied to any either project's release cycle (i.e a new release of the conv crate could be made whenever arrow or arrow2 is released)
It  also could allow the crate to work on multiple versions of either version via feature flags (similar to how multiple winit versions are handled here)
The crate could also support the pyarrow interop via PyO3, which would have the same benefits (e.g currently arrow-rs 9 only supports pyo3 0.15, and we are blocked on updating pyo3 until next release of arrow)
Biggest drawback of it being a separate crate would be you can't as neatly implement some conversion traits (since they would be forgien types)

I think a conversion crate would be valuable indeed, though I don't have time to work on such a thing now.
We could potentially host it in the https://github.com/datafusion-contrib organization and there might be others in the community who are interested in helping -- see the arrow2 milestone https://github.com/apache/arrow-datafusion/milestone/3

designing a bit, I think that we would need 6 functions:
pub fn arrow_to_arrow2_error(error: arrow::error::ArrowError) -> arrow2::error::ArrowError;
pub fn arrow_to_arrow2_field(field: arrow::datatypes::Field) -> Result<arrow2::datatypes::Field, arrow2::error::ArrowError>;
pub fn arrow_to_arrow2_array(array: Arc<dyn arrow::array::Array>) -> Result<Arc<dyn arrow2::array::Array>, arrow2::error::ArrowError>;

pub fn arrow2_to_arrow_error(error: arrow2::error::ArrowError) -> arrow::error::ArrowError;
pub fn arrow2_to_arrow_field(field: arrow2::datatypes::Field) -> Result<arrow::datatypes::Field, arrow::error::ArrowError>;
pub fn arrow2_to_arrow_array(array: Arc<dyn arrow2::array::Array>) -> Result<Arc<dyn arrow::array::Array>, arrow::error::ArrowError>;

You miss out on a valid naming option: arrow2arrow :stuck_out_tongue_winking_eye:

You miss out on a valid naming option: arrow2arrow 😜

🤯


Create Himanshu_Nth Root of a Number using Binary Search.cpp

please add the hacktoberfest accepted tag in my pr


investigate use with ApprovalTests

3/9/2013
DavidSiew1
Hey adam, I know that you use http://fluentassertions.codeplex.com/ as your assertion library. Have you ever considered http://shouldly.github.com/?
9:57:15 AM
I know that I can still use Shouldly but it seems a bit of a "waste".
9:58:02 AM
On the other hand is xBehave composable enough so that I could simply swap one out of the other?
9:59:03 AM
I'm being pedantic btw
10:01:15 AM
Oops my bad. I've just tried it and it doesn't seem that fluentassertions is bundled with xbehave#
10:19:43 AM
3/24/2013
DavidSiew1
Hey Adam, I was wondering if you knew how to get your framework to work with approval tests http://approvaltests.sourceforge.net/
7:22:52 PM
3/25/2013
adamral.ph
hi David, yes you can use whatever assertion library you like with xBehave
8:19:36 AM
as for approvaltests, it looks like it is based on NUnit, is that correct? if so, then it won't work with xbehave
8:20:39 AM
DavidSiew1 just entered xbehavenet
9:06:16 AM
DavidSiew1
Hi Adam. Approval tests also work with NUnit
9:07:02 AM
sorry
9:07:04 AM
XUnit
9:07:06 AM
it's just that it's not recognising the "Specification" attribute
9:08:07 AM
I tried to follow the instructions here http://stackoverflow.com/questions/12054138/how-to-add-support-for-xunits-theory-attribute-in-approvaltests which refers to theory but couldn't get it working
9:09:14 AM
DavidSiew1 left xbehavenet (plus 4 hidden... click to expand)
3:11:01 PM
adamral.ph
ok, I'll take a look if I get some time
8:12:42 PM

Anyone take a look at this? The issue is typically that ApprovalTests is checking the stacktrace and not finding a good test name to use. I've added (lame) support to Subspec before by doing
 Approvals.Verify(
new ExistingFileWriter(fileToVerify.FullName),
new ConstantNamer(Core.CurrentlyExecutingAssertion), Approvals.GetReporter()
);

Where
public class ConstantNamer : IApprovalNamer
{
	public string SourcePath { get { return defaultNamer.SourcePath; } }
	public string Name { get; private set; }
	public ConstantNamer(string name) {
		Name = Path.GetInvalidPathChars().Aggregate(name, (path, c) => path.Replace(c, ' ')).Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Join(" ");
	}

	readonly IApprovalNamer defaultNamer = Approvals.GetDefaultNamer();

	static ConstantNamer() {
		if (!StackTraceParser.GetParsers().OfType<SubspecStackTraceParser>().Any())
			StackTraceParser.AddParser(new SubspecStackTraceParser());
	}
}

and I had to add a static
                Core.CurrentlyExecutingAssertion = String.Format( "{0}, {1}", name, assertion.Message );

to Subspec basically relying on single-threading of tests

Hi @togakangaroo I'm afraid I never got round to looking at this. I've never used ApprovalTests myself and you're the first person to ask about it since that original question.
Would you be able to give it a try and see what you can find it out? Any help you could offer on this would be hugely appreciated.

BTW - xBehave.net 2.0 is due out any day now and it is a complete re-write (as is xUnit.net 2.0), so it may not be worth spending too much time getting this working with 1.x.

Best I can promise is that checking this out will go not as far to the back of my queue as some other things.
In the meantime this hacky thing works:
		[Scenario]
		public void ParsingComplexResults(NpiResultsParser.NpiDoctorDataParser parser) {
			"Given a doctor parser from a parsed list of npi results".x(() => parser = loadSampleFileIntoParser().GetDoctorParser("1255637005"));
			jsonApproval("Can parse name", () => parser.GetNameParts());
			jsonApproval("Can parse addresses", () => parser.GetAddresses()); //primary address should be first
			jsonApproval("Can parse taxonomies", () => parser.GetTaxonomies()); //primary license should be first
		}

		void jsonApproval(string name, Func<object> getValue) {
			var st = new StackTrace();
			var testName = "{0} {1} {2}".Fmt(this.GetType().Name, st.GetFrame(1).GetMethod().Name, name).Replace(" ", "_");
			name.x(() => Approvals.Verify(
				new ApprovalTextWriter(JsonConvert.SerializeObject(getValue(), Formatting.Indented), "json"),
				new ConstantNamer(testName), new MultiReporter(new FileLauncherReporter(), new PowerShellClipboardReporter())
				));
		}
	public class ConstantNamer : IApprovalNamer
	{
		public string SourcePath { get { return defaultNamer.SourcePath; } }
		public string Name { get; private set; }
		public ConstantNamer(string name) {
			Name = Path.GetInvalidPathChars().Aggregate(name, (path, c) => path.Replace(c, ' ')).Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Join(" ");
		}

		readonly IApprovalNamer defaultNamer = Approvals.GetDefaultNamer();

		static ConstantNamer() {
			if (!StackTraceParser.GetParsers().OfType<XbehaveStackTraceParser>().Any())
				StackTraceParser.AddParser(new XbehaveStackTraceParser());
		}
		public class XbehaveStackTraceParser : AttributeStackTraceParser
		{
			public override bool Parse(StackTrace trace) {
				base.Parse(trace);
				//This should work but for some reason doesn't http://stackoverflow.com/questions/26553231/why-can-i-not-find-a-custom-attribute-on-this-methodinfo
				//this.approvalFrame = caller.NonLambdaCallers.FirstOrDefault(c => c.Method.GetCustomAttributes(typeof (SpecificationAttribute), true).Any());
				//instead this is a little fragile but should work.
				this.approvalFrame = caller.NonLambdaCallers.Last(c => c.Class.Namespace.Split('.').Contains("AppleHms"));
				return this.approvalFrame != null;
			}

			public override string ForTestingFramework {
				get { return "xUnit.net"; }
			}

			protected override string GetAttributeType() {
				return typeof(ScenarioAttribute).FullName;
			}
		}

	}

Thanks @togakangaroo!
In the meantime I've linked to here in the FAQ.

@togakangaroo I'm closing this issue since the solution will have to exist either reflectively in ApprovalTests itself or in a third party package providing integration between ApprovalTests and xbehave. Thanks for your investigation into this, which has been linked from the FAQ.


hexo主题下导航栏无法自动变色，以及标题词无法展现

描述bug
导航栏字体颜色无法自适应变色，以及主题词无法展现
复现步骤
尝试过vercel 重新部署也不能解决问题
blog 地址:https://www.3hwork.com/
期望的正常结果
希望按这个步骤，正常操作结果是什么
截图

环境
补充说明
麻烦您了

您好 这是vercel后台部署的日志 麻烦您了
[14:47:11.358] Cloning github.com/longlife2049/bingo (Branch: main, Commit: 351411f)
[14:47:11.645] Cloning completed: 287.095ms
[14:47:12.554] Looking up build cache...
[14:47:16.501] Build cache downloaded [71.47 MB]: 3432.024ms
[14:47:16.729] Running "vercel build"
[14:47:17.185] Vercel CLI 27.1.5
[14:47:17.523] Installing dependencies...
[14:47:17.873] yarn install v1.22.17
[14:47:17.912] info No lockfile found.
[14:47:17.920] [1/4] Resolving packages...
[14:47:23.245] warning valine > leancloud-storage ><EMAIL_ADDRESS>Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at https://github.com/visionmedia/superagent/releases.
[14:47:23.257] warning valine > leancloud-storage ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
[14:47:23.283] warning valine > leancloud-storage > superagent ><EMAIL_ADDRESS>Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
[14:47:23.366] warning valine > leancloud-storage > leancloud-realtime ><EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
[14:47:23.913] warning valine > leancloud-storage > leancloud-realtime > @leancloud/platform-adapters-node > @leancloud/adapters-superagent ><EMAIL_ADDRESS>Please upgrade to v7.0.2+ of superagent.  We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing.  See the releases tab for more information at https://github.com/visionmedia/superagent/releases.
[14:47:23.916] warning valine > leancloud-storage > leancloud-realtime > @leancloud/platform-adapters-node > @leancloud/adapters-superagent > superagent ><EMAIL_ADDRESS>Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
[14:47:26.632] [2/4] Fetching packages...
[14:47:41.446] [3/4] Linking dependencies...
[14:47:41.448] warning "gitalk ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 0.14.x || 15.x.x".
[14:47:41.449] warning "gitalk ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 0.14.x || 15.x.x".
[14:47:41.449] warning "react-facebook ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| 16.x".
[14:47:41.449] warning " ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0-0 || ^16.0.0-0".
[14:47:41.451] warning "react-notion-x ><EMAIL_ADDRESS>has unmet peer dependency "@babel/runtime@>=7".
[14:47:41.451] warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react@^15 || ^16".
[14:47:41.451] warning "react-notion-x ><EMAIL_ADDRESS>has incorrect peer dependency "react-dom@^15 || ^16".
[14:47:41.452] warning "react-notion-x > react-pdf ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^5.0.0".
[14:47:41.454] warning "eslint-config-next > @typescript-eslint/parser > @typescript-eslint/typescript-estree ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta".
[14:47:54.146] [4/4] Building fresh packages...
[14:47:54.572] success Saved lockfile.
[14:47:54.577] Done in 36.71s.
[14:47:54.628] Detected Next.js version: 12.1.6
[14:47:54.629] Running "yarn run build"
[14:47:54.893] yarn run v1.22.17
[14:47:54.938] $ next build && next-sitemap --config next-sitemap.config.js
[14:47:55.426] info  - Loaded env from /vercel/path0/.env.local
[14:47:55.620] info  - Checking validity of types...
[14:47:57.968] info  - Creating an optimized production build...
[14:48:20.889] info  - Compiled successfully
[14:48:20.890] info  - Collecting page data...
[14:48:21.875] [请求API] from:slug-paths id:65552556acd148c8809ee164a92eec25
[14:48:21.893] [请求API] from:slug-paths id:65552556acd148c8809ee164a92eec25
[14:48:21.927] [请求API] from:category-paths id:65552556acd148c8809ee164a92eec25
[14:48:22.358] [响应成功]: from:slug-paths id:65552556acd148c8809ee164a92eec25
[14:48:22.358] [API耗时] 483ms
[14:48:22.361] PageIds: 从collectionQuery获取 {
[14:48:22.361]   '04e110f7-2c14-4c7d-9651-c5fac14f3106': {
[14:48:22.361]     '9225df7c-8e49-4568-ad7d-f4168a90a2dc': { collection_group_results: [Object] }
[14:48:22.361]   }
[14:48:22.362] }
[14:48:22.396] [命中缓存]: from:page-paths root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.407] [响应成功]: from:category-paths id:65552556acd148c8809ee164a92eec25
[14:48:22.407] [API耗时] 481ms
[14:48:22.409] [命中缓存]: from:tag-static-path root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.412] PageIds: 从collectionQuery获取 {
[14:48:22.412]   '04e110f7-2c14-4c7d-9651-c5fac14f3106': {
[14:48:22.413]     '9225df7c-8e49-4568-ad7d-f4168a90a2dc': { collection_group_results: [Object] }
[14:48:22.413]   }
[14:48:22.413] }
[14:48:22.517] [响应成功]: from:slug-paths id:65552556acd148c8809ee164a92eec25
[14:48:22.517] [API耗时] 624ms
[14:48:22.521] PageIds: 从collectionQuery获取 {
[14:48:22.521]   '04e110f7-2c14-4c7d-9651-c5fac14f3106': {
[14:48:22.521]     '9225df7c-8e49-4568-ad7d-f4168a90a2dc': { collection_group_results: [Object] }
[14:48:22.521]   }
[14:48:22.521] }
[14:48:22.555] info  - Generating static pages (0/20)
[14:48:22.697] [命中缓存]: from:archive-index root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.742] [命中缓存]: from:category-index-props root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.743] [命中缓存]: from:404 root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.761] [命中缓存]: from:index root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.810] info  - Generating static pages (5/20)
[14:48:22.812] [命中缓存]: from:search-props root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.826] [命中缓存]: from:tag-index-props root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.867] info  - Generating static pages (10/20)
[14:48:22.872] [命中缓存]: from:slug-props-about root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.873] [请求API] from:slug id:77c6379e-124d-429d-97bb-f5cbf0785d07
[14:48:22.877] [命中缓存]: from:slug-props-http://buy.3hwork.com root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.877] [请求API] from:slug id:6e034f49-04e5-413f-9ad1-1575accac5a4
[14:48:22.879] [命中缓存]: from:slug-props-price root-page-id:65552556acd148c8809ee164a92eec25
[14:48:22.880] [请求API] from:slug id:33ed5578-1725-4c3f-8497-8665d6280996
[14:48:23.018] [响应成功]: from:slug id:77c6379e-124d-429d-97bb-f5cbf0785d07
[14:48:23.019] [API耗时] 145ms
[14:48:23.041] [命中缓存]: from:slug-props-buyer root-page-id:65552556acd148c8809ee164a92eec25
[14:48:23.041] [请求API] from:slug id:50116cd4-7c5c-4143-b47e-ffe1af1b77ab
[14:48:23.208] [响应成功]: from:slug id:6e034f49-04e5-413f-9ad1-1575accac5a4
[14:48:23.209] [API耗时] 331ms
[14:48:23.242] [响应成功]: from:slug id:33ed5578-1725-4c3f-8497-8665d6280996
[14:48:23.243] [API耗时] 362ms
[14:48:23.244] [命中缓存]: from:slug-props-info root-page-id:65552556acd148c8809ee164a92eec25
[14:48:23.245] [请求API] from:slug id:f2f3744c-9e7d-42da-bd66-298403e86ad1
[14:48:23.287] info  - Generating static pages (15/20)
[14:48:23.288] [命中缓存]: from:slug-props-supply root-page-id:65552556acd148c8809ee164a92eec25
[14:48:23.289] [请求API] from:slug id:5b5436a3-908e-43d1-9355-199e6c32f08e
[14:48:23.417] [响应成功]: from:slug id:5b5436a3-908e-43d1-9355-199e6c32f08e
[14:48:23.417] [API耗时] 128ms
[14:48:23.433] [命中缓存]: from:search-props root-page-id:65552556acd148c8809ee164a92eec25
[14:48:23.448] [响应成功]: from:slug id:50116cd4-7c5c-4143-b47e-ffe1af1b77ab
[14:48:23.449] [API耗时] 407ms
[14:48:23.715] [响应成功]: from:slug id:f2f3744c-9e7d-42da-bd66-298403e86ad1
[14:48:23.715] [API耗时] 469ms
[14:48:23.742] info  - Generating static pages (20/20)
[14:48:24.250] info  - Finalizing page optimization...
[14:48:24.257]
[14:48:24.267] Page                                       Size     First Load JS
[14:48:24.267] ┌ ● / (ISR: 5 Seconds)                     515 B           272 kB
[14:48:24.268] ├   /_app                                  0 B             271 kB
[14:48:24.268] ├ ● /[slug] (ISR: 1 Seconds) (2281 ms)     1.49 kB         273 kB
[14:48:24.268] ├   ├ /info (499 ms)
[14:48:24.268] ├   ├ /buyer (440 ms)
[14:48:24.268] ├   ├ /price (410 ms)
[14:48:24.268] ├   ├ /http:%2F%2Fbuy.3hwork.com (371 ms)
[14:48:24.268] ├   ├ /about
[14:48:24.268] ├   └ /supply
[14:48:24.268] ├ ○ /404                                   629 B           272 kB
[14:48:24.268] ├ ● /archive (ISR: 1 Seconds)              643 B           272 kB
[14:48:24.268] ├ ● /article/[slug]                        1.47 kB         273 kB
[14:48:24.268] ├ ● /category (ISR: 1 Seconds)             656 B           272 kB
[14:48:24.269] ├ ● /category/[category]                   696 B           272 kB
[14:48:24.269] ├ λ /feed                                  245 B           271 kB
[14:48:24.269] ├ ● /page/[page]                           640 B           272 kB
[14:48:24.269] ├ ● /search (ISR: 1 Seconds)               794 B           272 kB
[14:48:24.269] ├ ● /search/[keyword] (ISR: 1 Seconds)     669 B           272 kB
[14:48:24.269] ├   └ /search/NotionNext BLOG
[14:48:24.269] ├ ● /tag (ISR: 1 Seconds)                  641 B           272 kB
[14:48:24.269] └ ● /tag/[tag]                             667 B           272 kB
[14:48:24.269] + First Load JS shared by all              271 kB
[14:48:24.269]   ├ chunks/main-c81cc5f41ad1bd05.js        36.3 kB
[14:48:24.269]   ├ chunks/pages/_app-aa499bc472106957.js  232 kB
[14:48:24.269]   ├ chunks/webpack-0135a326a79eea05.js     2.32 kB
[14:48:24.269]   └ css/9599c9e844f1aff0.css               29 kB
[14:48:24.269]
[14:48:24.269] λ  (Server)  server-side renders at runtime (uses getInitialProps or getServerSideProps)
[14:48:24.270] ○  (Static)  automatically rendered as static HTML (uses no initial props)
[14:48:24.270] ●  (SSG)     automatically generated as static HTML + JSON (uses getStaticProps)
[14:48:24.270]    (ISR)     incremental static regeneration (uses revalidate in getStaticProps)
[14:48:24.270]
[14:48:24.496] Loaded env from /vercel/path0/.env.local
[14:48:24.521] Done in 29.63s.
[14:48:24.854] Traced Next.js server files in: 295.621ms
[14:48:26.197] Created all serverless functions in: 1.341s
[14:48:26.217] Collected static files (public/, static/, .next/static): 15.972ms
[14:48:27.400] Build Completed in /vercel/output [1m]
[14:48:34.978] Generated build outputs:
[14:48:34.978]  - Static files: 117
[14:48:34.978]  - Serverless Functions: 37
[14:48:34.979]  - Edge Functions: 0
[14:48:34.979] Serverless regions: Washington, D.C., USA
[14:48:34.979] Deployed outputs in 5s
[14:48:36.859] Build completed. Populating build cache...
[14:48:51.544] Uploading build cache [72.36 MB]...
[14:48:54.613] Build cache uploaded: 3.069s
[14:48:54.640] Done with "."

https://bingo-2sdmqbkgv-longlife2049.vercel.app/

您好，问题已经解决。是nginx的反向代理设置出现了一点问题造成，我是解析到腾讯云的服务器。感谢大佬的悉心帮助！


Collapsing code in code view breaks when # (hash) present

VSCode Version: Code 1.18.1 (929bacba01ef658b873545e26034d1a8067445e9, 2017-11-16T18:34:22.110Z)
OS Version: Linux x64 4.13.0-17-generic
Extensions:

Extension
Author (truncated)
Version

python-docs
Muk
0.8.3

vscode-docker
Pet
0.0.22

nativescript
Tel
0.7.2

MagicPython
mag
1.0.12

python
ms-
0.8.0

python
tht
0.2.3

(1 theme extensions excluded)

Minimizing methods/functions in code view by clicking the plus-sign next to the method-/function name does not work correctly when code is commented out using # (hash) in python.
Code is only minimized from the start of the method/function until the 1st line of commented code.
Steps to Reproduce:

Create a method without any comments
Click the plus-sign next to the name of the method and observe that the code is minified/collapsed, only displayin the line with the method name and arguments itself.
Expand the method's code
Add a comment beginning with a # (hash) in the middle of the method.
Click the plus-sign next to the name of the method and observe that the code is minified/collapsed only to the commented code.

Reproduces without extensions: Yes

Hello, I would like to work on this.

Our folding is currently purely indentation based. The request to have language aware folding is #3422. Having that, we can creat folding regions based on the information of a language server  from where to where a comment goes.
@shivammittal99 This is not a trivial issue to implement. It needs work on the language servers to return language aware folding regions as well an efficient way of communicating this information across processes.
As a workaround you could think of using the folding regions in your code: #region and #endregion.
Closing as dup of #3422


Capture user team_join and channel_join events to send greetings

Update to the newuser.js plugin to automate the private message greeting

Implemented in 3cc672c


Placeholder new entries for un-curated topics

Please confirm this pull request meets the following requirements:

[X] I followed the contributing guidelines: https://github.com/github/explore/blob/main/CONTRIBUTING.md.
[X] I am not the sole author or employee of a company who created either the topic I am modifying/adding or the collection entry I am modifying/adding.

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[X] Something that does not neatly fit into the binary options above

Something that does not neatly fit into the binary options above

[X] My suggested edits are not about an existing topic or collection, or at least not a single one
[X] My suggested edits are not about curating a new topic or collection, or at least not a single one
[X] My suggested edits conform to the Style Guide and API docs: https://github.com/github/explore/tree/main/docs

As of four months ago, every topic in https://github.com/github/explore/blob/main/topics-todo.md has been checked off. I wasn't able to find a way to query uncurated (or all) [popular] topics using github.com search, the graphql API, or the gh CLI. This PR is really more of a prompt for one of the maintainers who has internal access to update the list with the current most popular un-curated topics. I would have filed this as an issue if those were not disabled on this repo. The three topics I added here are just the ones that show up in the web UI for me and aren't yet curated.

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Thanks to @cheshire137 for #131 for getting the ball rolling on this originally!

Thanks @kenyonj , but also oh no. I had really hoped this PR would attract the attention of someone who could create the correct new list. We need 50 new list entries, not 3.


Add a Helpful Menu

Here's what I have in mind:

When you launch the application, it should display a friendly menu with instructions.
A quick overview of any keybindings, like the "Q," "W," "S," and "V" keys, could be a nice touch.

PS: See #4

can i be assigned this issue

One issue at a time...

can u assign this issue to me

Sure thing all the best :)

can I get this please?

Can i get assigned to this issue?

can i get assigned

lettt meee dooo thisss

can I get assigned?

can u assign this issue to me

are you still working on this? @Rishav1git

can I get this please?

go ahead @srijan-nodes

Hey, there seem to be no issue #4

issue pls

Hey, there seem to be no issue #4

yep that was closed as someone fixed it :)

@srijan-nodes can you show me some progress by 10:15

i didn't see the tag...will show by 10:30...is that okay?

can i try

can i get assigned if this is still open?

can i get assigned to this?


explore Direct link to NRCED from auth details page for C&E information

@dawnbcgov , for you it is just fyi...
Found this API link to query data, which could be explored.
docs:
https://nrpti-api-f00029-prod.apps.silver.devops.gov.bc.ca/api/docs
call from UI
https://nrpti-api-f00029-prod.apps.silver.devops.gov.bc.ca/api/public/search?dataset=OrderNRCED,InspectionNRCED,RestorativeJusticeNRCED,AdministrativePenaltyNRCED,AdministrativeSanctionNRCED,TicketNRCED,WarningNRCED,CourtConvictionNRCED,CorrespondenceNRCED,DamSafetyInspectionNRCED,ReportNRCED&pageNum=0&pageSize=25&sortBy=-dateIssued&fields=
RE: NRCED... We were told that one of the facilities recently had a pollution order,  so were exploring how to search and view that info.  This is my chat with Harry:
I think I found the pollution order: https://nrced.gov.bc.ca/records;autofocus=668eb323556fa0001bbe7850
so now I want to see if it's in ams Oops no, this one: https://nrced.gov.bc.ca/records;autofocus=66390d74fed9710022e8b7ce
No.
BUT/AND using the auth to search only grabs inspections: 111557
https://nrced.gov.bc.ca/records;keywords=111557;ms=486;currentPage=1;pageSize=25;sortBy=-dateIssued
Other search: https://nrced.gov.bc.ca/records;keywords=111557 OR "G.T. FARMS LTD.";ms=569;currentPage=1;pageSize=25;sortBy=-dateIssued
Natural Resource Compliance and Enforcement Database
Repeating my point from the call: in NRCED some enforcement actions are by auth #, some are by name.   We may want to dig in with a application analyst with more details about how to do sophisticated queries

@imsunchips , looping you in, since this is a data integration

This query to the API returns search results when both Auth number and Regulated Party name is included, in the keywords of the api call
sample call
https://nrpti-api-f00029-prod.apps.silver.devops.gov.bc.ca/api/public/search?dataset=OrderNRCED,InspectionNRCED,RestorativeJusticeNRCED,AdministrativePenaltyNRCED,AdministrativeSanctionNRCED,TicketNRCED,WarningNRCED,CourtConvictionNRCED,CorrespondenceNRCED,DamSafetyInspectionNRCED,ReportNRCED&keywords=111557 OR "G.T. FARMS LTD."&pageNum=0&pageSize=25&sortBy=-dateIssued&fields=

grab this property from json array, for each element, to map directly to URL in NRCED.
_id: "662a8ceaf460520022de9a09",
for ex: https://nrced.gov.bc.ca/records;autofocus=662a8ceaf460520022de9a09

@dawnbcgov

[ ] check with harry what fields from this we need / want to display on the authorizations details page

Also I guess we have #260 for feature work once an approach is finalized?

@harryaolson is mocking up the decided approach! I will close this and we can use #260 for tracking feature development per my comment above 🎉


Unify AzyncCollection and Cosmos FeedIterator

Cosmos sources:https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/Microsoft.Azure.Cosmos/src/Resource/QueryResponses/FeedIterator.cs
We should try to unify AsyncCollection and FeedIterator.
The reasons Cosmos has a separate type is that they were not aware that we support paging in our collection primitives.
There might be other reasons and we should dig into this deeper.

The biggest blocker is IAsyncEnumerable is not supported in .NET standard 2.0.

It is, see https://www.nuget.org/packages/Microsoft.Bcl.AsyncInterfaces/

Interesting I was looking at this. In that case I think the biggest blocker I see is the issue about the different response types.
The other issue I see is that the PageSizeHint in GetPage. The Cosmos DB SDK will load pages in the background to reduce latency. The SDK doesn't support getting partial pages because of the continuation token.

The SDK doesn't support getting partial pages because of the continuation token.

Sorry, I didn't understand this part

The Cosmos SDK supports buffering pages to reduce latency. The SDK doesn't support a way of updating the continuation token to allow it to take a partial page that has already been buffered. What user scenario requires a different page size for each GetPage?

Let me clarify a couple of things.

PageSizeHint is not required to be supported
PageSizeHint is used for all pages you get after calling ByPage, you aren't supposed to be changing it per page.

In Cosmos SDK we take the max page size as part of creating the iterator/asyncollection. What scenario did the user need to change the page size between page loads?

What scenario did the user need to change the page size between GetPage operations?

We don't support this scenario, ByPage returns IAsyncEnumerable of pages and page size hint is passed in only once and applied to all of them.
await foreach (var page in client.GetEntries().ByPage(50))
{
}

So we are also only taking page size when creating a page iterator. There is no way to change it in between iterations.


Not possible to configure HUGO_SERVICES_GOOGLEANALYTICS_ID etc. from OS env alone

I introduced a side effect that I need to look at.


Some failures should be nonblocking.

Flutter CI is doing randomization testing with seed of today date.
There are no reasons for this testing to be blocking for flutter master branch.

@godofredoc @goderbauer @keyonghan @jacob314
Thoughts?

@zanderso

Test shuffling catches real test hermeticity errors. If test shuffling isn't blocking, then IIUC we would have to run tests twice: once without shuffling, which would be blocking, and once with shuffling, which would not be blocking.

Test shuffling catches real test hermeticity errors. If test shuffling isn't blocking, then IIUC we would have to run tests twice: once without shuffling, which would be blocking, and once with shuffling, which would not be blocking.

I thought we are doing it anyway: two times, with shuffling and without shuffling. My suggestion is to make shuffling non-blocking.
Yes, shuffling catches real test hermeticity errors, that is very good thing. The problem is that an error created by one engineer blocks other engineers, that impacts velocity of the team.
Are there reasons to make shuffled testing blocking?

I thought we are doing it anyway: two times, with shuffling and without shuffling. Am I wrong? My suggestion is to make shuffling non-blocking.

For package:test tests, we only run them once, with shuffling.

Yes, shuffling catches real test hermeticity errors, that is very good thing. The problem is that an error created by one engineer blocks other engineers, that impacts velocity of the team.

I think if we had a reliable system to run them in a non-blocking fashion but still file issues and/or TODOs in the code that some team needs to be responsible for fixing the test, I think that would be a productivity win over what we have now, which is basically that when the daily shuffle causes failures, the framework gardener needs to investigate the failure, deduce from the failure message and the test code that the failure is due to the random shuffle seed, and create a PR to mark the test library no-shuffle.

If framework gardener is doing this anyway, how about making it their responsibility to check the status of the non-blocking bot and file issues and/or TODOs?
It will not change anything for the gardener, but will save the team from being blocked.

It will not change anything for the gardener, but will save the team from being blocked.

It will change the places the gardener needs to check from 1 to 2.

It will change the places the gardener needs to check from 1 to 2.

Both bots are on dashboard. What is the second place?

It will change the places the gardener needs to check from 1 to 2.

Both bots are on dashboard. What is the second place?

We don't have any current infrastructure to run tests twice, both with shuffle and without. I'm assuming that you are proposing making the existing tests run without shuffle, and setting a separate, asynchronous infrastructure to run tests WITH a shuffle in a non-blocking way. The monitoring for this would be the second place.

It will change the places the gardener needs to check from 1 to 2.

Both bots are on dashboard. What is the second place?

We don't have any current infrastructure to run tests twice, both with shuffle and without. I'm assuming that you are proposing making the existing tests run without shuffle, and setting a separate, asynchronous infrastructure to run tests WITH a shuffle in a non-blocking way. The monitoring for this would be the second place.

Thanks for phrasing this. Yes, this is what i suggesting.
This second place does not require separate infrastructure. It will be also flutter dashboard. There are two parts: non-blocking at the left and blocking at the right.
To make a job non-blocking, you need to set bringup: true in .ci.yaml for it.

Currently, the job of the gardener is very simple: Keep the tree green.
It is well established, that tests with bringup: true (those that show up as outlined squares on the dashboard) can be ignored - and in fact this is encoded in our infra as the tree will not go red on those.
The suggestion would make the gardner's job more complicated as they would have to monitor individual tests on the dashbaord that - without any additional infra work - are indistinguishable from tests that can be safely ignored. I don't think this will scale well and we are likely going to miss issues due to accidental human errors or gardeners just not knowing that this is there additional responsibility. For keeping the tree green the entire team is keeping the gardener honest (and incentivized to help the gardener) because the team will be blocked from submitting their PRs while the tree is red (see the tree-status chat on discord). No such "oversight" exists for bringup: true tests. This is compounded by the fact that most randomization issues seemingly "fix themselves" when the seed changes the next day. Overall, I am afraid that with the suggested approach there is very little incentive to actually record (and then fix) the underlying issue and we will accumulate a lot of test hermeticity problems - that will potentially lead to larger problems down the road.
tl;dr: I believe the gardener rotation is so successful because the mission as a gardener is dead simple: keep the tree green. Making the gardener's job more complicated is likely not in our interest of keeping the tree as green as possible, which will hurt team velocity and productivity.

thanks for discussion. closing

How about introducing one more color: non blocking yellow. It will serve both goals:

Gardener's job will still be to keep tree green
Tech debt like hermiticity of tests and deprecations will be handled without blocking the team

@jonahwilliams @matanlurey

High priority tech debt like hermiticity of tests and deprecations will be handled without blocking the team

Who will be handling them? What is the suggested process?

Who will be handling them? What is the suggested process?

They will be handled the same way as today:

Gardener notices the tree is not green (it is yellow)
Gardener either fixes the issues or submits PR to ignore them with TODO

The only difference will be in that the issues will be not-blocking

Closing as duplicate of https://github.com/flutter/flutter/issues/143344


Upgrade documentation including install process

Too add a example systemd service file.

+1

+1 great looking project nfi how to run it.


Can this ever work without disabling SIP?

Question in title. Security team aren't keen on disabling SIP on-premise, and also it can't be disabled on EC2 mac instances for example.

Please, see #49. It might be possible to only requure disabling part of SIP. But until SIP prevents chroot call, disabling of that part is unavoidable.

Sorry, I totally missed #49!


Automated cherry pick of #9820: fix(meter): add budget set alert log

Cherry pick of #9820 on release/3.7.
#9820: fix(meter): add budget set alert log

Codecov Report

Merging #9821 (54d4356) into release/3.7 (0ff3997) will increase coverage by 9.97%.
The diff coverage is 100.00%.

@@               Coverage Diff                @@
##           release/3.7    #9821       +/-   ##
================================================
+ Coverage         5.98%   15.96%    +9.97%
================================================
  Files              848      124      -724
  Lines           131795    12786   -119009
================================================
- Hits              7887     2041     -5846
+ Misses          123206    10554   -112652
+ Partials           702      191      -511

Flag
Coverage Δ

aFlag
15.96% <100.00%> (+9.97%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/mcclient/modules/monitor/suggestsysrule.go
100.00% <100.00%> (ø)

pkg/util/rbacutils/ipmatch.go

pkg/util/ansible/module.go

pkg/util/fileutils2/fasthash.go

pkg/cloudcommon/db/scoperesource.go

pkg/cloudprovider/dnszone.go

pkg/compute/models/loadbalanceraclresource.go

...compute/models/loadbalancerbackendgroupresource.go

pkg/util/stringutils2/sortedstrings.go

pkg/cloudcommon/db/paging.go

... and 709 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 bc3ecca...54d4356. Read the comment docs.

Codecov Report

Merging #9821 (54d4356) into release/3.7 (0ff3997) will increase coverage by 9.97%.
The diff coverage is 100.00%.

@@               Coverage Diff                @@
##           release/3.7    #9821       +/-   ##
================================================
+ Coverage         5.98%   15.96%    +9.97%
================================================
  Files              848      124      -724
  Lines           131795    12786   -119009
================================================
- Hits              7887     2041     -5846
+ Misses          123206    10554   -112652
+ Partials           702      191      -511

Flag
Coverage Δ

aFlag
15.96% <100.00%> (+9.97%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/mcclient/modules/monitor/suggestsysrule.go
100.00% <100.00%> (ø)

pkg/util/rbacutils/ipmatch.go

pkg/util/ansible/module.go

pkg/util/fileutils2/fasthash.go

pkg/cloudcommon/db/scoperesource.go

pkg/cloudprovider/dnszone.go

pkg/compute/models/loadbalanceraclresource.go

...compute/models/loadbalancerbackendgroupresource.go

pkg/util/stringutils2/sortedstrings.go

pkg/cloudcommon/db/paging.go

... and 709 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 bc3ecca...54d4356. Read the comment docs.

/lgtm
/approve

/lgtm
/approve

/lgtm
/approve

/lgtm
/approve


Users should be able to register to update on an intervention

When a new comment is added to the intervention or when the status of the intervention change, an e-mail should be sent to those users.
Once the intervention is set to Resolved and the final e-mail is sent, the list of e-mail should be definitely deleted, to be GDPR compliant.

An RSS/Atom feed per incident could be useful too :slightly_smiling_face:

@ldidry How do you imagine that? A feed for the entire website? For incidents related to a given service (e.g. all the events related to Framasphere)? For a single incident? (The latter doesn't sound that useful, as its lifetime is limited to the incident event's end)

Also what we thought about is, a mastodon account has a RSS feed. So maybe we could toot new intervention / comment and people could register to that account and that's it.

I am bit afraid of feature scope creeping here, so I'd rather start with something very simple

Yeah, just an RSS feed. Maybe two :

entire website :

all incidents and incidents updates
all incidents without incidents updates (just incident closing)

So maybe we could toot new intervention / comment and people could register to that account and that's it.

Would be much simpler to use an external tool like feed2toot.

Would be much simpler to use an external tool like feed2toot.

I thought about this opposite actually, toot to mastodon, and then use this account as the RSS feed. But yeah that's not as robust and we depend of framapiaf to not be down haha


Goaccess error - not showing report.html

I am trying to analyse my apache log files with goaccess.
url.com - "ProxyBy: <IP_ADDRESS>" - - [16/Jun/2023:06:25:28 +0200] "GET / HTTP/1.1" 303 - "-" "Zabbix" 0 + <IP_ADDRESS>:8080
urlc.om - "ProxyBy: <IP_ADDRESS>" - - [16/Jun/2023:06:25:30 +0200] "GET / HTTP/1.1" 302 20 "url.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" 0 + <IP_ADDRESS>:8080

When parsing them through with the log format parameter and date-format parameter I am getting this error:
=19527== Token '-' doesn't match specifier '%h'
==19527== Token '-' doesn't match specifier '%h'
==19527== Token '-' doesn't match specifier '%h'
==19527== Token '-' doesn't match specifier '%h'
==19527==
==19527== Format Errors - Verify your log/date/time format
What is the right command to display the contents of the logs in goaccess?
Interestingly enough for the same log format:
URL.com - "ProxyBy: <IP_ADDRESS>" - - [19/Jun/2023:06:25:18 +0200] "GET / HTTP/1.1" 303 20 "https://www.google.com/" "Mozilla/5.0 (Linux; Android 13; SAMSUNG SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/21.0 Chrome/110.0.5481.154 Mobile Safari/537.36" 0 + <IP_ADDRESS>:8080
url.com - "ProxyBy: <IP_ADDRESS>" - - [19/Jun/2023:06:25:18 +0200] "GET /uploads/xxxxxxxxxxxxxx_mbs5/24700100/2023W23-de_24700100.pdf?contentID=8bab34b4-c617-4b19-926c-02a5251c376c&zoneID=svg_1 HTTP/1.1" 200 64302 "-" "Mozilla/5.0 (X11; Linux i686 (x86_64)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" 0 + <IP_ADDRESS>:8080

this command works:
goaccess 1906 --log-format='%v %h %^[%d:%t %^] (%T s) "%r" %s %b "%R" "%u"' --date-format=%d/%b/%Y --time-format=%T -o report1.html

The following works for me, let me know how it goes:
goaccess access.log --log-format='%v %^: %h" %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T

Thank you, that worked!
Any idea, why in my report I get so many failed requests? Even though alot of them are 200,302 etc. Status codes.  I have tried rebuilding with --with-getline, but am getting the same amount of failed requests.

Are you certain that all the lines in the log adhere to a consistent log format? You can also try:
awk '{ if (length > max) { max = length; line = NR } } END { print "Maximum line length:", max; print "Line number:", line }' file.txt

This is the response I am getting when executing the command above:
Maximum line length: 3691
Line number: 29001
No unfortunately there are a lot of crawlers indexing the webserver, and additionally I have requests like this e.g:
IP - - [19/Jun/2023:06:25:06 +0200] "GET /typo3conf/ext/netv_svg_menu/menu_xmlexp/menuexport.xml.php?hyphens=1&branch=4530&authstring=wagner_visuell@QtAAx30LshwrsGEUenETSJldnhv1jK3iyM354VVKgjFgOF4BllnqswKXetKtDDRE&monday=20230619&lang=ge HTTP/1.0" 200 11869 "-" "-" "-"

Without access to the log file, it's difficult to determine the exact cause. If you're encountering numerous invalid requests, one approach could be to extract a smaller subset of lines from your access log and parse them with GoAccess. This can help in identifying any potential issues or patterns.
tail -50 /var/log/apache2/access.log > sample.log

Then, you should be able to obtain a few invalid lines and make a more accurate determination of the issue. Please feel free to attach the sample log here, and I'll take a look.

Closing this. Feel free to reopen it if needed.