[server-wallet] Config through constructor instead of environment variables

Problem description :confused:
We are mocking out the server-wallet, and we need a way to inject the config through the constructor as opposed to through environment variables. This allows us to more easily test using dependency injection.
Describe the solution you'd like :rocket:
Accept constructor arguments to configure server-wallet. It's fine to use the env vars as a fallback.
Describe alternatives you've considered
Alternative is to inject the env in the test framework itself, but that's messier.
Additional context

We are mocking out the server-wallet

Do you have a link to this? I'm in favour of taking the ServerWalletConfig and making it a part of the constructor. However maybe first we want to think more carefully about what should be in here?
Also does your use case actually require this or is it just for cleaner code? AFAICT there isn't a use case supported where you'd want more than one Wallet per process, so using process.env is tenable (i.e., this is a non blocking issue).

Do you have a link to this?
https://github.com/connext/temp-indra-v8/blob/master/modules/isomorphic-node/src/test/mocks/wallet.ts

Temporary location for this work. As you mention it can be worked around for now.

I'm in favour of taking the ServerWalletConfig and making it a part of the constructor. However maybe first we want to think more carefully about what should be in here?

I see no reason why we need to finalize constructor params first. I do want us to think more deeply about what the simplest-yet-complete set of constructor params are but in the meantime it'd be really quick & easy on your end to throw the existing ServerWalletConfig into the constructor & immediately make our side's testing env run a lot more smoothly.. Hmm if it'd be so quick & easy maybe I should just submit a PR :thinking: lol


Stacktrace does not work on "spaced" filename

Bug Report
The source-map doesn't trace to the original .ts file but to a .js file, when the filename is named with spaces.
When there is no space in the .ts filename, the source-map does trace to the original .ts file.
screenshot attached:

I've created a small minimal example to reproduce the bug.
https://github.com/Den368/typescript-filename-bug
🔎 Search Terms
github open/closed issues.
🕗 Version & Regression Information
I'm using version ^4.2.4 (in package-lock.json - 4.4.3).
however, it might also be in all of the previous versions.
⏯ Playground Link
not relevant
💻 Code
same code for t1.ts and t 1.ts file.
type SomeType = {
    something: string;
};

const someType: SomeType = { something: "something" };
console.log("someType", someType);
const stack = new Error().stack;
console.log("stack", stack);
console.trace();

🙁 Actual behavior
    at Object.<anonymous> (C:\repos\github\nodetest\build\t 1.js:4:17)

🙂 Expected behavior
    at Object.<anonymous> (C:\repos\github\nodetest\src\t 1.ts:7:15)

Hi, I'm trying to reproduce this issue and, when I run the examples without relying on source-map-support/register, the source maps and stack traces seem to be the same and have the right behavior to me. I might be missing something, so could you help me understand how this is an issue with the source maps the typescript compiler generates, and not an error in source-map-support itself?

Closing this because I couldn't repro it and haven't received more feedback about it.


Browser main loop error

