livecheck: update URL patterns

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?
[x] Have you successfully run brew man locally and committed any changes?

This updates gnome, hackage, npm & pypi livecheck strategies as discussed here: https://github.com/Homebrew/brew/pull/9510#discussion_r541326964
/cc @samford

I've exhausted the number of hours in this day, so I'll try to review/test this tomorrow to ensure it meets our needs and functions like we expect.

Take your time. I did this before reading your comment about promising to not touch other stuff until docs are ready. Now I feel guilty about pulling you into this right now. It can wait! 😉

In a recent PR, @reitermarkus and I decided that it would be ideal if URL_MATCH_REGEX included the information for URL matching (in #match?) and extracting information from the URL (in #find_versions). This approach basically means that if the URL doesn't match the strategy, #find_versions wouldn't succeed in that case (and vice versa).

I mostly agree with this. IMHO swap ideal with practical and I'm fully on board. The fact that #match? uses regex with capturing groups is kinda weird. #find_versions applies the same regex again which makes me wonder do we really need both methods? :thinking: Is there an argument against merging #match? and #find_versions (to avoid invoking regex#match/? twice) into #match_versions with a bit complex return type?

These changes should resolve the mismatch between URL_MATCH_REGEX and the regex(es) used to extract information from the URL in #find_versions.
For the strategies that used more than one regex to extract information from the URL, I was able to simplify related logic by combining the regexes into URL_MATCH_REGEX using a | to allow for different scenarios. This notably simplifies Gnu#find_versions and Sourceforge#find_version while also making #match? more accurate.

Unified, simplified, and more accurate - beautiful! :trophy:

I'm good with merging this but I didn't approve it earlier because I was hoping someone would review this to double-check all my refactoring work.

I would gladly eyeball it, even though I didn't feel confident touching more complex strategies initially but that is at least I can do to help you with this! Unfortunately, I'm far away from my usual work setup (discovering wonders of Github Codespaces on something that falls into glorified tablet bucket :tired_face:) and the most realistic forecast says it'll gonna stay that way till Jan 11th so I guess that makes me useless aside from glancing and potential nitpicks :shrug:

The fact that #match? uses regex with capturing groups is kinda weird. #find_versions applies the same regex again which makes me wonder do we really need both methods? 🤔 Is there an argument against merging #match? and #find_versions (to avoid invoking regex#match/? twice) into #match_versions with a bit complex return type?

#match? generally calls Regexp#match?, which checks whether the whole regex matches the URL string. It doesn't make a difference if the regex contains capture groups or not, as Regexp#match? doesn't do anything with them. On the other hand, Regexp#match (as seen in #find_versions) does use the capture groups found in the regex. These two methods serve different purposes and, as you may expect, Regexp#match? does less work than Regexp#match (and is 2-3x faster as a result).
Each strategy's #match? method is used to determine which strategies apply to a given URL. When testing a given URL, we execute every strategy's #match? method as part of this process. We don't execute a strategy's #find_versions method until we've identified all the matching strategies and selected the highest priority one. If no strategies match, then we don't execute #find_versions for any strategies for that URL.
The short version is no, we shouldn't combine #match? and #find_versions and, unless I'm overlooking something, doing so would result in us doing more work rather than less. I'll try to explain in more detail tomorrow but it's very late over here and I need to sleep.
I'm labeling this "do not merge" for the moment, so I can address the feedback in the morning.

I'm working on some other changes that touch some of this code, so I'm going to go ahead and merge this. Thanks, @vladimyr!


[Bug] Bug list of sync job (Mysql synchronization)

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
master branch
What's Wrong?
QA and I found a lot of bugs during sync job's functional testing which lists as follows:
1、The sync jobs are not cancelled after deleting the database.
2、The MySQL and Doris tables should have a one-to-one correspondence.
      If they are not, they should fail when creating the task.
3、When the cluster has multiple FE, the non-master will core when replay create the
      sync job.
4、Inconsistent data when updating key column
5、Failed to synchronize data when there are multiple tables in single sync job.
6、After restarting the master, resuming the paused sync job will fail.

What You Expected?
List the bugs and fix them.
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

related to #6287


Difference between official client and this

What is the functional difference between this UP app and official gotify client? The Ui looks exactly equal but with the version number.
Anybody please elaborate?

This is a (unmaintained) fork with support for unifiedpush. I have just updated the readme to include this info :)


nest.land doesn't work

nest.land domain doesn't work. It forwards to some domain parking service
Domain Name: nest.land
Registry Domain ID: 011d17963b4a401f81b172cc40f3743f-DONUTS
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: https://www.namecheap.com/
Updated Date: 2023-05-23T13:12:31Z
Creation Date: 2020-05-23T13:02:41Z
Registry Expiry Date: 2024-05-23T13:02:41Z
Registrar: NameCheap, Inc.

Their domain expired.

Hey there, apologies for this! Just renewed and nameservers are switching back. Stay tuned.

Does not work again right?


Orgs not included in dropdown lists after changing "exclude from AASHE website" in Salesforce.

Some organizations were listed as "Exclude Account from AASHE Website" incorrectly. I changed this to unchecked in Salesforce for the following (but they weren't yet in the Hub drop downs after over a week:
Hackman Consulting Group
Center for Diversity & the Environment

I'm also not seeing some organizations that were added to SF some time ago. For example the World Resources Institute was added Feb. 29 and I don't see anything in the record that should be excluding it.

I need to add a scheduled task to update the ISS.

Hey, @rerb - any chance you could add this scheduled task?

Scheduled task set up to run hourly.  Also manually ran upsert_iss_organizations --modified-within 30 to  bring changes made in the last few weeks over.


Creating chatbot figma design and adding in stationguide figma

For the StationGuide Figma design, a chatbot feature can be an essential enhancement to improve user interaction, providing real-time assistance and support. Please assign this issue to me under gssoc'24 EXTENDED with label gssoc'24 and hacktoberfest.

assigned @shreyad2806


BBRegisterRPT: Use inputs.subjects_dir to find structurals

The reporting in BBRegisterRPT ignores subjects_dir when passed through nipype.
Also prefers brainmask.mgz to T1.mgz, to more closely resemble the output of FLIRTRPT.

I don't understand the comment about FLIRTRPT - it plots whatever it got on input. Which is the full brain (unskullstripped) volume:

In which case, I've forgotten why I switched it.

It's not a very important issue - I'm happy to go either way.

At least here (no fieldmaps), BBR is done against the masked T1.

Indeed you are right (I was looking at old reports).


Fix namespace issue (.AppConfig) Add .Bind() info

issue 32367
@rwike77

@jennyf19 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


feat: accessControl prop on refine buttons

Replaced ignoreAccessControlProvider prop with accessControl.enabled and added accessControl.hideIfUnauthorized prop to hide the button if access control is denied.
Closing issues
Resolves #2831
Self Check before Merge
Please check all items below before review.

[x] Corresponding issues are created/updated or not needed
[x] Docs are updated/provided or not needed
[x] Examples are updated/provided or not needed
[x] TypeScript definitions are updated/provided or not needed
[x] Tests are updated/provided or not needed
[x] Changesets are provided or not needed

We may need to wait #2834 to be merged first.


config: removes unused patch

https://github.com/VictoriaMetrics/operator/commit/aec40dba892f2d0a23537ab5cf80d732e6c4b31d removed the kustomize files related to the psp, but the patch remained. Remove this.

Thanks for contribution!


React-scripts need<EMAIL_ADDRESS>

Hello everyone !
I need to fixe a bug. I try to follow the instruction to fixe this bug :
The react-scripts package provided by Create React App requires a dependency:
"webpack": "4.41.0"
Don't try to install it manually: your package manager does it automatically.
However, a different version of webpack was detected higher up in the tree:
/Users/naima/node_modules/webpack (version: 4.41.2)
But the problem was still there.
So, i tried to fixe the bug by deleting the webpack globaly :
npm uninstall -g webpack
After that, i install the 4.41.0 version :
npm install<EMAIL_ADDRESS>on my projet i have now :
MacBook-Pro-de-Apple-4:reddit-clone naima$ npm ls webpack
<EMAIL_ADDRESS>/Users/naima/.Trash/reddit-clone 21.31.37
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└──<EMAIL_ADDRESS>But it's still not working when i want to start my projet with npm start.
Could you help ?

The command you ran - npm install<EMAIL_ADDRESS>installed it as a dependency of your application. If you look at your package.json you'll likely see that under dependencies. Remove it from there and run npm install again and everything should be happy.

Something similar recently happened to me after installing docz which pulls in gatsby that has<EMAIL_ADDRESS>as a dependency. My fix was to fix everything to use 4.41.0 in package.json:
  "resolutions": {
    "**/webpack": "4.41.0",
    "**/webpack-dev-server": "3.2.1"
  },

This does require yarn.
Is there a reason CRA wants a specific patch version?

I tried to follow your commande. I tried with a new projet and i use yarn.
So, i delete from "<EMAIL_ADDRESS>the dependencies from my yarn.lock. I use the commande yarn add install after that. And the commande line install me this :
"<EMAIL_ADDRESS>version "4.3.2"
resolved<EMAIL_ADDRESS>integrity sha512-F3VE5OvyOWBEd2bF7BdtFRyI6E9it3mN7teDw0JQTlVtc4HZEYiiLSl+Uf9Uub6IYHVGc+qIrxxDyeedkQru2w==
dependencies:
"@babel/core" "^7.4.5"
"@babel/plugin-transform-react-constant-elements" "^7.0.0"
"@babel/preset-env" "^7.4.5"
"@babel/preset-react" "^7.0.0"
"@svgr/core" "^4.3.2"
"@svgr/plugin-jsx" "^4.3.2"
"@svgr/plugin-svgo" "^4.3.1"
loader-utils "^1.2.3"
Why do i am suppose to do ? This commande oblige me to use this version.

Hello everyone !
Thanks everyone, I also have problems with the version of webpack,
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>so, i did install<EMAIL_ADDRESS>to www / node_modules instead of installing a copy in the project folder.
and it worked


ID order lost with LinkDatabaseMatchListener

Steps to reproduce
Record link two tables(table 1 and table2) with sequential ids, and write results to a links table using LinkDatabaseMatchListener.
With the resulting links table there is no way to determine which id(id1 or id2) belongs to which table(table1 or table2)
This is being caused by the following which code rearranges id1 and id2 in the Link class constructor.
if (id1.compareTo(id2) < 0) {
this.id1 = id1;
this.id2 = id2;
} else {
this.id1 = id2;
this.id2 = id1;
}
Will it be possible to make this behavior configurable.
.

Yes, this is the behaviour. The code swaps the IDs to avoid duplicate links in deduplication mode. Of course, that doesn't work so well in record linkage mode.
We can work on making it predictable which ID goes in what slot (id1 or id2). However, the easiest solution is to just add a prefix to the IDs, so that you know which one comes from which source.


fixed limit not actually working in overview.py

Description
limit param for Overview screener would not work and scraper would grab all items. Now actually stops at closest multiple of 20 above limit as intended. No dependencies needed.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)

