Intercept matrix.to URLs within the app

Vector/Web now generates permalinks as matrix.to URLs.  Therefore we need to (urgently) recognise matrix.to URLs within the app and follow them within the app rather than linking out to the matrix.to website.
https://github.com/matrix-org/matrix-react-sdk/commit/ad873c2b60c1b7fead2b20975a66c6dc6cec06cc#diff-43ba768343dac45fa03389f245f80e39R106
...is the equivalent commit for vector-web.
(see also https://github.com/vector-im/vector-ios/issues/547)

https://github.com/vector-im/vector-android/commit/89687041d2cdcd4cf6336c401e344d6523f35dc4


Follow-up PR for ID Localization for Service Topology

Follow-up PR from previous closed PR #20229

@ariscahyadi can you please rebase this first?

@ariscahyadi can you please rebase this first?

Just did it and upload new commit.

@ariscahyadi can you please rebase this first?

Just did it and upload new commit.

Just completed to fix it.

@ariscahyadi looking good, thanks for this follow up PR! sorry for the delay
/lgtm
/approve


OCR recognizing things that arent characters and refusing to recognize things that are

Environment

Tesseract Version: v<IP_ADDRESS>20510
Commit Number:
Platform: Windows 32-bit (Using pytesseract as a wrapper)

Current Behavior:
Returns a seemingly random (but consistant) string of texts
Running these two images:
https://imgur.com/a/B34dVSZ
through
Test = Image.open(r"C:\Users\xdutf\OneDrive\Documents\Raging Bloodgil.png")
OCR_text = pytesseract.image_to_string(Test)[:-1]
print(OCR_text)
returns "istTe fare m= celexeeli |"
and
Test = Image.open(r"C:\Users\xdutf\OneDrive\Documents\Young Sea Dragon.png")
OCR_text = pytesseract.image_to_string(Test)[:-1]
print(OCR_text)
returns "a Zolvlare Bst-1-MPLE-le(el]
Expected Behavior:
Returns the text "Raging Bloodgill" and "Young Sea Dragon" respectfully
Suggested Fix:
I do not know

Suggested Fix: reading documentation.


Define the "nice to have" features for a default 2i2c hub configuration

Context
The Jack Eddy Symposium is an opportunity to showcase open science workflows made possible by the Jupyter ecosystem. The hub for the Symposium is an MVP informing a future hub configuration that provides a seamless experience for users, causes their jaws to drop in awe, and enables them to learn, discover, and collaborate better.
This issue stub, suggested by @damianavila, in this comment aims to describe the improved hub config.
Proposal
Some incomplete brainstorms building on the discussions re: Eddy Symposium and SOLyR follow:

[ ] what is the "base hub configuration"?
[ ] How can "discipline-specific enhancements" be added on to the base hub?
[ ] Will the enhancements break when the base hub is upgraded?
[ ] How can the base hub configurations and enhancement packages be catalogued and discoverable?
[ ] Do users like these kinds of hubs? How can we measure user satisfaction? Can we quantify improvements in collaboration or discovery or learning?

The JMTE hub and the way it has been used by @fperez, students, and collaborators provide a stream of insights on this issue.
Updates and actions
No response

Excellent, thx @colliand!
This gives me an idea: to run a quick survey at the end of the Eddy workshop asking folks to rate these features in terms of value to them. I'm thinking of a simple google form they can fill out in 5 min on Friday, before they leave.
I'm happy to write the form early in the week btw, and folks can comment on it.

For future readers, @yuvipanda added a bunch of the staff @fperez requested here: https://github.com/2i2c-org/infrastructure/issues/1329#issuecomment-1144689220. This is an important data point at the time to define the features we want to ship in the default configuration for 2i2c hubs.

Are we still going to run a survey? It would be great to see some feedback from the attendees.
Personal take: We had a bimodal distribution of experience wrt to the tools run from the hub. There were those just coming to terms with git and pyton/jupyter and those seeking to use the latest domain specific tools. A hub that starts with a directory of simple tutorials (and a minimal kernel that satisfies the needs of those tutorials) would be a good default "base hub" feature.  Additional hub areas and custom kernels could be created depending on the subject/workshop area.

I've opened up this one to track the "introductory notebooks" piece:

https://github.com/2i2c-org/infrastructure/issues/1415


[Tracking] Cloud Native Sustainability Week 2024 London

Description

Location/Region: tbd
Organizers: Rohit Ghumare (@rohitg00)
Sponsors: tbd
Date: TBD October
Event link: tbd

Details
We plan to launch Cloud Native Sustainability Week in London in 2024, as previously discussed in the TAG on the Slack community.
To-Do

[X] Review the Meetup Organizer Guide for onboarding.
[X] Check the website.
[ ] Create a PR to update the Meetup's table on the website. Example PR.
[ ] Join one of the TAG ENV Sustainability Week Syncs to talk about your event.
[ ] Find a sponsor for the event.
[ ] Find a location for the event.
[ ] Set a date for the event.
[ ] Announce the event.
[ ] Reach out to the Cloud Native Sustainability Week Organizer team to promote the event.

Code of Conduct

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

Comments
No response

hi @rohitg00
I just created #497 for hosting event in Brighton, UK. We have a venue and date - no speaker. @JulieChenadec suggested we could chat about combining efforts. Am happy to discuss. Equally if you already organised and set then we can host separately as South East siblings :) All the best.

Hey @anewmandev, This seems like a good idea. If possible, we're planning to host it in London close to the KCD UK event. Any suggestions or involvement are appreciated.

Hi @rohitg00.
We already have venue and date sorted in Brighton as we host monthly community events for https://greensoftwarebrighton.co.uk. We could host the same event but in two different locations on two different evenings. Which would be interesting but would involve a lot more coordination. My suggestion is that, on this occasion we opt to host separete events, but I would be up for chatting about collaborating on a future event - feel free to ping me on<EMAIL_ADDRESS>for a chat.
Or if you have other ideas I am all ears.
All the best
Adam

Hello @rohitg00 @anewmandev
I hope you're doing well. With just a few weeks left, I wanted to check in and see if you need any help with anything. It would also be great if you could provide us with updates in your TO-DO section.

Hey @Nancy-Chauhan, we have a meeting tomorrow (friday) to discuss and make some plans. I'll make sure we update the relevant details as needed!

I'm an Academic in London South Bank University, please let me know if I can be of any help?

Hi @Nancy-Chauhan I have updated separately for Brighton event in #497.
I need to jump on one of the calls soon, how do I find when the next meeting will be, I saw on slack possibly next Monday 23rd?
Thanks

Hello @rohitg00 @anewmandev
I hope you're doing well. With just a few weeks left, I wanted to check in and see if you need any help with anything. It would also be great if you could provide us with updates in your TO-DO section.

I'm an Academic in London South Bank University, please let me know if I can be of any help?

Hi @seekasra.
I imagine you were asking about the London event so possibly @rohitg00 maybe can respond re: that?
In other news: perhaps you and I will cross paths through LSBU at some point as I may be around in some very small capacity this year through Ian Mackie who has just joined from Sussex, which is where we are based. Adam

We have confirmed a location and date (October 24th) in London

Agenda is up: https://lu.ma/1yx3wzsk

Hi! Just a reminder to submit all the speakers and organizers' information for Credly badges using this form https://forms.gle/KHizxY47h3ynEBUL9

Any update on our blog? https://github.com/cncf/tag-env-sustainability/issues/567


could not determine kind of name for C.pango_attr_insert_hyphens_new

Hi there
I just tried based on the instructions and got error
could not determine kind of name for C.pango_attr_insert_hyphens_new

not sure which depends should I need?

You need gotk3 at https://github.com/gotk3/gotk3. Follow the instruction there to install.

Thanks but I already got it installed.
I have an app https://github.com/sunshine69/gnote and building is fine - that is I have a working gotk3 locally. I am trying to add gtksource view into the app and I got the error.

I created a pull request #5. It's just a demo, you don't need to merge it. Most of the line changes are from my VSCode auto formatting, thus can be ignored. The demo enables markdown language, so you can verify it with markdown text, as the attached screenshot

.

Thanks, it must be something in my env to build it and got error. When I have a chance I will try your PR to build and see if it works. Which command you used to build or you use my existing build script ?

I used the same commands you put in the README.md.

I can build your branch in my machine which is great. Thanks. I will use that to build some more features to be able to switch between textview and sourceview using config and avoid the current code hightlight interfere with sourceview when source view is in used thus I probably wont merge your branch but will use the sample in a different way. It looks like sourceview increase memory usage around 15M so better to have an option for a very low resource machine and when the use of sourceview is not needed.

I can build your branch in my machine which is great. Thanks. I will use that to build some more features to be able to switch between textview and sourceview using config and avoid the current code hightlight interfere with sourceview when source view is in used thus I probably wont merge your branch but will use the sample in a different way. It looks like sourceview increase memory usage around 15M so better to have an option for a very low resource machine and when the use of sourceview is not needed.


Documentation for modifying settings in EEPROM without UART.

First off, let me just express my appreciation for the work you've put into this.
Secondly, I thought the following might be a helpful addition for those like myself, who are still using the ikea zigbee module, and not the custom one.
As I wanted to reverse the orientation of the blind, I needed to issue the CMD_TOGGLE_ORIENTATION command over UART after flashing the firmware, but it seemed like I was unable to issue UART commands via the STLink.
However, after reviewing the code, I figured that as the device writes the settings to EEPROM, I could program the default settings directly into EEPROM using the STLink Utility, or rather it's replacement - STM32CubeProgrammer.
I found the settings were stored towards the end of the EEPROM, and it looked like the setting was being prefixed with the corresponding virtual addresses I found within the code.
The orientation setting in particular was at 0x08007930 (could these be different for other devices?) and I observed adjacant memory addresses holding other settings. Based on these prefixes in the code, I guess the process would work for changing other settings:
MAX_CURTAIN_LEN_EEPROM = 0x5555,
FULL_CURTAIN_LEN_EEPROM = 0x6666,
MINIMUM_VOLTAGE_EEPROM = 0x7770,
DEFAULT_SPEED_EEPROM = 0x8880,
AUTO_CAL_EEPROM = 0x9999,
ORIENTATION_EEPROM = 0xAAAA,
MAX_MOTOR_CURRENT_EEPROM = 0xBBB1,
STALL_DETECTION_TIMEOUT_EEPROM = 0xCCCC,
IDLE_MODE_SLEEP_DELAY_EEPROM = 0xDDD0

To change the orientation, I changed the value at 0x08007930 from 0xAAAA0000 to 0xAAAA0001, and tested the orientation was successfully reversed 😃
Unfortunately, I've since reassembled and reinstalled the blind, so I am unable to take screenshots of the process to contribute with a PR. But hopefully this is helpful enough.

Thanks for that, I was in exactly the same situation for the max length of my curtain.
For reference, as seen in https://github.com/mjuhanne/fyrtur-motor-board/blob/main/Core/Src/eeprom.c#L344, the EEPROM starts at 0x08007800 and settings in the form of 8 bytes (4 bytes the identifiers above + 4 bytes the setting value) are added to the unwritten parts of the page as they are set.
The actual setting value in the software is then the last setting value for that specific identifier. So setting a setting to a new value without erasing the entire page would involve adding the new setting (identifier + value) at the first unwritten 8 bytes at the end. In STM32CubeProgrammer those are with a purple background.
Thanks again! :)