@tomru,
When calling passr popup, Chromium log shows lots of this:
[7651:7651:0523/184214:ERROR:browser_main_loop.cc(265)] gdkdrawable-x11.c:942 drawable is not a native X11 window (http://crbug.com/329991)

Passr popup still works, though.
For reference, I'm using Chromium 50.0.2661.102.

Need to investigate if this is even related to passr...

Can I provide you more relevant information to investigate this one?

Scanning through the linked bug seems KDE related. Are you using KDE @denydias ?

My wm is awesome. But I use together with KDE services, including krunner, KDE standard launcher.
This explains why the console error. Nothing to do on passr side then. Sorry for the noise, @tomru.

no worries at all - but indeed seems unrelated


map_table seems backwards

Maps should function relative to tables just like matplotlib.  Tables builds on it, not the other way around.
It provides lower level capabilities that are easily accessed through tables.  Table.point was an example - which now invokes Circle.map so it works again.  It allows the latitude and longitude columns to be named or provided as arrays - just like the rest of tables.  The assumption made by map_table that the first two columns have these semantics - clearly a very poor abstraction - is an indication why the reversal of the relationship is backwards.

Hmm, I don't think table.py or any method on a Table should know what a map is. Tables are containers; they're agnostic to the semantics of their contents.
For convenience, we either need Marker.map_table or Table.points (but not both), and the former seems to respect the separation that tables contain stuff and map features know how to draw maps.

Clearly not both.  And good to have the discussion.  I recognize that there
are two views here.  At the risk of being redundant of my previous post,
walk me through the argument for how map us different from plot or hist.
Table provides a limited set of visualization capabilities.  Is Geo so
different?  When you need more, go directly to the library.  But within
Tables you have some of what you would expect of a spreadsheet, and that
includes basic viz.  I can't see how maps should reach back up into
tables.  It should stand alone like pyplot.  As far as I see it, the only
special thing about maps is that we wrote it - and did a nice job and it
could be a shim for a variety of GIS engines.  Table.method just provides a
way into a useful subset of what is there through the container.
BTW it would be good to take a look at scatter.  It is very close to the
line if what you can reasonably do at the Tables level of abstraction
without dropping down into pyplot.  I was tempted to throw in a
color-column.  The demo shows why that would be nice.  But...
On Oct 2, 2015 9:49 PM, "John DeNero"<EMAIL_ADDRESS>wrote:

Hmm, I don't think table.py or any method on a Table should know what a
map is. Tables are containers; they're agnostic to the semantics of their
contents.
For convenience, we either need Marker.map_table or Table.points (but not
both), and the former seems to respect the separation that tables contain
stuff and map features know how to draw maps.
—
Reply to this email directly or view it on GitHub
https://github.com/dsten/datascience/issues/82#issuecomment-145192868.

Geo is different from histograms & scatter plots because it assigns a meaning to each value (units & interpretation).
As for maps standing alone — there's not much there. The folium module stands alone, and most of datascience.maps is a bridge to make it play nicely with tables.


Generalize the fuzzing for ERC4626 and stETH

We should generalize the fuzzing for ERC4626 and stETH by initializing the pools with more general initial conditions. In particular, we should fuzz over:

[ ] The initial LPs contribution (we should also randomly remove this to test low-liquidity situations)
[ ] The time stretch APR (we'll need to set the initial fixed APR equal to this to avoid problems)
[ ] The variable APR

Closing since this is marked as Done.


[feature] implement the: auto_now_add auto_now

Discussed in https://github.com/encode/orm/discussions/94

Originally posted by zodman June 13, 2021

Add auto_now and auto_now_add for automatically adding date to current date while saving and updating entity

I'd like to work on this


use post_* visitors for mutable visits

My initial implementation of mutable visitors closely matched the existing immutable visitor implementations,
and used pre_* visitors (a mutable expression was first passed to the visitor, then its children were visited).
After some initial usage, I realize this is actually impractical, and can easily lead to infinite recursion when one isn't careful.
For instance a mutable visitor would replace x by f(x), then would be called again on the nested x and result in f(f(x)), then again resulting in f(f(f(x))), and so on.
So, this commit changes the behavior of the visit_*_mut functions to call the visitor on an expression only once all of its children have been visited.
It also makes the documentation more explicit and adds an example.

Thank you for the contribution

Thanks for merging, @alamb !

Thank you for the contribution @lovasoa


bug: legend values are not translated

Bug Definition
The legend values both on the marker, and the popup do not translate to english.
-- Please add discord contact information
** discord username: eytan#6012**
## Bug environment
Describe the environment produces the bug. For example:
rc.afetharita.com
afetharita.com
Describe how you are producing the bug step by step

Go to afetharita.com/en
Click on the arrow to expand the markers on the bottom left

Click on any cluster marker

Expected Behaviour
The legend text should be in english
Screen shots
See above
Desktop Information

Operating System: OSX
Browser:  Chrome

PR ready if approved

Is someone looking for this issue? If not, I can work on it.

Still has the same problem with the translation

@eytanfb what is the pr? do u have updatE?


fix: Switch to Obsidian provided popover suggester

Switches to using the fuzzy input suggesters from the obsidian-utilities module.
These suggesters are based on the Obsidian-provided AbstractInputSuggest class, which is a native popover suggester.

Merged manually. AWESOME.


Switching between recipes and recipe details should be smooth

Switching between the pages is currently quite abrupt/jarring. A smooth fade would improve the UX.

https://angular.io/guide/route-animations


Asteroid Field

About your game
What is your game about?
Lost in space and floating through an asteroid field, on an endless journey to try and find any semblance of a home.
How to play your game?
Press WASD to move, and go for the goal in the asteroid field.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

great game! however we have several similar to this one in the gallery, add some other mechanism in the game such as power-ups, in short there are countless possibilities:)

actually that's a great idea!
i have some ideas of how i could polish it, I'll get on those today!
thanks for the feedback! :D

@haileyhapi How's it going? Let us know if you need any help!

honestly I've been a bit busy with school and general life stuff, but i might have time to put some work into it today or tomorrow!

no problem!

Great changes!


实现Or的准备工作

相关issue
1、修改Conditions中conditions的类型
2、修改Conditions中add方法默认像第一个and conditions添加condition
3、修改Conditions中find方法默认获取第一个and conditions分片键相同的最后一个condition
4、修改测试用例

Codecov Report

Merging #703 into dev will increase coverage by 0.05%.
The diff coverage is 86.36%.

@@            Coverage Diff            @@
##             dev     #703      +/-   ##
=========================================
+ Coverage   67.9%   67.96%   +0.05%
=========================================
  Files        452      452
  Lines       8653     8668      +15
  Branches    1399     1404       +5
=========================================
+ Hits        5876     5891      +15
+ Misses      2454     2449       -5
- Partials     323      328       +5

Impacted Files
Coverage Δ

...e/parsing/parser/context/condition/Conditions.java
85.71% <86.36%> (+1.09%)
:arrow_up:

.../core/parsing/parser/context/condition/Column.java
12.5% <0%> (-12.5%)
:arrow_down:

...al/state/datasource/DataSourceListenerManager.java
54.54% <0%> (+4.54%)
:arrow_up:

...tion/internal/config/ConfigMapListenerManager.java
65% <0%> (+5%)
:arrow_up:

.../OrchestrationMasterSlaveDataSourceFacoryBean.java
75% <0%> (+12.5%)
:arrow_up:

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 edde31d...06a9ec7. Read the comment docs.

Code review suggestion:
in class Conditions, use a object to instead of 'List<List> orConditions', such as List<OrConditions>, and rename Condition to AndCondition is better?

Code review suggestions:

Class OrConditions and AndConditions should be final.
Line 63 of OrConditions, add final for the second parameter index.
Line 63 of OrConditions, maybe can simplify:

public Optional<Condition> find(final Column column, final int index) {
        Optional<AndConditions> andConditions = get(index);
        return andConditions.isPresent() ? andConditions.get().find(column) : Optional.<Condition>absent();
    }

Line 78 of OrConditions, add final for  parameter index.
Line 87 and 89 of OrConditions, javadoc is incorrect, should be: Adjust and conditions is empty or not.
Line 31 of Conditions, use @NoArgsConstructor instead of @RequiredArgsConstructor.
Line 56 of AndConditions, cloud you just return if you find the result, maybe do not need loop all remain elements.
Line 72 of AndConditions, add final for  parameter index.
Line 81 and 83 of AndConditions , javadoc is incorrect, should be: Adjust conditions is empty or not.
10 . Line 61 of ConditionAssert, use private instead of public.
Line 56 and 65 of ConditionAssert,  before assert optional.get, use assertThat(isPresent) first.
Please use English for your pull request title, content and commit comments.


[WIP] - HTTP interface to OpenVisualizer

Not sure I understand what this is for. Let's discuss at https://openwsn.atlassian.net/wiki/display/OW/Kickstart+Linux?focusedCommentId=112328831.


Server errors when mentioning user twice in post

Looks like the unique constraint on post comment mentions is failing when trying to mention a user twice under the same post.
/okuna/okuna-api/issues/824/?query=is:unresolved

On a comment reply, mention x one, and then mention x, together y on a consequent reply.

Another reported issue by Oliver, okuna/okuna-api/issues/63/?query=is:unresolved

Some more issues related to mentions

Another issue on okuna/okuna-api/issues/63/?query=is:unresolved

Confirmed with tom, this was fixed with the update 0.53, and is not happening anymore.

Looks like it is still happening https://sentry.openbook.social/okuna/okuna-api/issues/10989/?query=is:unresolved

Dang it, I can't reproduce :-(

Yea i had the same , tried so many diff ways :(


Documentation: inconsistent tense/mood

Description
Across documentation, both indicative ("does") and imperative ("do") are used to describe functions and methods.
For example, in the documentation for the at method of content, both forms are used in the same paragraph:

Access the specified field on the content. Returns the default value if the field does not exist or fails with an error if no default value was specified.

This inconsistency is present throughout the documentation, and it does not seem that one form is predominant.
The sooner a clear decision is taken, the fewer updates to the documentation will be required.
What to choose?
I do not have a personal preference, but since documentation is often embedded as Rust documentation comments, and Rust tends to use third person indicative for documentation,[^1] perhaps following this convention would be the most reasonable solution.
[^1]: It should be noted that the linked RFC only applies to the Rust standard library, but it is common across Rust projects outside of the standard library to use third person indicative.
Reproduction URL
https://typst.app/docs/reference/
Browsers
No response
OS
No response

I'm fine with following the Rust way. I actually tried doing that, but I'm very used to the other form, so it didn't end up happening.


debug consistency: fix unused-but-set-variable warning

@donnaaboise reported the following unused-but-set-variable warning.
/Users/calhoun/projects/ForestClaw/code/forestclaw/src/fclaw2d_convenience.c:1813:9: warning: variable 'prev_rank' set but not used [-Wunused-but-set-variable]
 1813 |     int prev_rank;
      |         ^~~~~~~~~
[183/1751] Building C object src/CMakeFiles/forestclaw_c.dir/fclaw2d_file.c.o

This PR replaces the call SC_ASSERT (prev_rank < sb->rank); by FCLAW_ASSERT (prev_rank < sb->rank); so that prev_rank is set and used consistently in an  FCLAW_ENABLE_DEBUG environment.
I was not able to reproduce the compiler warning. Does this solve the warning, @donnaaboise?
There are a few more occurrences of P4EST_ASSERT and P4EST_ENABLE_DEBUG in fclaw2d_convenience.c, forestclaw2d.c,
fclaw2d_p4est.c and patches/clawpatch/fclaw_clawpatch_output_vtk.c. I could go ahead and replace them with their FCLAW counterpart in another commit, if this is okay with you @donnaaboise @cburstedde. Such a change would prevent issues caused by sc/p4est and forestclaw having different debug configurations.

Yes - please go ahead and make the changes FCLAW_XXX asserts.  I assume @cburstedde is okay with this?

Yes - please go ahead and make the changes FCLAW_XXX asserts. I assume @cburstedde is okay with this?

Sounds good, please @hannesbrandt go ahead with the remaining changes.


.Site.IsServer depreciated Error

Error when following quick start:
❯ hugo server
Watching for changes in /redacted/mysite/{archetypes,assets,content,data,i18n,layouts,static,themes}
Watching for config changes in /redacted/mysite/config.toml
Start building sites …
hugo v0.134.1+extended darwin/arm64 BuildDate=2024-09-05T10:17:50Z VendorInfo=brew

ERROR deprecated: .Site.IsServer was deprecated in Hugo v0.120.0 and will be removed in Hugo 0.135.0. Use hugo.IsServer instead.
Built in 373 ms
Error: error building site: logged 1 error(s)

Debugging info:
OS: macOS 14
❯ hugo version
hugo v0.134.1+extended darwin/arm64 BuildDate=2024-09-05T10:17:50Z VendorInfo=brew

https://github.com/zerostaticthemes/hugo-hero-theme/pull/71 should address this issue.
@JugglerX any chance to get this merged?


Support testing model packager

As discussed, it would be nice to support testing the model packager link.
Here is what I propose:

resolve the url of the following items:

weights
files key under attachments
attachments under the each weights file formats
source
test_inputs and test_outputs
covers

for each URL, we don't need to download each file during test, but send a HEAD request to probe the file to see if it exists.

This is the implementation in JS is here:
https://github.com/imjoy-team/bioimage-io-models/blob/94134ab9d231c219b0662862a0a0624288d7991b/src/bioimageio-packager.imjoy.html#L95-L137

The validity of (all) links (including those referenced files that are packaged) is implemented in bioimageio.core


wallet internal "error log" only shows fresh errors after closing the app and opening again

Issue description
experienced this issue in all version until now. The internal "error log" shows nothing when you get error messages.
Errors are already vissible in the developer console
After closing the app and logging in again those errors are now in the error log.
Wallet version
0.2.0
System specification
win 10
Is it a repeatable issue?
yes
Steps To reproduce the issue
wait for an error and open error log - it will not be there. close the app, open again, now error shows up in the log
Expected behaviour
direct showing of errors in the log
Actual behaviour
log gets filled only after restart

This should be fixed in the next release, please re-open if it is still an issue


Added Additional Encoding

Added Additional Encoding to ensure good API calls.

@jgamblin @lindambrown
Not sure what to do on these.  Both my PRs are getting caught on Cobalt.io issues.


change debug to warn for unknown exceptions

This will make unknown errors more readily available in log, debug flag no longer being required in this case.

#4520


kafka-connect-mongodb sink exception when PK is compound key

Logs and configurations are here: mongo-sink-compound-key-exception.zip
What version of the Stream Rector are you reporting this issue for?
1.1.0+, master commit 4232f11e124cd9e1b86a4f5ce076592a6dcf2a50
Are you running the correct version of Kafka/Confluent for the Stream reactor release?
Yes 1.1.0
Have you consulted our FAQs page first?
Dead link - redirects to lenses
Do you have a supported version of the data source/sink .i.e Cassandra 3.0.9?
Yes, mongodb 3.6.4
Have you read the docs?
Yes
What is the expected behaviour?
Using this kcql for mongo sink:
    UPSERT INTO coll SELECT * FROM test PK zoneId,data2

I would expect the data inserted into mongodb to have a key that looks like this:
    { "zoneId": "...", "data2": "..." }

What was observed?
The connector throws an exception (for full details, see kafka-connector-log.txt in attached zipfile for details).
The log and partial stack is:
[2018-05-30 16:46:41,574] ERROR There was an error inserting the records Bulk write operation error on server localhost:27017. Write errors: [BulkWriteError{index=0, code=111, message='field at '_id' must be exactly specified, field at sub-path '_id.data2'found', details={ }}].  (com.datamountaineer.streamreactor.connect.mongodb.sink.MongoWriter:120)
com.mongodb.MongoBulkWriteException: Bulk write operation error on server localhost:27017. Write errors: [BulkWriteError{index=0, code=111, message='field at '_id' must be exactly specified, field at sub-path '_id.data2'found', details={ }}].
        at com.mongodb.connection.BulkWriteBatchCombiner.getError(BulkWriteBatchCombiner.java:176)
        at com.mongodb.connection.BulkWriteBatchCombiner.throwOnError(BulkWriteBatchCombiner.java:205)
        at com.mongodb.connection.BulkWriteBatchCombiner.getResult(BulkWriteBatchCombiner.java:146)
        at com.mongodb.operation.BulkWriteBatch.getResult(BulkWriteBatch.java:219)
        at com.mongodb.operation.MixedBulkWriteOperation.executeBulkWriteBatch(MixedBulkWriteOperation.java:265)
        at com.mongodb.operation.MixedBulkWriteOperation.access$700(MixedBulkWriteOperation.java:65)
        at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:198)
        at com.mongodb.operation.MixedBulkWriteOperation$1.call(MixedBulkWriteOperation.java:189)
        at com.mongodb.operation.OperationHelper.withReleasableConnection(OperationHelper.java:433)
        at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:189)
        at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:65)
        at com.mongodb.Mongo$3.execute(Mongo.java:837)
        at com.mongodb.MongoCollectionImpl.executeBulkWrite(MongoCollectionImpl.java:481)
        at com.mongodb.MongoCollectionImpl.bulkWrite(MongoCollectionImpl.java:413)
        at com.mongodb.MongoCollectionImpl.bulkWrite(MongoCollectionImpl.java:408)
        at com.datamountaineer.streamreactor.connect.mongodb.sink.MongoWriter$$anonfun$insert$2$$anonfun$apply$4.apply(MongoWriter.scala:114)
        at com.datamountaineer.streamreactor.connect.mongodb.sink.MongoWriter$$anonfun$insert$2$$anonfun$apply$4.apply(MongoWriter.scala:113)
        at scala.collection.Iterator$class.foreach(Iterator.scala:891)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
        at com.datamountaineer.streamreactor.connect.mongodb.sink.MongoWriter$$anonfun$insert$2.apply(MongoWriter.scala:113)

What is your Connect cluster configuration (connect-avro-distributed.properties)?
See in attached zip file: connect-distributed.properties
What is your connector properties configuration (my-connector.properties)?
See in attached zip file: connector-config.json
Please provide full log files (redact and sensitive information)
See in attached zip file: kafka-connector-log.txt

FYI - I have a PR that fixes this issue, I just need to add some more tests.  I should be ready to push it by end of week.  (My sprint is closing soon so have to set this aside now...)