What you did
Updated logic to correctly limit number of pages to iterate scraper through if a limit is set. Also fixed progress bar to correctly display the page numbers as it scrapes.

Can you also add a test


Upsert option not working

I have implemented this new library and the save function is deprecated. I wan't to use the insertOne with the upsert option, but it fails.
$this->_connection = new MongoDB\Client($host);
$this->_db = $this->_connection->{$this->_database};

$this->_collection = $this->_db->{$this->_table};
$this->_collection->createIndex(array("_id" => 1));

$result = $this->_collection->insertOne(array("_id" => $this->key($id, $group), "group" => $group, "data" => $data, "timeStamp" => time() + $this->options['lifetime']), ['upsert' => true]);

This will return a BulkWrite error with code 0 and no message.
What is wrong with the code?

I've only ever used upsert with the update function. Like my understanding is "update, but insert if not exists". So presumably the upsert option in this case will be ignored.
Also I think errors are handled as exceptions now (UpdateResult has no API for getting error messages). If you try/catch and check the exception's error message, I'd bet a nickel that your insertOne is failing because you already have a document with that ID. So yeah use updateOne :smile:

I do use the try/catch construction. The error message is: BulkWrite error.
So I moved to the updateOne construction and now the message is:  First key in $update argument is not an update operator.
The code is:

$result = $this->_collection->updateOne(array("_id" => $this->key($id, $group)),
array("_id" => $this->key($id, $group), "group" => $group, "data" => $data, "timeStamp" => time() + $this->options['lifetime']),
['upsert' => true]);

What am I doing wrong. Can you perhaps give me some example code that works, that would really help :wink:

If you're not using update operators, you're not updating a document but replacing it. Thus, use the replaceOne method instead of updateOne.

That seems to do the trick.
The code is now:
> $result = $this->_collection->replaceOne(["_id" => $this->key($id, $group)],
> 								             ["_id" => $this->key($id, $group), "group" => $group, "data" => $data, "timeStamp" => time() + $this->options['lifetime']],
> 								             ['upsert' => true]);

Thanks!

@alcaeus provides the right answer. I'm marking this as closed.
The library's documentation at http://mongodb.github.io/mongo-php-library/classes/collection/#crud-operations says "CRUD is an acronym for Create, Read, Update, and Delete. The Collection class implements MongoDB’s cross-driverCRUD specification, which defines a common API for collection-level read and write methods." It links to https://github.com/mongodb/specifications/blob/master/source/crud/crud.rst#update-vs-replace-validation, which discusses the differences between update and replace.
I do think, that the library's documentation should be improved on this. It's in the repository at https://github.com/mongodb/mongo-php-library/blob/master/docs/classes/collection.md#crud-operations if you want to give this a shot yourself.

Created PHPLIB-178 to track this task.


Make openutau equal to synthesizer V

Acknowledgement

[X] I have read Getting-Started and FAQ

🐛 Describe the bug
How can I do that?
Explains how to reproduce the bug
What high quality voicebanks, and where do I purchase them, and what settings do I need?
OS & Version
Windows 10
Logs
none

If you need more realistic voice, use diffsinger voicebanks. You can get diffsinger voicebanks for free from https://docs.google.com/spreadsheets/d/1fQX-NlFIvfmZJ-S19L86jGPOH_EIJEIygtJqLTUJPfU/edit?usp=sharing
You can also search for "diffsinger release" on youtube

will it match synthesizer V or be worse? Do I have to use any particular settings?

I don't know much about synthV. You can watch videos on youtube to see how diffsinger voicebanks will sound.

In openutau do I need to supply the lyrics and pitches and notes or I can supply just the vocal stem of the song, for example I want it to sing living on a prayer by Bon Jovi the way Bon Jovi sings it, what do I do?

does it try to match the words you put in to the Words in the  vocal stem it analyzes with the transcription function?

does it try to match the words you put in to the Words in the vocal stem it analyzes with the transcription function?

No, it doesn't understand the lyrics. It only gives you musical notes. You have to manually input the lyrics and ensure that they match with the notes.


Serve random story-ad config

This is the start to the amp-story-auto-ads example. This extension hits a defined endpoint and expects that endpoint to return dynamic a JSON payload it will use to build the ad.
I made this endpoint /json/amp-story-auto-ads but happy to change it. Also added a couple of sample configs. These will be modified and more will be more added later.
This is my first go code :) let me know if it can be improved.

Thanks! The publishers html looks something like this.
Since the config only has one endpoint they need that endpoint to return dynamic data in order to populate different templates or show different ads.


Update dependencies

Codecov Report

Merging #10 into master will decrease coverage by 0.03%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master      #10      +/-   ##
============================================
- Coverage     98.75%   98.72%   -0.04%
+ Complexity       97       90       -7
============================================
  Files             2        2
  Lines           161      157       -4
============================================
- Hits            159      155       -4
  Misses            2        2

Flag
Coverage Δ
Complexity Δ

#phpunit
98.72% <100%> (?)
90 <90> (?)

Impacted Files
Coverage Δ
Complexity Δ

src/Version.php
100% <100%> (ø)
41 <41> (-4)
:arrow_down:

src/VersionFactory.php
97.67% <100%> (-0.13%)
49 <49> (-3)

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 b861de5...a2adaf0. Read the comment docs.

Coverage decreased (-0.05%) to 98.592% when pulling a2adaf01845e4471fef69538ddedb32864d86222 on update-dependencies into b861de59f98053b4157d494cae18ee8b7c72bcd8 on master.


Display error

I have the radio up and running (actually build two with the same problem).
But the diplay shows garbage 7 mm to the right.
I changed the TFT_ILI9163C.cpp file in line 1096 as described, but this did not change anything.
What am i missing?

What display are you using?  How many pixels is 7 mm?Are you us

What display are you using? How many pixels is 7 mm?

What is the complete path of the TFT__ILI9163C.cpp file you had changed?  Are you sure that this one is used as a library bij IDE?

I use the 1.8 SPI TFT 128x160 .
I have found the problem after reading your pdf again :-),
in the file TFT_ILI9163C_settings.h I changed line 24 from 128 to 160.
I did not find the “blue 1.8 SPI 128x160 board” setting and so changed the default 144_RED_PCB.
Although at boot up it still shows a little garbagde to the right, but when running it is all fine.
Thank you for the support and the great application!
Bye the way, I had to change the analog values for the 3 keys on the analog port, for me this worked:
asw1 - 588, asw2 - 697, asw3 - 883. My ESP-07 has reading 1024 for 1V input voltage.
I build exactly your circuit.

Hi Hans,
I have the same problem with the TFT that you described. I read with interest your solution to the problem, but I don't completely understand it. The lines in my file TFT_ILI9163C_settings.h are not numbered as yours obviously are. Could you please provide more detail about your solution?
Thank you, Curtis

Hi Curties.
The file does not have linenumbers, but the Editor you use may display them, I use Notepad++.
Here I show line 24 and 25:
#define _TFTWIDTH  		160//the REAL W resolution of the TFT
#define _TFTHEIGHT 		128//the REAL H resolution of the TFT
I still have some display errors at boot up, but this is of no importance I think.

Hans,
Thank you very much for the information.
Curtis
On Sat, Sep 28, 2019 at 1:34 AM Hans Harbeck<EMAIL_ADDRESS>wrote:

Hi Curties.
The file does not have linenumbers, but the Editor you use may display
them, I use Notepad++.
Here I show line 24 and 25:
#define _TFTWIDTH 160//the REAL W resolution of the TFT
#define _TFTHEIGHT 128//the REAL H resolution of the TFT
I still have some display errors at boot up, but this is of no importance
I think.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Edzelf/Esp-radio/issues/175?email_source=notifications&email_token=ANIT37D6RL22AMMS74PTNI3QL3UH7A5CNFSM4IUIF7GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD72RO4I#issuecomment-536156017,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANIT37CKBIWL7MUW2PUYNC3QL3UH7ANCNFSM4IUIF7GA
.


L12 - Spoke Result Remote Lab Order

SOTTP USL 12-1 Remote Lab Order Resulted by Spoke.docx
Completed in Sprint 12
SOTTP USL 12-2 Send Remote Lab Order Results to Hub.docx
Completed in Sprint 12
SOTTP USL 12-3 Remote Lab Order Results Processed by Hub.docx
Completed in Sprint 12
SOTTP USL 12-4 View Remote Lab Order Results at Hub in CPRS.docx
Completed in Sprint 12


