DOC: fix / consolidate the readthedocs configuration

Trying to get the readthedocs build working again. I activated this branch, and so the build output can be seen here (it is now "passing"): https://readthedocs.org/projects/shapely/builds/16978294/
The actual doc build is still failing, because the plot directives are still erroring.
I also switched to use mamba instead of conda, which speeds up the env install step from 4 to 2 min.

With the last commit (to not fail the build on warnings), we actually get a result: https://shapely.readthedocs.io/en/docs-readthedocs/
Now, given that there are some more PRs needed to further clean up the docs, it might be better to not yet have this as  https://shapely.readthedocs.io/en/latest/ (so revert the last commit before merging)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2141

Relevant Lines:
2539

💛  - Coveralls


preconditioners for MINRES documented but not implemented

Has anything changed since #212? Are there any plans to implement both left and right preconditioners?

Duplicate of #212


Patch method is overwriting nonexistent field with null

Hi
Thanks for your work. Can it be that patch method is not working as expected?
If I patch a service and omit a field it gets overwritten by null.

Unfortunately super was not called properly from the the extending class.
Everything is fine now.


Mp3 audio file doesn't play

STEPS TO RECREATE

[ ] Search for The Tempest
[ ] Click on the Tempest
[ ] Click on Act 1 Scene 1
[ ] Click the play button on the media player

EXPECTED OUTCOME
Play button is in an active state prior to click. Once clicking on the play arrow audio file plays, sound comes through computer speakers.
ACTUAL OUTCOME
Media player play button is not in an active state. Clicking on the play button does not start the mp3.

Presumed related to #114. Closing as resolved.


IO error with different parameters....

Not sure if this project is still active, but curious if anyone is using this project with devices that have different parameters from the default? I am using LittleFS on an embedded project with parameters:
block_size = 4096
block_count = 32768
read_size = 16
prog_size = 16
cahce_size = 64
lookahead_size = 32
I have played around with modifying littlefs-dokany both via the existing command line parameters and directly in the code, but I have not been able to successfully mount this device.
I will be happy to provide additional details if anyone is still supporting this project.
Thanks!!!

As per block_size, it is specified via command line --block-size 4096.
This project, however, currently does not support specifying cache_size separately from read/prog size
        // read_size
        unit_size,
        // prog_size
        unit_size,
        // block_size
        block_size,
        // block_count
        block_count,
        // block_cycles
        1000,
        // cache_size
        unit_size,

but you can specify --unit-size 16. You can always open a pull request that would add a separate command line argument for cache size if needed.
Block count cannot be specified as it uses whole block device. Lookahead size is hardcoded to 128 currently.

have not been able to successfully mount this device.

Are you not able to mount it on an MC after being written out by windows, or you're not able to mount it on windows after it's been written by an MC? How do you mount it? Are you specifying correct block device?
Beware to distinguish mounting a partition (aka mounting E: into K:) from mounting a block device (PhysicalDrive2 into K:), the former uses MBR while the latter puts data right on the first bytes of the device.

@desertkun thank you for the feedback. I attempted to push a new branch (eventually hoping to create a PR), but the request was denied. Is the product set up to take new branches from anyone, or do I need to be on a "contributors" list or something like that?
Regarding my specific use, I am actually connecting the MCU (specifically the LittleFS partition of the MCU) to a PC using USB MSC. This causes the device to be exposed as a Raw Device image. I'm trying to use littlefs-dokany to connect to/mount that Raw Device image as a drive for accessing in Windows. I have been able to do this on Linux using littlefs-fuse, so I believe it should be possible.
I will add command line arguments to make more parameters configurable so that I can be sure to align the parameters with my embedded configuration. I also appreciate your clarification on PHYSICALDRIVEx vs. drive letter access. I will definitely want/need to be using drive letter access since my partition does not have/use an MBR.

To create a PR you have to fork first. You push to your copy and then open a pull request to merge from your copy to mine.
As per your issue, I see. It's not supposed to mount as there's garbage there. You need to FORMAT it (--format, missing in the doc).

 The device that I'm connecting via USB MSC has a valid LFS image on it. I do not want to format that device as I would then not be able to read the content.
On Linux, I am able to use littlefs-fuse to mount the device and read data from the embedded LFS filesystem without formatting that embedded image.
Are there portions of the dokany internal state that need to be initialized/syncronized with the device state?

I see. Maybe cache sizes and such are important. Do you care to share your LFS image so I'd try to mount it?

Here is an image from my device. It only has one small file in a directory (settings/run). I am able to mount it in Linux using littlefs-fuse with the command line ./lfs --read_size=16 --prog_size=16 --block_size=4096 --block_count=32768 --cache_size=64 --lookahead_size=32 /dev/sda <mount point>.
I think you are correct that cache and lookahead sizes may matter. I also think there may be some overuse of the term "sector" where sometimes this means the read/prog size (i.e. unit_size) and other times it means the block size (i.e. block_size). I have been trying to follow parallel paths through littlefs-dokany and littlefs-fuse to look for differences, but have not made much progress yet.
lfs.zip unzip for the image file itself

A little update here. After clearing up a few issues with my installation (I had the wrong version of Dokany installed), I am now able to mount the image file attached above using --block-size 4096 --unit-size 16 (and modifying the code to take/use the filename rather than a drive name/letter).
Unfortunately, if I dd that same image on to a USB drive I cannot mount it. The issue seems to come in lfs_bind_read() where the call to ReadFile() fails with error INVALID_PARAMETER (87). Searching around on that information leads me to this SO entry that seems to indicate there may be some alignment issues while reading the block device.
I am not familiar with the OVERLAPPED concept you're using when reading the file, is there some advantage to that method over a separate call to SetFilePointer() before calling ReadFile()?

A little update here. After clearing up a few issues with my installation (I had the wrong version of Dokany installed), I am now able to mount the image file attached above using --block-size 4096 --unit-size 16 (and modifying the code to take/use the filename rather than a drive name/letter).
Unfortunately, if I dd that same image on to a USB drive I cannot mount it. The issue seems to come in lfs_bind_read() where the call to ReadFile() fails with error INVALID_PARAMETER (87). Searching around on that information leads me to this SO entry that seems to indicate there may be some alignment issues while reading the block device.
I am not familiar with the OVERLAPPED concept you're using when reading the file, is there some advantage to that method over a separate call to SetFilePointer() before calling ReadFile()?

Great news! I believe I have things working (and by and large understand what is going on). Basically, as mentioned above, accesses to the volumes/raw devices must be aligned to the sector size of the device. As the code is written, it assumes (and enforces in main) that the media sector size is the same as the prog/read size of the LFS filesystem. So, any time I was trying to change the read/prog size to match my LFS instance, I was causing unaligned accesses to the raw device which causes errors during mounting.
Fortunately, the only parameter that must match the configuration of the filesystem being mounted is the block size. So, even though my LFS image was created using read/prog size of 16, it can be mounted with read/prog size of 512 (matching the sector size of the raw USB device) without corrupting the filesystem (it does affect the way the data is distributed across the device, but it does not affect the integrity of the filesystem). So, if I use only the --block-size 4096 option and leave the unit size at the default 512, things work as expected.
I have some ideas to allow separate read/prog size settings while still aligning the raw device accesses. I will submit those via PR in a week or two, but for now, I'm able to proceed with my development (I am going to submit a small PR with a couple of minor changes, but nothing significant yet).
Thank you for your responsiveness and for this nice tool for working with LFS devices.


Refactor usage of environment variables for DAG configuration to use Airflow Variables

Current Situation

There are a number of configuration settings in our DAG and DAG-support code that read exclusively using os.getenv, and as a result, are configured as environment variables in the service (rather than Metastore variables, which are more flexibly managed and changed).
This prevents us from making changes to these variables without changing the environment variables, which currently requires a restart of the Airflow webserver and scheduler. It also has implications for future remote executor usage, where environment variables available to the scheduler are not shared to the remote execution environments, and instead, the metastore should be relied on to retrieve variables.
To clarify: this is not an issue about using environment variables to configure Airflow Variables, it is an issue about the retrieval of those variables at DAG runtime. How to actually configure Airflow Variables is a separate question, but doesn't have any bearing on whether DAGs read variables at runtime from the execution environment or from the metastore. Of course, that comes with a big caveat: if we don't use the execution environment variables to configure then, then they cannot be read from the execution environment. Therefore, reading them from the environment significantly hinders the flexibility we have when choosing how and where to manage variables.
Suggested Improvement

Refactor usage of the following variables such that they can be retrieved using Variable.get. In order to prevent incurring the performance penalty that comes with Variable.get, most of these will require refactoring DAG code to read variables at execution time (either through templates or Variable.get inside of tasks).
This list was built by searching for getenv and os.environ in the DAG code:

[ ] CONTACT_EMAIL
[ ] DEFAULT_RETRY_COUNT
[ ] DATA_REFRESH_POKE_INTERVAL
[ ] DATA_REFRESH_POOL
[ ] AWS_CLOUDWATCH_CONN_ID
[ ] AWS_RDS_CONN_ID
[ ] ES_INDEX_READINESS_RECORD_COUNT
[ ] CANONICAL_DOMAIN
[ ] OUTPUT_DIR
[ ] DJANGO_ADMIN_URL
[ ] OPENVERSE_BUCKET