Update, this will be coming this week most likely.

Sorry, I forgot to close this. This is fixed with the above merge.  Closing now.


[VirtualCluster] patch to correct the CRDs generated by controller-gen and use them in demo

Two major fixes:

Patch in Makefile to correct the CRDs generated by the controller-gen tool.
Use the generated CRDs, instead of temporary ones, in the demo doc.

Thanks for resolving this annoying problem!
/lgtm
/approve


Fix error when no files are select for upload

Changes
This PR will fix the error occurring when no files were selected for upload:

Checklist

[x] have tested my change

@sebjulliand ? was my first thought - but then thought it only applied to TypeScript... :roll_eyes:


[bug] Use of Ruby's memory management causes crash in unrelated code that also uses libxml2

Please describe the bug
This is a problem that occurs in CI when running the tests for alexandria. The test process crashes with Ruby 3.2 and up because libxml2 tries to allocate some memory during garbage collection and this is no longer allowed when using the Ruby allocator.
What I think happens is this:

GC starts
Ruby/GNOME traverses the known GObject objects to mark them
Ruby/GNOME fetches properties (in the GObject sense) for all these objects
One of the properties gets initialized to its default value
As part of this process some SVG is parsed using libxml2
Do do this, libxml2 tries to allocate some memory
Ruby does not want memory to be allocated during GC
The process crashes

In Ruby 3.3.0-preview1 the message is clearer due to https://github.com/ruby/ruby/commit/a1758fbd7fe7406601b0eb1617752db59b83586a

Help us reproduce what you're seeing
See the build results for https://github.com/mvz/alexandria-book-collection-manager/pull/236. I have not been able to reproduce this locally.

Expected behavior

Environment

Additional context

OK, I've looked a bit and I think there are three independent contributing factors that are combining to cause this segfault.
Three contributing factors
First, note that this isn't Nokogiri causing this problem, it's librsvg calling into the libxml2 that Nokogiri vendors. This is happening for complicated reasons, but I'm pretty sure it's because of the issues I outlined in https://github.com/sparklemotion/nokogiri/discussions/2746 -- though note in this case, instead of Nokogiri binding to somebody else's libxml2, it's somebody else binding to Nokogiri's libxml2.
Second, something librsvg is doing is allocating memory during Ruby's GC cycle. I'm not sure why this would be without some digging into the glib2 gem to understand the root cause here. Note that glib2 isn't doing anything obviously illegal by allocating memory during GC -- but I am very very curious why it's doing so much work during the mark phase of GC, and that may be unintentional and something the glib2 maintainers should look at.
Third, Nokogiri is configuring it's version of libxml2 to use ruby's memory management functions which means that ruby_xmalloc is invoke when memory is allocated.
Recommended workaround
These three things combine to cause this segfault. We can eliminate the segfault by removing any one (or more) of these three contributing factors.
The third factor is the easiest to address -- you can set the environment variable to default and it should avoid this issue. If you can do that, please do.
Longer-term fix for Nokogiri
The first factor is something that I'm already planning to fix -- see https://github.com/sparklemotion/nokogiri/discussions/2746 which I'll probably update with a backreference to this issue.
glib2 behavior
The second factor is, ultimately, something up to the glib2 team to decide whether and how to address. It looks like the mark phase of GC is causing (maybe unintentionally) a whole bunch of work to happen.
A cleaned up stack trace from the 3.3.0-preview1 stack dump shows this pretty clearly:
libruby.so.3.3(check_malloc_not_in_gc) (null):0
nokogiri.so(xmlAllocParserInputBuffer+0x1b) [0x7f8e3b72d3ab] /nokogiri-1.15.2/.../libxml2-2.11.4/xmlIO.c:2326
nokogiri.so(xmlAllocParserInputBuffer) (null):0
nokogiri.so(xmlParserInputBufferCreateIO+0x1d) [0x7f8e3b72db5d] /nokogiri-1.15.2/.../libxml2-2.11.4/xmlIO.c:3010
nokogiri.so(xmlCreateIOParserCtxt+0x37) [0x7f8e3b704ed7] /nokogiri-1.15.2/.../libxml2-2.11.4/parser.c:12275
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a72b2da) [0x7f8e1a72b2da]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7539eb) [0x7f8e1a7539eb]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7549ab) [0x7f8e1a7549ab]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a7c4d67) [0x7f8e1a7c4d67]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a6da60f) [0x7f8e1a6da60f]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f8e1a72dd0d) [0x7f8e1a72dd0d]
/lib/x86_64-linux-gnu/librsvg-2.so.2(rsvg_handle_close+0x336) [0x7f8e1a731006]
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so(0x7f8e2c2ec456) [0x7f8e2c2ec456]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_loader_close+0xeb) [0x7f8e36c13eab]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(0x7f8e36c148e3) [0x7f8e36c148e3]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_new_from_stream_at_scale+0x7f) [0x7f8e36c1498f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f86a54e) [0x7f8e2f86a54e]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_info_load_icon+0x58) [0x7f8e2f86b848]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f873fba) [0x7f8e2f873fba]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f87432f) [0x7f8e2f87432f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_entry_get_icon_pixbuf+0xc4) [0x7f8e2f81bc14]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f8e2f818d4d) [0x7f8e2f818d4d]
/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_get_property+0x1d1) [0x7f8e38536e61]
/glib2-4.1.7/lib/glib2.so(gobj_mark+0xa0) [0x7f8e386e4dd0] /glib2-4.1.7/ext/glib2/rbgobj_object.c:295
/glib2-4.1.7/lib/glib2.so(call_cinfo_mark+0xe) [0x7f8e386eeae2] /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:94
/glib2-4.1.7/lib/glib2.so(each_cinfo) /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:80
/glib2-4.1.7/lib/glib2.so(rbgobj_instance_call_cinfo_mark) /glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:100
/glib2-4.1.7/lib/glib2.so(holder_mark+0x25) [0x7f8e386e4275] /glib2-4.1.7/ext/glib2/rbgobj_object.c:84
libruby.so.3.3(gc_mark_stacked_objects+0x78) [0x7f8e40ef6cd8] /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:7438
libruby.so.3.3(gc_mark_stacked_objects_all) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:7476
libruby.so.3.3(gc_marks_rest) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8632
libruby.so.3.3(gc_marking_exit+0x0) [0x7f8e40ef7c92] /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8689
libruby.so.3.3(gc_marks) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:8700
libruby.so.3.3(gc_start) /tmp/ruby-build.20230512190356.1915.yQqg5L/ruby-3.3.0-preview1/gc.c:9485

Ah, I went to open an issue on ruby-gnome but discovered that you can implement a get_property method on a descendant of gobject (https://github.com/ToshioCP/Gobject-tutorial/blob/main/gfm/sec5.md#overriding-set_property-and-get_property-class-methods) and so this is likely going to be an issue in whatever gem you're using that's using glib. Maybe you have an idea of what gem that is?
The issue I was going to file looked like this, maybe you could file an upstream issue if you know what gem it is?

g_object_get_property can end up doing a lot of work during the GC mark phase
This is the stack trace of an error that was reported at https://github.com/sparklemotion/nokogiri/issues/2898, which shows that the GC mark phase is triggering some significant computing that requires allocating new memory:
libruby.so.3.2(rb_bug) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:800
libruby.so.3.2(newobj_slowpath+0x0) [0x7f6c86c299a5] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2812
libruby.so.3.2(newobj_slowpath_wb_unprotected) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2849
libruby.so.3.2(newobj_of0+0x16) [0x7f6c86d02ce6] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2886
libruby.so.3.2(newobj_of) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2896
libruby.so.3.2(rb_wb_protected_newobj_of) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2918
libruby.so.3.2(str_alloc_embed+0x10) [0x7f6c86e3ff98] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:894
libruby.so.3.2(str_new0) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:930
libruby.so.3.2(str_new_static+0x17) [0x7f6c86e4556f] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:1041
libruby.so.3.2(rb_enc_str_new_static) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/string.c:1076
libruby.so.3.2(warn_vsprintf+0x5) [0x7f6c86cd0644] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:349
libruby.so.3.2(warning_string) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:399
libruby.so.3.2(rb_warning_warn+0x0) [0x7f6c86c28d90] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:414
libruby.so.3.2(rb_write_warning_str) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:342
libruby.so.3.2(rb_warn) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/error.c:415
libruby.so.3.2(objspace_xmalloc0+0x13) [0x7f6c86c2990d] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:12289
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlAllocParserInputBuffer+0x17) [0x7f6c814c0557]
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlParserInputBufferCreateIO+0x19) [0x7f6c814c0c89]
nokogiri-1.15.2-x86_64-linux/lib/nokogiri/3.2/nokogiri.so(xmlCreateIOParserCtxt+0x33) [0x7f6c81498cd3]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646002da) [0x7f6c646002da]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646289eb) [0x7f6c646289eb]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c646299ab) [0x7f6c646299ab]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c64699d67) [0x7f6c64699d67]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c645af60f) [0x7f6c645af60f]
/lib/x86_64-linux-gnu/librsvg-2.so.2(0x7f6c64602d0d) [0x7f6c64602d0d]
/lib/x86_64-linux-gnu/librsvg-2.so.2(rsvg_handle_close+0x336) [0x7f6c64606006]
/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so(0x7f6c740b1456) [0x7f6c740b1456]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_loader_close+0xeb) [0x7f6c7cab2eab]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(0x7f6c7cab38e3) [0x7f6c7cab38e3]
/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0(gdk_pixbuf_new_from_stream_at_scale+0x7f) [0x7f6c7cab398f]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586454e) [0x7f6c7586454e]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_info_load_icon+0x58) [0x7f6c75865848]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_icon_theme_load_icon_for_scale+0xcc) [0x7f6c7586ae7c]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75720a74) [0x7f6c75720a74]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75720eb2) [0x7f6c75720eb2]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586cecc) [0x7f6c7586cecc]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c7586e6f7) [0x7f6c7586e6f7]
/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_entry_get_icon_pixbuf+0xb6) [0x7f6c75815c06]
/lib/x86_64-linux-gnu/libgtk-3.so.0(0x7f6c75812d4d) [0x7f6c75812d4d]
/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_object_get_property+0x1d1) [0x7f6c7e3d7e61]
glib2-4.1.7/lib/glib2.so(gobj_mark+0xa0) [0x7f6c7e585ad0] glib2-4.1.7/ext/glib2/rbgobj_object.c:295
glib2-4.1.7/lib/glib2.so(call_cinfo_mark+0xe) [0x7f6c7e58f772] glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:94
glib2-4.1.7/lib/glib2.so(each_cinfo) glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:80
glib2-4.1.7/lib/glib2.so(rbgobj_instance_call_cinfo_mark) glib2-4.1.7/ext/glib2/rbgobj_typeinstance.c:100
glib2-4.1.7/lib/glib2.so(holder_mark+0x25) [0x7f6c7e584f75] glib2-4.1.7/ext/glib2/rbgobj_object.c:84
libruby.so.3.2(gc_mark_stacked_objects+0x78) [0x7f6c86cfdc48] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:7437
libruby.so.3.2(gc_mark_stacked_objects_all) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:7477
libruby.so.3.2(gc_marks_rest) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:8675
libruby.so.3.2(gc_marks+0x423) [0x7f6c86cfec63] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:8716
libruby.so.3.2(gc_start) /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:9547
libruby.so.3.2(heap_prepare+0x2d) [0x7f6c86d02058] /tmp/ruby-build.20230330190414.1922.caF6Ij/ruby-3.2.2/gc.c:2431