Remove non-existent test from .testignore.

Looks like this one isn't actually present any longer! 🎉

That's strange, but thanks :)


[Suggestion] Add is_fire, is_soul_fire, is_water, is_lava block tags for Fans Crafting System

Describe the Suggestion
The title itself is self explanatory, It is to add compatibility with other mods that add their own fire blocks, soul fire blocks, and such.
Screenshots and Videos

Additional Context
No response

This should be suggested to the forge repo


[PIO-188] Update the build matrix on travis

As for Scala, Spark and Hadoop, .travis.yml will cover all build patterns. As for storage modules, it will cover build patterns for each storage based on the default build.

LGTM. This policy makes sense and reducing test patterns would make Travis build more stable!

👍 Thanks for cleaning up the cross build @shimamoto !


Add Zabbix sender support

This implement #194 and provide a simple zabbix::sender class that
basically installs the required package. Plus, I've updated doc & tests.

Thanks!


v5.1.0

Description
Included changes: #935
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

wait can you grab this too
https://github.com/workos/workos-node/pull/937


add the passive event decorator

What problem does this feature solve?
we have event.capture now, what about add a event.passive ?
which means on the low level is: element.addEventListener('event', fn, {passive:true});
What does the proposed API look like?
<div v-on:click.passive="onClick">...</div>

.passive modifier has been supported since v2.3.0+. https://vuejs.org/v2/api/#v-on

then please update the tutorial document, it doesn't contains the passive modifier:
https://vuejs.org/v2/guide/events.html#Event-Modifiers

/cc @chrisvfritz : it seems the event section in the guide is missing some modifiers added in newer versions https://vuejs.org/v2/api/#v-on

Will add. 👍


My feedbacks on project

Hi,
Really an interesting project!
I always hoped for a real alternative to Flutter in C# and this project seems a good starting point to write something like that!
I'm curious about a few things:

How do you layout widgets? Is there any Measure/Arrange pass before rendering? like in WPF or Maui?
Do you think that removing the XAML support would simplify things? Consider an MVU approach where DependencyObject/Property is not required.
Do you think that would be, theoretically, possible to remove dependency on .NET MAUI at all? I see that for native controls you're using the MAUI handlers framework (i.e. Editor or Entry), but apart from that one should just create a canvas directly in Android or iOS at startup right?

BTW, awesome stuff, keep it up!

Hi!

Regarding the layout system, actually (actually, because in the future would want to rewrite this to be closer to flutter 2 threads A-layout/prep B-rendering logic) it's we render from the parent view, the top view/views check if they are dirty and start Measure: they measure/layout children, down the tree.
The Arrange happens if layout is dirty. So that the parent can arrange and control can arrange itself. At any point any control can invalidate self/parent translating this invalidation upper the tree. Upon some tunable logic any control can avoid being invalidated by children. This is the basic concept.
Also we can have 3 types of forcing redrawing: the Update() that invalidates cache, the Repaint() that keeps self cache but invalidates parent cache only (maybe to just translate/transform self) and InvalidateMeasure() that forces self/parent remeasuring. Also there are dictionnaries and methods tracking which child exactly invalidated, so the layout can avoid remeasuring others. There are some other methods used for more tuned invalidation.
When measured layouts usually save their structure for later reuse.
When rendering the resulting structure forms a RenderTree for later reuse by gestures etc. This all has only performance as goal. The real work started on drawn layouts when I had MAUI Grid recalculating everything after any smallest text change inside labels residing inside cells. So no, it's not like WPF/MAUI passes. :)
If this all lives up to 2-threads rewriting then this would change a bit obviously for cleaner passes.

One of the next steps was to work this a bit to be able to use fluent syntax, just to use code-behind without XAML to port this to Blazor. So yes XAML is just a way of using it and I already started splitting code into "framework agnostic"/"framework dependent" parts, this will continue. Tried CommunityToolkit.Maui.Markup, would need to choose the best fluent syntax to adopt when this goes to some no-XAML space:

The answer is yes, without .NET MAUI I would love this to work inside Blazor, to be able to draw on canvas there with user-friendly lego-blocks instead of drawing circles and lines.. :)

If there are some interfaces/other stuff I need to implement to become reactor-compatible please let me know! Would love to test this with some modern C# markup.


[zh] Update nodes.md

sync with en

content/zh-cn/docs/concepts/architecture/nodes.md

/assign @windsonsea

The preview looks good to me.
https://deploy-preview-37643--kubernetes-io-main-staging.netlify.app/zh-cn/docs/concepts/architecture/nodes/

/lgtm
/approve


[Bug] Auto-update happens twice a day

Describe the bug
I have configured my integration to run the auto-refresh at 19:00, and that happens as expected. However, at 23:00 the daily adjusted time is changed again.
Expected behavior
Auto-refresh seems to happen twice a day
Screenshots

Installed version
0.0.79
Additional context
No watering performed these days

I've been monitoring the performance, at it hasn't re-occured again. Maybe it was just because it was the first day after i set up the integration?

please install the beta of the 2.0 version and see if this still happens. It shouldn't, but please try.


integer literal specification and implementation differs

berni44 (@berni44) reported this on 2019-12-14T10:31:27Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=20449
CC List

Walter Bright (@WalterBright)

Description
void main()
{
    auto x =<PHONE_NUMBER>854775808; // long.max + 1
}

compilation fails, but specs on https://dlang.org/spec/lex.html#integerliteral tell, that it will not.

See<EMAIL_ADDRESS>

bugzilla (@WalterBright) commented on 2019-12-16T07:29:47Z
Because it's been implemented this way for 19 years now, and the compiler behavior matches C, I recommend that the spec change rather than the compiler.

dlang-bot commented on 2019-12-14T21:25:56Z
@dkorpel updated dlang/dmd pull request #10673 "Fix 20449 - integer literal specification and implementation differs" fixing this issue:

- fix issue 20449 - integer literal specification and implementation differs

https://github.com/dlang/dmd/pull/10673

bugzilla (@WalterBright) commented on 2019-12-16T07:46:52Z
I changed this to a spec bug, rather than a compiler bug.