I have ignored places where we read environment variables in unit testing code, as in those instances, we're relying exclusively on the development environment's method of Airflow Variable management being environment variables. I think we can safely assume we will continue to use environment variables to configure Airflow Variables for the local development environment, and that therefore unit testing code can continue to read them that way.
I've also ignored anything in retired because we can just remove that code altogether, as discussed in https://github.com/WordPress/openverse/issues/4240. I've assigned the issue to myself and will go ahead and open a PR for it later today (and leave an update here after that's done).
Some of these might be easier to address than others. Many of them might be best addressed by turning usage of them into templates (e.g., CONTACT_EMAIL, DATA_REFRESH_POKE_INTERVAL and other things passed as arguments to @dag, @task or invocations of them). Others might be easier to just move into tasks directly with Variable.get calls. Others yet may require more complex considerations, especially if the current method and usage is relied upon to enable some approach to unit testing.
This should not be attempted in a single PR! I didn't have time when writing this issue to break it down into what I thought could be accomplished in smaller PRs. When picking up any one of these variables, I recommend doing a search of the codebase and seeing how many and what types of usages of the variable there are. That might help guide whether a given variable can be addressed in the same PR as another.
Benefit

Two main benefits:

Ensure the greatest degree of flexibility with respect to how DAG runtime configuration variables are managed in any given environment
Remove examples in contradiction of Airflow best practices/that do not rely on the tools Airflow gives us that enable advanced Airflow usage like remote executors.

Additional context

Related to/came out of this discussion: https://github.com/WordPress/openverse/pull/4833#discussion_r1744264933
ccing the @WordPress/openverse-catalog for visibility as the main Airflow knowledge holders :slightly_smiling_face: No action item here for y'all, though, other than any helpful input you might have to guide this work... or if you disagree with the premise/goal.

Thanks for laying this all out here, I'll respond when I have time with my thoughts!


Binary or Aur?

Hi, can u added a binary in release or aur(arch).

Aiming to put the next release in AUR, ETA is in a couple of weeks. In terms of a binary, what platform are you after?

i'am going with ytermusic, i like you tui.
linux x64, arch.
nice to know for news.


Display progress in test runner during test suite execution

It would be an excellent enhancement to add indication of progress during test execution within the test runner application. The first two indicators that come to mind are number of tests completed and time elapsed (e.g. 40/230 Tests complete after 1890 milliseconds.).

@ghaagsma nice idea! we are just using the regular QUnit test runner here though. could you open an issue for this at https://github.com/qunitjs/qunit/ ? :)

Ya, totally agreed that this is a much needed feature!

Appreciate the feedback! Opened a new issue in the qunit project.
https://github.com/qunitjs/qunit/issues/1394


Add sdk demand for release pipeline

@wiwei, should we add this for all pipelines?

@MenelvagorMilsom I think that would be best getting this demand added for all pipelines.

/azp run mrtk_pr

/azp run mrtk_pr

@keveleigh yeah, it does that sometimes

FYI, I got that "file not found" error when running a cloned mrtk_CI job against my fork. I thought it was due to an expired authorization token as re-authenticating seems to have fixed it. Perhaps it's an intermittent failure though as I think this build recovered after being forced again... I'll mention that to Nick and perhaps he can pass this info on to the ADO team.


Many warnings "Difference found in glyph"

I'm getting many warnings when compressing HelveticaNeueLTStd-UltLt.otf with --check, even though the compressed font looks fine.
$ compreffor -vv --check HelveticaNeueLTStd-UltLt.otf
Compressing font through C++ Compreffor
Took 0.002s to produce data for C++ library
Took 0.009s to run 'lib.compreff()'
Took 0.000s to extract results
Took 0.047s to decompile charstrings
0 substrings unused or negative saving subrs
0 substrings nested too deep
0 substrings being flattened
Took 0.000s to post-process subroutines
Took 0.004s to apply subroutines
Took 0.066s to compress the font
Took 0.150s to compile and save compressed font
Checking compression integrity and call depth
No subroutines found; skip decompress
No subroutines found; skip decompress
WARNING: Difference found in glyph 'plusminus'
WARNING: Difference found in glyph 'aring'
WARNING: Difference found in glyph 'ordfeminine'
WARNING: Difference found in glyph 'less'
WARNING: Difference found in glyph 'ograve'
    [... warnings for all glyphs in this font ...]
WARNING: Fonts have differences :(
Took 0.114s to check compression integrity
Subroutine nesting depth ok! [max nesting depth of 6]
Took 0.055s to check subroutine nesting depth

The version of the font is OTF 1.029;PS 001.003;Core 1.0.33;makeotf.lib1.4.1585.

HelveticaNeueLTStd-UltLt.otf has 194 private subrs (and no global subrs), but I found has_subrs() returns False.


Synchrony issue 2: Event file rows with same onsets

Rows in an event file are treated as distinct event markers, even if they have the same onset values.
Example 1:

onset
Point
HED

3.4
A
(Def/Ex1, (Condition-varible/Blech), Onset),

3.4
B
Sensory-event, Visual-presentation

3.4
C
(Blue, Square)

6.2
D
(Def/Ex1, (Green), Onset))

7.7
E
(Def/Ex1, (Yellow), Onset))

Example 2:

onset
Point
HED

3.4
B
Sensory-event, Visual-presentation

3.4
C
(Blue, Square)

3.4
A
(Def/Ex1, (Condition-varible/Blech), Onset),

6.2
D
(Def/Ex1, (Green), Onset))

7.7
E
(Def/Ex1, (Yellow), Onset))

The order users decide to list event markers with the same onset values is arbitrary.
In Example 1 the experimental condition Blech is ongoing during the sensory presentation, while in Example 2 it is not.
Questions:

Should HED tools detect consecutive rows with the same onset and consolidate the HED into a single annotation and associate it with the last row of the group?
How should the duration column be handled in the case of multiple rows at a single onset?
Successive reading and storing of event files can easily result in slight various in the numbers representing the onsets due to round-off. It is easily possible that two consecutive markers at 2.0 could be rewritten so that the first one was at 2.0, but the second one was at 1.99999999.  Should we have a significant digit criteria for rewriting onsets  and for considering onsets to be the same?

I think 1 would cause some trouble for events like trial-level events, block-level events, but also for the movie shots and scenes. The first event of trial is likely the same onset as the trials onset itself. The onset of the first shot in a scene is the same as the onset of the scene. I do not think we want to collapse these.
I think one relevant use case for a problem like this is if you have an experiment where multiple stimuli are presented on the screen at the same time, but dissappear one by one.
How do we want people to annotate this? Duration is currently a required column in BIDS, this means on openneuro at least people will have to fill in something. For me this means these dots cannot be represented on the same line, because there is no way to put the right information in in that case.

1-2. Each line of a events.tsv file gives information about the Onset marker (unless otherwise specified)  of an Event, e.g. its time of initiation, plus information about the event itself - which may include its Duration (to be converted separate Onset and Offset markers during HED expansion).  In no case does information given in a tsv file line 'bleed over' into information in other lines -- unless such a line contains an Inset or Offset marker for a previously-Onset event, as explicitly labeled or (dangerously) assumed to refer to the immediately preceding event Onset. HED should separate event markers into separate lines - also when these markers have the same Latency value.

Yes - as sampling rates are always finite, latencies should be rounded to a value grid with interval <0.5/srate s, where srate is the fastest (e.g., most accurate) time measure in use in the experiment.  In practice, this can be left to the user to specify (if needed, with the above advice). For example, in behavioral experiments where differences between stimulation durations of  0.1000s and 0.1001s were tested, the user should round to at most 0.0001s. But in cases where different device clocks are used - such as 500/s EEG + reaction time clock, times might by default be limited to 1ms (3 sig digits). What if the EEG srate were 512/s? In this case a 1/2000 = 0.0005 s resolution might be used as default (1/2000 s).  But the same would not work for 1/3000 - since the decimal representation of 1/3000 would be of infinite length.  So whether the default 'grain' jumps from 1/1,000 immediately to 1/10,000, or whether default selection steps of 1/1000, 1/2000, 1/5000, 1/10000 are used should depend on our programming time and interest (overridable by [how?] user specification). But latency representations such as lat=23.199999999999 should be avoided, both for the (lat==24?) problem and for its visual & conceptual ugliness...

I do nto see "an ordering issue" with event markers with the same latency.  In HED, Latency is the only meaningful ordering variable. Event markers with the same Latency are not ordered ... they occur simultaneously. If/where for example Condition and Sensory event Onsets co-occur, then their later markers (e.g. Offset or Inset markers) should use event labels to specify their referent event.

Event markers that are distinct (i.e., in different rows of an event file) are treated as distinct by most tools, and their relative position in the file imposes and order.  If they are reordered, you might get different results.
Our tools so far don't deal with consecutive event markers at the same time.  Because of the potential of round-off of values in the onset column, this is not necessarily trivial. HED has issues that we need to resolve event when considering ordering in the same event marker:
case 1:

onset
duration
HED

0.54
n/a
(Def/Blech, Onset), (Def/Blech, Offset)

versus case 2:

onset
duration
HED