I don't know glib or GTK very well anymore, but the issue seems to stem from calling g_object_get_property from gobj_mark:
static void
gobj_mark(gpointer ptr)
{
    GObject* gobj = ptr;
    guint n_properties;
    GParamSpec** properties;
    guint i;

    properties = g_object_class_list_properties(G_OBJECT_GET_CLASS(gobj), &n_properties);

    for (i = 0; i < n_properties; i++) {
        GParamSpec* pspec = properties[i];
        GType value_type = G_PARAM_SPEC_VALUE_TYPE(pspec);
        if (G_TYPE_FUNDAMENTAL(value_type) != G_TYPE_OBJECT) continue;
        if (!(pspec->flags & G_PARAM_READABLE)) continue;
        /* FIXME: exclude types that doesn't have identity. */

        {
            GValue gval = G_VALUE_INIT;
            g_value_init(&gval, value_type);
            g_object_get_property(gobj, pspec->name, &gval);
            rbgobj_gc_mark_gvalue(&gval);
            g_value_unset(&gval);
        }
    }

    g_free(properties);
}

This seems like it's an unintentional side effect of some object's get_property implementation.

Thanks @flavorjones for the detailed analysis and explanation!
Based on your three factors, I will

Keep the environment variable set to default in CI.
Investigate setting the environment variable before requiring nokogiri, to avoid any potential crashes when users use alexandria (which is a Gtk+ based GUI program).
Await the result of #2746. As far as I can tell, that should solve the problem.
See if I can find out what is causing so much work to be done in a simple get_property implementation.

@mvz OK, I'm going to close this issue since I don't think there's anything immediately actionable beyond the work at #2746. But I'm happy to continue the conversation if you've got questions, just comment here or on #2746.


Preset support missing

While trying to use jshint preset:
$ conventional-changelog-lint -e -p jshint
/Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/distribution/cli.js:163
        throw error;
        ^

Error: Cannot find module 'conventional-changelog-jshint'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at /Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/distribution/library/get-preset.js:11:16
    at next (native)
    at step (/Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/distribution/library/get-preset.js:7:191)
    at /Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/distribution/library/get-preset.js:7:451
    at new Promise (/Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/node_modules/babel-polyfill/node_modules/core-js/modules/es6.promise.js:197:7)
    at /Users/javier/Documents/Proyectos/conventest/node_modules/conventional-changelog-lint/distribution/library/get-preset.js:7:99

After installing the module conventional-changelog-jshint  (it's not in the doc that this should be done) it seems it's still using the angular one.
$ conventional-changelog-lint -e -p jshint
⧗   input: [[CHORE]] Dependencies setup
✖   message may not be empty [subject-empty]
✖   message may not end with full stop [subject-full-stop]
✖   type may not be empty [type-empty]
✖   type must be one of ["chore", "docs", "feat", "fix", "perf", "refactor", "style", "test"] [type-enum]
✖   found 4 problems, 0 warnings

Hey @jmendiara,
thanks for your report! I added a documentation label because the distinction between conventional-changelog presets and shareable conventional-changelog-lint configuration appears to be unclear and/or difficult.
By default the angular preset and shareable config is used. When specifying the -p flag you change the preset setting but leave the shareable config setting alone. In order to fully support  the jshint commit message convention you'll have to:

Create a (shareable) conventional-changelog-configuration. This could be a shareable npm package or a local .conventional-changelog-lintrc file. See conventional-changelog-lint-config-angular for reference.
If using a shareable npm package, you'll have to install it and specify it with the -x --extends flag. .conventional-changelog-lintrc is picked up automatically.

Thank you for the clarification and your work!
Just some feedback: It'd be nice to have the same API/installation process than conventional-changelog-cli: just install this module and conventional-changelog-lint -e -p jshint just works for the supported conventional-changelog presets (as it already does for angular)
easy installation + easy setup = happy devs && high adoption 😄

I plan to remove the default angular shareable config in the next release and won't include additional configurations in the core install – that would put the burden to actually define and maintain these on me although I am not using them. I'd favor an approach where it is easy to grasp what the actual problem is. So

Providing neither .rules in .conventional-changelog-lintrc nor .extends via cli will yield an error about missing configuration

Providing .extends while the extended config is not in package.json will yield an error containing copy-and-pasteable install instructions

This should be clarified now as preset is no user-facing option as of version 3.


⚠ ClamAV has degraded performance

In 2c12d39, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 230 ms

Resolved: ClamAV performance has improved in dc6c3e1 after 5 minutes.


Room #offtopic keeps racking up its notification counter - cant be cleared

Im caught up with the room #offtopic, but the notification counter keeps increasing, currently standing at 273. If I open and close the room, the count is temporarily cleared, until it is refreshed from the server. Then it is incremented with however many new messages there were, despite me just having read the room.

Maybe fixed by https://github.com/matrix-org/matrix-android-sdk/pull/289
Hi @Matrixcoffee is this issue still present (please use last build from Jenkins)?

This stopped happening while still using the same build, so the conditions triggering this problem seem to have disappeared.
Unable to confirm if it's really fixed, but the problem hasn't happened anymore.


Update to CodeClimate 1.0.x

CodeClimate > 1.0 uses SimpleCov and requires the test reporter to be
called explicitly:
https://github.com/codeclimate/ruby-test-reporter/blob/master/CHANGELOG.
md#v100-2016-11-03

Merged.

@boffbowsh Could you check https://travis-ci.org/intridea/hashie/jobs/181417646 please?

@boffbowsh bump, it's failing again in https://travis-ci.org/intridea/hashie/builds/182845619, I'm going to remove it can't figure out what's wrong with it.

Yep, going to look at it this evening.
On Sat, 10 Dec 2016 at 14:35, Daniel Doubrovkine (dB.) @dblockdotorg <
<EMAIL_ADDRESS>wrote:

@boffbowsh https://github.com/boffbowsh bump, it's failing again in
https://travis-ci.org/intridea/hashie/builds/182845619, I'm going to
remove it can't figure out what's wrong with it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/intridea/hashie/pull/384#issuecomment-266212950, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AABHZIhf_9DMgxiPsV9pVkP9gKm8O0zmks5rGri4gaJpZM4LB84n
.


Comments not allowed on Step Definitions

IntelliJ nicely shows comments on steps from a feature file with a shortcut, yet if I add comments to the steps like so
# This step does stuff
# @param hsh [Hash] a hash
# @return stuff
When(/I do stuff/) do
end

I get a cuke_sniffer warning, Commented code in Step Definition. when in fact it is not code that is commented at all.

This is a very good discussion point. The decision around this rule came about because we, the original authors, come from the camp of making code expressive enough to make comments unnecessary. Comments in the gem were unfortunately a necessity because of rdoc's implementation that we accepted. You should have the ability to disable this rule if your team finds prefers having comments provided as part of your step definition conventions.


Appstudio update test-component-pac-vxfe

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-vxfe-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
19 seconds
clone-repository

✅ Succeeded
33 seconds
build-container

✅ Succeeded
18 seconds
deprecated-base-image-check

✅ Succeeded
19 seconds
inspect-image

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
35 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
14 seconds
label-check

✅ Succeeded
7 seconds
show-summary

✅ Succeeded
6 seconds
show-sbom

Pipelines as Code CI/test-component-pac-vxfe-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
16 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
24 seconds
deprecated-base-image-check

✅ Succeeded
15 seconds
inspect-image

✅ Succeeded
31 seconds
clamav-scan

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
7 seconds
label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
10 seconds
show-summary


port async profiler 2.0 to Power Linux little endian (linuxppc64le), step 2

Hi Andrei,
as discussed, here is the new pull request. I include <signal.h> in stackFrame_ppc64.cpp now. On SuSE it works, of course, but I wasn't able to check this on ubuntu.
Have a nice WE,
Gunter

Perfect! The updated PR looks good, and I've verified it builds and runs file.
Thank you for the contribution.

While testing, I found one more ppc64 specific difference. Returned address is saved 2 machine words after frame pointer, where on other architectures it is 1 word after.
So I fixed that by introducing another architecture-dependent constant, FRAME_PC_SLOT.


Add Type fixes and true up your PR branch

Merge upstream/master and fix a couple of TS issues

@cnshenj  I merged the upstream master into my branch which is why you're getting the commits; I also added a couple of TS fixes

Closing in favor of another PR in the base SDK


feat(to_additive): unfold lemmas generated by simp

This removes a bunch of hacky code
Thanks to @kmill for the idea
Also fix a bug in the implementation of @[to_additive (attr := to_additive, x)]
The removed test tested for an implementation detail. The rest of the test file (and Mathlib) still passes, which shows that it still works as desired.

What's the "feat" here? Is there any visible behavior change, or is this just internal cleanup?

!bench

bors merge


Liveshare cannot be updated

Issue Type: Bug
In the update liveshare long time no response, constantly Downloading dependencies: Finishing VS Live Share for other development program installation is no problem
An attempt was made to reload the vscode but the problem was not resolved
Extension version: 1.0.1056
VS Code version: Code 1.39.2 (6ab598523be7a800d7f3eb4d92d7ab9a66069390, 2019-10-15T15:35:18.241Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (8 x 1800)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: enabledviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
11.88GB (6.02GB free)

Process Argv

Screen Reader
no

VM
50%

i would suggest to un install liveshare and re install again


fix(schematics):  ng add with project name

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/scullyio/scully/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Other... Please describe: tests

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
before the it was possible that the projectName could have been empty and i n fact an error occured.
Fixes also all tests.

@jorgeucano can you check it again. I just resolved the conflicts with the master.

I talked with @d-koppenhagen we will use this in the future but with some architecture changes...
And for this i will close this pr!


add a licence.md ?

With your permission I would like to use your lib.sh in my own dotfiles. The functions seem very useful :+1:

please do :)

Many Thanks!


Clickable datepicker HTML element

shows start/end date+time, clicking opens calendar UI
Example: <datepicker><datepicker/>

Clicking datepicker element must pop open the calendar UI relative to the datepicker's positioning.

Yo


Replacing /var/{persist,config} with /{persist,config} on the host side

Turns out runc really doesn't like symbolic links so our previous hack around /{persist,config} in the host filesystem being links ended up being a no-go. There's nothing left but to bite the bullet and do this bulk update now.
This should be safe since we're actually maintaining /var/{persist,config} as symlinks (runc doesn't get to see those) so even if we have an odd place where /var/{persist,config} is still required we should be fine.