this is great, im trying to do the same thing, but i when i use the STM32CubeProgrammer utility to search, it cant find any data matching either 0xAAAA0000 or 0xAAAA0001 - I'm using the fyrtur-0.87-sleep-4RPM.bin file. any tips?

I think i found the settings, but i have no idea how to update them...


Add support for proxy (based on env vars) to echo

This can be used for testing Ztunnel's proxy support

/retest


Compiling Issues on windows when building nuke nodes

Hi,
I'm trying to build nuke OCIO nodes on windows with visual studio 2010, at first I use the example batch file in #464 and everything build succeeded except the nuke nodes. It raises lots of linkage errors like:
OCIOCDLTransform.cpp.obj : error LNK2019: unresolved external symbol "__declspec (dllimport) protected: void __cdecl DD::Image::Iop::set_out_channels(enum DD::Im age::ChannelSetInit)" (__imp_?set_out_channels@Iop@Image@DD@@IEAAXW4ChannelSetIn it@23@@Z) referenced in function "protected: virtual void __cdecl OCIOCDLTransfo rm::_validate(bool)" (?_validate@OCIOCDLTransform@@MEAAX_N@Z) ... ...
Then I use the .vcxproj file made by cmake and add the nuke installation folder("D:\Program Files\Nuke10.5v2") to Additional Library Directories and add DDImage.lib to Additional Dependencies, then it build succeeded but in nuke when I want to use the node, it will raise an error:
D:/Program Files/Nuke10.5v2/Plugins/OCIODisplay.dll: The specified procedure could not be found.
Is that because the node use a different OpenColorIO.dll in nuke?
Cheers,
Xing

Unfortunately I could not test the Nuke plugin compilation so the batch file does not have anything to do so.
Missing symbols are not OCIO ones so I assume that these are Nuke ones. When running the cmake -G "NMake Makefiles" xxx command, the console will display a message related to Nuke. Please first double-check that message to see if Nuke libraries were found.

It doesn't find nuke libraries, I add the library manually and the dll build succeed. But in nuke it doesn't work:

I also test on Linux and there's no error.


11/06/2018 20:56 : Create Pull Request for branch prTesting_2018110620 -> master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestCon.md
:white_check_mark:Succeeded

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


Analytics to BigQuery

Dependency: https://github.com/cofacts/rumors-db/pull/62

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