0.54
n/a
(Def/Blech,Offset, (Def/Blech, Onset)

I think we need to exclude onset and offset of the same anchor in the same marker at the very least.
In case 1:  the Onset and Offset occur at the same time....
In case 2:  the Offset occurs before the Onset and hence there is an error.
Since there is no guarantee about how the tags within a given HED notation are ordered internally, which case occurs is random.
The situation is even more complicated when there are multiple event markers with the "same" onset time and the onset and offset information is spread among them.

I don’t see why each row should have >1 marker. For ‘standalone’ markers (
RT) this is a quandry. I’ve proposed (to myself at least!) that an RT
marker be reported as the Offset of a task event whose onset is the
imperative stimulus … Else as an Inset marker in an (undefined) Response
event. Perhaps we should best add another marker type, a simple Set - no,
that makes no sense as there IS an event it is an Inset marker of (a motor
response event).  … But the Set marker could (by exception) be treated as a
(typically) Inset marker of an event of unknown extent.” And this described
as an event.
On Tue, Mar 14, 2023 at 6:07 PM VisLab @.***> wrote:

Event markers that are distinct (i.e., in different rows of an event file)
are treated as distinct by most tools, and their relative position in the
file imposes and order. If they are reordered, you might get different
results.
Our tools so far don't deal with consecutive event markers at the same
time. Because of the potential of round-off of values in the onset column,
this is not necessarily trivial. HED has issues that we need to resolve
event when considering ordering in the same event marker:
case 1:
onset duration HED
0.54 n/a (Def/Blech, Onset), (Def/Blech, Offset)
versus case 2:
onset duration HED
0.54 n/a (Def/Blech,Offset, (Def/Blech, Onset)
I think we need to exclude onset and offset of the same anchor in the same
marker at the very least.
In case 1: the Onset and Offset occur at the same time....
In case 2: the Offset occurs before the Onset and hence there is an error.
Since there is no guarantee about how the tags within a given HED notation
are ordered internally, which case occurs is random.
The situation is even more complicated when there are multiple event
markers with the "same" onset time and the onset and offset information is
spread among them.
—
Reply to this email directly, view it on GitHub
https://urldefense.com/v3/__https://github.com/hed-standard/hed-schemas/issues/65*issuecomment-1468905011__;Iw!!Mih3wA!Bt0q3uWtErHe4Tv5uunrn2VCYTirIuQJZYD-qEUmbhw_2x7XulSWY0wAj8T3FVp9WgCfMIBnKPLvwS3QF0pQ31b2$,
or unsubscribe
https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AKN2SFQ75TAPT5ABVDNVJADW4DT2ZANCNFSM6AAAAAAU2JIMM4__;!!Mih3wA!Bt0q3uWtErHe4Tv5uunrn2VCYTirIuQJZYD-qEUmbhw_2x7XulSWY0wAj8T3FVp9WgCfMIBnKPLvwS3QF7nOEXFp$
.
You are receiving this because you commented.Message ID:
@.***>

--
Scott Makeig, Research Scientist and Director, Swartz Center for
Computational Neuroscience, Institute for Neural Computation, University of
California San Diego, La Jolla CA 92093-0559, http://sccn.ucsd.edu/~scott

Discussion of 3/20/2023 of HedWorkingGroup:

Validators will need to check for duplicate tags/tag groups over multiple consecutive event markers with the same onset time.
An Onset tag group and Offset tag group with the same anchor tag cannot occur at the same time.  (Currently the HED validators only check that they are not in the same event file row.)
Searching options should allow events that occur at the same time (perhaps over multiple consecutive event markers) to be split into separate consecutive events or consolidated into a single event (located at the first of the consecutive identical markers).

@monique2208 @smakeig @happy5214 @IanCa @dungscout96 @sappelhoff @arnodelorme

https://github.com/hed-standard/hed-specification/pull/540
https://github.com/hed-standard/hed-python/pull/755
This should directly cover 1 and 2.  We don't really have search tools yet, but they could be easily tweaked for 3.  Call BaseInput.series_filtered instead of BaseInput.series_a

We'll leave this issue open until it is also addressed in the Javascript hed-validator --- but great progress!
How are we handling the issue of the criteria for onsets being the "same".  Is there a criteria that the above is using?

The handling of event file rows with the same onsets has been described in the HED specification. See ONSET_OFFSET_INSET_ERROR #i.
The correct handling has been incorporated into validation in the HED Python tools and is being incorporated in the HED Javascript tools as per issue #131.

For the sake of completeness, the correct link to the hed-javascript issue for this task is https://github.com/hed-standard/hed-javascript/issues/131 (the link in the previous comment is for this repo).


sessionLock: focus lock on creation based on mouse position

Describe your PR, what does it fix/add?
Causes created lock surfaces to be focused only if they would be focused by mouse movement. This makes it so on lock, the focused surface is the one the mouse is on instead of the last surface created by the locker.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Is it ready for merging, or does it need work?

We should probably kick focus from the currently focused surface immediately on lock creation, then only let lock surfaces be focusable.


Infra destroy fixes

JIRA link (if applicable)
N/A
Change description
Very minor changes to the Stage names to allow the destroy bit to work again
Also added the tagging module to the Private Endpoints
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[X] No

/azp run


fix EmojiParser extractEmojis

respect fitzpatrick modifiers

Coverage increased (+0.9%) to 92.625% when pulling fdeab4e21a5d4367d2287f3492cdb816f4a4db70 on sullis:fix-extractEmojis-fitzpatrick into eb73533caf275a2bbc1497a58250b61819b46105 on vdurmont:master.

@vdurmont

Thank you!

@vdurmont  can you release a new version of the library?

Yes, I will do that today! I'd like to try to take a look a #137 if I can before that but if I don't have time, I'll release today anyway.

@sullis I just checked, it reached maven central! v5.1.1

@vdurmont  Awesome!  I just upgraded to v5.1.1
https://github.com/sullis/twilio-sms-example-java/commit/927692652736467390343baa4754809d5191cf05
I pushed my code to production.  It works! 💯


🐛 BUG: api.error.service_not_found when publishing a development worker

What version of Wrangler are you using?
2.1.0
What operating system are you using?
Linux + Github Actions
Describe the Bug
It appears wrangler publish broke in the recent version.
The error I'm getting is:
✘ [ERROR] A request to the Cloudflare API (/accounts/ACCOUNTID/workers/services/githubrepo-feature-refs-pull-46-merge) failed.

  workers.api.error.service_not_found [code: 10090]

  If you think this is a bug, please open an issue at:
  https://github.com/cloudflare/wrangler2/issues/new/choose

I'm getting this from just running the command npx wrangler@2 publish --name=test123 too.
When this happens the error is being thrown from this line. I'm trying to understand the difference between a script and a service (and it's API counterparts), but I can't really seem to figure out what I'm doing wrong

Also experiencing this issue with v2.1.0

@JacobMGEvans i think the unit from dash thing broke publishes

How is publish even hitting that line...

@JacobMGEvans i think the init from dash thing broke publishes

Did a bit of a sanity check, I pulled down the test-worker2 and published it immediately and it worked. The GitHub Action might be doing something odd, but I am uncertain how functionality in init would impact publish

@JacobMGEvans Hi, just confirming. I am experiencing this on both Github Actions, and manually running this to a non-production (dot_workers) environment. Publishing to a production-env works just fine.

My guess is it's coming from here https://github.com/cloudflare/wrangler2/blob/1553eb3db6712e4eeb82e087bfc25e8fe0916fb4/packages/wrangler/src/publish.ts#L223-L225
can you try doing a publish on a script that's not been published before?
(I'm afk so can't test this myself)

I will give it a try.

My guess is it's coming from here
https://github.com/cloudflare/wrangler2/blob/1553eb3db6712e4eeb82e087bfc25e8fe0916fb4/packages/wrangler/src/publish.ts#L223-L225
can you try doing a publish on a script that's not been published before?
(I'm afk so can't test this myself)

Got the same error.

Hmm, maybe if the Worker has never been published before, we can't ask for its previous publish metadata.
Perhaps we just need to wrap this request in a try-catch block?

Hmm, maybe if the Worker has never been published before, we can't ask for its previous publish metadata. Perhaps we just need to wrap this request in a try-catch block?

Already made the PR @petebacondarwin 😄


make it so livecodelab also dozes off when the program is only made of comments (and tabs and whitespaces)

so this should be working now. Each of the code compilers checks to see if the output that it generates is empty after code compilation. If it is then the livecodelab core will set things to sleep.
https://github.com/davidedc/livecodelab/blob/master/coffee/core/livecodelab-core.coffee#L254
https://github.com/davidedc/livecodelab/blob/master/coffee/languages/livelangv1/compiler.coffee#L39
https://github.com/davidedc/livecodelab/blob/master/coffee/languages/livelangv2/compiler.coffee#L57
Have a quick double check if you've got a moment, but I think we can close this

There was a time, I don't remember when, when there was a simpler mechanism - there was (maybe there still is) a flag "somethingBeenDrawn" (or the likes) set to true wherever any drawing primitive is called.
So the animation loop would check that flag before attempting a render.
It seemed to me slightly more generic - so you could have a program doing only matrix transformations, and no render would happen...
It's not for optimisation's sake - it just seemed to me that the correct (and simpler) way to check whether to even attempt a render was to check whether anybody even called a drawing primitive...

so I think this is actually working as we want right? I don't think that the edge case of running without rendering is something we want to support is it?


add lag / attribution window to incremental

Background
In many cases certain portion of data should be reacquired during incremental loading. Ie we want to always capture last 7 days of data when getting daily analytics report. Or we want to refresh slack message replies and we have a moving window of 7 days for that.
Technically we would always pass start_date +/- the lag to the function accepting incremental
Requirements

[ ] add new optional filed to Incremental class that will hold the lag.

[ ] lag should be expressed as float and will be interpreted depending on the type of the cursor. for datetimes it is a lag value in seconds, for any other type use + / - operator depending on the last_value_func

[ ] we support only min and max for last_value_func. for customs we do not have "+" operator defined.

Hi, I was just looking for a way to add lag to the incremental process (for example, some distributed sources can have unsync datetimes where an "older" record is added seconds before the last cursor)
Any example of use the future use?
Thanks!

@axellpadilla this will be released soon (including docs)


Fixed issue with undefined values in admin tab

Fixes the issue with the "undefined" fields in admin tab:
before:

after:

Thanks a lot @senk


Enter doesn't submit search request

To repro:

type healthcheck into the search bar
hit enter
nothing happens

In the javascript console I see:
https://api.segment.io/v1/p net::ERR_BLOCKED_BY_CLIENTo @ analytics.min.js:5i @ analytics.min.js:5w.send @ analytics.min.js:5w.onpage @ analytics.min.js:5(anonymous function) @ analytics.min.js:5o.emit @ analytics.min.js:6(anonymous function) @ analytics.min.js:6o._invoke @ analytics.min.js:1(anonymous function) @ analytics.min.js:6o.page @ analytics.min.js:1(anonymous function) @ analytics.min.js:6(anonymous function) @ analytics.min.js:1o.2../analytics @ analytics.min.js:1i @ analytics.min.js:1e @ analytics.min.js:1(anonymous function) @ analytics.min.js:1(anonymous function) @ analytics.min.js:8

Chrome version: 54.0.2840.100 (Official Build) (64-bit)
Revision	ed651c97177b2ac846b27f62bb8efed6dac0f90b-refs/branch-heads/2840@{#833}
OS: nixos (unstable branch)
relevant addons: adblock, ublock origin, https everywhre
I disabled all of them while testing this though.

I think @johndmulhausen fixed this. Can you please try it again?

works now


Not handling 'text/html' Content-Type responses

Hey all 👋
Scenario:
The 403 Forbidden response from the Shopify Graphql API returns a text/html Content-Type. Currently the httpFetcher always runs response.json() regardless of Content-Type. This causes a  Syntax Error: Unexpected end of JSON input. on these 403s
Proposed Solution:
Detect content-type by looking at the response headers, and run the appropriate method to parse the response body, a simple implementation of this would look similar to this update to the httpFetcher:
export default function httpFetcher(url, options = {}) {
  return function fetcher(graphQLParams) {
    return fetch(url, {
      body: JSON.stringify(graphQLParams),
      method: 'POST',
      mode: 'cors',
      ...options,
      headers: {
        'Content-Type': 'application/json',
        Accept: 'application/json',
        ...options.headers
      }
    }).then((response) => {
      const contentType = response.headers.get('content-type');

      if (contentType.includes('application/json')) {
        return _handleJSONResponse(response);
      }

      return _handleTextResponse(response);
    });
  };
}

where _handleJSONResponse and _handleTextResponse would have the response.json() and response.text() calls respectively, as well as wrapping the the body fromtext/html responses in an object, so that the return value of httpFetcher is always an object.
This is just a suggested solution, to get the conversation started on how to handle these non-json responses. I'd love to hear any other possible ways to handle this.
Thanks!

This is a good idea @camerondubas. One issue though is that graphql-js-client is supposed to be generic to any GraphQL API and that 403 forbidden response is a Shopify specific problem.
Maybe we could implement this on js-buy-sdk instead?
Although I could also see how it would fine to handle this situation for any API as well.

Unfortunately I don't think this can be handled by the js-buy-sdk as the error has already occurred by the time the buy sdk has any control. All that the buy sdk receives is the Syntax Error: Unexpected end of JSON input. error messaging.
I suppose the buy sdk could check for this error message, and handle it in some way, but the actual content of the response body is lost (albeit in this specific case the response body is an empty text object anyway).
You mention that graphql-js-client should be generic and that this is specific to Shopfiy. Does that indicate that Shopify's implementation flawed here, and that the real "fix" should be in  the API itself? Simply returning Content-Type: application/json would clear up this issue altogether.

Does that indicate that Shopify's implementation is flawed here, and that the real "fix" should be in  the API itself? Simply returning Content-Type: application/json would clear up this issue altogether.

I work for Shopify, but my personal opinion is yes it's flawed. I'd expect a JSON based API to always return JSON. It's something that's come up over time, but I don't know if it has to stay that way for some legacy reason or not.

Ya, It's totally reasonable that Shopify may need to continue sending the text/html 403s for legacy reasons.
With this in mind, how do you feel about a similar solution to the one I suggested initially?
This would have no effect on typical application/json requests, which as you mention should be every request in a JSON based API. This means that the graphql-js-client would still remain generic to GraphQL APIs that always send JSON payloads.

I think it sounds good. A PR would be welcomed 😄


Memory leak in LXEntryFormatter

Hello,
I have noticed that every time I call a method to log some information (log.error(), log.info(), log.notice(), etc.) I see a memory leak in the Instruments tool (using Leaker)
I have a global instance of the logger in my AppDelegate.swif file, declared as follows:
import LogKit
let logger = createLogger(.All, fileExtension: "txt")

The definition of the createLogger function is the following:
func createLogger (minimumPriorityLevel: LXPriorityLevel, fileExtension: String) -> LXLogger {
    // Build the logFilePath by using the current date
    // ...
    //
    let logFileEndpoint = LXFileEndpoint(fileURL: logFilePath,
                                         shouldAppend: true,
                                         minimumPriorityLevel: minimumPriorityLevel,
                                         dateFormatter: LXDateFormatter.standardFormatter(),
                                         entryFormatter: LXEntryFormatter.standardFormatter())
    return LXLogger(endpoints: [LXConsoleEndpoint(), logFileEndpoint])
}

In the viewDidLoad() method of the first viewController I call logger.notice("View has loaded")
I have a button that calls logger.info("Button has been pressed")
When I start the profiling, the first screenshot detects the memory leak from the first logger.notice() call. The next screenshots says that we have "No new Leaks". After I press the button and take another screenshot, it says "2 new leaks"
Below is a screen capture of the call tree shown by Instruments

And this is the last method in the tree that I can see:

Hello again,
I have noticed that if I'd use string concatenation in the standardFormatter() method, there are no leaks.
I have changed the standardFormatter() method to use string concatenation as follows:
/// Converts `LXLogEntry` objects into strings in a standard format that contains basic debugging information.
public class func standardFormatter() -> Self { return self.init { e in

    // Append date-time
    var entryString = e.dateTime
    // Append message type
    entryString += " [" + e.level.uppercaseString + "] "
    // Append function name
    entryString += e.functionName
    // Append file name
    entryString += " <" + e.fileName + "> "
    // Append the message
    entryString += e.message

    return entryString }
}

With this implementation I get no memory leaks:

I hope this would help you in some way!
Best regards,
rhcpfan

Hi @rhcpfan,
Thanks much for reporting this discovery. I'm sorry it has taken so long for me to respond.
I was able to replicate your memory leak, and to confirm that your string concatenation trick fixed the leak. After some searching, I found that this is an open bug in the Swift Standard Library. There also seems to be a related radar.
After some trail and error I have settled on using String(format:_:) in the predefined formatters to serialize Log Entries. I will soon release an update containing these fixes.
Thanks again!


[release-2.3]rename github org

ref to: https://github.com/stolostron/backlog/issues/18746
Signed-off-by: zhujian<EMAIL_ADDRESS>

/assign @ldpliu

/lgtm

/approve


Test not working

Hello, I have failed tests when running yarn test.

You need to change all references to MAINNET by MATIC and all references to RINKEBY or ROPSTEN by MUMBAI in the tests files to make them pass.

I'm still getting that first error after changing references.
$ yarn test
yarn run v1.22.11
$ tsdx test
FAIL  test/constants.test.ts (7.983s)
● Console
console.log test/constants.test.ts:10
  0x8b9f063d0236fcbcf3195aefd700cb188c57b8589d76e984ab69fbc6d677935d

● constants › INIT_CODE_HASH › matches computed bytecode hash
expect(received).toEqual(expected) // deep equality

Expected: "0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f"
Received: "0x8b9f063d0236fcbcf3195aefd700cb188c57b8589d76e984ab69fbc6d677935d"

  12 |   describe('INIT_CODE_HASH', () => {
  13 |     it('matches computed bytecode hash', () => {
> 14 |       expect(COMPUTED_INIT_CODE_HASH).toEqual(INIT_CODE_HASH)
     |                                       ^
  15 |     })
  16 |   })
  17 | })

  at Object.<anonymous> (test/constants.test.ts:14:39)