I see there are some cgroup etc changes to containerd as well. I assume those are intentional.

yup

storage-init adds the symlinks for compatibility. Is there code which depends on those?

I honestly don't think so -- but I decided to keep them for now -- don't think there's any harm in those (we can remove a bit later perhaps for 5.13)


Add test for NodePools in place upgrades

What this PR does / why we need it:
Enables e2e test for in place upgrades https://github.com/openshift/hypershift/pull/1258 so any follow up will be test driven.
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/hold
to do some manual testing.

/test e2e-aws-all

/test e2e-aws-all

/test e2e-aws-all

/test e2e-aws-all

/test e2e-aws-all

/hold cancel


n-select menu max-height not working

Describe the bug

If menuProps style maxHeight is set to a smaller value than the standard height of the dropdown, the options of the select component will reach outside of the menu instead of being constrained to the maxHeight.
Steps to reproduce

use n-select component
add maxHeight style to menuProps
choose pixel value smaller than standard height

Link to minimal reproduction
https://codesandbox.io/p/sandbox/flamboyant-waterfall-vthqhz?file=%2Fsrc%2FDemo.vue
System Info
System:
    OS: Linux 5.10 Ubuntu 20.04.6 LTS (Focal Fossa)
    CPU: (12) x64 13th Gen Intel(R) Core(TM) i7-1365U
    Memory: 18.63 GB / 24.79 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 19.9.0 - ~/.nvm/versions/node/v19.9.0/bin/node
    npm: 9.6.3 - ~/.nvm/versions/node/v19.9.0/bin/npm
  npmPackages:
    naive-ui: ^2.31.0 => 2.38.2
    vue: ^3.3 => 3.4.27

Used Package Manager
npm
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

Can use theme-overrides prop
 <n-select
      v-model:value="value"
      :options="options"
       :theme-overrides="{
        peers: {
          InternalSelectMenu: {
            height: '100px'
          }
        }
      }"
    />

This issue does not have any recent activity. If you are still experiencing similar problems, open a new error, including a minimal copy of the problem


Future earned income value is prefilled with altered current value

Replicate:

Go to 'Current Household Income' form page
Enter '200' into monthly earned income value
Go forward two steps to Future Household Income

Expected result:

Monthly income value should be 200.

Actual Result:

Monthly income value is 2.

Environment:
Chrome v61.0.3163.100
Commit: f64d563

It looks like the issue is a little stranger than that.
Replicate:

Go to 'Current Household Income' form page
Enter '5000' into monthly earned income value
Go forward two steps to Future Household Income

Expected result:

Monthly income value should be 5000.

Actual Result:

Monthly income value is 5.

Environment:
Chrome v61.0.3163.100
Commit: f64d563


toSatoshi() returns incorrect result

The following sample program should raise no assertion errors.
var btc = require('bitcoin-math');
var assert = require('assert');
var bitcoin = 0.00000086;
assert(bitcoin.toSatoshi() === 86);

However, the assertion is violated in bitcoin-math v0.2.0.

PR?


Register mcast serve and request mcast UDP and UDP at the same time, unable to resolve ordinary UDP URI

We registered mcast server and set URI of interest. But after business logic receives the first mcast, it receives ordinary UDP packets. However, ordinary UDP package URIs have been unable to parse successfully, resulting in the inability to handle to the corresponding method. Find out the reason: We started mcast service, ordinary UDP request on the server selected UDP path, resulting in our registered URI Map in UDP package parsing URI MAP is empty, so can not match URI and Handle Method. The server of mcast chooses the URI-MAP of mcast, which can have our registered URI, and can match to URI and method normally.
To solve this problem, you need to merge serves locally or queue read consumption when listening. Or is there any other way of using it to support us in the business of mcast UDP and UDP at the same time?
z:map[.well-known/core:{0x17e0f4 .well-known/core} .sys/sessMngr:{0x17e500 .sys/sessMngr}]E
and
z:map[]E

handleBlockWiseMsg 4 : <nil>
handleBlockWiseMsg r.msg=&{{0 2 5056 [147 174] [123 34 116 121 112 101 34 58 49 44 34 109 111 100 101 83 117 112 112 111 114 116 34 58 49 44 34 115 110 49 34 58 34 52 53 52 49 52 49 55 51 54 56 52 54 54 97 52 99 34 44 34 115 101 113 34 58 50 54 50 54 52 125] [{11 .sys} {11 sessMngr}]}}
handleBlockWiseMsg CON
handleBlockWiseMsg 1 : <nil>
handleBlockWiseMsg 2 : <nil>
handleBlockWiseMsg 3 : (func(coap.ResponseWriter, *coap.Request))(0x17bf80)
z:map[]E
update:E
match:E
match default :
handleBlockWiseMsg 4 : <nil>
handleBlockWiseMsg r.msg=&{{1 1 5057 [59 224] [] [{11 .well-known} {11 core} {15 st=homeCenter}]}}
z:map[.well-known/core:{0x17e0f4 .well-known/core} .sys/sessMngr:{0x17e500 .sys/sessMngr}]E
match:.well-known/coreE
2019/01/04 23:08:01 Got message in handleMcast: path=[".well-known" "core"]: &coap.DgramMessage{MessageBase:coap.MessageBase{typ:0x1, code:0x1, messageID:0x13c1, token:[]uint8{0x3b, 0xe0}, payload:[]uint8{}, opts:coap.options{coap.option{ID:0xb, Value:".well-known"}, coap.option{ID:0xb, Value:"core"}, coap.option{ID:0xf, Value:"st=homeCenter"}}}} from <IP_ADDRESS>:5683

If I understand you have a server that listen on mcast (go-coap) and when a client (go-coap??) send mcast request, response doesn't arrived to the client. (it is stripped). For this purpose, the server can create a new connection to the client in a handler and the response is send via the connection. Something similar is implemented here https://github.com/go-ocf/go-coap/blob/12af0ac7561c257f7d4bb0162d076725241cb67c/server_test.go#L400
For more investigate issue,  could you provide me debug output of blockwise from the client/ the server: just set https://github.com/go-ocf/go-coap/blob/12af0ac7561c257f7d4bb0162d076725241cb67c/blockwise.go#L12 to true and repeat scenario.

I will close issue. If you still have problem reopen it. Thx


Tags autocompletion

Pressing CtrlSpace when editing a tag should bring up a list of available tags.
Currently VS Code's built-in autocomplete will try to match any words in the document, which does work to an extent. However, VS Code also suggests words which are not tags.

It would be a good feature to handle tags separately, with a clearly defined icon in the completion box instead of the "abc".

Blocked by #7.


Add a standard iterator implementation for TsgRecordList.

It should be possible to use for p in List do;

It's done.


Invalid First parameter must be caller type diagnostic

Description:
I'm not sure if this is a bug, or not sure if i should place these methods here, so correct me if i'm wrong.
When I create a normal function inside grpc service, with two parameters I get a diagnostic like saying when there are two parameters to a remote function, the first one must be a caller type. This function is not marked as remote (see the getUserCart method).

Steps to reproduce:
service "CheckoutService" on ep {

    remote function PlaceOrder(PlaceOrderRequest value) returns PlaceOrderResponse|error {
         .....
          self.getUserCart("hello","USD");
    }

    function getUserCart (string userId, string userCurrency) returns CartItem[]|error {
           ....
    }
}

Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Seems like a bug. compiler validation should only run for remote functions, not normal functions. @BuddhiWathsala please check.
In the meantime, can you write the logic inside the remote function?


Select subjects for training based on metadata

New parameter added to loader_parameters to select subjects for training based on metadata.
"subject_selection": {"n": [10, 5], "metadata": ["task", "task"], "value": ["spleen", "kidney"]},
The following would isolate 10 subjects with the "task" "spleen" and 5 subjects with the "task" "kidney" for training, validation and testing. This avoids having to create manually subdatasets.

Pull Request Test Coverage Report for Build 375310759