8 of 15 (53.33%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 90.774%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/lib/bq.ts
1
2
50.0%

src/lib/ga.ts
7
13
53.85%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
967

Relevant Lines:
1042

💛  - Coveralls


Fix dotnet-releaser/release process not working

dotnet-releaser is not actually publishing the release for some reason when done via CI.
...maybe I shouldn't add the tag myself...? does the releaser handle this? That might fix the changelog and tagging versioning issues. But will it realize it needs to publish...?

Can we make an actual .app instead...? Maybe we need to zip things ourselves and add them to the release to fix the issue of the executables not being chmod +x'ed...
https://avaloniaui.net/blog/the-definitive-guide-to-building-and-deploying-avalonia-applications-for-macos for commands/script references

This now works properly on CI/CD. However, https://github.com/xoofx/dotnet-releaser/issues/63 is an issue, and we could probably improve things by using a .app file on macOS.
However, at least all the builds are running properly, now!

OK, the thing is executable now, so Linux is fairly good to go, but due to notarization, macOS is still a pain. We should at least build a .app for users if nothing else. Should be able to notarize it too, but that'll be another step beyond .app.


failed to build

   Compiling rustc-serialize v0.3.19
error[E0642]: patterns aren't allowed in methods without bodies
   --> /home/genofire/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-serialize-0.3.19/src/serialize.rs:147:45
    |
147 |                                             &f_name: &str,
    |                                             ^^^^^^^

please use a stabil version of rustc-serialize like in you README explained:

We use only stable version of Rust and their libraries

too(


Not working for me

Hi,
I'm testing your nice package but it's not working for me.
I've the same experience as on your Meteor Pad, no routing problem but no animation.
Is it normal your Meteor Pad is not working or it's me?
Thanks for your help!

Sorry for getting back on you so late. Something is definitely broken.. I'll look into it.

No problem, Thanks!

Alright I fixed some dependencies. Should be back to normal now. The meteorpad also works again ;)

Yes it's working. Thanks!


How can I increase the maximum concurrent connection limit for my flask uwsgi websocket server?

I have an application that needs a very large number of concurrent connections from a large number of devices (100k+). The final server will be running in a kubernetes pod.
We will have very little data transmission on those connections.
However, I cannot seem to go more than 240-250 concurrent connections in my tests to my flask server.
Am I missing something?

Nvm I found the answer.


History-server not runnnig

Steps to reproduce:
$ jinja2 -D service_account=spark-service-account -D namespace=spark -D storage_account=<storageaccount> -D container=spark-dev-storage bundle-azure-storage.yaml.j2 > bundle-azure-storage.yaml
$ juju add-model spark aks-dev
$ juju deploy ./bundle-azure-storage.yaml --trust -m spark
$ juju add-secret azure-credentials secret-key=<secret-key-from-azure>
$ juju grant-secret <secret_id> azure-storage
$ juju config azure-storage credentials=secret:<secret_id>
$ juju resolved azure-storage/0
$ juju deploy traefik-k8s --channel latest/stable --trust
$ juju relate traefik-k8s history-server

Expected behavior
History-server running
Actual behavior
The history-server goes up and down every 2-3 mins:
history-server/0*   blocked   idle       <IP_ADDRESS>         History server not running. Please check logs.
Versions
Operating system: Jammy
Juju CLI: 3.5.3
Juju agent: 3.5.3
Charm revision: 3.4/edge
K8s: AKS 1.29
Log output
Juju debug log for history-server:
history-server-log.txt
Juju debug-log for the whole model:
spark-model-log.txt

juju ssh --container spark-history-server history-server/0

showed that Caused by: Operation failed: "The specified filesystem does not exist.", 404, HEAD,  which revealed that the bucket was not created

@natalytvinova Thanks for submitting the issue. I would keep this issue open, since the charm was not really providing good information about this, which sounds a good point of improvement, and we could also provide some logic to auto-create the bucket.
I believe we should:

Check if the bucket exists after the relation is created.
If it does not exist, try to create it using the credentials
if we can't create (because of permission), go into a blocked status

I reproduced this experiment plan against https://github.com/canonical/spark-history-server-k8s-operator/pull/59 and could not reproduce the issue. The fix provided by the PR also enables switching to a different container / blob on the fly


A3: App Monitoring

Install Prometheus
The app collects at least three app-specific metrics that allow you to reason about users behavior or
model performance. These metrics include a Gauge and a Counter . The metrics are automatically
discovered and collected by Prometheus, either through applying ServiceMonitor resources or later
by adding appropriate labels to the deployments.
Additional metrics are introduced of type Histogram and Summary . All four metrics types have at
least one example, in which the metric is broken down with Labels.
Better than ”good”, but not all criteria of ”excellent” are fulfilled.
A Prometheus AlertManager is configured and at least one non-trivial PrometheusRule . For exam-
ple, an alert is raised when the service receives more than 15 requests per minute for two minutes
straight. Alerts are raised in a channel of your choice (e.g., email).

Ready for review


How to add new language (polish)?

Hey, this project is really good. Thanks for you amazing work.
I have one question. It is possible to add new language to this project? My native language is polish. I also checked that VOSK support polish language (https://alphacephei.com/vosk/models/vosk-model-small-pl-0.22.zip) I know that this model is not super ready, but is worth to check how it works 😀 also I can prepare and translate intent data.
What I must do to add new language and how to set it on vector? Of course I will prepare this new configuration locally and test it before I will create PR (to be sure that it make sens)

Languages can be added, but the code for it is kinda all over the place. If you are willing to translate the phrases in chipper/intent-data/en-US.json to Polish (output to chipper/intent-data/pl-PL.json), I can add the model to the code.

Replace the models in en-US folder, and change en-US.json intent data, it works, simple but not a good way.
This will make the Vector recognize languages other than English, but it only speaks English.
I wonder how to support other language for TTS?
One of the approaches is to  change the TextToSpeechProvider.
Another way is to  use SDK API to play a wav stream, the wav stream can be generated in chipper side, and supports any languages.

@kercre123 I created PR with polish intent https://github.com/kercre123/wire-pod/pull/126

I also probably found a small bug, two times we see intent_amazon_signin:

https://github.com/kercre123/wire-pod/blob/main/chipper/intent-data/en-US.json#L55
https://github.com/kercre123/wire-pod/blob/main/chipper/intent-data/en-US.json#L59

BTW. This bug exist in all intent files 😀

hm.. I also found intent which are not implemented. Is it correct or can we just add them?
intent_status_feeling
intent_system_noaudio
intent_play_specific_extend
intent_play_anygame
intent_knowledge_no_response
intent_knowledge_response_extend
intent_imperative_scold
intent_imperative_lookoverthere
intent_imperative_eyecolor_specific_extend
intent_global_delete_extend
intent_blackjack_playagain

Replace the models in en-US folder, and change en-US.json intent data, it works, simple but not a good way.
This will make the Vector recognize languages other than English, but it only speaks English.
I wonder how to support other language for TTS?
One of the approaches is to change the TextToSpeechProvider. Another way is to use SDK API to play a wav stream, the wav stream can be generated in chipper side, and supports any languages.

I see one options to quickly TTS with "polish pronunciation":
https://github.com/ggegoge/PyTDM -> "transform" polish text to specific english text which will sound like polish 😀
The second option is use correct TextToSpeechProvider.. but for now I do not have such abilities to combine something like that. I checked project https://github.com/rhasspy/piper and the polish voice sound quite good.

I also have one observation when I replace the models in en-US folder to polish model, and change en-US.json intent data to polish data, all command which need extra params didn't work correctly.

Hey @kercre123 I fixed all problems and now Vector understand polish language correctly 😀 You can check my PR. Also problem above was fixed in commit https://github.com/kercre123/wire-pod/pull/126/commits/291059cbbb3f29acafcfc247e8dc285c544ed8f7 Apologies for stupid questions but it's the first time I'm coding a project written in golang 😀
I have two extra question:

On my robot if I set any non English location then robot stop talking. If I choose German, Japan, French my robot not talk anything. What could be the reason?
In polish we can use sometimes two or three split words when we create question, example:
STR_WEATHER_IN:                     {" w ", " we ", " na "},
it will be nice in the future to add ability to set more then one word 😀

Thanks for the great work you put into the project.


test: remove RuntimePolicyEnforcement tests

These cases are now covered by unit tests, specifically
pkg/policy/repository_test.go:TestComputePolicyEnforcementAndRules. So, no
need to have Ginkgo tests set up which are much costlier to run than unit tests.
Signed-off by: Ian Vernon<EMAIL_ADDRESS>

This change is

test-me-please

test-me-please

test-me-please


--min-age and --max-age should be computed relative to database session time

Describe the bug
I expect the --min-age and --max-age command-line arguments to be relative to the database session time, rather than relative to the time on the machine where data-diff is run (eg consider a database in a different time zone to a local machine running data-diff). I believe that this gives a user a potentially misleading impression on what data they have analysed with data-diff.
I think the easiest way to see this situation is via TestCLI in test_cli.py, by changing the timezone in the database session during the test setup (self.conn.query("SET @@session.time_zone='-01:00'")) :
class TestCLI(unittest.TestCase):
    def setUp(self) -> None:
        self.conn = get_conn(MySQL)
        self.conn.query("drop table if exists test_cli")
        self.conn.query("drop table if exists test_cli_2")
        table_src_name = "test_cli"
        table_dst_name = "test_cli_2"

        src_table = table(table_src_name, schema={"id": int, "datetime": datetime, "text_comment": str})
        self.conn.query(src_table.create())

        self.conn.query("SET @@session.time_zone='-01:00'")  # change time zone from +00:00
        db_time = self.conn.query("select now()", datetime)
        self.now = now = arrow.get(db_time)

        rows = [
            (now, "now"),
            (self.now.shift(seconds=-10), "a"),
            (self.now.shift(seconds=-7), "b"),
            (self.now.shift(seconds=-6), "c"),
        ]

        self.conn.query(src_table.insert_rows((i, ts.datetime, s) for i, (ts, s) in enumerate(rows)))
        _commit(self.conn)

        self.conn.query(f"CREATE TABLE {table_dst_name} AS SELECT * FROM {table_src_name}")
        _commit(self.conn)

        self.conn.query(src_table.insert_row(len(rows), self.now.shift(seconds=-3).datetime, "3 seconds ago"))
        _commit(self.conn)

    def tearDown(self) -> None:
        self.conn.query("drop table if exists test_cli")
        self.conn.query("drop table if exists test_cli_2")
        _commit(self.conn)

        return super().tearDown()

    def test_basic(self):
        diff = run_datadiff_cli(TEST_MYSQL_CONN_STRING, "test_cli", TEST_MYSQL_CONN_STRING, "test_cli_2")
        assert len(diff) == 1

    def test_options(self):
        diff = run_datadiff_cli(
            TEST_MYSQL_CONN_STRING,
            "test_cli",
            TEST_MYSQL_CONN_STRING,
            "test_cli_2",
            "--bisection-factor",
            "16",
            "--bisection-threshold",
            "10000",
            "--limit",
            "5",
            "-t",
            "datetime",
            "--max-age",
            "1h",  # can make test pass again by changing to 2h
        )
        assert len(diff) == 1

The tests should now fail, and can only be fixed by changing the --max-age value.
I've opened a draft PR (#283) with a sketch of a fix. If you think it has potential, please let me know what can be edited/improved, and then I will update the PR with test coverage (and possibly support for other databases if required).

I agree, it was an oversight, and we should use the database time, and not the client time.
This function applies to all databases, and we'll need to implement the "now()" function for every database we support, so it's better if I do it myself.
But as for improving the test coverage, that might be something you can help with.

But as for improving the test coverage, that might be something you can help with.

Sure!

This applies to all databases, and we'll need to implement the "now()" function for every database we support

In #283 I implemented this by adding a new method to AbstractDialect (new method = "provide SQL to get current timestamp from database session"). Each database supported can then override this method as required in their own implementation of BaseDialect. Did you have a different approach in mind? (Just curious!)

Just small details.

query_database_current_timestamp() isn't necessary
current_timestamp() should return current_timestamp() without SELECT
create ast/api for it in queries

Then db.query(now(), datetime) does exactly what db.query_database_current_timestamp() does. (and in future version, just db.query(now()) will be enough).
There are a lot of other small details, which is why I think it's easier just to do it myself.

That's reasonable. I'll close #283 then and let you implement a fix. Thanks for the extra details.

Excuse the delay, I was in the middle of a big refactor that is now done.
@nenb I created a PR to fix this: #306   (branch issue284)
Can you please check and verify that it works as you'd expect?

@erezsh No problem.
I had a quick look, but I'm not sure that it's working as I expected.
If I run the same test as before with the database timezone modified (see the top of this issue for the exact details), the test still fails with the new changes. I would not expect the test to fail.
I will try to find some time over the next couple of days to explore further. In the meantime, I noticed some other things that might be relevant:

what happens if both databases have different timezones? The current PR (I think) assumes that they are identical.
does it matter which database the --min-age and --max-age are computed relative to? (Similar to the last question I guess.)
poetry run unittest-parallel -j 16 was randomly failing for me until I stumbled on this issue that you were involved in, and released that I needed to pass the --class-fixtures flag to ensure correct set up and tear down. Is there a reason that you didn't include this in the docs etc? (If it's just something that was forgotten, I'm happy to open a PR updating the relevant sections)

Hi @nenb ,
Good point, I will incorporate the test and make sure that it passes.
It also makes sense to compute the relative time for each database separately. However, I'm worried that in practice, it will end up causing confusing behavior.. If you copy the data from table A to table B, but it has a different timezone, or even just a different time, then using min-age or max-age would filter out different rows, and show differences that aren't really there. (since the data stays the same in both)
As for unittest-parallel, we solved that issue on our side. And anyway, it shouldn't fail "randomly". So something else is in play.
For what it's worth, I've been running it locally, on the CI, and others have to, without any problems, and without having to add the --class-fixtures flag.

Thanks @erezsh

And anyway, it shouldn't fail "randomly". So something else is in play.
I just had a quick check and it only seems to occur on the branch attached to the PR. I tested on Ubuntu 20.04 (run the unitttest-parallel command a few times and it fails sometimes and not others). I'll need to dig a bit deeper when I have the time.

It also makes sense to compute the relative time for each database separately. However, I'm worried that in practice, it will end up causing confusing behavior.
Actually, if the databases have different time/zones, then this will mean that data-diff won't really work, right? Because it uses the update column to determine differences, and so everything will appear as different in this situation? (Apologies if I have misunderstood the underlying logic.) Maybe there could be an early comparison of database time/zones, and if they are not equal then data-diff could exit with an explanation?

Because it uses the update column to determine differences, and so everything will appear as different in this situation?

Presumably if the timestamps have been copied from one DB to another, their values and timezone should stay the same. Although I admit we haven't tested it, or paid much attention to this scenario.

Maybe there could be an early comparison of database time/zones, and if they are not equal then data-diff could exit with an explanation?

That's definitely the easiest solution. If we can't come up with a reasonable behavior, then perhaps that's what I'll do.

Hello @nenb ,
The test had a fault that caused it to fail. Using arrow on the returned datetime added a UTC timezone when previously there wasn't one, causing the dates to be written to the db incorrectly (i.e. instead of being converted back to the session timezone).
But more importantly, the test can't really test data-diff, because setting the session timezone on one connection, doesn't affect the other connection (and running data-diff from the shell creates a new connection).
I think this is essentially untestable, unless I either

Add a switch to the CLI to change the timezone, just for the tests
Instead of running it in a shell, wrap everything in a function that can re-use a connection

Neither one feels like a good approach at the moment.
I wouldn't like to leave this feature untested, but I don't see an easy way out. But maybe I'm missing something obvious?

As for different timezones in the databases, I think perhaps it's best to set the session timezone in both to UTC? That way we can be sure that equal dates produce no diff.

Hi @erezsh. Thanks for all the work. Sorry it's dragging on a bit.

I think perhaps it's best to set the session timezone in both to UTC

I hadn't thought of this but it makes a lot of sense to me. Perhaps you may want to get another opinion on this (I haven't much time to think about it), but it seems very sensible to me and fixes the problem I think.

The test had a fault that caused it to fail. Using arrow on the returned datetime added a UTC timezone when previously there wasn't one, causing the dates to be written to the db incorrectly (i.e. instead of being converted back to the session timezone).

Nice detective work! I'm not sure I would have spotted this.

But more importantly, the test can't really test data-diff,

I admit that I don't really follow the logic here (limited time, sorry).  Would setting the server system time zone in docker-compose.yml to something different (let's say to '-01:00') than in the tests solve your problem? For me, the tests are verifying that the --min-age and --max-age flags are computed relative to the db time and not 'local time'. To do this maybe the test i) could compute local time and ii) set the db session time to something explicitly different. This way, it will definitely fail if they are not computed correctly.
But this has dragged on a while already! I'm happy with all your changes (thanks for all your work), and am happy for you to close this in the way you think best!

@nenb No worries, my goal is to make data-diff as complete and useful as possible, and this issue certainly falls within that scope.

Nice detective work! I'm not sure I would have spotted this.

Thanks! I admit it was tricky to debug.