PASS  test/route.test.ts (8.672s)
PASS  test/fraction.test.ts (8.728s)
PASS  test/token.test.ts (8.739s)
PASS  test/pair.test.ts (8.79s)
PASS  test/router.test.ts (8.853s)
PASS  test/entities.test.ts (8.887s)
PASS  test/miscellaneous.test.ts (8.827s)
PASS  test/trade.test.ts (8.926s)
Test Suites: 1 failed, 1 skipped, 8 passed, 9 of 10 total
Tests:       1 failed, 3 skipped, 123 passed, 127 total
Snapshots:   0 total
Time:        11.522s
Ran all test suites.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.


Add Map Custom Layers documentation

Document adding custom layers to a map, including screenshots.

Added & committed map custom filters doc


misc.imresize with 'nearest' returns incorrect values when downsampling.

I'm using the following code to resize the label images of semantic segmentation task [PASCAL VOC] ( images with values in range 0 to n_classes with n_classes = 21).
    lbl = m.imread(lbl_path)
    lbl = np.array(lbl, dtype=np.int32)
    lbl = self.encode_segmap(lbl)
    print 'Unique: ', np.unique(lbl)
    plt.imshow(lbl)
    plt.show()
    lbl = m.imresize(lbl, (self.img_size, self.img_size), 'nearest')
    print 'Unique after resize: ', np.unique(lbl)
    plt.imshow(lbl)
    plt.show()

When I run this, I get this output:
Unique: [ 0  1 15]
Unique after resize: [ 0  17 255]

Shouldn't the values after resize ( using nearest) only belong to the set ( 0, 1, 15 )?
The images I get as output are :
Original

Resized

Thanks for the report @meetshah1995. Yes, imresize has weird default behavior. This issue is a duplicate of gh-4458. We're addressing this for the next release, both by adding clear warnings in the documentation and probably by deprecating imresize.
I'll close this issue as a duplicate.


Implement AsRef and AsMut instances for repr(uN) bitfields

For repr(uN) bitfields, it'd be helpful to be able to view a reference to the bitfield as a reference to the representation type without copy.
The opposite is also true - there are occasions when I'd like to operate on a primitive type as though it were a bitfield.

I'm happy to submit a RP if this is considered desirable ^

I can't think of an implementation not requiring unsafe. Stdlib functions i.e. from_ne_byes copy.


Using @nuxt/typescript overrides any existing tsconfig.json file