7 of 10 (70.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 90.679%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ivadomed/loader/utils.py
7
10
70.0%

Totals

Change from base Build 375139808:
-0.03%

Covered Lines:
5837

Relevant Lines:
6437

💛  - Coveralls


Update developer guidlines for windows

What does this PR do?
adds specific instructions for making a windows build environment

I suspect this is outdated by now.. please re-open/rebase if not!


webui: disable build similar to #2263

Let's inspect if/when to disable the Python build similar to https://github.com/mandiant/capa/pull/2263.

I believe the same exclusions apply to the build workflow.


Breakpoint incorrectly triggers on CALL.

Possibly that's bug on my side, I'll look into it from my side further.
So, I'm trying to implement breakpoints, in a way similar to one in z80.h.
What I do:
void Machine::run(uint64_t max_ops) {
  for (uint64_t op = 0; op < max_ops; ++op) {
    events_ = 0;
    on_step();
    if (events_ & kEventInterrupt) {
      ++interrupts;
      on_handle_active_int();
    }
    if (event_mask_ & events_) break;
  }
}

void Machine::on_set_pc(z80::fast_u16 addr) {
  if (breakpoints_[addr]) events_ |= kEventBreakpoint;
  base::on_set_pc(addr);
}

Now I have the following code:
...
40147 | CALL 41055
40150 | CALL 40433
40153 | CALL 41602
...
...
41055 | PUSH HL
41056 | LD A,121
...

When I do:
my_machine.breakpoints_[40150] = true;
my_machine.run(1000000);
std::cout << my_machine.get_pc();

I expect it to stop at 40150, but instead 41055 is output.

In the end I did it in run(), in other places it had issues (especially given that I need to breakpoint before the instruction, like other libs do):
void Machine::run(uint64_t max_ops) {
  for (uint64_t op = 0; op < max_ops; ++op) {
    events_ = 0;
    on_step();
    if (events_ & kEventInterrupt) {
      ++interrupts;
      on_handle_active_int();
    }
    if (breakpoints_[get_pc()]) events_ |= kEventBreakpoint;
    if (event_mask_ & events_) break;
  }
}

Yep, this should do. We couldn't do the same for watchpoints and other kinds of breakpoints, however, so we still might want to give this all a proper thought...


[gosrc2cpg] - AST creator for array initialization

This PR handles the AST Creation for initialization of arrays in the golang frontend.
@DavidBakerEffendi, please review.
cc: @pandurangpatil

@karan-batavia add unit test for global array declaration outside of the function. I assume that should also work


Allow using workflow from branch

Reported by @fleroux514:
When posting a digger command, the workflow (digger) in the master branch is used vs the PR change

eg Renovate PR that updates Terraform from 136 --> 1.5.1.
I added a commit in that PR to tell digger to install TF 1.5.1.
but when I run digger plan it uses digger from the master branch wjth TF 1.3.6 so it fails
Need to force a synchronize to the branch in order to plan correctly
But  digger apply fails for the same reason

as a workaround, I decided to use the option to install and use tfenv instead of specifying a specific terraform version in digger. But the same problem manifested itself when I tried git apply on that PR, since it uses digger from the master branch which does not install tfenv so my tfenv cmd would fail during apply.
@Spartakovic:

it’s because github actions uses default branch when running action triggered by pull request comments.
you will have to update action on the main branch for it to work unfortunately.
it’s very inconvenient, but apart from eventual move to webhooks not sure if there is much we can do right now
I will think about it more

Discussed offline with @Spartakovic @veziak
There is potentially another option - to move TF version into digger.yml and handle terraform version within Digger. This however has a major drawback: dealing with the binary from within digger CLI. That's best avoided, especially given that Actions provide a clean way to handle installations of binaries.
Decision: go with the webhooks. That's inevitable anyway. This will likely be part of the same orchestrator backend piece that currently handles RBAC via OPA.
Next step: POC for the webhooks (likely as Github App) to verify that it'd actually work the way it is intended to.

This will likely be part of the same orchestrator backend piece that currently handles RBAC via OPA.

I think the RBAC will remain handled within the cli and not the backend since the cli remains the gatekeeper to decide whether or not a job should run (digger runs all jobs within ci after all)

This feature requires github app and will be supported with the upcoming dashboard only (cannot be supported in the action-only flow due to a limitation

has there been any development on this?
there still seems to be no way to run digger on say main branch?
this is a major flaw for me which means I have to implement a separate workflow to apply the state since only workflows running on main have sufficient permissions to modify resources, whereas any other branch can only run plans

Hi @noxjonas thanks for following up on this! I am just realising that this issue as per original description has actually already been resolved for a while since the introduction of the orchestrator; it always starts jobs using the workflow file from the PR branch
BUT your issue appears to be different; if I'm understanding you correctly (could well be missing something), the challenge is kind of the opposite: only workflow from main can be used because for any other branch the permissions are insufficient. Is my understanding correct?


Store bridge address protocol

I didn't look at your code closely enough to see where I need to put 'upgrade' code for data stored in the old format. Do you mind doing that part yourself? Just check if the currently stored value matches (?i:https?:).*, and if not prepend http:// and save the new value.
I want this so I can use my bridge at eligrey.com/hue over https.

I would love to have this feature, too!

@ekux44 Is this project abandoned?

@ekux44 Hello?


fix(Recommendation page): fix missing thank you message on vote click

This fixes the missing message on the vote click on the recommendation details page.

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


feat: speed up url joins

We were doing complex url joins when we were only joining paths we already hard code internally which meant everything had to get parsed into url parts, joined together, and than reassembled

before

after


Alluxio 1784 Remove RECOMPUTE_PATH from AbstractFileSystem

Can one of the admins verify this patch?

ok to test

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/8952/
Test PASSed.

Merged build finished. Test PASSed.

+1 LGTM


🛠 Tooling: Investigate performance improvements for end-to-end scripts in CI

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
Right now, this repo has three "end-to-end" scripts that run in CI (one for each of the "setup" scripts):

Create: typically around 2-2.5 minutes in total
Initialize: typically around 2-2.5 minutes in total
Migrate: typically around 4-5 minutes in total

5 minutes in CI is way too long for a terminal app like this! Especially since test coverage merges in coverage results from all those scripts.
Can they be sped up? Is there any caching that can be done, maybe? Or is there a slowdown in a dependency that can be resolved?
Additional Info
I suspect that reducing log spam will help with this issue a lot: #859. Even if the log spam isn't hurting performance, reducing spam will likely make investigating easier.

After resolving #1131 and #1221, they seem to be taking 1.5-2 minutes now. Progress!

After resolving #1131 and #1221, they seem to be taking 1.5-2 minutes now. Progress!

As of #1610 (and before it, even), things are down to 1-1.5 minutes. Progress!

I put some logs in migration:

[Tue Dec 03 2024 14:59:50 GMT-0500 (Eastern Standard Time)] Starting command: pnpm build

[Tue Dec 03 2024 15:01:03 GMT-0500 (Eastern Standard Time)] Ending command: pnpm build

[Tue Dec 03 2024 15:01:03 GMT-0500 (Eastern Standard Time)] Starting command: pnpm lint --fix

[Tue Dec 03 2024 15:01:19 GMT-0500 (Eastern Standard Time)] Starting command: pnpm format --write

[Tue Dec 03 2024 15:01:22 GMT-0500 (Eastern Standard Time)] Ending command: pnpm format --write

Interesting that pnpm build is taking so long...

pnpm build  17.83s user 2.51s system 149% cpu 13.649 total
pnpm tsc  3.70s user 0.26s system 182% cpu 2.170 total

This will likely be superceded by #1782.


Give support to generate OpenAPI specification for only http:Serivce

Description:
Getting support for below scenarios

[ ]  With Service Declaration scenarios

 service / on new http:Listener(9090) {
      // mock implementation
 }

[ ] WithOut Service Declaration scenarios

public service class MyHttpService {
    *http:Service;
    resource function get . () {
        //mock implementation
    }
}

Describe your problem(s)
The current Ballerina to OpenAPI tool generate service without checking its service type because tracking the service type is difficult on the previous implementation
Describe your solution(s)
Check the service type using services with distinct  that enable after the Ballerina beta4

This issue held because met a block from https://github.com/ballerina-platform/ballerina-lang/issues/34011

Give support to generate OpenAPI specification service without Service Declaration scenarios will address the separate Issue #758 since currently tool has been designed to handle service declaration node


Hold parameter has no effect when used with non-repeating tween in 3.60.0-beta.10

Version

Phaser Version: 3.60.0-beta.10

Operating system: macOS Monterey 12.6

Description

Using the new tween system in 3.60.0-beta.10, the hold parameter has no effect when using yoyo: true and no repeating. It does work when repeating is enabled.
Example Test Code

https://labs.phaser.io/edit.html?src=src/tweens/yoyo delay.js&v=dev

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.


FizzBuzz Minecraft Datapack

A minecraft datapack to output FizzBuzz! Uses a recursive function and caller. Here's what the output looks like in game:

Damn thats awesome! Mind if I reference this under the top solutions in the ReadMe?

That's totally fine! I appreciate it, thank you =D
On Sat, Oct 31, 2020 at 8:44 PM NullDev (Chris<EMAIL_ADDRESS>wrote:

Damn thats awesome! Mind if I reference this under the top solutions in
the ReadMe?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NLDev/Hacktoberfest-2020-FizzBuzz/pull/713#issuecomment-720008502,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALQIE23NZCYXYDLK7UN3DX3SNSVNLANCNFSM4TGDVQQA
.

Awesome, thanks :)


Weigh team chosen for team game towards those with fewer points.

@hedyhli thought people would stay engaged if the game makes it easier for teams to catch up, so this PR introduces inverse weighting for which team has the opportunity to score points, based on the current scoreboard.
This log output indicates that the algorithm is correct:
 scores = {'list': 0, 'dict': 0, 'tuple': 5}, weights = [0.1923076923076923, 0.1923076923076923, 0.0384615384615
38464]

That is, list and dict are both weighted as more likely to be selected, since they have fewer points than tuple.

At roughly this time, with scores of 1700/1586/1201, it should switch probabilities to approximately 28.7%, 30.7%, and 40.6%, respectively, from equal ~33%


Need some help regarding structuring of code

Hi, as always thanks for the great work on elm-spa!
I have an issue, it might just be that I've missed something but I hope maybe you could provide an example of how to do this.
So I have created an own module Confirm.elm which is a dialog with a confirm msg. some use case could be "are you really sure you want to delete this whatver{id}. I want to make a general function in Effect.elm which can be called on whatever page am I on. The problem here is that I struggle with the mapping of messages.
Lets say i have a Page.elm where i have a Msg DeleteWhatever Int, from here when i call the ConfirmDialog from Shared.elm i need some kind of mapping from Page Msg to Shared Msg.
I've been stuck on this for a long time and I really hope that you guys could help me out. I'll try to provide as much as info as i can for you to understand my implementation.
this is the implementation of Confirm.elm
{-| Contains a general type and combinators for a confirmation dialog.

You should prefer to use `init` and builder functions
rather than constructing this manually.

-}
type alias Confirm msg =
    { title : String
    , prompt : String
    , cancelText : String
    , confirmText : String
    , attributes : List (H.Attribute msg)
    , clickOutside : Bool
    , onConfirm : msg
    , onCancel : Maybe msg
    }

{-| Maps a function over `ConfirmConfig`
-}
map : (a -> msg) -> Confirm a -> Confirm msg
map f confirm =
    { title = confirm.title
    , prompt = confirm.prompt
    , confirmText = confirm.confirmText
    , cancelText = confirm.cancelText
    , attributes = List.map (A.map f) confirm.attributes
    , clickOutside = confirm.clickOutside
    , onConfirm = f confirm.onConfirm
    , onCancel = Maybe.map f confirm.onCancel
    }

{-| Set the title of a confirm.
-}
setTitle : String -> Confirm msg -> Confirm msg
setTitle title confirm =
    { confirm | title = title }

{-| Set the prompt text of a confirm.
-}
setPrompt : String -> Confirm msg -> Confirm msg
setPrompt prompt confirm =
    { confirm | prompt = prompt }

{-| Set the cancel button text of a confirm.
-}
setCancelText : String -> Confirm msg -> Confirm msg
setCancelText cancelText confirm =
    { confirm | cancelText = cancelText }

{-| Set the confirm button text of a confirm.
-}
setConfirmText : String -> Confirm msg -> Confirm msg
setConfirmText confirmText confirm =
    { confirm | confirmText = confirmText }

{-| Set the container attributes of a confirm.
The given attribute list will be applied to the outermost
dialog container.
-}
setAttributes : List (H.Attribute msg) -> Confirm msg -> Confirm msg
setAttributes attributes confirm =
    { confirm | attributes = attributes }

{-| Close the confirm dialog when the user clicks on
the overlay outside the dialog.
-}
closeOnClickOutside : Confirm msg -> Confirm msg
closeOnClickOutside confirm =
    { confirm | clickOutside = True }

{-| Set the confirm action of a confirm.
-}
setOnConfirm : msg -> Confirm msg -> Confirm msg
setOnConfirm onConfirm confirm =
    { confirm | onConfirm = onConfirm }

{-| Set the cancel action of a confirm.
-}
setOnCancel : msg -> Confirm msg -> Confirm msg
setOnCancel onCancel confirm =
    { confirm | onCancel = Just onCancel }

{-| `Confirm` with default values.

Using this function and provided builder functions should
be your preferred approach when creating `Confirm` instances.

-}
init : msg -> Confirm msg
init onConfirm =
    { title = "Confirm"
    , prompt = ""
    , cancelText = "Cancel"
    , confirmText = "Confirm"
    , attributes = []
    , clickOutside = False
    , onConfirm = onConfirm
    , onCancel = Nothing
    }

This is the implementation of main.elm
mappers : ( (a -> b) -> PageView a -> PageView b, (c -> d) -> PageView c -> PageView d )
mappers =
    ( PageView.map, PageView.map )

toDocument : Shared -> PageView (Spa.Msg Shared.Msg pageMsg) -> Document (Spa.Msg Shared.Msg pageMsg)
toDocument shared view =
    View.baseView shared view

main =
    Spa.init
        { defaultView = PageView.defaultView
        , extractIdentity = Shared.identity
        }
        |> Spa.addProtectedPage mappers (Route.matchAppRoot Route.Page1) Page1.page
        |> Spa.addProtectedPage mappers (Route.matchAppRoot Route.Page2) Page2.page
        |> Spa.beforeRouteChange Shared.beforeRouteChange
        |> Spa.application PageView.map
            { init = Shared.init
            , subscriptions = Shared.subscriptions
            , update = Shared.update
            , toRoute = Route.toRoute
            , toDocument = toDocument
            , protectPage = Route.toUrl >> Just >> Route.SignIn >> Route.toUrl
            }
        |> Spa.onUrlRequest Shared.clickedLink
        |> Browser.application

this is PageView.elm
type alias PageView msg =
    { dialogs : List (Dialog msg)
    , view : Html msg
    }

init : Html msg -> PageView msg
init view =
    { dialogs = []
    , view = view
    }

setView : Html msg -> PageView msg -> PageView msg
setView view pageView =
    { pageView | view = view }

setDialogs : List (Dialog msg) -> PageView msg -> PageView msg
setDialogs dialogs pageView =
    { pageView | dialogs = dialogs }

map : (a -> msg) -> PageView a -> PageView msg
map f pageView =
    { dialogs = List.map (Dialog.map f) pageView.dialogs
    , view = H.map f pageView.view
    }

defaultView : PageView msg
defaultView =
    init
        (H.div []
            [ H.text
                "You should not see this page unless you forgot to add pages to your application"
            ]
        )

and this is the baseView in View.elm
baseView : Shared -> PageView (Spa.Msg Shared.Msg pageMsg) -> Document (Spa.Msg Shared.Msg pageMsg)
baseView shared { view, dialogs } =
    { title = ""
    , body =
        viewHeader shared
            :: navigationRow shared.environment shared.currentRoute
            :: H.div [ A.class "page_content_container" ]
                [ view
                ]
            :: Dialog.viewList dialogs
            :: (shared.toasts
                    |> Toast.viewList
                    |> H.map (\( id, msg ) -> Spa.mapSharedMsg (Shared.setToastMsg id msg))
               )
            :: List.map
                (\error ->
                    error
                        |> Dialog.fromError shared.environment.language (Spa.mapSharedMsg Shared.closeErrorDialog)
                        |> Dialog.view
                )
                (List.take 1 shared.errors)
            ++ List.map
                (\confirm ->
                    confirm
                        |> Confirm.setOnCancel (Spa.mapSharedMsg Shared.closeConfirmDialog)
                        |> Confirm.setOnConfirm (Spa.mapSharedMsg Shared.confirmConfirmDialog)
                        |> Dialog.fromConfirm
                        |> Dialog.view
                )
                (List.take 1 shared.confirms |> List.map (\x -> Confirm.map Spa.mapSharedMsg x))
    }

so far i have this in Shared.elm and this is where my problems start
type alias Shared =
    { key : Nav.Key
    , identity : Maybe Identity
    , currentRoute : Maybe Route
    , preventReroute : Bool
    , confirms : List (Confirm Msg)
    }

type Msg
    = ReplaceRoute Route
    | BeforeRouteChange Route
    | ShowConfirmDialog (Confirm Msg)
    | CloseConfirmDialog
    | ConfirmHeadConfirmDialog
    | ClickedLink Browser.UrlRequest

update : Msg -> Shared -> ( Shared, Cmd Msg )
update msg shared =
    case msg of
        ShowConfirmDialog confirm ->
            ( { shared | confirms = confirm :: shared.confirms }, Cmd.none )

        CloseConfirmDialog ->
            case shared.confirms of
                confirm :: rest ->
                    ( { shared | confirms = rest }
                    , confirm.onCancel
                        |> Maybe.map TaskUtil.doTask
                        |> Maybe.withDefault Cmd.none
                    )

                [] ->
                    ( shared, Cmd.none )

        ConfirmHeadConfirmDialog ->
            case shared.confirms of
                confirm :: rest ->
                    ( { shared | confirms = rest }, TaskUtil.doTask confirm.onConfirm )

                [] ->
                    ( shared, Cmd.none )

--THIS IS WRONG
showConfirmDialog : Confirm Msg -> Msg
showConfirmDialog confirm =
    ShowConfirmDialog confirm

and for a use case in Page.elm
        ClickConfirmDialog ->
            let
                confirmDialog =
                    Confirm.init (DeleteWhatever 2000)
                        |> Confirm.setPrompt "Are you sure you want to do this?"
            in
            model |> Effect.withShared (Shared.showConfirmDialog confirmDialog)

The way I handle this for now is that the dialog state is handled by the page update itself, possibly in a sub-component.
So, when building the dialog, the page will give it a message wrapper, and the dialog will not emit shared messages but messages for the page itself.
And the dialog is part of the page view, so the "ClickConfirmDialog" should set what's needed in the page model for the view to add the dialog in its "dialogs" list.
I may be unclear, don't hesitate to ask for more precise explanations.
In the future I intend to change thinks so the shared module can emit messages for the app, hence for a page that asked for it. But it causes a bunch of difficulties and I did not have time to tackle them (yet).

Thanks for the quick reply 😄  Your solution is my current solution as well. Would be really convenient with the shared module emitting messages for the app and I can see more use-cases than a simple confirm-dialog.
I understand the complexity and difficulties in implementing such feature and it might not be in the top of your backlog, but do you have any ETA?

No ETA sorry. It is a difficult problem and I am not even sure it has a decent solution.


Also release owned Pins with Usart::free()

Return ownership of the pins back to the user when calling free()
Useful to multiplex a single USARTE instance to multiple serial connections on different pins (for smaller NRF52 devices which only have one USARTE instance).
Alternative: Only take a reference to the pins in in new().
Please let me know which one is the preferred approach.

Alternative: Only take a reference to the pins in in new().

This would mean that Usart<_>: 'static never holds and prevent usage of Usart in RTIC resources, so we probably shouldn't do that.
I think we can do better than storing the Pins instance in every Usart though – what if we just read from the USART's pin configuration registers in free and create the pins from those? That way we don't have to pay for the extra Pins storage.

Reading back the pins from the peripheral is a nifty idea. Going to try that tomorrow.

Cool stuff, thanks for doing this! I required this a few times already but just for debugging things and I just used unsfe for that :P

I think we can do better than storing the Pins instance in every Usart though – what if we just read from the USART's pin configuration registers in free and create the pins from those? That way we don't have to pay for the extra Pins storage.

I fully agree with this :)


CTCP-4543: fix form provider

Looks like the changes are already in main? Closing. Feel free to re-open if I'm wrong!


fonts.googleapis.com

I'm reading this article "Google Webfonts, The Spy Inside? ", and I'm generally not comfortable linking to anything Google. So I took a look at the page source, and I wonder what the implications of the following line are:
<link href='//fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700%7CPT+Serif:400,700,400italic' rel='stylesheet' type='text/css'>

What does this line actually do, and what does it imply with respect to capabilities of Google to create meta-data from people using my website. Is it possible to replace this line by something on my site itself?

It's used to load custom webfonts hosted by Google which are then referenced in the site's stylesheet. If you don't want to use the ones Google provides you can easily remove that line and either replace with another type service, host your own web fonts, or just opt to use default system fonts (Arial, Verdana, Courier, Georgia, etc).


Suggestion

After 30 seconds as the emotes get deleted, make the embed clear itself

After 30 seconds as the emotes get deleted, make the embed clear itself


Styling

Story
Puts views into right position to get picked up.
Loads CSS.
Fixes assets precompile.
Sets up appearance colors and fonts with appropriate defaults.
Actions
Refs

https://github.com/scientist-softserv/adventist-dl/issues/562

Expected Behavior Before Changes
Layout is Hyrax basic.
Expected Behavior After Changes
Views mostly match current adventist.
Screenshots / Video

Style matches staging:

Fonts can be managed from appearance tab:

Notes
Prior custom CSS overrides a number of the appearance colors. This was not changed.

Could you add an after screenshot to this PR please?

Sorry I missed clicking on the arrow. I see the drop down screenshot now. @laritakr Would a user have to switch to this theme?

Sorry I missed clicking on the arrow. I see the drop down screenshot now. @laritakr Would a user have to switch to this theme?

No themes at this point... they have a lot of custom CSS and that plus the complexity of how theming works with routes (and trying to fit that into the knapsack world) made doing it as a theme out of scope at this point. The goal for now is to reproduce what they already had, though I had hoped a theme would be a manageable way to do it.


Move global functions to a separate file

Move the global functions that are independent to the global variables to another file

Done in commit a41dbb7631659b8bf8d9a1f37a6d184826458359


Apply Trie to InvalidExpressionValidaor

Using Trie structure (such as Patricia Tree or Double Array), InvalidExpressionValidator and some related validators extract the expression more efficiently.

Not needed for now


[Winforms] pie chart seems not to be working

The previous commit should fix this issue, sadly I can not confirm it until everything is compiled, the issue will remain open while I test the binaries.

This is already working in latest nuget package (<IP_ADDRESS>)


IDVA5-1139- bring person detail together

Created a new subdoc called : applicant_details
and moved the following attributes under it.
first_name,
middle_name,
last_name,
date_of_birth,
nationality,
country_of_residence,
correspondence_address,
correspondence_address_is_same_as_registered_office_address.

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

CI: Security warnings found!

@abhiahirv1 Good to get the test coverage over 90% please. If you are not planning to do it in this PR, then can you create a new ticket and work on it please?

The issues are very similar, probably same solution would work for multiple issues.

CI: Security warnings found!

CI: Security warnings found!


Investigate why ams-wcth.ooni.nu still gets traffic

As mentioned in https://github.com/ooni/backend/issues/300#issuecomment-579146974.
For some reason ams-wcth.ooni.nu is still receiving a little bit of traffic, but it's unclear from where. @bassosimone can you check if some of the apps have hardcoded as the address of a web-connectivity test-helper ams-wcth.ooni.nu?

I looked into this and could not see anymore traffic coming to the host anymore.
We discussed this with @bassosimone and we agreed to stop the host for some weeks and if nobody complains we terminate it after that.


feat: port ModelTheory.Fraisse

This PR/issue depends on:

leanprover-community/mathlib4#4391
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#4391
By Dependent Issues (🤖). Happy coding!

One nasty error left. See also https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/ModelTheory.2EFraisse.20.234565

Thanks :tada:
bors merge

bors merge


Restructure FAM directory

name: Feature request / user story
about: Suggest an idea from the perspective of a user
title: ''
labels: enhancement
assignees: ''

As a (User Type/Persona) I want (Feature/enhancement) So That (Value, why is this wanted, what is the user trying to accomplish)
Additional Context
Option 2
/server
/server/backend
/server/frontend
/server/infrastructure
heart 1
[1:38 p.m.] Vandegriend, Basil
Currently:
/server - with terraform and sample
/backend - with terraform clone and real API
Acceptance Criteria

[ ] Given (Context), When (action carried out), Then (expected outcome)
[ ] Given (Context), When (action carried out), Then (expected outcome)

Definition of Done

[ ] Ready to Demo in Sprint Review
[ ] Does what I have made have appropriate test coverage?
[ ] Documentation and/or scientific documentation exists and can be found
[ ] Peer Reviewed by 2 people on the team
[ ] Manual testing of all PRs
[ ] Merged into DEV

[1:36 p.m.] Vandegriend, Basil

Due to inflexibility of the terraform cloud, the decision is to move current 'backend' to within 'server'.


WIP: Django 1.9 support

#7

Thanks, this looks good, I’m making a few inline comments.

I had to use a workaround for python 3.2 as recommended in here

@BertrandBordage
Is there a reason to use --use-mirrors ?
I would like to remove it since it's deprecated.

 I guess we can remove it for such a tiny lib
Yes, you can remove it, it is there because Travis was needing it a few years ago if I remember well. No longer needed.

Cool,  what about the after_success: coveralls ?

On which build? From what I see, coveralls works on all builds.
Could you also please update the Django versions in .tox so it uses all the latest minor versions, please? :)