bugzilla (@WalterBright) commented on 2019-12-16T07:59:37Z
(In reply to Walter Bright from comment #3)
> I changed this to a spec bug, rather than a compiler bug.

Nitpicking, but: It was a spec bug from the very beginning and I was surprised to see an implementation fix PR...


Added format.Aggregate

The purpose of this pull request
Moved logic of child formatters from MetadataCopy formatter to new Aggregate formatter.
This PR is related to #206
Config to verify

StdIn:
    Type: "consumer.Console"
    Streams: StreamIn
    Modulators:
        - format.MetadataCopy:
            CopyToKeys: ["foo"]
        - format.Aggregate:
            ApplyTo: foo
            Modulators:
              - format.Base64Encode:
                  ApplyTo: bar
              - format.Double
              - format.Envelope:
                  Postfix: "\n"

DefaultRouter:
    Type: router.Broadcast
    Stream: StreamIn

"StdOut": # prints input twice
    Type: "producer.Console"
    Streams: StreamIn

Checklist

[ ] make test executed successfully
[x] unit test provided
[ ] integration test provided
[x] docs updated

Changes Unknown when pulling 4e2b1709f53b8c48e2d517056202e0764e96b21c on feature/add_own_aggregate_formatter into ** on master**.

Changes Unknown when pulling 3623db2f40ff8c74591c8da7f9449940162fc791 on feature/add_own_aggregate_formatter into ** on master**.

Changes Unknown when pulling a4716ff22096a105185f7df496f01e73325d6d05 on feature/add_own_aggregate_formatter into ** on master**.


scripts/build-rtk: script doesn't compile using LD_FLAGS

$ sudo rkt run quay.io/coreos/dex:v2.0.0-alpha.2
image: using image from local store for image name coreos.com/rkt/stage1-coreos:1.13.0
image: using image from local store for image name quay.io/coreos/dex:v2.0.0-alpha.2
networking: loading networks from /etc/rkt/net.d
networking: loading network default with type ptp
[10855.090068] dex[5]: dex Version:was not built properly
[10855.090317] dex[5]: Go Version: go1.7.1
[10855.090467] dex[5]: Go OS/ARCH: linux amd64

closed by #608


Property Entity::$id is never read, only written

In phpstan bleeding edge rules this kind of error popped up on me.
Property Entity::$id is never read, only written.
/** @ORM\Entity */
class Entity
{
    /**
     * @ORM\Id
     * @ORM\Column(type="uuid")
     */
    private UuidInterface $id;

    private function __construct(UuidInterface $id)
    {
        $this->id = $id;
    }
}

However, having write-only properties is IMO valid for Doctrine ORM entities. This extension should disable reporting of those errors for any class with ORM annotations @Entity for @Colum and @XToY (@ManyToOne) annotated properties.

Hi, this already works, see this article: https://phpstan.org/blog/detecting-unused-private-properties-methods-constants#what-if-my-code-is-“special”%3F
But you need to configure objectManagerLoader so that the extension can see the entity metadata: https://github.com/phpstan/phpstan-doctrine#configuration

Neat!


Move reset button in Delay Analyser interactive away from grid

The reset button is too close to the grid and can be accidentally clicked by users, there should be more padding between the grid and button.

I can take this on.

I'll look into this!

Hi Jamie, I saw you had commented on this issue and made a pull request (which looked perfect) and was in the process of reviewing it when it disappeared! Was this intentional?

Glad to hear it got sorted out. I've actually made a support request to GitHub as a lot of our users who interact with this repository are getting flagged as bots!


Bump telethon from 1.33.1 to 1.34.0

Bumps telethon from 1.33.1 to 1.34.0.

Release notes
Commits

updated-dependencies:

dependency-name: telethon dependency-type: direct:production update-type: version-update:semver-minor ...

P


Azure Atlas Map samples do not seem to reproduce what is demonstrated on the site

I am working on a wrapper for the Azure Atlas Map for  Angular, as @Acaisoft's version has some deprecation issues. Upon working on this project I noticed the CSS for the canvas is quite broken. I figured it was an issue with my wrapper so I went back to basic and followed the tutorials found here.
The problem is that when I follow the tutorial, up the point where I want to demonstrate a popup, The popup does not appear. After disecting this problem further, I look through the DOM and notice that the container with the class .popup-container appears to be below the canvas as the canvas positioning is Absolute, as is everything else.
I also noticed that the function call for popups popup.open(e.map) which calls the popup open function when clicking on a point, although it places the popup on the DOM within the popup container, it also places a .hidden-accessible-element class which does not apply the popup template's css. Upon removing this manually, I see that the popup now has the CSS applied from the template I specify, but still does not appear.
After tinkering some more, changing a couple div's in the canvas to z-index below that of the popup-container as well as specifying that the popup container should be relative rather than absolute, the popup now appears. The problem I am having is that this is  not done upon calling the popup.open function from the API. what is displayed on the tutorial site does not represent what the API actually displays to users. On the tutorial site, everything works well, which leads me to think that there has perhaps been a change or update to the JS/CSS from the API that caused this issue.
I have seen implementations by other users who have taken the workaround and created their own div for popup containers, and manually add the popups themselves to the DOM using a templateRef as the native function does not work as intended.
If you would like to test this for yourselves. I have set up a sample repository here.
I am curious if the tutorials can be updated if there have been changes made to the API.

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

ID: 4f0ac96c-ba06-445b-9ea7-56cef424f8a5
Version Independent ID: 4276d459-4ad6-f63b-673d-4a77b143f555
Content: Add a popup with Azure Maps
Content Source: articles/azure-maps/map-add-popup.md
Service: azure-maps
GitHub Login: @jingjing-z
Microsoft Alias: jinzh

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

As an update. I figured out the issue. I had set up an event listener to toggle and close the popup when i click the pin again.
this.map.events.add('click', PointGroup.layer, (e: any) => {
    this.openPopup(e);
});
this.map.events.add('click', PointGroup.layer, (e: any) => {
    this.closePopup(e);
});

This was causing an issue as the click was not debouncing and checking the status of the popup and would trigger the close method for the popup right after the open function. I simply removed the event listener to click and close the popup, leaving only the click to open functionality, and passed in the option to show the close button for the popup.
Thank you for the help but you can close this issue.


Repair Links to Usage Docs & Fix Typos

What Does This Do?

Repairs the links to the Usage docs in the project root's README
Fix typos in Spanish & English Usage docs (scopped --> scoped)

Hello @NWRichmond. Thank you for your contribution 🤓


Autoware on "bash on ubuntu on windows"

mikoto2000 tried to run Autoware on linux subsystem on windows.
But now, it has some errors.
Following URL shows these errors, and how to install.
https://gist.github.com/mikoto2000/db047dfefc9d7c36b8db5a3c8916db62#file-autowareinstallbattle-mkd
http://oyasirazu.blogspot.jp/2016/08/ubuntu-on-windows-autoware.html

There is not multi-thread support for WSL, so I think there is no way to run Autoware with it.

I was able to replicate what mikoto2000 was attempting. Reached exactly the same state, I am unable to stream the simulation on RViz.


Bug running BLS depending on number of workers

Running periodbase.bls_parallel_pfind, I found that one of my light curves fails with the following error:

[2018-05-07T20:32:43Z - INFO] min P: 20.378488547282885, max P: 77.59986466999999, nfreq: 562, minfreq: 0.012886620411679645, maxfreq: 0.04907135274923677
[2018-05-07T20:32:43Z - INFO] autofreq = True: using AUTOMATIC values for freq stepsize: 6.443310205839823e-05, nphasebins: 100, min transit duration: 0.02, max transit duration: 0.55
Traceback (most recent call last):
File "generalvar_astrobase_search.py", line 234, in
main()
File "generalvar_astrobase_search.py", line 196, in main
bls = periodbase.bls_parallel_pfind(times,mags,errs,startp=pmin,endp=maximum_obs_length[obj],mintransitduration=.02,maxtransitduration=.55,nbestpeaks=3,sigclip=sigclipvalue,nworkers=njobs,verbose=True)
File "/home/jwallace/astrobase_waqas/astrobase/astrobase/periodbase/kbls.py", line 600, in bls_parallel_pfind
chunk_minfreqs = [frequencies[xchunksize] for x in range(nworkers)]
File "/home/jwallace/astrobase_waqas/astrobase/astrobase/periodbase/kbls.py", line 600, in
chunk_minfreqs = [frequencies[xchunksize] for x in range(nworkers)]
IndexError: index 567 is out of bounds for axis 0 with size 562

However, this seems to depend on the value of nworkers.  The above is with nworkers=28, below is with nworkers=20 (ran succesfully)

[2018-05-07T20:32:26Z - INFO] min P: 20.378488547282885, max P: 77.59986466999999, nfreq: 562, minfreq: 0.012886620411679645, maxfreq: 0.04907135274923677
[2018-05-07T20:32:26Z - INFO] autofreq = True: using AUTOMATIC values for freq stepsize: 6.443310205839823e-05, nphasebins: 100, min transit duration: 0.02, max transit duration: 0.55
[2018-05-07T20:32:26Z - INFO] worker 1: minfreq = 0.013, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 2: minfreq = 0.015, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 3: minfreq = 0.017, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 4: minfreq = 0.018, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 5: minfreq = 0.020, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 6: minfreq = 0.022, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 7: minfreq = 0.024, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 8: minfreq = 0.026, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 9: minfreq = 0.028, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 10: minfreq = 0.030, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 11: minfreq = 0.032, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 12: minfreq = 0.033, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 13: minfreq = 0.035, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 14: minfreq = 0.037, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 15: minfreq = 0.039, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 16: minfreq = 0.041, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 17: minfreq = 0.043, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 18: minfreq = 0.045, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 19: minfreq = 0.047, nfreqs = 29
[2018-05-07T20:32:26Z - INFO] worker 20: minfreq = 0.048, nfreqs = 11
[2018-05-07T20:32:26Z - INFO] running...
[2018-05-07T20:32:26Z - INFO] auto-cadence for mag series: 0.02043
[2018-05-07T20:32:26Z - WRN!] fit bestperiod = 1.65311 may be an alias, naively calculated bestperiod is = 2.69699

It also seems to depend on the value of min P that I give.  The above value, ~20.4 days, is fairly large for my run (the light curve only covers ~80 days total).    Same with dividing min P by 2.
I'll send along the light curve for your reference.  For the failed run, here is my full call:

bls = periodbase.bls_parallel_pfind(times,mags,errs,startp=20.378488547282885,endp=77.59986466999999,mintransitduration=.02,maxtransitduration=.55,nbestpeaks=3,sigclip=5.,nworkers=28,verbose=True)

I think 74355a63e63187ec237007a5c5cfa03e548667c0 should fix this. Let me know if it works as expected.


How to use this in my plugin of OctoberCMS

Sorry for the issue of such particular integration with OctoberCMS. I've followed your installation instruction of ActivityLog v2. And I got the following error when I made an activity()->log() call.

Type error: Argument 1 passed to Spatie\Activitylog\ActivityLogStatus::__construct() must be an instance of Illuminate\Config\Repository, instance of October\Rain\Config\Repository given

And then I modified to use October\Rain\Config\Repository in ActivityLogStatus, another error showed up.

Target [October\Rain\Config\LoaderInterface] is not instantiable while building [Spatie\Activitylog\ActivityLogStatus, October\Rain\Config\Repository, Spatie\Activitylog\ActivityLogStatus, October\Rain\Config\Repository].

I think maybe I need to create something like a wrapper to make ActivityLog work in OctoberCMS. Can you give me some suggestion or direction? Thanks for such a great library.

Could you upgrade to the latest version? We've fixed the config problem in #505 and released it as v3.4.0
This should solve your issue.

Thanks. But I use v2 for a reason. If I composer require v3.4.0, composer update will cause issue.

Problem 1
- Installation request for spatie/laravel-activitylog 3.4.* -> satisfiable by spatie/laravel-activitylog[3.4.0].
- spatie/laravel-activitylog 3.4.0 requires php ^7.2 -> your PHP version (7.3.7) overridden by "config.platform.php" version (7.0) does not satisfy that requirement.

And "composer install --ignore-platform-reqs" causes more lines of issue.

Problem 1
- Conclusion: remove laravel/framework v5.5.48
- Conclusion: don't install laravel/framework v5.5.48
- Conclusion: don't install laravel/framework v5.5.47
- Conclusion: don't install laravel/framework v5.5.46
....

If I just apply the #505 fix, then there is another error shows up.

Unresolvable dependency resolving [Parameter #0 [  $app ]] in class Illuminate\Auth\AuthManager

Is there any easy way that can solve this? Thank you.

How have you made Laravel 5.5 run on PHP 7.0? 😲
My recommendation is to upgrade to PHP 7.2 or even better 7.3 and Laravel 5.8 or even better 6.0.
Some links about it:
https://www.php.net/supported-versions.php
https://laravel.com/docs/6.x/releases#support-policy
https://connortumbleson.com/2019/01/28/lts-is-a-lie/
If this is not possible for you: the main problem, that got solved in the PR, is that we required the Laravel config class instead of it's interface.


Add Randomized Greedy Dispersion (RGD) constructive heuristic

The Fast Greey Dispersion (FGD) heuristic should be adapted to the RGD in order to be used within a GRASP framework.
Options:

Child class of FGD
New interface for randomized heuristics, RGD not inheriting from FGD

Cannot inherit from FGD because it's constrained by the PdpSolution type


Gameplay - Food & Poison Effects

Reflect damage or health on Wombat after encountering food or poison

Need to confirm and document  rules around the effects of food and poison before this can be tested.

Effects are 10HP on both; this can be tested by viewing the HP levels in the status bar.


Only dispatch initial LOCATION_CHANGE event once per store in ConnectedRouter

If you have multiple ConnectedRouter components on a page and those components share a single store each component dispatches a LOCATION_CHANGE event when it mounts. Since event properly initializes the routing info a subsequently mounted ConnectedRouter does not need to dispatch an event.
This pull requests tracks references to stores and only dispatches the initial LOCATION_CHANGE if it is new.

You shouldn't have multiple ConnectedRouters on a page. You only need one near the top of your tree and everything else works over context.
This would seem to encourage bad patterns. In particular, maintaining multiple stores and/or routers. I appreciate the contribution, but this isn't the right way to approach the problem. You should be using the APIs as intended.

Not all web sites that use React and React Router have a single React app on a page. Many people create separate React widgets that control certain parts of the page, but use server-side generated HTML for the rest.
In this use case, we on have a single store. But multiple components can share a single store or not. For example, your UI may be interested a store that listen for login/logout events and your ad widget cares about sign up events. These components may be mixed and matches in various ways on different pages.

Hello World

I was generated server side.

I was also generated server side.

It's not pretty, but many of us need to migrate our applications to React piece by piece.
If you are not interested in the testing case, could I make another PR that ads a prop to prevent the initial dispatch?

OK, perhaps I should have stated more precisely: You shouldn't have multiple ConnectedRouters per component tree instance. I actually have exactly this kind of application in production (multiple widgets on the page, with multiple calls to ReactDOM.render() for each widget).
The store that's passed to ConnectedRouter is designed to be used for that individual instance. The synchronization is set up when the component is mounted. So, if you've got one instance syncing a history, you can reuse that history and store later on for other component tree instances with just a plain .

Right, but my issue is that what when I have a single store and then I mount ConnectedRouter components in separate component trees and pass them the same  store, the second Connected router components dispatches an initial LOCATION_CHANGE event even though the first already did this. Every time a new ConnectedRouter mounts it dispatches a redundant event.


contenteditable selector is inadequate, not compatible with HAML-generated HTML

According to http://haml.info/docs/yardoc/file.REFERENCE.html#boolean_attributes the selector at https://github.com/NYTimes/backbone.stickit/blob/13a08b67a236186bb41363bd4ca49de4fadba39f/backbone.stickit.js#L431 is incorrect. Should be '[contenteditable]'

Hey, it is this time of the year...
Now I would like to make a pull, however, I'm experiencing:
$ grunt qunit
Running "qunit:all" (qunit) task
Testing http://localhost:3000/test/index.html ...ERROR
Warning: PhantomJS unable to load "http://localhost:3000/test/index.html" URI. Use --force to continue.

Aborted due to warnings.

Debugging this would be nice, but it's not on my critical path at the moment. I'll appreciate if anyone shares any ideas on how to fix this on OSX 10.10 though.
Thus, I don't mind if someone else fixes that line.

Is npm test working for you?

well kinda...
$ npm test

><EMAIL_ADDRESS>test {{.}}
> phantomjs test/vendor/runner.js test/index.html?noglobals=true

Took 536ms to run 371 tests. 370 passed, 1 failed.
Unsafe JavaScript attempt to access frame with URL about:blank from frame
with URL file://test/vendor/runner.js. Domains, protocols and ports must
match.

Unsafe JavaScript attempt to access frame with URL about:blank from frame
with URL file://test/vendor/runner.js. Domains, protocols and ports must
match.

Unsafe JavaScript attempt to access frame with URL about:blank from frame
with URL file://test/vendor/runner.js. Domains, protocols and ports must
match.

npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

On 5 January 2015 at 21:30, Adam Krebs<EMAIL_ADDRESS>wrote:

Is npm test working for you?
—
Reply to this email directly or view it on GitHub
https://github.com/NYTimes/backbone.stickit/issues/268#issuecomment-68762108
.

According to this stackoverflow post it's a harmless bug in phantomjs, fixed in ariya/phantomjs#12720.
There does seem to be a failing test too though. I'll look into it.

In the meantime, feel free to ignore that message and the failing test. Looking forward to your pull!


Missing images in table with visual elements example on official website

Hello, looks like some imports are broken here on table with visual elements
Very nice components kit, I love it :) Building my personal website with it and SvelteKit

Looks way nicer now, cool!


Is there a callback for the current position / play time?

I'd like to maintain my own progress UI and just need to hook into some tick event that tells me the current play time. Does that exist?

You can use addListener() of your  VideoPlayerController.

@cbenhagen Thank you for the fast response! I should have mentioned that I tried to add a listener and the callback was never invoked. Is there some way that could silently fail? Any pointers for debugging that?

@cbenhagen Sorry I was adding the listener to the ChewieController which does nothing. It seems to work for the VideoPlayerController as you suggested


Common output format

Right now the different browsers return the individual entries in a different format, e.g. chrome it looks like
0: "Object.run (http://localhost:8080/resources/app.core.resources/stacktrace.js:75:14)"
1: "printStackTrace (http://localhost:8080/resources/app.core.resources/stacktrace.js:59:20)"
2: "Object.log (http://localhost:8080/resources/app.log.resources/log.js:96:13)"
3: "http://localhost:8080/resources/app.log.resources/log.js:128:7"

While the same code in firefox looks like
0 "{anonymous}()@http://localhost:8080/resources/app.log.resources/stacktrace.js:70"
1 "{anonymous}(null)@http://localhost:8080/resources/app.log.resources/stacktrace.js:68"
2 "printStackTrace()@http://localhost:8080/resources/app.log.resources/stacktrace.js:59"
3 "{anonymous}("Logging started")@http://localhost:8080/resources/app.log.resources/log.js:96"
4 "@http://localhost:8080/resources/app.log.resources/log.js:128"

Opera and other browser look yet different.
It might be useful if stacktrace.js entries would be full objects with members "function", "url", "line", "column".  So one line of the above output would look like
entry = { function : 'printStackTrace', url : 'http://localhost:8080/resources/app.log.resources/log.js', line : 96, column: 12 }

I'm going to move away from String based stacktraces (though I'll keep them around for those that use them) to Object output instead.