Version
v2.5.1
Reproduction link
https://codesandbox.io/s/0qmykr7wq0
Steps to reproduce
Using the official Nuxt with TypeScript example on CodeSandbox:

Adjust the tsconfig.json in any way
Restart the sandbox

TS support will be detected again and any modifications to tsconfig.json will be overridden.
What is expected ?
The existing tsconfig.json is unmodified.
What is actually happening?
The tsconfig.json content is overridden.
Additional comments?
I've also noticed that the generation of the tsconfig.json doesn't seem to respect the srcDir setting in the Nuxt config.
For some background: we have a setup where we use TS for our server-side code and our Nuxt code in the same repo. At present, we have a tsconfig.json in the root for our server code and then a separate tsconfig.json for our Nuxt setup in a subdirectory (which is ignored by the first config file).
Since 2.5.0 our root tsconfig.json is being overridden by the automatically generated one. I don't think this would cause any issues if it respected the srcDir config option (i.e. generated it in the subdirectory) although it seems feasible to me that people may want to modify their config and overriding it every time may not be the best option.

This bug report is available on Nuxt community (#c8900)

Hi @sambowler, we're gonna switch back to the old behavior which was extending a tsconfig.json.
Overriding tsconfig.json was not a good Idea (FYI it doesn't exactly overrided but add missing values in it).
The main issue we have is that we need to take root tsconfig.json for runTime support (nuxt.config.ts / serverMiddlewares), and tsconfig.json from srcDir for webpack related TS files (vue components, plugins).
Thanks for your feedback, it will be closely taken into account. I will refer this issue when I'll open the PR which brings better TS integration.

@kevinmarrec
Since latest it doesn't   like "extends": "@nuxt/typescript-edge", line in tsconfig.json. What is the right value for that?

@husayt, just removing it should work

@husayt May it help, I had some custom values to add to tsconfig.json. I removed everything and left only an empty JSON: {} like in this example.
After a build / generate, tsconfig.json is populated with some values. I then added my custom values back and it works (the tsconfig.json link after being populated and updated)


[Event Request] Report 12115 "Calculate End Year Costs" - Function "InitPurchFields" - New Event OnAfterSetItemLedgerEntryFilters

Hello, we need the possibility to extend the Function "InitPurchFields" on "Calculate End Year Costs" Report (12115) as follows:
    procedure InitPurchFields()
    var
        IsHandled: Boolean;
    begin
        IsHandled := false;
        OnBeforeInitPurchFields(ItemCostHistory, IsHandled);
        if IsHandled then
            exit;

        GetBefStartItemQtyAndCost(ItemCostHistory."Purchase Quantity", ItemCostHistory."Purchase Amount");
        SetItemLedgerEntryFilters(ItemLedgEntry, StartingDate, ReferenceDate, '%1', ItemLedgEntry."Entry Type"::Purchase);

        //new-s
        IsHandled := false;
        OnAfterSetItemLedgerEntryFilters(ItemCostHistory, ItemLedgEntry, IsHandled);
        if IsHandled then
            exit;
        //new-e

        if ItemLedgEntry.FindSet() then
            repeat
                ItemLedgEntry.CalcFields("Purchase Amount (Expected)", "Purchase Amount (Actual)");
                ItemCostHistory."Purchase Amount" += ItemLedgEntry."Purchase Amount (Actual)" + ItemLedgEntry."Purchase Amount (Expected)";
                ItemCostHistory."Purchase Quantity" += ItemLedgEntry.Quantity;
            until ItemLedgEntry.Next() = 0;
    end;

    [IntegrationEvent(false, false)]
    local procedure OnAfterSetItemLedgerEntryFilters(var ItemCostHistory: Record "Item Cost History"; var ItemLedgEntry: Record "Item Ledger Entry"; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10818.


Store images somewhere else than S3

Since #63, users can attach images to expenses, but they can be stored only on S3. If someone has the need to store images somewhere else (locally, on an FTP server…), feel free to comment here with your need and we’ll see how to implement it.

A relatively simple change could be to support S3 providers other than AWS and allow configuring the endpoint via an additional environment variable like S_UPLOAD_ENDPOINT.
Support for additional storage methods may not be necessary beyond this. There are FOSS options for S3 compatible storage so there is no vendor lock-in. Focusing storage options on a single method may help keeping complexity lower, too.

Looks like next-s3-upload has support for the endpoint already:
https://next-s3-upload.codingvalue.com/bucket-config#bucket-endpoint

support for storage on a local file system might be useful for homelab deployments

support for storage on a local file system might be useful for homelab deployments

it could, but you should also just be able to use for example Minio in order to reach the same functionality, and since you are running multiple containers already (postgres+app) i don't think the overhead of adding for example Minio would hurt too much.
Then you can choose where to store the Minio volumes if you wish

I tried getting Minio running locally and got it to work with uploading the image to the bucket, but not with then showing it.
I think you would have to make it work with serving images via presigned URLs (in addition to uploading via presigned URLs) in order to get it to work. I can continue looking into it another day if this would be a suitable solution?

It seems we both gave it a try in parallel. :)
I'd be glad to hear your feedback to my attempt: #71

It seems we both gave it a try in parallel. 🙂
I'd be glad to hear your feedback to my attempt: #71

Looks very similar to my try! Except yours handles the next config parts way better than my solution.
It seems my issue was that I did not configure my Minio bucket correctly, so the only thing I would maybe say could be added is a hint in the documentation about Minio and how to setup the bucket. But I'm also unsure if that actually should be in the documentation for Spliit… so I did not leave it as a comment on the PR.
Very nice work!

I tried getting Minio running locally and got it to work with uploading the image to the bucket, but not with then showing it.
I think you would have to make it work with serving images via presigned URLs (in addition to uploading via presigned URLs) in order to get it to work. I can continue looking into it another day if this would be a suitable solution?

Regarding exposing to the internet, one of my concerns is having too many ports open on a home server so I have been trying to embed spliit as an add-on for homeassistant so that I can use a single open port as the entry point or their nabucasa proxy - it would then be available from the homeassistant app and this along with all of my other tools are available in in one place.
This would solve the public URL problem too

I tried getting Minio running locally and got it to work with uploading the image to the bucket, but not with then showing it.
I think you would have to make it work with serving images via presigned URLs (in addition to uploading via presigned URLs) in order to get it to work. I can continue looking into it another day if this would be a suitable solution?

Regarding exposing to the internet, one of my concerns is having too many ports open on a home server so I have been trying to embed spliit as an add-on for homeassistant so that I can use a single open port as the entry point or their nabucasa proxy (see #56). The app would then be available from the homeassistant app and this along with all of my other tools are available in one place.
This would solve the public URL problem too as the MinIO url would be considered local.

Yeah, I run everything behind a reverse proxy, so I have only port 443 open to the internet, but using different sub-domains. But I do see the use case of being able to just source them from a static file directory.

I would also prefer local storage for home-lab environments. MinIO makes it more complex overall and another service that has to be hardened against external threats.

Should look to keep documents stored locally as for home-lab users looking to keep everything in-house would make the most sense.
Once the docker hub image is available, you could look at integrating with other applications.
As most home-lab users are using paperless-ngx, could look to use the integration for this with Spliit?

@justcallmelarry could you please share how you configured Minio so the images are actually displayed in Spliit (PUT works fine).

Any updates on this?

@swiftbird07 I had the problem of intergrating the minio docker image with the spliit docker image also. I could upload an image with PUT, but when the split application tried to do a GET it failed.
For me, one of the solutions was to open the port 9000 ( The port minio was using for the buckets ) on my docker machine using UFW. There could have been other configuration changes that contributed to the application working I can share if it would help? I modified the composer file to use the minio image so they share a network.
If you are still interested in fixing this, I'm happy to share what I have done! :) It took me a while to trouble shoot this.

If you are still interested in fixing this, I'm happy to share what I have done! :) It took me a while to trouble shoot this.

Yes I would appreciate that. Especially how did you set up the permissions etc?


Update api.rb

In Brazil, the authentication URL is another, so the developer can set the correct information.

i already fixed this #6

Really, it was very good your solution. The moderator takes too long to include.

It does not seem to be very interested.

In this case I think we can make a fork and put a team to moderate, this gem is very interesting for the community.


Pressure computation and Monte-Carlo

I went for an easy solution, asking the propagator for an external temperature strategy and using that for pressure/stress computations inside the system.

I like it. 👍


Incorrect number of sockets on Belt of Tasseled Lanterns

[Belt of Tasseled Lanterns] (https://wowhead.com/wotlk/item=37648)  should have 1 blue socket, on wowsims it has 2.

that's due to https://www.wowhead.com/wotlk/item=41611/eternal-belt-buckle, all belts are automatically given an extra prismatic socket. not a bug, but I can see how its unclear


Problem with long image file name

The following Markdown file
# Test

![OK](https://img.shields.io/badge/-Python-black?style=flat-square&logo=Python)

![NOK](https://img.shields.io/badge/-Python-black?style=flat-square&logo=Python&logocolor=yellow&logowidth=40&link=https://www.python.org/doc/)

fails in WSL with the error:

OSError: [Errno 36] File name too long: 'images/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d507974686f6e2d626c61636b3f7374796c653d666c61742d737175617265266c6f676f3d507974686f6e266c6f676f636f6c6f723d79656c6c6f77266c6f676f77696474683d3430266c696e6b3d68747470733a2f2f7777772e707974686f6e2e6f72672f646f632f.svg'

Reason
This can be reproduced for any image with sufficiently long file name, and for badges from shields.io with a long list of parameters, which result in a file name that encodes these parameters in ascii.
The bug appears to be due to the maximum path length limitation of 260 characters in Windows. Presumably this would also happen in plain Windows and not just WSL, but I could not reproduce due to a different error (UnicodeEncodeError).
Workaround
The problem can be circumvented by running gh_md_to_html test.md -i (deliberately leaving the optional argument to -i empty to not download images), but this is not ideal.
Solution
See this commit in httpie for a possible workaround.

Hello, and thanks for the detailed issue report!
The problem seems to be reproducible on Ubuntu Linux as well, not just on Windows; I'm getting the same error on my machine.
The underlying issue seems to be that gh-md-to-html usually determines the file name based on the image URL, and falls back to the hash as a file name under certain circumstances (if it can't determine a good file name based on the URL, for example). The reason why the hash is used in this case is because the hash is kept around anyways to be able to ensure that two identical images are always saved under the same image name, to reduce the disk space that image caching requires.
I should be able to solve this by determining the file name differently in these case scenarios, though; I'm currently looking deeper into this.
(On a relatively unrelated side note, I'm glad to see that there are people who are actually using the image caching feature :grinning: )

Okay, so, I figured out the root of the issue now. It actually had nothing to do with the hashes I mentioned, but rather with the fact that GitHub caches images itself, and that gh-md-to-html's image caching therefore accidentally wraps around GitHub's image caching, copying GitHub's absurdly long file names in the process.
I will fix this tomorrow (in 10-12 hours) and update you once it is done, if that's okay.

Awesome, thanks for investigating this so quickly!

The issue should be fixed now; you can update to v1.17.1 (e.g. via pip3 install --upgrade gh-md-to-html>=1.17.1) to get said fix.
I also fixed how image names are generated; they should make much more sense now. You will have to delete the already-cached images (probably in the local images folder) to see this change, though (but not deleting them will do no harm; it will just keep the contra-intuitive seemingly random image names of already-cached images).

Great, I have tested it and it indeed solves the problem. Thank you!
The script now prints a bunch of output, though. Perhaps these prints should be inside an if DEBUG statement?

Oh yes, thanks for pointing that out!
I simply forgot to remove the print-statements after I was done fixing the problem (which, of course, shouldn't happen in a published Python module). They're now partially removed and partially behind an if DEBUG-wall like you suggested, so you shouldn't see any unwanted output now.
You can update to v1.17.2 (e.g. via pip3 install --upgrade gh-md-to-html>=1.17.2) to get said fix.


Fix parsing of bracketed then called context managers

By the bracketed multiple context managers to be followed by a colon, so that the bracketed called context manager is identified as the old-style syntax.
Fixes #5403

Thanks


Disable agent option from agent view

Agent admins should be able to temporarily disable an agent (e.g., for maintenance)

Also show agent health (and disable automatically if unreachable)

Added in d49cde0


Exception if using user field "counters" (==> "user_videos" ?)

Was trying to fetch the user profile with nearly all possible fields but "counters" seems to make a problem. I was debugging it and found the following stacktrace:
org.springframework.http.converter.HttpMessageNotReadableException: Could not read document: Unrecognized field "user_videos" (class org.springframework.social.vkontakte.api.Counters), not marked as ignorable (13 known properties: "notes", "photos", "gifts", "albums", "pages", "online_friends", "mutual_friends", "groups", "friends", "followers", "subscriptions", "videos", "audios"])
 at [Source: java.io.PushbackInputStream@135bad8b; line: 1, column: 919] (through reference chain: org.springframework.social.vkontakte.api.VKontakteProfiles["response"]->java.util.ArrayList[0]->org.springframework.social.vkontakte.api.VKontakteProfile["counters"]->org.springframework.social.vkontakte.api.Counters["user_videos"]); nested exception is com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "user_videos" (class org.springframework.social.vkontakte.api.Counters), not marked as ignorable (13 known properties: "notes", "photos", "gifts", "albums", "pages", "online_friends", "mutual_friends", "groups", "friends", "followers", "subscriptions", "videos", "audios"])
 at [Source: java.io.PushbackInputStream@135bad8b; line: 1, column: 919] (through reference chain: org.springframework.social.vkontakte.api.VKontakteProfiles["response"]->java.util.ArrayList[0]->org.springframework.social.vkontakte.api.VKontakteProfile["counters"]->org.springframework.social.vkontakte.api.Counters["user_videos"])```

#41 duplicate


chore: Add logger

Adds a structured logger to the project
Usage
Define your logs by priority: Debug, Info, Warn and Error by adding the following to the code
import "log/slog"

slog.Debug("Debug message")
slog.Info("Info message")
slog.Warn("Warn message")
slog.Error("Error message")

To set the debug level when running:
ENV=debug sesh

Just need to change the debug text for info or warn, error logs will always be logged

Not sure if I'm gonna merge this, but leaving it open for now as a reference for v2, thanks!

Reference in an issue, closing for now.


Building SDK and Tests for the appropriate target framework

Build SDK and associated for the multiple target framework
Execute tests for multiple target framework
Only build but do not publish non-supported SDK projects
misc. clean up for targets.
Upgraded Msbuild task project to new VS2017 project format, this will enable to easily multi target our build tasks.
Added tests for tasks
Addresses #3140 , #3205

merge conflicts


Comp editor updates

Improvements include...
Old:

New:

Old:

New:

Old:

New:

Old:

New:

It looks like the border on the top doesn't match the border on the text section?

The column key isn't marked as required -- I can't click save or anything to see required fields?

Maybe add example terms link/helper here?


Appealing project preview pattern (for project overview page & others)

Story
As a ML developer I want to collaborate easily with other ML developers to profit from their experience
Details
A user should enjoy the feeling that this platform offers a range of interesting projects. He  can quickly browse  projects and find the interesting ones. That implies that  they are presented in a way that makes it easy to quickly grasp what they are about and how they are relevant to the user.
The preview we currently have doesn't meet the above criticism.

On top of the list of the project list, there must be a title: "Public projects"
Fonts for project description are too small
Zeilenabstand is smaller
Empty project tiles must be inspected when real content is available
Short description is user dependent, should contain the description and existing tags
Using cookies and direct talks, with the user target group, we evaluate what information is most valuable.
For the most valuable content, like tags, we create a pictogram language. E.g. for "problem type" and other descriptors.

Acceptance

[ ] relevant information determined - what do you want to see about a project in a preview tile?
[ ] mock-up made up
[ ] new project tiles implemented

Estimated time 1 day


typescript-react-apollo requires extension to be ".tsx"

Describe the bug
Using graphql-codegen-typescript-react-apollo doesn't generate a .tsx file.
To Reproduce
Steps to reproduce the behavior:
Schema: https://gist.github.com/Industrial/dd53d2ff16b132cdad8f830c65bf9b20
Config: https://gist.github.com/Industrial/181dcb7721b69f5e5ccb44df119ed54b/292473cca5bab4c9b1953693c9467300f31abdca
Expected behavior
a .tsx file generated.
Environment:

OS: linux
Codegen: 0.14.1
Node: 10.11.0

Additional context
Making the config look like this does generate a tsx file but no component/react types in there, it's identical to the one where I remove typescript-react-apollo.
  ./common/domain/datamodel-react.gen.d.tsx:
    plugins:
      - typescript-client
      - typescript-common
      - typescript-server
      - typescript-react-apollo

Hi @Industrial
The typescript-react-apollo and typescript-client are for client-side, and they require you to specify documents field (pointing to your queries, mutations, subscriptions and fragments).
typescript-server is for server side (or, client-side schema, and goes with typescript-resolvers).
Both should be coupled with typescript-common.
Also, you can use the same file for typescript-react-apollo and typescript-client - they extend each other (with .tsx extension).
Your config should looks something like that:
schema: ./common/domain/datamodel-no-annotations.gen.graphql
documents: POINT-TO-YOUR-DOCUMENTS-FILES
overwrite: true
generates:
  ./common/domain/datamodel.gen.ts:
    plugins:
      - typescript-common
      - typescript-server
      - typescript-resolvers

  ./common/domain/react-components.tsx
    plugins:
      - typescript-common
      - typescript-client
      - typescript-react-apollo


Hey there!

I saw that you took a look at EchOS? Thanks for crediting me glad to know other people
are also interested in my own projects :)

no problem


Importer local special chars

https://github.com/CartoDB/onpremises/issues/426

Importing a .carto file with accents is working both in local and staging.
I believe it's unrelated but I tried to download the imported map (from staging) and is failing. Indeed I cannot download any map from staging (I've tried with a different deployment and it happens the same).

Exports are broken for unrelated reasons, so let's go for it.


[Feature]: Mass switch queries to another datasource

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Allow for the switching of existing queries (in bulk) to another datasource.
Why should this be worked on?
The current way of switching datasource for an existing query are to (1) select the query and (2) switch the query to the appropriate datasource. The steps are then manually repeated for all required queries and pages, which could be tedious if there are many pages/queries (especially when repeated testing of different datasources are needed).

Hi @Bimbobao ! Thank you for the feature request. We have this feature tracked here as part of #2836 Please do upvote that issue


What about ##vso[task.debug]message?

I know from PowerShell module VstsTaskSdk that it exists but why not documenting it here?

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

ID: 16bf0bbb-8b63-6384-aa33-b5b1e2b8cfe3
Version Independent ID: f4da8dbd-a02f-bbdf-2cf2-60e081339237
Content: Logging commands - Azure Pipelines
Content Source: docs/pipelines/scripts/logging-commands.md
Product: devops
Technology: devops-cicd-scripts
GitHub Login: @juliakm
Microsoft Alias: jukullam

Any news about this?

Closing this ticket. We added task.debug recently. See here.

Closing this ticket. We added task.debug recently. See here.

I'm not quite following, @juliakm. The link refers to the Formatting commands section of the Logging commands page, which says:

The formatting commands are:
##[group]Beginning of a group
##[warning]Warning message
##[error]Error message
##[section]Start of a section
##[debug]Debug text
##[command]Command-line being run
##[endgroup]

But the issue is about ##vso[task.debug] – not ##[debug] – which is not mentioned anywhere in that page. It is used not only by the VstsTaskSdk PowerShell module (as reported by @Thilas), but also extensively by azure-pipelines-task-lib. So, indeed, shouldn't it be documented?
I'm particularly interested in this because azure-pipelines-logging is intended to support all commands understood by Azure Pipelines. At the time of writing, it doesn't support ##vso[task.debug] (command("task", "debug")) because I wrote it based on said documentation page and didn't even know about ##vso[task.debug]; I just now stumbled over it by accident.


Fix convo top bar click for non-Keybase usernames

r? @keybase/react-hackers

Posted in chat, but repeating here:
This PR doesn't work quite right, as if I click on "nonexistent@twitter", it'll take me to the page for username "nonexistent@twitter" and empty service, whereas it should be username "nonexistent" with service "twitter". Note that this is dependent on whether or not "nonexistent" is actually an account at "twitter" -- it all works fine with existing accounts, since search returns a result in that case.
So I think the root problem here is that one is allowed to create chats with nonexistent twitter accounts, but search doesn't return a result for those. I mean I can just parse the assertion manually, but I don't know if that's the right solution.
Thoughts, @cjb?

We don't care if they're real accounts or not. We should just show the page
On Fri, Aug 4, 2017 at 6:37 PM Fred Akalin<EMAIL_ADDRESS>wrote:

Posted in chat, but repeating here:
This PR doesn't work quite right, as if I click on "nonexistent@twitter",
it'll take me to the page for username "nonexistent@twitter" and empty
service, whereas it should be username "nonexistent" with service
"twitter". Note that this is dependent on whether or not "nonexistent" is
actually an account at "twitter" -- it all works fine with existing
accounts, since search returns a result in that case.
So I think the root problem here is that one is allowed to create chats
with nonexistent twitter accounts, but search doesn't return a result for
those. I mean I can just parse the assertion manually, but I don't know if
that's the right solution.
Thoughts, @cjb https://github.com/cjb?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/8007#issuecomment-320367968, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAfhU-LTtjlRa22qXQAR_yfi8SzOmNZwks5sU50ngaJpZM4OtJqQ
.

I think I misunderstood. We sometimes do and do not have this metadata. I
think we should parse and extract the service if it's of this form. I
believe we do this elsewhere already.
On Fri, Aug 4, 2017 at 6:38 PM Chris Nojima<EMAIL_ADDRESS>wrote:

We don't care if they're real accounts or not. We should just show the
page
On Fri, Aug 4, 2017 at 6:37 PM Fred Akalin<EMAIL_ADDRESS>wrote:

Posted in chat, but  repeating here:
This PR doesn't work quite right, as if I click on "nonexistent@twitter",
it'll take me to the page for username "nonexistent@twitter" and empty
service, whereas it should be username "nonexistent" with service
"twitter". Note that this is dependent on whether or not "nonexistent" is
actually an account at "twitter" -- it all works fine with existing
accounts, since search returns a result in that case.
So I think the root problem here is that one is allowed to create chats
with nonexistent twitter accounts, but search doesn't return a result for
those. I mean I can just parse the assertion manually, but I don't know if
that's the right solution.
Thoughts, @cjb https://github.com/cjb?
—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/keybase/client/pull/8007#issuecomment-320367968, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAfhU-LTtjlRa22qXQAR_yfi8SzOmNZwks5sU50ngaJpZM4OtJqQ
.

Okay, added code to parse and extract the service if needed. Also had some other questions. PTAL @chrisnojima


chore: This is a test

📋 Changes description

🤔 Context

✅ Checklist

[ ] Link to GitHub issues it solves.
[ ] I have reviewed the submitted code.
[ ] I have tested on a phone device/emulator.
[ ] If it includes design changes, please ask for a review spark-design GitHub team.

📸 Screenshots

🗒 Other info

Contributing has more information and tips for a great pull request.

@spark-ui-bot dependencyGuardBaseline

@spark-ui-bot paparazzi golden images


Fine tuning with existing model

Hi,
I tried to train a model with a custom dataset and the resnet101 backbone. I noticed that while half of the bounding boxes looked accurate, the masks were completely off. I checked drew the annotations and verified that they are correct.
It could be due to the size of the dataset: 1357 images and 21 classes. I would like to use yolact_im700_54_80000.pth and fine tune it with my custom classes to see if this improves my results. What would be the steps to do this?

I don't have explicit support for that, but you can probably get that to work by changing this line:
https://github.com/dbolya/yolact/blob/a70b68dd70aac5a1f41789771a66fb33adba2809/yolact.py#L473
Replace that with
try:
    self.load_state_dict(state_dict)
except RuntimeError as e:
    print('Ignoring "' + str(e) + '"')

and then resume training from yolact_im700_54_80000.pth:
python train.py --config=<your_config> --resume=weights/yolact_im700_54_80000.pth --start_iter=0
When there are size mismatches between tensors, Pytorch will spit out an error message but also keep on loading the rest of the tensors anyway. So here we just attempt to load a checkpoint with the wrong number of classes, eat the errors the Pytorch complains about, and then start training from iteration 0 with just those couple of tensors being untrained. You should see only the C (class) and S (semantic segmentation) losses reset.
You probably also want to modify the learning rate, decay schedule, and number of iterations in your config to account for fine-tuning.

It works! Thank you!

@pdvelez  did you change the learning rate?

It works! Thank you!

Hey @pdvelez ,
I have trying to do the same things (trying to improve the accuracy on a particular class using my own dataset ) could you please let me know what changes you made in detail?
I m new to this and trying to figure out things.
Thanks a ton in advance

Thanks @dbolya :)
I did what you suggest bu the losses of S and C are not reset. I have the following:

B: 4.139 | C: 14.027 | M: 4.742 | S: 2.934 | T: 25

@hana9090
Those look reset to me? They should reset to a similar value as what they start out as, and C starts > 10 and goes down to < 5 so it looks like it reset.
And the loss key is in multibox_loss.py:
        # Loss Key:
        #  - B: Box Localization Loss
        #  - C: Class Confidence Loss
        #  - M: Mask Loss
        #  - P: Prototype Loss
        #  - D: Coefficient Diversity Loss
        #  - E: Class Existence Loss
        #  - S: Semantic Segmentation Loss

I is now "Mask IoU loss"

Thanks @dbolya :)


Consider switch to PhpCsFixer\Config for docheaders

Just encountered this trick (of the day (tm)) from https://localheinz.com/blog/2018/05/06/cost-and-value-of-docblocks/
<?php

$header = <<<EOF
Copyright (c) 2017 Andreas Möller

For the full copyright and license information, please view
the LICENSE file that was distributed with this source code.

@see https://github.com/localheinz/test-util
EOF;

$config = PhpCsFixer\Config::create()->setRules([
    'header_comment' => [
        'commentType' => 'PHPDoc',
        'header' => $header,
        'location' => 'after_declare_strict',
        'separate' => 'both',
    ],
]);

We would be able to remove all traces of 'malukenho/docheader'.
I just did it here https://github.com/plhw/hf-cs-fixer-config/blob/master/src/Config.php#L132-L159; works great

Sounds reasonable and can fix wrong docheader automatically. :+1:

Yes, especially the useless commit dance we have to do every new year. I’ll create the nessesarry PR’s before new years eve...

see #6


AWS Lambda nodejs 8.10 runtime is EOL December 31, 2019

Hi,
I was reviewing the state of the art for developing with TypeScript, and noticed your sample project (which currently seems most up-to-date of them all). But it still is now out-of-date because it references nodejs8.10 runtime, which is already EOL by AWS, per https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html policy.
I was wondering if you would care to refresh it to use nodejs12.x runtime, update the dependencies (possibly build with new hot TypeScript version), etc? I am looking to do this myself, but I am not familiar with the npm world, and each error I encounter looks more daunting than the next.

Hi valters,
Thanks for chucking an issue!
Ah, I thought I upgraded the runtime to Node 10 last year; must've forgotten to do it for this repo.
I'll update the runtime soon, since we can't create Node 8 functions anymore :)
I'm personally not super keen on updating dependencies because it's an endless race to keep the dependencies up-to-date. As long as it still works, I can still demonstrate how you can make TS work in Lambda.
That being said:

Updating dependencies in this project's package.json shouldn't break anything, because all of these dependencies are independent of each other. I've been updating dependencies in my other projects (which are based on this one) and nothing has been broken so far. You can update it by following this guide: https://bytearcher.com/articles/using-npm-update-and-npm-outdated-to-update-dependencies#going-for-bigger-update-with-latest-tag, or by running npm update.
Updating Typescript; same as above, really. TypeScript should be mostly backward compatible with previous versions of itself, so you shouldn't have any problem upgrading your TypeScript version (through npm update typescript).

Feel free to chuck a PR if you're up for it though! I don't mind people contributing to this repo :)
Let me know if you have any other questions!
PS: My other project which is based on this is https://github.com/verzac/news-neutrality-scraper, but since it's still a WIP I haven't added a README to it yet.

Fixed it in the latest commit, forgot to make a PR and to reference this issue...
TL:DR I bumped the dependencies up and the runtime version to nodejs12.x.
Thanks for chucking in a PR. Feel free to reopen if you have any questions!

Thank you, you are very kind!


Add workload identity

Added
Kubernetes Workload Identity from azidentity library.
Changed
Bumped version of azidentity from v1.2.0 to v1.3.0

@microsoft-github-policy-service agree

WithKubernetesWorkloadIdentity() should accept the parameters it needs, instead of assuming they are in the string.
If the parameters are optional - just mention it in the docs.


Figure 39 - differences between panels don't seem as great as weight-at-age color plot would imply

I just edited some text about projected catch in numbers vs weight (median values):

However, the color heat map says age-10 fish (for projections) is 1.5x as heavy as age-3. So wouldn't you expect these numbers to change more? And the two panels on Figure 39 to look more different. Maybe I'm just missing something (it's late!)?

We should add the assumption about wt-at-age in the caption since we call out selectivity assumption, right?  Maybe like:
These estimates are based on the posterior distribution for selectivity averaged across the most recent five years, weight-at-age data averaged across the most recent five years, and the distribution for expected numbers at age at the start of 2020...

Doesn't the caption already say that? (Or am I looking at a newer version). Hmm...... (think I'm just missing something).

Mine doesn't have the recent five year data part, i.e.,  '..., weight-at-age data averaged across the most recent five years, ....'
But maybe this has been updated since my last doc build.

One thumbs up will signify agree with this addition and then I can quickly add that text in, just wanted to make sure others are okay with it.

And Andy I get your point about 'age-10 fish (for projections) is 1.5x as heavy as age-3'.  It might be a bit hard to fully understand just from the figure and that increase in weight b/c these are proportions (sum to 1) so consider relative changes in weight across all ages (if that makes sense?)

We're talking about 'Forecast age compositions in numbers and in weight....' current Figure 39 yes? (Sorry, I should have been more explicit in Issue title as fig numbers can change).

Actually, I think it is fine. Looking at my first comment again properly. Think I was just tired....
The ratio of 2017 to 2010 by numbers is 13/12 =~ 1. Ratio by weight is 11/16 = ~069, which is indeed the ratio of weights in the heat map. Sorry about all that.....
Aaron can close if he's happy with the caption. It's got all the info in there.


Unhandled Exception

When Trying to deploy the app on the emulator I get an unhandled exception:
Unhandled Exception:

System.MissingMethodException: <Timeout exceeded getting exception details>

Mono.Debugger.Soft.InvocationException: Exception of type 'Mono.Debugger.Soft.InvocationException' was thrown.
   at Mono.Debugger.Soft.ObjectMirror.EndInvokeMethodInternalWithResult(IAsyncResult asyncResult) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft\ObjectMirror.cs:line 358
   at Mono.Debugger.Soft.TypeMirror.NewInstance(ThreadMirror thread, MethodMirror method, IList`1 arguments, InvokeOptions options) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft\TypeMirror.cs:line 837
   at Mono.Debugging.Soft.SoftDebuggerAdaptor.CreateValue(EvaluationContext ctx, Object type, Object[] argValues) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugging.Soft\SoftDebuggerAdaptor.cs:line 472
   at Mono.Debugging.Evaluation.NRefactoryExpressionEvaluatorVisitor.VisitObjectCreateExpression(ObjectCreateExpression objectCreateExpression) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Evaluation\NRefactoryExpressionEvaluatorVisitor.cs:line 1081
   at ICSharpCode.NRefactory.CSharp.ObjectCreateExpression.AcceptVisitor[T](IAstVisitor`1 visitor) in E:\A\_work\1701\s\external\NRefactory\ICSharpCode.NRefactory.CSharp\Ast\Expressions\ObjectCreateExpression.cs:line 90
   at Mono.Debugging.Evaluation.NRefactoryExpressionEvaluator.Evaluate(EvaluationContext ctx, String expression, Object expectedType) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Evaluation\NRefactoryExpressionEvaluator.cs:line 82
   at Mono.Debugging.Evaluation.ObjectValueAdaptor.GetExpressionValue(EvaluationContext ctx, String exp) in E:\A\_work\1701\s\external\debugger-libs\Mono.Debugging\Mono.Debugging.Evaluation\ObjectValueAdaptor.cs:line 1411

It happens in the App.xaml.cs file at this location:
public App()
{
      InitializeComponent();
      MainPage = new NavigationPage(new NotesPage());
}

Please share what docs page you were following, and what operating system, IDE, and platform emulator you were using.
It doesn't seem likely this is a docs problem, and might need to be reported using the Help > Report a problem menu item in Visual Studio.

I fixed the issue by deleting the bin and obj folders and updating all NuGet packages.


Issue in MSSQL Lineage ingestion

Lineage Ingestion for MSSQL failing.
Getting below Error.
Traceback (most recent call last):
File "/home/airflow/.local/lib/python3.9/site-packages/metadata/ingestion/lineage/sql_lineage.py", line 383, in get_lineage_by_query
raw_column_lineage = result.get_column_lineage()
File "/home/airflow/.local/lib/python3.9/site-packages/sqllineage/runner.py", line 22, in wrapper
self._eval()
File "/home/airflow/.local/lib/python3.9/site-packages/sqllineage/runner.py", line 179, in _eval
self._stmt_holders = [LineageAnalyzer().analyze(stmt) for stmt in self._stmt]
File "/home/airflow/.local/lib/python3.9/site-packages/sqllineage/runner.py", line 179, in
self._stmt_h
Have added the log which contains the query on which it is failing.
Version- Latest version 0.13.0
Lineage error.txt

After analysing the error logs we found that all the errors are related to parsing SQL procedures which would anyways won't be resulting into any sort of lineage with this pr we have already added filter to process only relevant queries resulting into lineage hence closing this ticket.


Update BASE_VERSION to 1.14-2022-06-23T20-26-10

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio_release-1.14
8f443e5dd74ab67e3e8a09989d5cb3109f05ae88
link
true
/test integ-security-multicluster_istio_release-1.14

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


fix(deps): update github.com/ibm-cloud/bluemix-go digest to 9a11ac0

This PR contains the following updates:

Package
Type
Update
Change

github.com/IBM-Cloud/bluemix-go
require
digest
28d386b -> 9a11ac0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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


API support for SafeTeleportProvider

Maybe we can create things with safe teleports via using API.
So can you extend methods such as SafeTeleportProvider#getPerimeterPosition make accesible from other classes?

I want to get a safe location from your algorithm. And I'll consider teleport player to there or not with few more parameters.


Null Safety?

HI,
Awesome package, are you going to upgrade to null sound safety?
Thanks

Yes, have been busy with work sorry. Should have it updated in the next few days :)

Updated to Null Safety in flutter_google_places_web: ^1.0.0


(doc) Update Fedora 23 build instructions to use DNF rather than Yum

CLA signed by all contributors.


Serverpod cannot be used in Dart+HTML (webdev)

I have been trying to do my portfolio with serverpod using Dart and HTML. And I ran into some issue which is almost this https://github.com/dart-lang/build/issues/2719. When I check the client code, I found it uses dart:io import. Where it doesn't support where we use dart:html. io is being used for SecurityContext.
Any alternate for this?

Serverpod works with HTML when we comment out SecurityContext and remove dart:io from the client code, which is not supposed to be edited.
Changes I have done in order to make it work
/* AUTOMATICALLY GENERATED CODE DO NOT MODIFY */
/*   To generate run: "serverpod generate"    */

// ignore_for_file: public_member_api_docs
// ignore_for_file: unused_import
// ignore_for_file: library_private_types_in_public_api
// ignore_for_file: depend_on_referenced_packages

--// import 'dart:io';
++// import 'dart:io';
import 'dart:typed_data' as typed_data;

import 'package:serverpod_client/serverpod_client.dart';

...

class Client extends ServerpodClient {
  late final _EndpointExample example;

  Client(String host,
      {
--    SecurityContext? context,
++    // SecurityContext? context,
      ServerpodClientErrorCallback? errorHandler,
      AuthenticationKeyManager? authenticationKeyManager})
      : super(host, Protocol.instance,
--          // context: context,
++          // context: context,
            errorHandler: errorHandler,
            authenticationKeyManager: authenticationKeyManager) {
    example = _EndpointExample(this);
  }

  @override
  Map<String, EndpointRef> get endpointRefLookup => {
        'example': example,
      };

  @override
  Map<String, ModuleEndpointCaller> get moduleLookup => {};
}

Results
With default generated client code

With modified client code

web/main.dart
import 'dart:html';

import 'package:portfolio_client/portfolio_client.dart';

Client client = Client(
  'http://localhost:8080/',
);
void main() {
  print('object');
  client.example.hello('Minnu').then((response) {
    querySelector('#output')?.text = response;
  });
}

Screen recording

Tested new project on Flutter web and it works.

@vlidholt no no Not in flutter web. Dart web (Dart + HTML + CSS) I meant.

@vlidholt Reopen this, as we have discussed, I will be sharing all the recordings to reproduce this.

client.dart - import 'dart:io' as _i3; this will result in not letting the HTML+Dart code not to run due to dart:html import in website.
NOTE: This is not related to flutter. Pure Dart.

https://github.com/serverpod/serverpod/blob/67433c273db740ad1d1f4d9d31fbe304c77ca0f1/tools/serverpod_cli/lib/src/generator/dart/library_generators/library_generator.dart#L608-L610
This will give a fix if we do this in generator
Parameter((p) => p
  ..name = 'context'
  ..named = true
  ..type = TypeReference((t) => t
--    ..symbol = 'SecurityContext'
++    ..symbol = 'dynamic')),
--    ..url = 'dart:io'
--    ..isNullable = true)),


Bug related to Camera access permission on iOS

Describe the bug
Bug related to Camera access permission on iOS -> Apple rejected app
To reproduce the behavior
Steps:

Go to the Import account by QR/ Send fund/... that use camera on the first time
Choose the "Don't Allow" option on the camera permission

Actual: Show the Notification then redirect the user to the Setting App

Expect:

If the first time, if user chooses "Don't allow" -> Close popup permission (not show grant permission popup)
Otherwise, Show popup permission grant

Version test: v1.0.11(203)
Devices test: IP 11
Validation passed.


Update hololens-rs4-preview.md

Added known issues

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/hololens-rs4-preview.md
:white_check_mark:Succeeded
View

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.


[DNM] Delay follower apply

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed: Delay follower apply to batch more entries in one write batch
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note

/bench

/bench

/bench