I checked few builds and it seems like a general issue.

And sorry,  I can't find the .tox file.

Yes, my bad, there is none x)
The Django versions in .travis.yml, then.
I don’t see the coveralls issue you mention. It’s not on your latest builds: https://travis-ci.org/BertrandBordage/django-terms/builds/112294883

This is definitely there:

Ah right… didn’t unfold the command, sorry.
It’s simply because you removed coveralls from the installation ;)

I did, hah?
sorry 'bout dat...

Coverage remained the same at ?% when pulling 4fd5175038b636cb565b374798ef55cf3b3c8f62 on ordavidil:django-1.9-support into adefe073fd88b861643435310d6332a5ce2d521c on BertrandBordage:master.


Escape line break in string

I have some line breaks, i.e., "\n" in the string object, how can I make them show explicitly?

Try style it with CSS { white-space: pre }


json_to_sheet generates NaN when json attribute is null

this leads to Excel having "a problem to open the file...."
I'm pasting the error xml (in german) here so that it is searchable...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><logFileName>Reparaturergebnis speichern in 628d56aa-dd13-48e0-92b6-7102561477661.xml</logFileName><summary>Fehler in Datei '/Users/ogi/Downloads/628d56aa-dd13-48e0-92b6-710256147766.xlsx'</summary><repairedRecords summary="Die folgenden Reparaturen wurden durchgeführt:_x000d__x000a__x000d__x000a_"><repairedRecord>Reparierte Datensätze: Zellinformationen von /xl/worksheets/sheet1.xml-Part</repairedRecord></repairedRecords></recoveryLog>