useCurrent in migration

Would be helpful to have a function on the migration for timestamp fields, so you could do table.timestamp('created_at').useCurrent or something similar to automatically insert the current timestamp if you're not inserting with lucid

disregard, i didnt notice its automatic


Added a single div hover animation on Cards

This update enhances the card component by introducing a hover animation effect that creates a dynamic and visually appealing shadow around the card.
Changes Made

CSS Modifications:

.card Class:

Added properties to handle the animation when the card is hovered over.

Hover Effects:

Implemented box-shadow properties to replace the background color animation for a smoother visual experience.
Defined two keyframe animations (clockwise and counterclockwise) for a rotating shadow effect.

Keyframe Animations:

@keyframes clockwise:

Created an animation sequence to simulate a shadow moving in a clockwise direction around the card.

@keyframes counterclockwise:

Created a complementary animation to simulate a shadow moving in a counterclockwise direction.

Card Shadow on Hover:

Before:

Background color changes were used to highlight the card on hover.

After:

Introduced a box-shadow effect to provide a more polished and modern animation. The shadow moves around the card in a dynamic way, enhancing the user experience.

Benefits
Improved Visuals: The new hover animation provides a more modern and sophisticated look.
Enhanced User Experience: The dynamic shadow effects make interactions more engaging and visually interesting.

I also added "Space Mono" font

Hello Amyy,
This was my 1st contribution which got merged. I will be glad to know if I
get any achievement badge for it 😅.
Thanks,
Achal
On Mon, May 27, 2024, 11:00 PM Amyy Stephanie Alex-Okenwa <
@.***> wrote:

Merged #222 https://github.com/amyyalex/simple-contribution/pull/222
into main.
—
Reply to this email directly, view it on GitHub
https://github.com/amyyalex/simple-contribution/pull/222#event-12948425560,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4ABMTDOWXTUV4YM5CAZMV3ZENUR3AVCNFSM6AAAAABILDUQIGVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSHE2DQNBSGU2TMMA
.
You are receiving this because you authored the thread.Message ID:
@.***>


[$500] LHN - Created Split Bill Group chat in offline displays in bottom in LHN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.91-7
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
Action Performed:
Precondition: user should be signed in to HT account with multiple chats in LHN

Open https://staging.new.expensify.com/
Disable internet connection
Click on FAB
Click on Request Money
Enter amount and click Next button
Select two or more attendees with non-existing account and Click next
On final confirmation page click Split button
Scroll down the LHN and find the created group chat position

Expected Result:
Created Split Bill group chat should be displayed on top in LHN
Actual Result:
Created split bill group chat displayed in bottom in LHN
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Safari ( The issue is not reproducible in Chrome browser)
[ ] MacOS: Desktop

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Safari
https://github.com/Expensify/App/assets/115492554/fed4df60-08eb-4fc6-9981-53dcac6d0d74

MacOS: Desktop

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017ec1c10c1e85daae
Upwork Job ID:<PHONE_NUMBER>275853312
Last Price Increase: 2023-10-26