Would setting the server system time zone in docker-compose.yml to something different (let's say to '-01:00') than in the tests solve your problem?

Maybe, but any global change would interfere with the other tests, which we want to run in parallel.

am happy for you to close this in the way you think best!

My plan is to leave the PR as-is, but also add setting the session to UTC on all connections. We had some internal discussions where it was suggested that it might not be enough to cover all use-cases, but I think we'll cross that bridge when we get there.

Merged to master. Hopefully everything should work for you now. Otherwise, feel free to re-open the issue!


Fix link in custom HTML attributes in Panels documentation

Before

After

Cherry picked to 5.1 stable b451e593a769da24d7263ab42ecb691ce4575c38


Only run test with_env_var and with_flag on x86_64

Non-x86_64 platforms are almost impossible to have a x86_64-unknown-linux-gnu target.

@Xeonacid assuming you aren't running x86_64 yourself, would you care to add a couple of equivalent tests for your arch in a new PR?
Otherwise, folks on other architectures might not realize if they've accidentally broken this functionality, since they'd never run the tests for it locally.

@Xeonacid assuming you aren't running x86_64 yourself, would you care to add a couple of equivalent tests for your arch in a new PR?

Sure! I will do that these days.

Awesome, thank you so much!
On Tue, Jan 30, 2024, 4:38 AM Xeonacid @.***> wrote:

@Xeonacid https://github.com/Xeonacid assuming you aren't running
x86_64 yourself, would you care to add a couple of equivalent tests for
your arch in a new PR?
Sure! I will do that these days.
—
Reply to this email directly, view it on GitHub
https://github.com/obi1kenobi/cargo-semver-checks/pull/647#issuecomment-1916016094,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR5MSSYSZ6G5YHHKHZLYITYRBTLXAVCNFSM6AAAAABCO7QKDOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJWGAYTMMBZGQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


[BUG] Router crashes refine-nextjs app

Describe the bug
I created a new project using superplate with the options in the screenshot below. Upon running the app with yarn dev, I'm greeted with an error screen TypeError: Cannot read properties of null (reading 'push'). Deleting the yarn lock file and reinstalling packages does not help. The new lock file is exactly the same as the deleted one.
Using pnpm to install packages works up to a point. I'm able to see the login screen. But clicking the login button throws TypeError: history.replace is not a function in the console.
Issue is similar to #1233
To Reproduce
Steps to reproduce the behavior:

Create a new project using superplate with the options shown in the screenshot.
Run the app.
Visit the app url in your browser.
See first error.
Delete node_modules and yarn lock file.
Install packages with pnpm.
Run the app.
Visit the app url in your browser.
Attempt to login with admin username.
See second error in browser console.

Expected behavior
I expected to see a welcome screen or a login page.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: Firefox
Version: 96
Used dataProvider: simple rest

Additional context
Given that I'm running on windows, I removed the NODE_OPTIONS part of the dev script in the package.json.

Hey @khalibloo ,
Could you try npm instead of yarn?

@omeraplak, Woah that worked! I deleted node_modules and installed packages with npm. I suppose it means the different package managers are resolving the packages differently. Any ideas on how to fix pnpm or yarn? I find those 2 significantly better and more reliable than npm.

Hey @khalibloo ,
We've released<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Can you approve this fix?

I created a new project with the same options as above. I can confirm it works with yarn. But when using pnpm, the error persists. history.replace is not a function. I can see in the pnpm lock file and in the node_modules packages that the versions are 3.1.4 for refine-core and 3.1.5 for refine-nextjs-router. No clue what's going on there.


Serial Ports on WSL2

When I check serial ports with setserial I get this:
tom@TOMS-PC:$ sudo setserial -g /dev/ttyS0
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
tom@TOMS-PC:$ sudo setserial -g /dev/ttyS1
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
tom@TOMS-PC:$ sudo setserial -g /dev/ttyS2
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
It looks like WSL2 can actually find serial ports ttyS0 and ttyS1 on my system. Are they
useable? If so, what mapping is there to the actual serial ports on my system? I have one port on the motherboard and eight more on a USB converter. No ttyUSB ports show up in WSL2, though.

@toml12953 do you want to re-open or create a new issue since this was automatically closed? If so, please tag me in it so I can follow.


Remove sails global and use local references

I think the tests were failing anyways, right?
This is on branch master, with postgres running with user postgres and database sequelize

Thank you very much,
the test was fixed at #8


Adds icons

Uses Linearicons-Free (as premium version needs permission first to be used in open source projects).
Set up so that HTML class names can be independent of the icon set used and allow more concise HTML e.g

instead of

@simonwinter : this seems to work OK in most contexts but requires centering of the icons for .button.is-toolbar.

Cool - I've gone and centred them now.


What's the right way to do the nesting posting calls?

I need to login and then make a search call.
import (
	"fmt"
	"github.com/gocolly/colly"
	"log"
)

const baseUrl = "https://xxx.com/"
const url = "https://xxx.com/login"
const queryUrl = "https://xxx.com/search"

func main() {
	// create a new collector
	c := colly.NewCollector()
	search := c.Clone()

	err := c.Post(url, map[string]string{"username": "admin", "password": "admin"})

	if err != nil {
		log.Fatal(err)
	}

	c.OnRequest(func(r *colly.Request) {
		fmt.Println("Visiting", r.URL.String())
	})

	c.OnHTML("body", func(e *colly.HTMLElement) {

		fmt.Println("BASED", e.Text)

		err := search.Post(queryUrl, map[string]string{"start_date": "2020-07-01", "end_date": "2020-01-01"})

		if err != nil {
			log.Fatal(err)
		}

		_ = e.Request.Visit(queryUrl)

		search.Wait()
	})

	search.OnHTML("html", func(e *colly.HTMLElement) {
		fmt.Println("SECONDARY", e.Text)
	})

	// attach callbacks after login
	c.OnResponse(func(r *colly.Response) {
		log.Println("response received", r.StatusCode)
	})

	_ = c.Visit(baseUrl)

This seems to be a good approach, what is the problem here?

@asciimoo I've the following scenario:

Log in using the user and pass
After login, perform a search on the next page, informing the start_date and start_date>
finally download the xml files returned in the search.


make fuel accept multiple data paths

This PR tries to fix #218

Thanks! I started making some comments on the previous PR, just make sure they're addressed.

Thanks. I saw your comments, and all of them are fixed on this PR.

Hi Vincent,
Travis is complaining about this error:
======================================================================
ERROR: tests.test_utils.TestFindInDataPath.test_raises_error_on_file_not_found
Traceback (most recent call last):
File "/home/travis/build/mila-udem/fuel/tests/test_utils.py", line 47, in setUp
self.original_data_path = config.data_path
File "/home/travis/build/mila-udem/fuel/fuel/config_parser.py", line 150, in getattr
return config_setting'type'
File "/home/travis/build/mila-udem/fuel/fuel/config_parser.py", line 113, in multiple_paths_parser
value = value.split(os.path.pathsep)
AttributeError: 'list' object has no attribute 'split'
But when I ran the test locally on my machine, it is OK:
"""
[linzhou@bart7 tests]$ python -i test_utils.py

aaa = TestFindInDataPath()
aaa.setUp()
aaa.test_raises_error_on_file_not_found()
aaa.test_returns_file_path()
aaa.test_returns_first_file_found()

"""
Am I running the test in a wrong way?

@hantek if you want to run the tests like they'll be run on Travis, you can enter
$ python -c nose2.__main__ -B *tests

in the repo root directory.

Travis has passed.


upload_app_privacy_details_to_app_store should return proper error message on AccessForbidden

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
upload_app_privacy_details_to_app_store fails without proper error message when my Apple Developer account does not have "admin" or "account holder" access level.
I receive an error similar to #17749. And I spent quite some time following the suggestion there.
I obviously don't realize that Apple requires "admin" or "account holder" access level.

It would save developers time if upload_app_privacy_details_to_app_store (or other command, in general) return proper error message for access permission issue.'
I notice the issue when I run upload_app_privacy_details_to_app_store with --verbose flag.
Command executed
fastlane run upload_app_privacy_details_to_app_store --verbose team_id:xxxxxx json_path:"app_privacy_details.json" app_identifier:"xxx.xxx.xxx"
Complete output when running fastlane, including the stack trace and command used
When running with --verbose:

INFO [2020-12-09 16:54:03.92]: -----------------------------------------------------
INFO [2020-12-09 16:54:03.92]: --- Step: upload_app_privacy_details_to_app_store ---
INFO [2020-12-09 16:54:03.92]: -----------------------------------------------------
INFO [2020-12-09 16:54:04.00]: Login to App Store Connect<EMAIL_ADDRESS>Reading keychain entry, because either user or password were empty
Loading session from<EMAIL_ADDRESS>Looking for App Store Connect Team with ID 122294023
INFO [2020-12-09 16:54:06.27]: Login successful
INFO [2020-12-09 16:54:07.92]: Preparing to upload App Data Usage
INFO [2020-12-09 16:54:08.10]: Setting EMAIL_ADDRESS and APP_FUNCTIONALITY to DATA_LINKED_TO_YOU
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 4)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 3)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 2)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 1)...
Access forbidden
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 4)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 3)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 2)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 1)...
Access forbidden
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 4)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 3)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 2)...
Timeout received: 'Spaceship::AccessForbiddenError', 'Access forbidden'. Retrying after 3 seconds (remaining: 1)...
^CTraceback (most recent call last):

When running without --verbose:

[✔] 🚀
[15:26:27]: -----------------------------------------------------
[15:26:27]: --- Step: upload_app_privacy_details_to_app_store ---
[15:26:27]: -----------------------------------------------------
[15:26:27]: Login to App Store Connect<EMAIL_ADDRESS>[15:26:28]: Login successful
[15:26:30]: Preparing to upload App Data Usage
[15:26:30]: Setting USER_ID and APP_FUNCTIONALITY to DATA_LINKED_TO_YOU
Looking for related GitHub issues on fastlane/fastlane...
➡  Fastlane match development -> undefined method `com' for nil:NilClass\e[0m (NoMethodError)
https://github.com/fastlane/fastlane/issues/17320 [open] 6 💬
5 hours ago
➡  set_changelog failing to update and ends in error: handle_response': [!] undefined method `status' for nil:NilClass
https://github.com/fastlane/fastlane/issues/17071 [open] 5 💬
2 weeks ago
➡  Spaceship::Tunes::Application.find return nil
https://github.com/fastlane/fastlane/issues/17607 [open] 7 💬
a week ago
and 287 more at: https://github.com/fastlane/fastlane/search?q=undefined method `status' for nil&type=Issues&utf8=✓
🔗  You can ⌘ + double-click on links to open them directly in your browser.
bundler: failed to load command: fastlane (/usr/local/bin/fastlane)
NoMethodError: [!] undefined method status' for nil:NilClass   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/spaceship/lib/spaceship/connect_api/api_client.rb:181:in handle_response'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/spaceship/lib/spaceship/connect_api/api_client.rb:124:in post'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/spaceship/lib/spaceship/connect_api/tunes/tunes.rb:258:in post_app_data_usage'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/forwardable.rb:230:in post_app_data_usage'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/spaceship/lib/spaceship/connect_api/models/app_data_usage.rb:45:in create'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:157:in block (3 levels) in upload_app_data_usages'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:150:in each'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:150:in block (2 levels) in upload_app_data_usages'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:149:in each'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:149:in block in upload_app_data_usages'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:138:in each'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:138:in upload_app_data_usages'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/upload_app_privacy_details_to_app_store.rb:43:in run'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/runner.rb:229:in chdir'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/runner.rb:229:in execute_action'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/one_off.rb:42:in run'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/one_off.rb:22:in execute'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/commands_generator.rb:224:in block (2 levels) in run'
/Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call'   /Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run'
/Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
/Library/Ruby/Gems/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/commands_generator.rb:352:in run'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/commands_generator.rb:41:in start'   /Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in take_off'
/Library/Ruby/Gems/2.6.0/gems/fastlane-2.170.0/bin/fastlane:23:in <top (required)>'   /usr/local/bin/fastlane:23:in load'
/usr/local/bin/fastlane:23:in `<top (required)>'

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
11.0.1

Ruby
2.6.3

Bundler?
false

Git
git version 2.24.3 (Apple Git-128)

Installation Source
/usr/local/bin/fastlane

Host
macOS 11.0.1 (20B29)

Ruby Lib Dir
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib

OpenSSL Version
LibreSSL 2.8.3

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
12.2

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane gems

Gem
Version
Update-Status

fastlane
2.170.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.0

slack-notifier
2.3.2

atomos
0.1.3

claide
1.0.3

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.19.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

plist
3.5.0

public_suffix
4.0.6

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.4

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

ruby2_keywords
0.0.2

faraday
1.1.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.7

faraday_middleware
1.0.0

fastimage
2.2.0

gh_inspector
1.1.3

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.6

bundler
2.1.4

naturally
2.2.0

simctl
1.6.8

jwt
2.2.2

uber
0.1.0

declarative
0.0.20

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

multi_json
1.15.0

signet
0.14.0

memoist
0.16.2

os
1.1.1

googleauth
0.14.0

httpclient
2.8.3

google-api-client
0.38.0

CFPropertyList
3.0.3

excon
0.78.1

json
2.3.1

mini_magick
4.11.0

rake
12.3.3

digest-crc
0.6.2

google-cloud-errors
1.0.1

google-cloud-env
1.4.0

google-cloud-core
1.5.0

google-cloud-storage
1.29.1

emoji_regex
3.2.1

aws-eventstream
1.1.0

aws-sigv4
1.2.2

aws-partitions
1.404.0

jmespath
1.4.0

aws-sdk-core
3.110.0

aws-sdk-kms
1.39.0

aws-sdk-s3
1.86.0

forwardable
1.2.0

logger
1.3.0

stringio
0.0.2

ipaddr
1.2.2

openssl
2.1.2

ostruct
0.1.0

strscan
1.0.0

date
2.0.0

fileutils
1.1.0

etc
1.0.1

io-console
0.4.7

zlib
1.0.0

libxml-ruby
3.1.0

rexml
3.1.9

psych
3.1.0

mutex_m
0.1.0

webrick
1.4.2

generated on: 2020-12-09

Hey @billibala 👋
I feel you, it's frustrating when the error messages are not helpful 😞 however, that information (and other limitations) is clear in the upload_app_privacy_details_to_app_store action docs. It's expected that users will read the documentation, to avoid issues like this one.
Nonetheless, I think your request to make error messages more user-friendly makes sense, as it's much much better 👍


Deliver attestation-based impact metrics by project

What is it?
Current assumptions:
Core Schema:

toProjectId: Identifier for the project receiving the attestation.
fromUserId: Identifier for the user submitting the attestation.
isUserDelegate: Boolean indicating if the user is a delegate or badge holder.
rating: Rating score provided by the user (scale of 1-5).

Derived Metrics

number_of_attestations_to_project: Total attestations a project receives.
number_of_delegate_attestations_to_project: Attestations received from delegates or badge holders.
average_rating_to_project: Average rating across all evaluators.
average_delegate_rating_to_project: Average rating from delegates.
weighted_delegate_rating_to_project: Weighted average rating from delegates, factoring in voting power.

https://plaid-cement-e44.notion.site/Impact-Attestations-Data-b8b1c79a624c46ad94305c74def64783
"id": "0x4a40d2754663421d856744ffcd06e18094b55e5543e49a8f4c6ef59ee503973d"
"recipient": "0x3e95B8E249c4536FE1db2E4ce5476010767C0A05"
"attester": "0x7484aABFef9f39464F332e632047983b67571C0a"
“projectRegUID”: “0xf7248ad55667beaa6babe4700b52f5c868f60bdcb0e552f31369f78a22c7f1a6”
"revoked": "false"
"time_created": "1726695594"
"metadataurl": "https://gateway.pinata.cloud/ipfs/QmWEdqQdLZXH3KnmbxyoGmnK6GRUFNXX7K4dadTWFS2xEW"
"feeling_if_didnt_exist": "Extremely Upset"
"userFid": "9848"

Two blockers:

https://github.com/voteagora/agora-next/issues/556#issuecomment-2407252522
won't have actual attestations flowing until after Oct 14

Included here with initial ~60 attestations that meet requirements: https://github.com/opensource-observer/insights/pull/60


DatePicker component

Duplicates ❌

[X] I have searched the existing issues

Which Figma library is concerned?
Vitamin Web UI Kit
Summary 💡
Hello team!
I am opening this request to push for the creation of a DatePicker component as it is becoming necessary for multiple teams.
There are some teams already working on a DatePicker component to permit selection of:
A specific date, &
A range of dates.
It would be interesting to unify these projects to have one component that serves both the purposes.
Attaching a link to the figma file (CSS codes included) that contains the DatePicker component of the affiliation website of Spain:
[Figma] https://www.figma.com/file/d5ce8AD12cTYbuhctBCSbK/A---Dashboard-Afiliado?node-id=208%3A1880
Albert Nambiaparambil (UXUI, Decathlon Spain)

From @Aurelien Blareau
[Figma]https://www.figma.com/file/CpaqbCiA2MA6tGfslXzC40/[Lib]components?node-id=0%3A1
Dependencies 📦
Examples 🌈
No response
Motivation 🔦
No response
New 🆕

[ ] Validated in a grooming session

Backlog 📋

[ ] Has a good summary
[ ] Has example link(s)

Design in progress 🏗

[ ] Analysis (functional & technical)
[ ] Design refinement
[ ] Dev qualification (properties, breakpoints, tokens etc.)
[ ] Documentation refinement (inside the Figma branch)

Design review 👀

[ ] Figma branch merged
[ ] Documentation review _(and move the documentation into Vitamin Documentation Figma file)

Ready to dev 👍

[ ] Issues are created in all repositories affected (vitamin-<web,android,ios,compose>)

Dev in progress 💻

[ ] All issues are resolved (to replace with issues links)

Will be tracked here: https://github.com/dktunited/vitamin-play/issues/45


Fix https://github.com/guardian/scribe/pull/248 so it can be merged

This will help a lot with cleaning up the selection markers
https://github.com/guardian/scribe/pull/248

Didn't happen


Difference types

Problem
Consider this:
type X = { a: number }
type Y = { b: number }
type Z = { c: number }

type M = { a: number, b: number, c: number }

It's possible to create a type like M without writing the property names individually.
type XYZ = X & Y & Z

But it's not possible to create a type like M which excludes properties from another type.
type N = M / X

Use case
You have an Instance which has many objects in it. You want to use the Instance as a dictionary, where you can use e.g. part.Decal and use the child decal. This is certainly doable!
--!strict
local holder = workspace.Part

type Holder = typeof(holder) --> Part & <all children instances of the workspace part>

Now you want to make a function which returns the Holder type.
export type Holder = typeof(holder)
function getHolder() --[[ ... ]] end

But you don't want your function's consumer to have access to irrelevant methods such as GetChildren and Name on the Holder type. This is where a difference of sets comes in place (coloured area):

So we want to get everything from Holder and remove everything from Part on it. This could look something like this
type Holder = typeof(holder) / Part

And boom! Now we can return Holder and we won't see anything from Part.
P.S. I use / instead of - as the suggested syntax, because a minus looks awkward to me, but it's definitely not the only possible way!

There is a draft PR for negation types: https://github.com/luau-lang/rfcs/pull/29. Typically, this would mean you could write your example as Holder & ~Part, but it places restrictions on structural types, which is your primary concern.
Also, it doesn't look like there are any type operations that could be mistaken for value operations, and I think that's because of casting; it happens inside expressions that execute at runtime.
-- what could this mean?
local a = b :: T / U

-- it could be one of:
local a = (b :: T) / U
local a = b :: (T / U)

Perhaps you could use the symbol Wikipedia uses, the backslash \ character.

This design looks a lot like omit<T, keyof<U>> so this is really asking for an omit type family.

Also, it doesn't look like there are any type operations that could be mistaken for value operations, and I think that's because of casting; it happens inside expressions that execute at runtime.

I did not consider the fact that types appear in expressions, you're correct. I agree with the backslash idea, actually like it a bit more.

This design looks a lot like omit<T, keyof> so this is really asking for an omit type family.

100% plausible, I'm not very well vested in TS.

Going to close this. https://github.com/luau-lang/rfcs will be the right place to submit such a feature request.


Canon CR-N100 Issues

Hello
Wanted to report some issues that I'm having:
Zoom speed control does not work
Continuous error messages (see image below) which bombards the logs and makes looking for what your actually looking for impossible

Variable names not loading
Thanks in advance!

I'm going through the same situation as you. My n100 can't control the zoom speed either.

It’s working for me - check you are running the latest stable Companion and that your firmware is updated. There was the zoom problem you describe with Canon’s firmware v1.5 update

It’s working for me - check you are running the latest stable Companion and that your firmware is updated. There was the zoom problem you describe with Canon’s firmware v1.5 update

Is your camera an n100?
The latest firmware for cr-n100 is 1.1.0.

I'm running N300s v1.5, and have heard other people using N500 v1.5 and N700 v1.4 will work with latest stable Companion.
I don't have access to N100s so can't speak to that.


Saving as PDF doesn't work

While I am trying to save my resume with the save button, it's giving me this PDF output

I am using site (https://rxresu.me/)

Or perhaps, I was living in the stones, I don't know why I wasn't presented with the latest version, but had my cookies deleted and then there's whole new site ready! But I guess you should or maybe you just can't take those peeps who still going to throw their tantrums since they're on previous version anyway. I will close it now.


support for the next branch?

Although LeelaWatcher can run with autogtp_next, no stones are displayed on the board as moves are generated.

looks like the next branch changed the output format so one needs to change the pattern matchings in AutoGtpOutputParser.java ...


Run go mod tidy after a module dependency change

We received the following PR...
Bump github.com/lyft/protoc-gen-star from 0.4.11 to 0.4.12
After running go mod tidy manually, we saw a diff of...
- github.com/lyft/protoc-gen-star v0.4.11 h1:zW6fJQBtCtVeSiO/Kbpzv32GO0J/Z8egSLeohES202w=
- github.com/lyft/protoc-gen-star v0.4.11/go.mod h1:mE8fbna26u7aEA2QCVvvfBU/ZrPgocG1206xAFPcs94=

We would like to see this happen automatically as part of a Dependabot PR.

Agreed. We're tracking here, so subscribe to this issue for updates: https://github.com/dependabot/feedback/issues/215

Ah sorry. Thanks @hmarr for pointing out correct repo 👍

No worries - these kind of things are slightly scattered between the two repos so it’s not your fault at all :-)


Django 1.5 support

This also sets proper exit code of the test runner command. As a result we see that some tests fail on Django 1.7. We'll have to fix them later.

Tests are failing on 1.7, seems there is a real issue.
Please delete from travis django 1.7 env invocation, this issue should be fixed later.


Question about admin panel

how to use admin panel?

here is my build scan: https://scans.gradle.com/s/cvlo42elyhqmm

https://gradle.com/s/zomntblcvlzv2

thanks for reply, my problem is authenticate in admin panel,

Is this in your own instance of the site?  By default it only allows members of the Spring team.

@lokize I believe you should find the relevant information in our wiki here.
Thanks!


Add mapMaybe and wither

These are of course based on witherable, though by that package's standards wither should be witherM.

I noticed that the other RULES expand things out some more. Is that necessary? If so, I can surely do it.

@treeowl: It's not necessary.  This looks great to me!  I'm just waiting for CI at this point

Do you agree with my use of MaybeT for documentation?

If so, should the first wither law be written
wither (runMaybeT . lift . f) = mapM f

or is that just silly?

Eh, I made the doc change. Feel free to modify in merging.

One other question: how do you like to handle @since annotations for new
functions?

Yes, but what placeholder should I use for the @since version number?

@treeowl: I wouldn't worry about @since, to be honest

I've rearranged the documentation a bit to be able to say pretty much all the things without (I hope) too much clutter.

The laws make me think that mapMaybe relates the pipe category to Kleisli Maybe and that wither relates the pipe category to Kleisli (MaybeT m). Since I'm generally ignorant of category theory, do you think you could explain what those relationships are called? Are they basically functors or something?

@treeowl: Yes, that's exactly correct!  They would be functors and the laws you wrote would be the functor laws
In fact, you're actually missing one of the functor laws for mapMaybe.  You already have one of the two functor laws, which is:
-- Analogous to `fmap (f . g) = fmap f . fmap g`
mapMaybe (f >=> g) = mapMaybe f >-> mapMaybe g

The other functor law that I would expect to see is:
-- Analogous to `fmap id = id`
mapMaybe return = cat

For wither you already have the two functor laws, which would be:
wither (runMaybeT . (MaybeT . f >=> MaybeT . g)) = wither f >-> wither g

wither (runMaybeT . return) = cat

That law isn't missing. You're just looking on the wrong line. Ready to merge?

@treeowl: Yeah, this looks great to merge.  Thank you for contributing this! 🙂

Glad I could help!


运行报错：[ERR] yamux: Failed to read header: broken pipe

Sever / Debian 7.10 64bit (Openvz vps)
Clinet / Win10 64bit
kcptun version 20160517
Sever log

2016/05/17 11:53:05 version: 20160517
2016/05/17 11:53:05 listening on  [::]:9999
2016/05/17 11:53:05 communication mode: fast
2016/05/17 11:53:05 sndwnd: 1024 rcvwnd: 1024
2016/05/17 11:53:05 mtu: 1350
2016/05/17 11:53:05 tunnel encryption: true
2016/05/17 11:53:16 remote address: clientip:43481
2016/05/17 11:53:23 dial tcp <IP_ADDRESS>:12948: getsockopt: connection refused
2016/05/17 11:53:24 remote address: clientip:43481
2016/05/17 11:53:24 [ERR] yamux: Failed to read header: broken pipe
2016/05/17 11:53:26 i/o timeout
2016/05/17 11:53:46 remote address: clientip:43481
2016/05/17 11:53:48 i/o timeout
2016/05/17 11:53:53 remote address: clientip:43481
2016/05/17 11:53:55 i/o timeout

Client log

2016/05/17 11:53:16 version: 20160517
2016/05/17 11:53:16 listening on: [::]:8080
2016/05/17 11:53:16 communication mode: fast
2016/05/17 11:53:16 remote address: serverip:9999
2016/05/17 11:53:16 sndwnd: 1024 rcvwnd: 1024
2016/05/17 11:53:16 mtu: 1450
2016/05/17 11:53:16 tunnel encryption: true
2016/05/17 11:53:23 stream opened
2016/05/17 11:53:53 stream closed
2016/05/17 11:53:56 [ERR] yamux: keepalive failed: i/o deadline reached
2016/05/17 11:53:56 [ERR] yamux: Failed to read header: broken pipe

请问我该如何进一步调试。

2016/05/17 11:53:23 dial tcp <IP_ADDRESS>:12948: getsockopt: connection refused
说明你的server端没有连接上后端的-target服务器

@shao222 参考 https://github.com/xtaci/kcptun/issues/13


ui-dropdown doesn't clear selection with msg.payload = []

Current Behavior
after selected an option, by sending msg.payload=[] will not clear seletion as documented
Expected Behavior
by send msg.payload =[] to ui-dropdown node will clear selection
Steps To Reproduce
[{"id":"b878241ae48df373","type":"inject","z":"b481f6a7426a1928","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":630,"y":1060,"wires":[["fc2672e929484423"]]},{"id":"fc2672e929484423","type":"function","z":"b481f6a7426a1928","name":"function 21","func":"msg.payload = [];\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":1060,"wires":[["f45a08fdd76cf08f"]]},{"id":"f45a08fdd76cf08f","type":"ui-dropdown","z":"b481f6a7426a1928","group":"e039e314bc87dbdd","name":"test","label":"test","tooltip":"","order":0,"width":"3","height":"1","passthru":true,"multiple":false,"options":[{"label":"a","value":"1","type":"str"},{"label":"b","value":"2","type":"str"},{"label":"c","value":"3","type":"str"}],"payload":"","topic":"topic","topicType":"msg","className":"","x":990,"y":1060,"wires":[["5ad6a6f2fc2c422e"]]},{"id":"5ad6a6f2fc2c422e","type":"debug","z":"b481f6a7426a1928","name":"debug 208","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1140,"y":1060,"wires":[]},{"id":"e039e314bc87dbdd","type":"ui-group","name":"按键选择","page":"ce60fd917fc93e18","width":"12","height":"1","order":-1,"showTitle":true,"className":"","visible":"true","disabled":"false"},{"id":"ce60fd917fc93e18","type":"ui-page","name":"场景管理","ui":"bbbca6a8a7b43502","path":"/page4","icon":"home","layout":"grid","theme":"a320a731ce51b7c0","order":4,"className":"","visible":"true","disabled":"false"},{"id":"bbbca6a8a7b43502","type":"ui-base","name":"管理面板","path":"/dashboard","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control"],"showPathInSidebar":false,"navigationStyle":"fixed"},{"id":"a320a731ce51b7c0","type":"ui-theme","name":"Default Theme","colors":{"surface":"#24292e","primary":"#097479","bgPage":"#111111","groupBg":"#333333","groupOutline":"#cccccc"},"sizes":{"pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}}]
Environment

Dashboard version: 2.0
Node-RED version: 3.18
Node.js version:
npm version:
Platform/OS: hassio
Browser: edge

Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

I can confirm that sending an empty array does not clear it, and neither does an empty string.  However, if the node is changed to multi-select then an empty array does clear it.

is this a bug or it is designed to work only with multi-selection?

There is a bug, there should be a way of clearing single selection dropdowns. Whether, for single selection, it should be an empty string (which seems logical to me) or should still be an empty array I will leave to the developers. Perhaps both options should work in both cases.

@colinl,
Last week I had created a pull request for dynamic control of radiobuttons, which can be cleared using an empty string.  I will have a look to create a PR to do the same for drpodowns tonight.
Bart

The docs currently say it should be an empty array. Whether it should also allow an empty string I don't know.

Yes indeed.  An empty array seems to make more sense to me compared to an empty string, because the dropdown can contain different kind of data types (i.e. not only strings):

Pull request created.

Closed by #775


Adding Core Module

I was taking a look at the project structure and as per angular 4 guidelines we are missing the Core Module:
https://angular.io/styleguide#!#04-11
Do create a feature module named CoreModule in a core folder (e.g. app/core/core.module.ts defines CoreModule).
Do put a singleton service whose instance will be shared throughout the application in the CoreModule (e.g. ExceptionService and LoggerService).
What do you think about this?
Will this be a good idea to keep the best practices?
I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[X] feature request
[ ] support request => Please do not submit support request here, instead see use [gitter](https://gitter.im/mgechev/angular2-seed) or [stackoverflow](https://stackoverflow.com/questions/tagged/angular2)

Hi @RicardoD7I, you can find a styleguide conforming implementation here: https://github.com/TheDonDope/crudular/blob/develop/src/app/core/core.module.ts

In our case makes sense to change the SharedModule to be CoreModule because it includes all the core functionality of the application.
@RicardoD7I let me know if you want to open a PR with the change.

@mgechev  I agree that we should rename Shared to Core, but also it will be great to provide a generic sharedModule like this one:
https://github.com/TheDonDope/crudular/blob/develop/src/app/shared/shared.module.ts
(thanks @TheDonDope for the repo!)
That will provide both modules that are specified as best practices on ng4.
Also, i'm pretty overloaded at work, but I can have this for the next week probably.

Thinking about this further:
Having both CoreModule and SharedModule seems like an overhead given the project's complexity.
I understand the reasoning behind this and as one of the co-authors of the style guide I respect the suggestions. On the other hand, I also realize that following the practices in the inappropriate context can lead to a confusion rather than better semantics/scalability of a project.
Lets close the issue for now.


missing affices

trying to put together a barb build here and it seems there is a lot of missing affixes like life on kill  ranks of death blow stuff like that is there a way we can add to the list of affixes?

Yes everyone can add missing affixes. In the app folder you have an Affixes folder containing all current affixes.
To add new affixes add an image for the missing affix.
Easiest way to do this is by using Shift+Windows+S to open the snipping tool and capture/save the missing affix.
You can either find them yourself ingame or inspect other players ingame.
If you share the missing affixes afterwards with me I can add them for everyone.

that worked thanks


Icons missing in Azure Explorer

Azure Data Studio Version: master

There are no longer icons in Azure Explorer.

@anthonydresser I'm seeing this after syncing master.  It looks like the VS Code merge is the only significant change since my previous sync point.  Do you think this is related to that merge?

...looks like a known issue per https://github.com/microsoft/azuredatastudio/pull/6438.


Carve strikes again

Here's a stab at making MmapView meet my needs. Consume a MmapView in to many MmapView, but more than split_at.

@danburkert heres an example using some of your feedback from my other PR. Could this become suitable for merging in? The big thing remaining is to check that subviews don't overlap.

@xrl I'm a bit torn on this.  I can see a lot of variants on this theme, and I'm not keen on supplying them all in the crate.  There are a few issues with the API: are the offsets and lengths specified relative to the start of the mmap (this is what is implemented), or relative to the previous subview (also a valid interpretation), should we supply both?  What if the subviews are overlapping (this would be totally unsafe, and should be checked for).  What about a variant that assumes no space between subviews, and just takes a slice of offsets (and what happens if these are specified in non-sort order)?  Also, we would need corresponding variants for MmapViewSync.
At this point I don't want to go down the road of adding all of these to that API, but I'm willing to reconsider if it becomes a common operation when using the library.  I do want to make it easy to implement these things yourself, though.  So if you find any more primitive operations on Mmap or views that would make it easy to implement higher-level methods like carve, definitely let me know.

@danburkert cool, I get that this is more a "useful mmap pattern" and less a "stuff you absolutely need to be a mmap implementation".
But this implementation is centered on offset/len relative to the view -- this is a recursive/relative pattern. I have no need for the other patterns but I see what you're saying. The current code is incorrect to have offset/len of subviews relative to root Mmap (whoops).
What's a good API to facilitate consuming a MmapView in to many non-overlapping MmapViews? Perhaps a method in the spirit of from_raw_parts?

To be clear, the proposed subview method from #11 would only allow further limiting a view to a more restrictive view, not multiple more restrictive views.

@xrl: right, but it should be straightforward to carve up the views however you see fit using either split_at, or restrict (renamed from subview).  What I'm concerned about is that everyone is going to want to carve up the mmap differently, so adding usecase specific carving functions will quickly get out of hand.

What about providing a constructor for MmapView? Then my application code could implement the carve behavior and handle the single consumption, multiple views issue?

@xrl are you attempting to have multiple MmapViews reference the same piece of the mmap?  That is possible with the implementation in this PR, but it's not safe.  MmapViews should not reference the same piece of the mmap at any time, by making the constructor private and not providing a clone impl this invariant is enforced.

@danburkert exactly, I need to have multiple views of the same Mmap. I understand that this is unsafe. It could be this only works with the Rc implementation.

Also, to be clear: splitting a MmapView in to many MmapViews could be unsafe if invariants are not checked, but a single-threaded Rc implementation would be safe. carve would scope the mmap to multiple smaller sections of memory, and by consuming the intermediate containers you are safe.

Oh sorry I missed your message above that said specifically non-overlapping views.  So if you are specifying your offsets relative to the previous view, it could looks something like this (untested):
pub fn carve(mut view: MmapView, ranges: &[(usize, usize)]) -> Result<Vec<MmapView>> {
    let mut views = Vec::with_capacity(ranges.len());
    for &(offset, len) in ranges {
        let total_len = view.len();
        try!(view.restrict(offset, total_len));
        let (v, remaining) = try!(view.split_at(len));
        views.push(v);
        view = remaining;
    };
    Ok(views)
}

Oh, good idea. Let me see how this goes.

This has been working just dandy.


TSV-747 Added build job for personal-details-validation service

How can we add this job to IV build monitor?


SHOW TAG VALUES returns wrong results with certain WHERE

It looks like there was a regression in 1.5.0 where certain expressions can cause results to be returned that shouldn't. For example:
> drop database db
> create database db
> insert cpu,tag=1 value=1
> insert cpu,tag=2 value=1
> show tag values with key = "tag" WHERE "value" = 1191991
name: cpu
key value
--- -----
tag 1
tag 2

Any value for a field that's associated with the series will work. If the field key in the WHERE is not associated with the series then nothing (correctly) will be returned:
> show tag values with key = "tag" WHERE "values" = 1
>

According to the docs it should not be possible to actually filter by a field anyway.

This is also happening in 1.4.x and 1.3.x.

I'm experiencing a similar problem. After deleting the series, the tag values associated can still be returned by SHOW TAG VALUES.
> delete from "measurement" where role = '<role>'
> select * from "measurement" where role = '<role>'
(nothing)
> show tag values from "measurement" with key = "role"
key  value
---  -----
...
role <role>  <- deleted <role> is still there
...


[Bug] Komga merge source does not show covers in search

Steps to reproduce
To replicate:

Log into a Komga server with no public DNS entry (i.e accessible over Cloudflare/Google/etc DNS) attached
Try to merge any title from Komga
No covers are shown in the search

Expected behavior
Covers should be shown, they seem to be ignored because the merge search does not ignore DoH settings (not ideal for what is overwhelmingly a self-hosted server)
Actual behavior
Covers aren't shown in search
Crash logs
No response
Neko version
2.11.7
Android version
Android 12
Device
Redmi Note 10 Pro
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
[X] I have written a short but informative title.
[X] I have tried the troubleshooting guide.
[X] I have updated the app to the newest version Latest.
[X] I have filled out all of the requested information in this form.

2.11.8


retryFunction() gives little debugging info, it can easily do better

Background motivation
Here's an example log that uses retryFunction(): (from here).
  File "./dftool", line 172, in do_volsym
    (Vi, Ci, SYMi) = retryFunction(
  File "/opt/hostedtoolcache/Python/3.8.16/x64/lib/python3.8/site-packages/enforce_typing/decorator.py", line 29, in wrapper
    return func(*args, **kwargs)
  File "/home/runner/work/df-py/df-py/util/retry.py", line 29, in retryFunction
    raise Exception(f"failed after {retries} retries")
Exception: failed after 5 retries
Error: Process completed with exit code 1.

The problem: it only says "failed after x retries". But it could easily do better, by grabbing the actual exception str and printing that out along with "failed after x retries".
TODO
Grabbi the actual exception str and print that out along with "failed after x retries".

Nevermind, it already has this! :)
Eg for above, higher up in the traceback, there is:
_queryVolsOwners(): begin
retry 0: {'errors': [{'message': 'Store error: database unavailable'}]}
_queryVolsOwners(): begin
retry 1: {'errors': [{'message': 'Store error: database unavailable'}]}
_queryVolsOwners(): begin
retry 2: {'errors': [{'message': 'Store error: database unavailable'}]}
_queryVolsOwners(): begin
retry 3: {'errors': [{'message': 'Store error: database unavailable'}]}
_queryVolsOwners(): begin
retry 4: {'errors': [{'message': 'Store error: database unavailable'}]}
Traceback (most recent call last):


Rails 3.2 additions to development.rb - documentation update?

Creating a new Rails project and converting it to Mongoid, I followed the instructions in http://mongoid.org/docs/installation/configuration.html and then deleted database.yml since I have no need for a SQL db.
But then I found I needed to amend /config/environments/development.rb as well, or two lines that mention active_record give problems. Here they are commented out:
  # Raise exception on mass assignment protection for Active Record models
#  config.active_record.mass_assignment_sanitizer = :strict

  # Log the query plan for queries taking more than this (works
  # with SQLite, MySQL, and PostgreSQL)
#  config.active_record.auto_explain_threshold_in_seconds = 0.5

I don't see these lines in my Rails 3.1 projects. Are they new for Rails 3.2?
I might have got this totally wrong, but if this is right then it could perhaps be added to the documentation.

I moved this issue to mongoid-site to update the docs.


Support for image chaining / add base in apko_image

Thank you for creating this Bazel rule; it was exactly what I was looking for. However, I have one question: Is there, or will there be, support for using a previously built image? Or does apko_image always necessitate bootstrapping the image from scratch? It would be beneficial if we could chain images together, adding packages incrementally to meet the varying requirements of our services.
In oci_image you can set a base which can be the output from another oci_image. It would be fantastic if apko_image supported something like this as well.
I suspect this request also belongs in https://github.com/chainguard-dev/apko/issues as rules_apko just wraps apko, but I wanted to make sure I was not missing something that can be done with bazel.
Thanks again!

Hi, I think this is the same as https://github.com/chainguard-dev/rules_apko/issues/63


Rate limiting with the suggested download script

Hi, this is very helpful now that the imagenet website seems to be down. It's been several months and they still haven't granted me direct download access. So, URL's are the way to go.
While the suggested downloading script works well, I found that opening so many wget requests crashed my home internet connection. Receiving skyrockets to the cap speed, and I get through about 3GB of download before the connection dies. Instead, I use gnu-parallel to limit the number of concurrent downloads. The difference is in download.sh to keep the requests in foreground, and to strip double quotes from urllists.txt, then run this command:
download.sh:
#!/bin/sh

if [ $# -ne 2 ]; then
  exit 1
fi

# original line
# wget $2 -O $1 -T 1 -t 5 -nc -b -a wget.log

# new line
wget $2 -O $1 -T 1 -t 5 -nc

sed 's/\"//g' list/urllist.txt > list/urllist_noquote.txt
cat list/urllists_noquote.txt | parallel --jobs 12 --colsep ' ' ./download.sh {1} {2}

It's slower, yes, but for people on a limited connection this way lets you keep working during the download :)

Hello @nathanin ,
I am running into a similar problem when I run the downloading script. I tried your method to see if it solved my problem, but I keep getting these messages for each line of the download list:
: not foundsh: 2: ./download.sh: ./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
Do you know what might be causing these errors? I am not very familiar with Unix commands and I can't figure out what is preventing me from executing your modified download script.
Thank you!

@DandiC Can you paste the whole command ? maybe you have to modify permissions on download.sh, or change the first line to #!/bin/bash
Alternatively, Kaggle hosts the ImageNet data with bounding box annotation and the original class information. That's actually where I ended up downloading from.

@nathanin The command that I'm using is the one you provided:
sed 's/\"//g' list/urllist.txt > list/urllist_noquote.txt
cat list/urllist_noquote.txt | parallel --jobs 12 --colsep ' ' ./download.sh {1} {2}

As far as I can tell, the first one works correctly but the second one gives me the error I mentioned before. Here is an extended version of my output:
~/imagenet-downloader-master$ cat list/urllist_noquote.txt | parallel --jobs 12 --colsep ' ' ./download.sh {1} {2}
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")
: not foundsh: 2: ./download.sh:
./download.sh: 13: ./download.sh: Syntax error: end of file unexpected (expecting "then")

If I change the first line of the downloading script to #!/bin/bash, then I get this error:
~/imagenet-downloader-master$ cat list/urllist_noquote.txt | parallel --jobs 12 --colsep ' ' ./download.sh {1} {2}
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file
./download.sh: line 2: $'\r': command not found
./download.sh: line 13: syntax error: unexpected end of file

Thanks for pointing out about Kaggle, I will check it up if I can't make this code work.

Check your line endings. there's a syntax error in your download.sh

Thanks! I rewrote the download script and that made it work. Now I'm getting some 403 and 404 errors but I'm pretty sure that's the fault of imagenet. I also checked Kaggle but it seems like they don't have the dataset public anymore.


Release plan

Any plans to release a new version? v1.3 was released one year ago and many fixes where added since then.
I also propose to switch to semantic versioning, i.e. 1.4.0 would be a proper name according to https://github.com/mojombo/semver.

Yes, we should have a new release soon. Thought of having a new release after implementing the external triggering proposal (in the externalTriggerProposal branch). Let's try for getting out a new release at the end of this month.
I like semantic versioning, the problem with it is currently the missing tool support. There is no sensible mapping to Modelica versioning annotations. It is not possible to express that any 1.4.x is fine if another library specified a dependency to 1.4.0. Think this was discussed in in some Modelica ticket some time ago. The current way for bugfix releases in Modelica is to increase the "build" number.
So, I think we shouldn't switch to semver until there is some better Modelica/tool support for it. I know that there are quite a few people who like semver in the Modelica Association, but I don't know if there is currently a concrete proposal or work going on in regards of this.

Actually I'd like to see the semver here. Currently it's just a third digit - nothing else. There is much work and good proposals on semver in MA. See e.g. https://trac.modelica.org/Modelica/browser/ModelicaDesign/trunk/MeetingMinutesMaterial/min84_2014_Lyon/min84.pdf

I should note that OpenModelica has had "support" for semver (at least x.y.z) for many years. Adding a uses(Modelica(version="1.4")) loads 1.6. Uses 0.1 loads 3.2.1 (because there are no 0.x versions available). Uses 2.8 loads 3.2.1 because there is no 2.x where x >= 8. Uses <IP_ADDRESS> loads 3.2.1. And so on. It simply assumes it is possible to use a later version (because it does not know about conversion scripts).
I assume Dymola can do the same and see if there is a "no conversion needed" annotation. And then everyone would be happy.

OK. When let's have 1.4.0 as next version.

Fine.


Asset loading strategy problems

Injecting assets before the <!doctype> puts the page in Quirks Mode; that’s clearly bad and the team has acknowledged that, so I won’t waste more words on it.

Resource loading order is nondeterministic: <link rel=preload> is higher-priority than <link rel=stylesheet>, but since <link rel=preload> is injected via script, there are race conditions involving:

If the <script> executes before the lookahead preparser finds the <link>s
Across different browser (& version) JS schedulers, network heuristics, and HTTP/2 prioritization
How much of the HTML is received across IP/TCP/etc. network byte boundaries

The resource-loading strategy has a lot of thought put into it, but it may not fit all. Some things I wanted to try:

<script type="module">, such as for sending less heavily-transpiled bundles for newer browsers
<link rel=stylesheet> right before each component for truly progressive rendering
Bundling component CSS/JS for older HTTP/1.1 connections
Deferring all JavaScript to experiment if it’s faster than the current method on certain devices/connections/pages/etc.
Lazy-loading and async Webpack modules

I’m a dingus and this should have been opened in marko-js/webpack, so I did: https://github.com/marko-js/webpack/issues/11


create: unlink the file we've created on ENOSPC  (master)

Instead of leaving a 0 byte or corrupted whisper file on the filesystem,
this allows carbon to retry the creation later when we might have some free space.
Same fix as in #105 .
This is basically wrapping the body of create() in a try/except IOError, and unlinking the file if we caught ENOSPC.
The file is explicitly closed in the try/except to catch IOError on close(), which is a edge case that can happen. (see the tests cases in #105 )

Coverage decreased (-0.36%) when pulling 2dd8196b71f1858311c0cbce0c81d5696fadcf5e on datacratic:master-ENOSPC-fix into cb0e551aeea054e3ce179a3053047c66fd946493 on graphite-project:master.

Thanks for doing this @jraby, but I'd like to see a test before merging this. I might be able to bang this out myself however.

I haven't looked at the test framework for whisper yet, so I'm not sure I can write that quickly.

Well, now that I have looked at it, I'm not sure how to write a proper test for this.
For the test to be valid, I think it needs to somehow get fh.write() and fh.close() to raise IOError (with errno=ENOSPC and errno=something else, and check if the file exists after the call to create.
I've been messing with mock.mock_open to do this, but that doesn't seem to be the right way since the files are never created.
@SEJeff did you think of a better way to do this?

Something like this? @SEJeff

Coverage increased (+0.34%) when pulling e92466bc8b0d3fb3a47ead03de58215ec70c31c6 on datacratic:master-ENOSPC-fix into cb0e551aeea054e3ce179a3053047c66fd946493 on graphite-project:master.

After reading that code again,  shouldn't whisper ensure that there's no file left if it got any IOError while trying to create a new whisper file?
ENOSPC is the only case I've seen so far, but if any other case happens there would still be a unusable leftover file.

Coverage increased (+0.36%) when pulling b9c9ae208f95f16afa8270c6d8a29f80d8497578 on datacratic:master-ENOSPC-fix into cb0e551aeea054e3ce179a3053047c66fd946493 on graphite-project:master.

Thanks! Feel free to send follow ups should you so choose

What's your opinion on the matter? should we try to unlink() the new file on any kind of IOError exceptions within whisper.create()?

Well if you have /var and /opt on the same partition, /. Then you have syslog fill up the volume and whisper.update() hits ENOSPC, as a user I'd be pissed if whisper deleted a file that had good historical data.
As I've alluded to previously, this is a great patch but we absolutely can not under any terms lose user data. If I was using graphite + whisper and lost valid data as a result of a full partition causing all of my wsp files to get deleted the first thing I'd do is chuck graphite to the curb. Sorry I feel so strongly about this but as maintainers we need to be good stewards. Does that make sense?

Now if we are only talking about more errors in whisper.create, I'd first like to see a few things that cause it before adding code to handle it. Sometimes failing hard and fast (via a trace back) is the right thing to do

@SEJeff , it makes total sense and I'm not arguing for valid whisper file deletion upon IOError... that would be just wrong.
I'm only talking about whisper.create(), which creates empty files, so no data is lost if we delete the file. Also, the unlink() code is not reached if the file already exists, so even if you try to trigger edge cases (by calling whisper.create with an eisting file for example) the file will not be deleted.
I'll send a diff, code probably speaks clearer than my prose ;-)


acme-dns needs directory permissions in systemd (documentation)

I updated my install to control acme-dns via systemd, with an acme-dns user.
I changed the ownership of items in /etc/acme-dns to acme-dns.
If the /etc/acme-dns directory is owned by root, there are errors in accessing the existing database /etc/acme-dns/acme-dns.db.  If the directory is owned by acme-dns, the db is read fine.
Stated differently,
# this results in db errors
chown acme-dns:acme-dns /etc/acme-dns/*

# this works
chown -R acme-dns:acme-dns /etc/acme-dns

I'm not sure how/why this is happing, but I think it is due to sqlite not being able to make lock files.

Thanks for bringing this up! I'll investigate a bit, but it looks like we should make slight modifications to the documentation. Pinging @gabe565 as they contributed the systemd service file and docs.

I honestly forgot that this is configurable. In my setup, I have the /etc/acme-dns directory as owned by root, then have the database in /var/lib/acme-dns and have it owned by acme-dns with 600 permissions. I will PR another step with that setup.

doing some testing and checking against the sqlite docs regarding locks, the issue is definitely due to the acme-dns user needing write permissions on the directory the database file is in.

Yes that's what it looks like, which is why I would rather keep the database in /var/lib/acme-dns since the acme-dns user is guaranteed to own that directory (It's the acme-dns home directory), then a directory in /etc does not have to be writable. Does that seem right?

yeah that seems like the right approach.
if you wanted to overcomplicate things, have you considered playing the config file in there?  then a user could just be added to the acme-dns group for edit privileges.

Yeah, you don't want to put databases in /etc anyway. /etc on Linux is for config files. /var/ is more appropriate for databases. See http://www.pathname.com/fhs/pub/fhs-2.3.html