xlsx 0.16.3
on nodejs 14.4.0
A workaround is to filter the null values.
BUT actually such entries should be prevented by the writer....
Thanks
Ognian

What was the original data?  The main way you'd end up with a NaN is if you manually fed a NaN value like XLSX.utils.json_to_sheet([{a:1, b:NaN}])

Ok actually there are 2 different problems:

@SheetJSDev yes when you manually feed NaN (and yes I do that) you end up with NaN in the .xlsx. When this happens the .xlsx makes problems when it is open with excel. I'm not sure wich error value should be added instead (#NV?) but the way it is at the moment doesn't look correct to me

Adding intentional null values makes also a problem ( I'm quite sure that it leads to the same NaN when the original data is null)

I'm doing this because I'm exporting from a DB where NaN and null are legitime values. At the moment I'm replacing them to strings, but this is only a workaround... I need something more general so that importing the export would also work. I haven't tried yet, but I think that xlsx. error values could be the way to go.

Are you sure that adding intentional null values is eliciting the issue?  For example:
var ws = XLSX.utils.json_to_sheet( [ { a: 1, b: null } ] );
var wb = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
XLSX.writeFile(wb, "null.xlsx", { sheetStubs: true });

The generated null.xlsx is a valid file.  Even a cursory read of https://github.com/SheetJS/sheetjs/blob/master/bits/90_utils.js#L205 should convince you that a null value is translated to a "stub cell" {t:"z", v:null} which is not serialized by default.
As for the NaN case, Excel does not have a natural representation of NaN (It doesn't support the full set of IEEE754 values).  #NUM! might be the best choice here, represented in SheetJS as { t: "e", v: 0x24 }

@SheetJSDev this took longer to properly sort it out, since indeed there where additional errors on my side.
This is what I found out so far:

when we have a null value and we have shared strings (bookSST: true ) #NV as a shared string is generated:
<si><t>#NV</t></si>
when bookSST: false a null value is ALSO a string <c r="Q2" t="str"><v>#NV</v></c>

my actual flow is:
        const flattened = preprocessed.map(e => flattenObject(e))
        const ws = XLSX.utils.json_to_sheet(flattened)
        const wb = XLSX.utils.book_new()
        XLSX.utils.book_append_sheet(wb, ws, 'export')

        if (!wb.Props) wb.Props = {}
        wb.Props.Title = `xxx`
        wb.Props.Subject = `xxx`
        wb.Props.Author = `xxx`
        wb.Props.CreatedDate = new Date()

        /* generate buffer */
        const buf = XLSX.write(wb, { type: 'buffer', bookType: 'xlsx', bookSST: false })

preprocessed is the array of plain JSON Objects
flatten is basically:
    const flattenObject = (obj, prefix = '') =>
      Object.keys(obj).reduce((acc, k) => {
        const pre = prefix.length ? `${prefix}.` : ''
        if (obj[k] !== null && typeof obj[k] === 'object') Object.assign(acc, flattenObject(obj[k], pre + k))
        else acc[pre + k] = obj[k]
        return acc
      }, {})

and I'm posting the source of flattenObject since the check with typeof is tricky in the null case (and this was one of the errors on my side...)
So I see here 3 things to be solved:

I agree with you that #NUM! would be the best for NaN, and I think that this should happen in sheetsjs
json_to_sheet should get a new flatten option, where it performs the flattenObject function from above (provided something tested would greatly reduce error probability when using sheetjs)
we should find out why null is #NV! as string and not as you expect the #NV! error...

agreed

it's doable outside of the library, so I'm not sure if it's needed.

#NV! is not an Excel error in en-US -- do you know what the english form is?  Try creating a file with that error and saving as .xls, then we can inspect that file to see what the error actually is.

Just to be sure, are you absolutely sure that null is eliciting this error?  It looks like you're passing the string "#NV!"

@SheetJSDev sorry, yes you are right! Indeed null is {t:"z" v:null} and it is NOT serialized. I was looking in the generated xml and overlooked that it is missing which is correct!
for the second point: I think that it would raise the "quick positive experience" with this lib, but it is up to you...

The second part is better discussed in a separate issue

@reviewher I saw that this issue is closed now, so the NaN issue should be fixed now,  but I couldn't find out where/how and in which version it is/will be fixed...


Stopwatch

Enter calculator name -
Stopwatch
Describe calculator functionality -
Do provide the functionality of Lap Time, Pause and Resume Stopwatch.
Under which category you wish to place it -

[x] Computer Science
[ ] Mathematics
[ ] Physics
[ ] Chemistry
[ ] Biology
[ ] Art
[ ] Finance
[ ] Scientific
[ ] Health
[ ] Games/Sports
[x] Let project owner decide
[ ] Suggest a new category - (Answer here)

@SarthakKeshari Please assign this issue to me


Modify JWT Serializer Field Names

Closes #142
This change modifies the JWTSerializer fields to be access and response to align with the naming of rest_framework_jwt.serializers.TokenRefreshSerializer
With rest_framework_simplejwt being tightly coupled into the JWT usage, this made sense to adhere to the upstream dependency naming standards.
Ultimately, it's ugly when using JWT to check for access_token names when authenticating, and then using access for a refresh.

Greetings ! While you're at it, can you add refresh_expiration field to dj_rest_auth.jwt_auth.get_refresh_view's response data  since we are already returning an access expiration timestamp ?
def get_refresh_view():
    """ Returns a Token Refresh CBV without a circular import """
    from rest_framework_simplejwt.settings import api_settings as jwt_settings
    from rest_framework_simplejwt.views import TokenRefreshView

    class RefreshViewWithCookieSupport(TokenRefreshView):
        serializer_class = CookieTokenRefreshSerializer

        def finalize_response(self, request, response, *args, **kwargs):
            if response.status_code == status.HTTP_200_OK and 'access' in response.data:
                set_jwt_access_cookie(response, response.data['access'])
                response.data['access_expiration'] = (timezone.now() + jwt_settings.ACCESS_TOKEN_LIFETIME)
            if response.status_code == status.HTTP_200_OK and 'refresh' in response.data:
                set_jwt_refresh_cookie(response, response.data['refresh'])
                response.data['refresh_expiration'] = (timezone.now() + jwt_settings.REFRESH_TOKEN_LIFETIME)
            return super().finalize_response(request, response, *args, **kwargs)
    return RefreshViewWithCookieSupport

Good call @zackkh. I saw that but didn't dawn on me to include it. Let me know if there's anything else to be done.