Issue OwnerCurrent Issue Owner: @rushatgabhane

Proposal
Please re-state the problem that we are trying to solve in this issue.
When a money request is split with participants with whom there is no open IOU Report, the LHN displays the IOU Reports with such participants towards the end of the LHN.
What is the root cause of that problem?
When a split money request is created, the optimistic data of the IOU Report is set here. However, since this would be a new report lastVisibleActionCreated will not be set as seen in the optimistic creation of iou reports here. Since LHN sorts the reports based on lastVisibleActionCreated as shown here, the newly created IOU Reports will be displayed towards the end of LHN. This is the root cause.
What changes do you think we should make in order to solve the problem?
To set lastVisibleActionCreated for newly created IOU Reports, we can set it to the report action like this here
                ...(isNewIOUReport ? {pendingFields: {createChat: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD}, lastVisibleActionCreated: iouAction.created} : {}),

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
LHN - Created Split Bill Group chat in offline displays in bottom in LHN
What is the root cause of that problem?
The root cause is that Android only converts RTL text to LTR text using Unicode controls and by default, when you start writing in a language that is written in RTL mode it converts the input text to RTL.
What changes do you think we should make in order to solve the problem?
The best solution is to add \u2066 unicode character before starting to write, I suggest modifying the next function (updateComment):
https://github.com/Expensify/App/blob/5d45f0f6c86e97d4ae58ac167b6c162a610b817c/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions.js#L213
This is the result:
https://github.com/Expensify/App/assets/5216036/3ed28629-258e-446c-9a82-6e6438f7dbfe

Bump here @rushatgabhane.

Dupe of #30472

Okay, lets close.


Enable fine-grained access control for full-stack signals

Describe your motivation
There should be a way of only allow specific modification operations for specific signals that are returned to the client.
Use cases
The generic feature is to let server-side application logic decide which operations are allowed in a specific case for a specific user. In a poll application, there could be a NumberSignal for each option containing the number of users that have selected that option. In this case, users should only be allowed to submit operations to increment the number by 1 but not to do bigger increments or reset the signal to an arbitrary value. If the user is allowed to change their mind, then "incrementing" by -1 should also be allowed. Another way of implementing the same use case is that there's a list of the choice made by each user which means that users should only be allowed to add an entry to the list if the entry contains the user id of that user and if it's allowed to change their mind then it should only be possible to remove one's own entry.
Furthermore, it should be possible to close a poll so that no additional updates are accepted from any user. This means that it needs to be possible to take other parts of the application's overall state into account when deciding whether an operation should be accepted. It's not enough to only use information about the currently logged in user. It should also be possible to configure the access control so that the poll owner can reset the value to any value, even if the poll is closed.
A simpler case is if some signal should be read-only for some users but fully modifiable for other users. A poll application could have a ValueSignal containing an object that describes the currently active question. All participants should be able to subscribe to events when the question is changes but only the poll owner can change the question. This seems like a simpler variant of the generic functionality that could work in the same way but potentially have a shorthand API.
There's also an even more complex case to take into account in the design even if we don't implement it right away (or ever). If a bank account balance is represented by a NumberSignal, then any withdrawal should have the requirement that the withdrawn amount is larger than the current bank balance. Because of potential race conditions in a clustered setup, the access control logic cannot know what the signal value will be when the operation is applied which means that the submitted operation would have to be a "transaction" that conditionally updates the value only if the value at that time is large enough. One way of doing this is that the client must submit a proper conditional transaction and the access control logic verifies that this is the case. But it's redundant that the client even needs to know about this so it would be even better if the client could just submit regular incrementBy(-100) operation and then the server-side access control logic will inspect that operation and actually submit a corresponding conditional operation to the underlying system.
Additional requirements

An explicitly rejected operation will lead to an exception being thrown from the .result promise of the operation. If we ever implement support for replacing operations to e.g. include some additional conditions, then this should not lead to an exception from the promise but instead resolving the promise based on the status of the actually applied operation.
Latency compensation should remain functional even if access control is used. This means that the operations should be applied through regular client-side operations such as incrementBy so that the client can know how to show feedback to the user immediately.
Even though the described use cases are centered around the simple number signal, the actual functionality should be implemented for all signal types.

Out of scope

There's no granular access control for read operations. A user who is allowed to subscribe to a signal will see all operations applied for that signal and all signals "in the same event log" (i.e. both a top-level list signal and all value signals that are children of that list) which in turn means that all values stored inside the signal will be visible to all subscribers.
It's not a goal to be able to express granular access control rules in a declarative way so that we could generate TypeScript that knows what will be allowed. But if a declarative API design is otherwise a good fit, then there's no reason why we couldn't use a declarative API.

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

FYI, Spring Security is now recommending a declarative approach (the @PreAuthorize annotation) that we may be able to parse and use on the client side as well: https://docs.spring.io/spring-security/reference/servlet/authorization/method-security.html

Spring Security is now recommending a declarative approach (the @PreAuthorize annotation)

What would the three use cases from the ticket description look like as a string inside an annotation like @PreAuthorize?

Regular users can only increment by 1 and decrement by 1, owner can make arbitrary changes
Regular uses can only read, owner can make arbitrary changes
Owner can write, but only with a matching condition to ensure that any withdrawal is smaller than the current account balance

The third case is actually two different things. The security check is about making sure only the owner can write. The balance check is a business rule that has nothing to do with security. I don't think we should try to shoehorn both of them into the same mechanism.
As for the first two use cases, applied on individual signal methods, they would probably be doable without any custom SpEL syntax. However, since the annotation is about to be placed on the method that returns the signal, it probably gets more complicated. Spring uses AOP to implement the security checks, and in this case, the security check would be applied to the call to the method that returns the signal, not the signal itself.
We may have to introduce our own annotation, or multiple annotations, that mimic @PreAuthorize. Maybe something like this for the first use case:
@AuthorizeSignalWrite("hasPermission('signal:owner') || (hasPermission('signal:increment') && #incrementBy == 1)")
@AuthorizeSignalRead("hasPermission('signal:read')")
public NumberSignal mySignal() {...}

And something like this for the second use case:
@AuthorizeSignalWrite("hasPermission('signal:owner')")
@AuthorizeSignalRead("hasPermission('signal:read')")
public NumberSignal mySignal() {...}

I hope modern IDE:s with Spring support also offer help for SpEL. Personally, I prefer writing Java code to scripting in strings like that since you don't notice if you've made a mistake until runtime (if even then).

Couldn't you also argue that the limitation on allowable increment deltas for the poll is also a business rule rather than a security rule?

Yes, you could.

I don't know. We have to investigate that.

My proposal is to allow to extend signals. Suppose that NumberSignal provides 3 operations: update, replace, and incrementBy, and that its corresponding TS provides latency compensation for those operations. Then, there would be 2 ways of implementing a VoteSignal:
@RolesAllowed(Role.ADMIN) // to restrict "update" and "replace"
public class VoteSignal extends NumberSignal {
  /**
   * Restricts the vote amount to 1 or -1
   */
  @AnonymousAllowed
  @Override
  public void incrementBy(double amount) {
    return super.incrementBy(Math.signum(amount));
  }
}

In this case, you still get the default latency compensation from the superclass on the client, which works fine as long as the voting amount is correct.
@RolesAllowed(Role.ADMIN) // to restrict "update", "replace", and "incrementBy"
public class VoteSignal extends NumberSignal {
  /**
   * Express the business action of voting
   */
  @AnonymousAllowed
  public void vote(double amount) {
    return incrementBy(1);
  }
  // ... same for "unvote"
}

This one expresses the intention more clearly, but it needs to allow the developer to define a latency compensation action for the generated vote and unvote functions in TypeScript, otherwise the UI will only be updated after server confirmation.

One aspect that isn't directly supported when overriding methods is to intercept transactions in a way that allows you to review all the operations in the transaction as a whole. We can still solve that by also providing a more low-level transaction listener for that purpose while keeping signal subclasses as the main API to use for all of the most common cases.

A potential future problem with overriding those methods is that there will eventually be a non-trivial return type from each operation rather than only void. That's fine if you either throw an exception or call a compatible super method but I'm not sure if there would also be cases where you couldn't have an easy way of creating the value that you're supposed to return in the hypothetical special cases when you apply a different operation than the original one.

What should the TS type be for a service method that returns a VoteSignal?

If it's NumberSignal, then it's potentially confusing that it's different than the Java type.
if it's a generated VoteSignal type, then it's potentially confusing if it doesn't also contain any new public methods that I have added to the Java subclass.

That would definitely need some improvements to the generator, as I do expect a VoteSignal to be generated, along with all public methods I added and hooks to provide custom TS for latency compensation on those.

A potential future problem with overriding those methods is that there will eventually be a non-trivial return type from each operation rather than only void. That's fine if you either throw an exception or call a compatible super method but I'm not sure if there would also be cases where you couldn't have an easy way of creating the value that you're supposed to return in the hypothetical special cases when you apply a different operation than the original one.

Given that, in the long run, we can't afford to send the whole updated value each time and we rather need an operation log to apply them incrementally, all things a method can do must go down to a sequence of those basic well-known operations. So, a method would be a simple logical wrapper around a sequence of one or more additions to the log.

There's one thing we're forgetting: signals can be nested. As a reminder ListSignal<T> corresponds to Signal<List<Signal<T>>>. I'm not sure how subclasses could be used when it's the inner signal type that has some restrictions.
As a simple made-up example, let's say that we have a ListSignal<String> and want to enforce that all the strings are at least 3 characters long.

For validation, I think there are (at least) two alternatives here:

Validation is handled by combining signals. For instance, the raw input ListSignal<String> can be mapped to another signal whose value is the validation state.
Validation is a feature that can be built into every signal, with all the added complexity.

I propose alternative 3: you can wrap a signal instance to create a new signal with the same type but also using an interceptor callback that will be called for all operations to that signal or any of its child signals.
In practice, combining signals does also mean that you always need to have one "write signal" and then somehow copy the values over to a "read signal" with the validated values. This copying is probably more application code as an interceptor and it does also have the drawback that you lose latency compensation unless there's also an API for combining both signals into one. But that combine signal is basically the same as the interceptor wrapper that I'm suggesting.

As a simple made-up example, let's say that we have a ListSignal<String> and want to enforce that all the strings are at least 3 characters long.

ListSignal wraps the value in a ValueSignal, so this case could be solved by allowing the ListSignal to customize the item signal type. If I define a NotTooShortStringSignal extends ValueSignal<String>, I should then be able to customize the wrapper and instantiate it as new ListSignal<String>(NotTooShortStringSignal.class) instead of new ListSignal<String>(String.class).

Can't overload the existing ListSignal(Class itemType) constructor but I think the generic type could be handled with a static factory method like this
public static <T, S extends ValueSignal<T>> ListSignal<T> withChildSignalType(Class<S> childSignalType)
But there will be another level of complexity with this approach when we get to TreeSignal since the whole point there is that different child signals can have different types.

I don't warm up to the idea that you have to extend a signal class in order to do any of this, including adding annotations to it. I would prefer an approach where I can do everything I need by composition.

One option with composition rather than subclassing could look like this for the max string length option.
ListSignal<String> unrestrictedStrings = new ListSignal<>(String.class);

ListSignal<String> restrictedStrings = unrestrictedStrings.withValueValidator(value -> value.length() >= 3);

With this approach, restrictions would be applied for all client to which restrictedStrings is returned whereas clients to which unrestrictedStrings is returned wouldn't have any restrictions.
withValueValidator is a shorthand for wrapping the signal instance with an interceptor that is run for all incoming change operations through that instance (or any of its child signals). Directly implementing an interceptor is somewhat tedious since the implementation needs to take into account all possible operations that any type of signal may receive (since that's how the upcoming tree signal type works).
The same example with a low-level interceptor could look like this:
ListSignal<String> restrictedStrings = unrestrictedStrings.withInterceptor(operation -> {
  if (operation instanceof ValueOperation valueOp) {
    // ValueOperation covers all operations that carry a value, e.g. insert (for list signals), set (for value signals), and put (for map signals) as well as various conditional variants of those.
    // Should actually also check for tree signal operations like inserting into a child but not doing that here for brevity.
    String value = valueOp.getValue(String.class);
    if (value == null || value.length() < 3) {
      return SignalOperation.deny();
    }
  }

  // Accept all other operations, e.g. removing or re-ordering entires
  return operation;
});

One benefit of this model is that also applies to usage directly through the signal instance's API and not only to Hilla clients. This means that a service could return signal with an interceptor to e.g. some Flow UI logic and this would apply exactly the same restrictions that would be used for operations from a Hilla client.

That looks better!

Composition is proving to be a better programming model than inheritance, at least that's where most modern programming languages and libraries are going. But, even with composition, it should be possible to communicate an intent, like "vote", or "withdraw". That restricted string could be an username, for example.

Communicating intent is a different feature than restricting which values / operations are allowed. The inheritance-based approach focused on the intent that was suggested earlier did still also need annotations to define restrictions.

Would it be a good constraint to only support predicates at this point?
ListSignal<String> restrictedStrings = unrestrictedStrings.withOperationValidator(operation -> false);

A validator returning boolean should indeed be sufficient for most reasonable cases. Might be some cases where it would be more convenient to inject e.g. transaction restrictions from the server instead of adding them on the client and then also separately validating them on the server but we can add an API for that later on if we needed.
We would need these operation types for the initial implementation based on the available operations on the currently implemented signal types.

SetValueOperation (not named SetOperation since that might be mistaken for an operation on a set)
ReplaceValueOperation (note that update on the client is actually one or several replace operations)
IncrementOperation
ListInsertOperation
ListRemoveOperation

Note that the ValueOperation that was suggested in a code snippet above is not a fundamental operation type but instead an interface implemented by all operations that carry a value, i.e. SetValueOperation, ReplaceValueOperation and ListInsertOperation. This also implies that all those operations should use the same method name to get the new value.
The initial implementation can assume that a legitimate client only sends operations that will be accepted so that the server-side validator is there only to protect against tampering. This means that the server can silently ignore operations that do not pass the validator. We will make sure the client remains in sync with the server even after sending an invalid operation only after we have introduced client-side latency compensation based on a stack of unconfirmed operations.
Each withOperationValidator invocation creates a new instance that wraps the original signal instance. The original signal instance should remain without the validator. Value changes applied to the new instance should be applied to the original instance (if they pass the validator). Multiple levels of wrappers should go through each validator in order until getting to the original signal instance. Subscribing to changes from the new instance should subscribe to changes to the original instance.

Apart from introducing new methods for the above mentioned operations, would it be OK if we just provide an extra asReadonly() method for the signals that adds all the necessary validators at once?

If we're going to have any shorthand API on top of the low-level feature, then asReadonly() is probably the most impactful one to have.


[MLU] fix sync_bn datatype bug

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.liuyingli seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Stuck on step 1

Thanks for updating your documentation Tim - so annoying having to make these changes!!!
For some reason I have failed at the first hurdle - step 1
My url for the json call is https://auth.tesla.com/oauth2/v3/authorize?client_id=ownerapi&code_challenge=VL95A2s2C_T5I6SJIlx6QR_OkFhmodeaP9NXE6kjHAQ&code_challenge_method=S256&redirect_uri=https://auth.tesla.com/void/callback&response_type=code&scope=openid email offline_access&state=413a024e329e7ea02eebca21
Content-Type of  'application/json'
I get a error 500 response from the Auth server -  500 Can't connect to auth.tesla.com:443 (connect: Network is unreachable)

Apologies - posted in wrong place.


[swr] Optional swrKey and conditional fetching for generated SWR requests

Hi there!
the swrKey option currently is currently defined required if you pass the swr object, but we would like the flexibility of passing down options to the useSWR instance without necessarily passing a custom key.
Making it optional seems completely valid here, as already seems to be handled properly (output example from docs):
   const swrKey =
     swrOptions?.swrKey ?? (() => (isEnable ? getShowPetByIdKey(petId) : null));

[edit]
I realised it also isn't as straightforward to use the conditional fetching from SWR by passing null as the key, as it will just use the generated key as a fallback. In some cases, it might actually be useful to pause requests from SWR since we for example want to await a certain state update, while the state update itself might not be a parameter necessary for the request itself. From the swr docs;
// conditionally fetch
const { data } = useSWR(shouldFetch ? '/api/data' : null, fetcher)

In order to facilitate this I also added an shouldFetch option to the swr configuration object, but there might be other simple solutions I'm not seeing here.
The new output of the petstore would simply always contain the isEnable, regardless whenever there would be parameters or not:
  const isEnable = shouldFetch !== false
  const swrKey = swrOptions?.swrKey ?? (() => isEnable ? getShowPetByIdKey(petId,version) : null);

Lmk!

Hello @RobbyUitbeijerse, thanks for the merge request what do you think about naming it enabled to align with react query?

@anymaniax makes sense, I renamed shouldFetch to enabled, renamed the variable isEnable to isEnabled. Also updated the swr guide, that should cover things.

thanks for the merge @anymaniax! I'm currently running a patched version of Orval based on the pr, any plans of releasing this soonish? 😁


"Save Image" does not work on the Windows application

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary

When we right click on an image and click on "Save Image", nothing happens.
Environment

Operating System:
Mattermost Desktop App version: 4.6.2
Mattermost Server version: 5.32.1

Steps to reproduce
Right click on an image and click on "Save Image".
Expected behavior
An opening of the Windows Explorer.
Observed behavior
Nothing.

Possible fixes

hi, this is fixed in the upcoming v4.7, you can try the beta if you like to test.
closing for that reason, but feel free to reopen if you think we didin't address it properly.

Mattermost Desktop App version: 4.7.0
Mattermost Server version: 5.34.2
OS: Windows 10
I do see a new option Save Image As along with Save image and Copy image -- but neither of the save actions do anything with an image. Doesn't look like this is resolved.


Complete project

In this PR I did the following:
Interactions

Home page

When the page loads, the web app shows the list of countries that could be filtered out by the country name.
Along with the country name, you will display some values per country that come from the API.
When the user clicks (or taps) on a category item, the application navigates to the details page.

Details page

On the details page, the web app retrieves data from the API to show detailed data in the country.
When the user clicks on the "Back" button (<), the user navigates to the home page.

Testing requirements

Created unit tests for pure functions in your Redux code.
Created integration tests for your application using the React Testing Library.

Technical Requirements

The project is a single-page application (SPA) built with React and Redux.
The data retrieved from the API be stored in the Redux store.
I filtered the data that you retrieve from the API using a Filter stateless component.
Every page (the main page and the pages for each item) is a unique route within the SPA.
The project is deployed and accessible online (a link to the online in the README file).

Hi @Pazzo97,
While you made a great effort in this project, unfortunately, I cannot proceed to review your code.
Invalid Code Review Request
You have submitted a project, that has wrong Gitflow.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Added AWS CloudTrail account ids to vendor_accounts.yaml

Added account ids so that CloudTrail accounts are not unknown for wot command

Thank you!


Add rule: no_superfluous_elseif rule to laravel

PHP-CS-Fixer Rule: no_superfluous_elseif
--- Original
+++ New
 <?php
 if ($a) {
     return 1;
-} elseif ($b) {
+}
+if ($b) {
     return 2;
 }

No sure on this one. But going to let @taylorotwell decide.

Going to hold off on this one.


CPU Watchdog

/to @bnoordhuis we are copying watchdog over into appmetrics.
Also, don't know if you noticed, but strong-supervisor 5.x replaces strong-agent with appmetrics, and once I get its builds stable on all platforms, I'll update strong-pm and the liberty PM (aka apiconnect-collective-member) to use supervisor 5.x, and strong-agent will no longer be a dependency of Strongloop/IBM's latest node tooling.

@sjanuary a git rebase -i origin/master will clean out the history, particularly the merges.

I'd like to keep the discussion going on this but I think we should close this PR as the code was actually already merged under #280.


Delay pong responses to reduce number of pings from WebSocket clients

The current behavior of em-websocket is to respond to each ping frame immediately with a corresponding pong frame. But the WebSocket spec allows us to delay for some time before responding to a ping frame, and the spec also allows us to drop responses and only respond to the most recent ping frame. This PR does both.
The motivation for this change is to mitigate the cost incurred by faulty WebSocket clients behaving like so:
for (;;) { send_ping(conn); rcv_pong(conn); }

This PR reduces the pings sent by such clients to at most 5 per second, by delaying the pong message by 200ms.

Thanks James!


[breaking change] gettimeofday 2nd argument incorrect in some targets

The second argument of gettimeofday was a *mut c_void on all targets,
but that type is incorrect in the following targets, where it should be
a *mut timezone instead:
On these other targets it appears that the signature of gettimeofday was incorrect (it takes a time-zone pointer instead of a void pointer):
linux+gnu: http://man7.org/linux/man-pages/man2/gettimeofday.2.html
freebsd: https://www.freebsd.org/cgi/man.cgi?query=gettimeofday&apropos=0&sektion=2&manpath=FreeBSD+11.2-stable&arch=default&format=html
openbsd: https://man.openbsd.org/gettimeofday.2
newlib: https://github.com/kraj/uClibc/blob/master/libc/sysdeps/linux/common/gettimeofday.c#L13
android: https://github.com/ricardoquesada/android-ndk/blob/master/usr/include/sys/time.h
dragonfly: https://www.dragonflybsd.org/cgi/web-man?command=gettimeofday&section=2
This commit corrects the type on these targets, which is a breaking change. Due
to how this API is commonly used (e.g. passing ptr::null_mut to the second
argument), breakage should be minimal or non-existent (AFAICT only time, libstd, and parking_lot use this API, and they all should compile after this change). Users wanting to support both versions can just write ptr as *mut _ instead.
Closes #1338.

On these targets, the signature of gettimeofday was correct (the second argument is a void*):

macosx: https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/gettimeofday.2.html
linux+musl: http://git.musl-libc.org/cgit/musl/tree/include/sys/time.h#n11
linux+newlib: https://chromium.googlesource.com/native_client/nacl-newlib/+/99fc6c167467b41466ec90e8260e9c49cbe3d13c/newlib/libc/include/sys/time.h#74
netbsd: http://netbsd.gw.com/cgi-bin/man-cgi?gettimeofday+2.i386+NetBSD-8.0
solaris/illumos: https://illumos.org/man/3C/gettimeofday
emscripten: https://chromium.googlesource.com/external/github.com/kripken/emscripten/+/1.35.20/system/include/libc/sys/time.h#11

cc @alexcrichton

@gnzlbg: no appropriate reviewer found, use r? to override

@semarie thoughts about directly doing a breaking change for OpenBSD ?
@strangelittlemonkey @leo60228 ping on the breaking changes for newlib and dragonflybsd - you might need to patch libstd after this is released.

So I just tried to update the crates depending on gettimeofday on the broken platforms, and there is nothing to update (most crates will continue to compile after the breaking change due to how this APIs are used) so I'm going to not provide a fallback here.

cc @asomers since this is a breaking change on FreeBSD.

no problem for me with a breaking change. but it seems to me that if you removed the bad definition of gettimeofday, you not added it back for openbsd.

I wouldn't personally consider this worth a breaking change, but I think it's fine to land. I do think though that it requires being pretty vigilant after the release and ready to revert if it causes undue breakage.

I'll do a release with this change only once its ready, and submit a PR to rust-lang/rust to update libc.

Looks good. FWIW, that's the Linux-specific time header in newlib, the actual one is here: https://github.com/devkitPro/newlib/blob/devkitA64/newlib/libc/include/sys/time.h#L370

Wait, I misunderstood what the commit did. It should be void* on newlib.

thanks @leo60228 for taking a look, i've updated the PR, rebased, and all seems green.
@bors: r+

:pushpin: Commit 759c837611381ba002bfd2927059b680dc6c8eb3 has been approved by gnzlbg

:hourglass: Testing commit 759c837611381ba002bfd2927059b680dc6c8eb3 with merge 50f4b671cf84c051e20243f71719b6b296470495...

:sunny: Test successful - checks-cirrus, checks-travis, status-appveyor
Approved by: gnzlbg
Pushing 50f4b671cf84c051e20243f71719b6b296470495 to master...


Support for 1Password configuration provider

We've had many asks to support pulling credentials out of 1Password.  Doing this would enable 1Password to be the source of truth, but to pulll required values down on-demand, and authenticated at the time of access, instead of copy-pasting values out of 1Password into other configuration systems.
This is currently dependent on REST API/SDK for accessing 1Password data via an application token.

Hi @lukehoban, sounds good. Just inform me if you need beta testers.
I have used it before with Terraform to shift values to hashicorp vault. Also used 1Password as an external secrets provider in kubernetes. I think tohandle everything over pulumi esc sounds good. And to manage and share credentials over 1password with my team.

@gigo1980 please send me an email at<EMAIL_ADDRESS>and I can get you added to the beta.


Update example site content

Outdated

this will have to be redone multiple times; but currently its just to review outdated stuff like windows support.


Embeddings don't seem to work.

I attempted to utilize the embedding model following the example provided on https://ollama.com/blog/embedding-models, yet each time, it returns: "Llamas are vegetarians and possess highly efficient digestive systems."
main.txt

Am i doing something wrong here?

Thanks for the detailed explanation.


What a beautiful Name it is - Hillsong

Hello, would really appreciate if you could help to add this song from Hillsong. Thank you for adding the other songs so far.
 I can't find the song even I've updated the songs.

Hi,
We haven't added this song to our app. Will add soon.

Aathiyile Varthai Neere (Author Unknown {ஆசிரியர் தெரியவில்லை}).zip


fluffychat: 1.12.1 -> 1.13.0

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

build fails with
fluffychat> [        ] /nix/store/fm1xq4f3g48k1mmwl6qg9jc3ipgfsk1x-binutils-2.40/bin/ld: warning: libgbm.so.1, needed by /build/source/linux/flutter/ephemeral/.plugin_symlinks/flutter_webrtc/linux/../third_party/libwebrtc/lib/linux-x64/libwebrtc.so, not found (try using -rpath or -rpath-link)
fluffychat> [        ] /nix/store/fm1xq4f3g48k1mmwl6qg9jc3ipgfsk1x-binutils-2.40/bin/ld: warning: libdrm.so.2, needed by /build/source/linux/flutter/ephemeral/.plugin_symlinks/flutter_webrtc/linux/../third_party/libwebrtc/lib/linux-x64/libwebrtc.so, not found (try using -rpath or -rpath-link)

Say if you need help.

Surely could use some.
Adding ld flags as such can make it build, but still cannot run with broken rpaths.
-- a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -1,6 +1,8 @@
 { lib
 , fetchFromGitHub
 , imagemagick
+, mesa
+, libdrm
 , flutter
 , makeDesktopItem
 , gnome
@@ -47,6 +49,8 @@ flutter.buildFlutterApplication rec {
       --subst-var out
   '';

+  env.NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath [ mesa libdrm ]}";
+
   meta = with lib; {
     description = "Chat with your friends (matrix client)";
     homepage = "https://fluffychat.im/";

Might be worth trying something like preBuild="export CXXFLAGS="$CXXFLAGS -L${mesa.lib} -lgbm -L${libdrm.lib} -ldrm"
what is the error you get when running?

$ /nix/store/cxfqjwshlcqnq74qn01w99lyg4la9cv1-fluffychat-1.13.0/bin/fluffychat
/nix/store/cxfqjwshlcqnq74qn01w99lyg4la9cv1-fluffychat-1.13.0/bin/fluffychat: error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory
$ export LD_LIBRARY_PATH=/nix/store/afajk9q9cvsxcgw22vl9vh53h3bdgcpl-mesa-23.1.4/lib:/nix/store/qx2y7chays0azsb9zfk2qx7z3hjzmvhl-libdrm-2.4.115/lib
$ /nix/store/cxfqjwshlcqnq74qn01w99lyg4la9cv1-fluffychat-1.13.0/bin/fluffychat
#
# Fatal error in: ../../media/engine/adm_helpers.cc, line 39
# last system error: 0
# Check failed: 0 == adm->Init() (0 vs. -1)
# Failed to initialize the ADM.fish: Job 1, '/nix/store/cxfqjwshlcqnq74qn01w…' terminated by signal SIGABRT (Abort)

The Failed to initialize the ADM could be related to my use of pipewire, not sure though.

You need to strace it to see what library it tries to open. But as far as memory serves, it needs pulseaudio in the library path?

Wow it does the trick, setting LD_LIBRARY_PATH to lib.makeLibraryPath [ mesa libdrm pulseaudio ] makes it work.

ping @gilice for another review.


Fix: Sort

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