Class Specific Attention in Keras

I am trying to implement a model that has class specific attention (different attention for each class label). So if there are k classes, there will be k such attention layers. Also, only the attention layer is different. All other layers are common.
I have been able to do this by defining k different models, each having a separate attention layer. But the problem with this is that I am restricted to training this by passing one training instance at a time (As I need to select the model depending on the value of the training label).
Is it possible to do so in a batch fashion? Like having one single model that selects the correct attention layer and updates the weights of only that corresponding layer?
I tried out something like this
class AttentionLayer(Layer):
    def build(self, input_shape):
        input_dim = input_shape[0][-1]
        self.W_w = self.add_weight(shape=(self.num_classes, input_dim, input_dim), initializer='glorot_uniform', trainable=True, name='{}_W_w'.format(self.name))
        self.b_w = self.add_weight(shape=(self.num_classes, input_dim,), initializer='zero', trainable=True, name='{}_b_w'.format(self.name))
        self.u_w = self.add_weight(shape=(self.num_classes, input_dim,), initializer='glorot_uniform', trainable=True, name='{}_u_w'.format(self.name))
        super(AttentionLayer, self).build(input_shape)

    def call(self, inputs, mask=None):
        x = inputs[0]
        label = inputs[1][0][0]
        u_it = K.tanh(K.dot(x, self.W_w[label]) + self.b_w[label])
        return u_it

But in this case, when I pass only a single training instance through the model, the entire self.W_w  matrix is updated (Even the slices which weren't used in computation).
Is there a way to achieve this?
Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[ ] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[x] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[x] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Hello,
I guess you can use three EmbeddingLayer which would select your attention weights which you can then combine appropriately.
Or you can for just a little more than the price you pay currently, have the label be continous (as a softmax) rather than discrete, so gradient could flow through them.
To not update the full matrix you are dependent on the autodiff framework, and it's implementation of the adjoint operation. I don't know if they did such optimizations for the embedding layer but I suppose so because it's the specific gather op which is used.
In a more generic fashion using sparse matrix, could lead to not having to update the whole matrix provided the matrix is sparse, but you are yet again dependent of a lower level. You can have a look at how to implement custom op in either theano or tensorflow on your own if needed.

Thanks for your help @unrealwill .
Will using embedding layers train similarly?
Also I didn't quite understand how continuous labels can be used. Could you provide me with an example?
Thanks.

For the use of embedding layers :
inp = Input() #your layer which you will extract from
labelinp = Input() #some discrete input
embW = Reshape( (input_dim,input_dim )) ( Embedding( num_class, input_dim*inp_dim)(labelinp))
embB = Embedding( num_class, input_dim) (labelinp)
embU = Embedding( num_class,input_dim) (labelinp) #I don't know how you use it currently in your code it's ununsed
customMerge = Merge( merge = lambda x: K.dot( x[0],x[1] )+ x[2]  merge_output_shape=... )([inp,embW,embB,embU])
It could benefit from optimizations of the embedding layers and (maybe) not update unnecessary weights.
What I meant about the continuous label was a disctinct point (a possible extension of your question).
For almost the same computational cost you currently do, you can have a "soft" attention class mechanism
where instead of W[label] you have sum( classweight * W[:,:,classlabel] )
which allows you to have a continous either one_hot encoded (in which case it's less performant than what you were doing), or which may come from a softmax layer, and may allow to handle uncertainty upon the label.
labelInp = Input( batch_shape=(None,nb_class) )   instead of labelInp = Input( batch_shape=(None,1) )


Can the sandbox return detail parse err msg in cluded file

Hi,If the sandbox execute function include a file,and the included file has a parse error,now it will return an error with msg "Could not parse sandboxed code!",can it return an error with the real error message?
For example:
...
$sandbox->execute(function(){
include "test.php";
});
...
and the test.php is like:
...
echo "test";
invalid_str_here
...
could it return some error like:
"Parse error: syntax error, unexpected 'echo' (T_ECHO) in sandboxed_code.php on line 4."
rather than
"could not parse sandboxed code!"?
Thank you!

After some research into this issue, I am afraid this isn't really feasible as invalid code fails as the parsing stage implemented by PHP-Parser, not the builtin PHP parsing engine, and therefore the native PHP error message is never invoked.

Thank you！
发自我的 iPhone

在 2015年6月1日，下午11:49，Elijah Horton<EMAIL_ADDRESS>写道：
After some research into this issue, I am afraid this isn't really feasible as invalid code fails as the parsing stage implemented by PHP-Parser, not the builtin PHP parsing engine, and therefore the native PHP error message is never invoked.
―
Reply to this email directly or view it on GitHub.


feat(modular-station): Implement Modular Station package

🎉

So, I forgot to document the onHook wrapper 😅
Need someone to double-check that new section, then we can release this 🚀


Directory.Exists() incorrectly returns false if directory in path ends in period

Describe the bug
After calling MockFileSystem.AddFile(string, MockFileData) using a path that includes a directory ending in a period, MockFileSystem.Directory.Exists(string) will return false when called against the directory containing that file when targeting .NET Framework 4.6.1.  When targeting either .NET Framework 4.7.2 or .NET Core 3.1, MockFileSystem.Directory.Exists(string) correctly returns true.
To Reproduce
Steps to reproduce the behavior:
        static void Main(string[] args)
        {
            var mockFileSystem = new MockFileSystem();

            var directory = "C:\\baddir.\\subdir";
            var filepath = mockFileSystem.Path.Combine(directory, "Test.txt");

            mockFileSystem.AddFile(filepath, new MockFileData(string.Empty));
            Debug.Assert(mockFileSystem.Directory.Exists(directory));
        }

Expected behavior
MockFileSystem.Directory.Exists(string) should return true.
Additional context
.NET Framework 4.6.1; System.IO.Abstractions.TestingHelpers v13.2.25

This seems to be a limitation of the file API and works also identical on the real file system. See https://stackoverflow.com/q/15775867 or Microsoft Windows Naming Conventions:

Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp".

Therefore I would suggest to close this issue!

This seems to be a limitation of the file API and works also identical on the real file system. See https://stackoverflow.com/q/15775867 or Microsoft Windows Naming Conventions:

Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp".

Therefore I would suggest to close this issue!

The limitation doesn't exist on Linux - at least, it's possible to work with files/directories ending with a period in bash without any issues. I haven't checked with dotnet, or this abstraction, yet.

@hangy ,
my comment only referred to this issue on .NET Framework 4.6.1 (and therefore only to Windows).
The mocked file system works under this circumstance the same as the real file system. E.g. Directory.CreateDirectory("C:\\baddir.\\subdir"); will create a directory without trailing dot "C:\\baddir\\subdir" when using .NET Framework 4.6.1. Therefore I would argue, that the mocked file system works as intended (same as the real file system).
On newer versions and especially under .NET core, a trailing dot should pose no problem!

@vbreuss Sorry, I missed that this issue is mainly about the Windows bug. If there are any inconsistencies with .NET 7/Linux, that's a different topic. 👍🏻

This issue only affects .NET Framework 4.6.2 and there the mock file system behaves the same as the real file system.
It is a bug in .NET Framework itself.


Display time left until expiration of infraction

Abstract
In addition to the creation and expiration datetimes displayed in an infraction search, display how much time is currently left until the infraction expires at the time of invocation.
Specification
Proposal:
Created: 2019-11-23 20:09
Expires: 2019-11-30 20:15
Remaining: 5 days, 1 hour

In regards to granularity, my proposal is to only show the 2 largest units. So if it expires in more than a year, show only years and months. If over a month, show only months and days. If over a day, show days and hours. If over an hour, show hours and minutes. And finally, if over a minute, show only minutes, don't show seconds.
If it expires in less than a minute, either display "less than a minute" or just "1 minute" if that's too verbose.
If the infraction has already expired, show "Expired".
If the infraction never expires, perhaps this field should be omitted entirely.
Rationale
Similar to #668, confirming how long until an infraction expires should require as little effort as possible.
Motivation
See my motivation in #668.

Putting a pause on this issue until #668 is fleshed out.

Since #668 is done, can I work on this?

Sure thing. I'll assign you.


Re-introduce support for live updates

For #2929

Background
Deck.update() which refreshes the data in a Jupyter widget broke in a refactor–this PR corrects that.

Coverage decreased (-2.6%) to 80.989% when pulling ba7c562d3d40a49f08294834c6f9749540991fb4 on ajd/patch-live-updates into a365716d00a5835a42d6bc49889e99e72743ef19 on master.

Support for selecting data is now available. Below is a quick demo of clicking on an item in a map and pushing it from JS to Python.


Indent second line of bullet points

@peterp @Mitso ready for review. I have idea if I've made the changes in the correct place.

Can you provide a screenshot in the PR?

Previously:

Now:

👍


Refactor FileReader to fix side-effect and provide extra context

Found this unexpected behavior when using the FileReader by defining a Cmd as a Scala val.
The code to read the dom.File from an input element by ID executes eagerly, before returning the final suspended Cmd for reading a file. This means that if you use this helper in your code as a val it will get the result at definition time, and not when you actually expect the Cmd to execute.
To fix this, I made the following changes:

readFile now takes a parameter to get the dom.File input so that it can be provided multiple ways.
There is a new Result.NoFile type that is a variant of Result.Error but providing the additional context that there is no file specified. This can be useful for more precise application error messages in addition to making refactoring easier.
I extracted the cast functions in each helper method to their own values so the file size is smaller and it's easier to keep these in sync if their behavior should ever change.

Hope this change meets your standards and thanks again for the wonderful project!

Looks great, thanks @sloshy! I'm going to read it properly tomorrow when I'm slightly more awake, but I've kicked the build off in the meantime. :smiley:


 element is removed before leave handler's done callback is called

I found one more likely small issue related to basic <transition> usage:
The dom element is removed before the  leave handler's done callback is called.
I have a demo you can easily try like this:
git clone https://github.com/faceyspacey/universal-demo
cd universal-demo
git checkout vue-loader
yarn
yarn start
# visit this URL: http://localhost:3000/Rudy

It's a demo of this code sample from the Vue docs:
https://vuejs.org/v2/guide/transitions.html#Dynamic-Transitions
what's wrong
You'll notice that as soon as this.show is set to false in the enter handler's animation complete callback, the element is immediately removed. The leave callback is still called, but it doesn't matter since it's already gone.
expected behavior
The expected behavior is that the element is not removed until the leave handler calls done.

And here's a PR that fixes this:
https://github.com/SmallComfort/react-vue/pull/5


Add integration tests for kopia utilities

Change Overview
This PR adds integration tests for kopia utilities
Pull request type
Please check the type of change your PR introduces:

[ ] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[ ] :hamster: Trivial/Minor
[ ] :bug: Bugfix
[ ] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Issues

fixes #issue-number

Test Plan

[ ] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

@ankitjain235 Do we need this? What is remaining?

@pavannd1 I need to add more tests to it, around repository connect etc. Will do that.

Created https://github.com/kanisterio/kanister/pull/1955, closing this due to stale things.


what needs fixing

some initial todo list
TODO

[x] BUG: replies and views in wrong order, Replies first (and bigger text) then views below it (like old forum)
[x] BUG: post preview tooltip doesnt disappear on other pages sometimes
[ ] BUG: topics view, wrong name for OP poster, sometimes?
[x] BUG: joined date displayed in hours, due to timer adjust code https://discussions.unity.com/u/mgear/summary
[x] BUG: main page is broken, due to custom css https://discussions.unity.com/
[ ] show visited threads with different color!!! *how is it even possible that it doesnt have "visited" color for links > <
[x] add asset store link at top and open in new tab by default
[x] Remove big welcome title (to give more space to forums)
[x] move searchbar to top right (to give more space to forums)
[x] remove that huge 1.1mb png background banner image (link)
[x] hide, move or make this banner smaller: "try the product areas > or filter topics via ...."
[x] make left bar rows more compact, so that no need to scroll so much (and can hide some rows)
[x] adjust "see 4 new or updated topics", it feels like it blocks the post title below, and has weird colors (and too tall div)
[x] latest posts view:  show original poster name and show last poster username below time and topic post time
[x] move new topic button to right side (since you are constantly scrolling with right edge scrollbar already)
[x] hide or make post tags/category smaller "unity engine 2022-3-LTS Beginner Bug Universal-Render-Pipeline macOS-Editor visionOS" (in latest/ view) and hide unity engine icon on that row also
[x] hide views eye icon (add "views" header title instead), same for replies icon and title (or combine them both into same cell
[ ] adjust fonts and colors everywhere
[x] remove rounding *might want to keep rounding for user icons later, lets see
[x] search dropdown fixes (font size, hover color)
[x] hide or move big "unresolved" text (right at the front of post title)
[x] posts list, activity: change last post time: "10m" into "10 minutes ago" (10 meters ago looks strange..: ) *problem: some script updates that value every minute? (so need to poll or update values every minute then?)
[x] make whole site less wide (looks too wide on regular monitor)
[ ] make latest posts table colors less busy
[ ] disable custom scrollbar colors (cannot see scrollbar background at all in dark mode now..)
[ ] improve Create New topic panel (hard to see where it ends and starts..) and its way too small, need to scroll right away just to start typing
[x] improve Create new topic dropdown: fonts and colors hard to read (all bright white on dark bg and very close to eachother and subtitle is also same bright white)
[ ] post view: add missing tooltip to that bell icon, not sure what it does yet
[ ] post view: make "start composing reply" button blue, like regular reply buttons, now it looks disabled
[ ] post view: move appearing post title panel down or make it smaller, now it blocks global top links bar
[x] post view: move username above the user icon
[ ] post view: move view count below the original post to somewhere else (why is it even there as own panel row..)
[ ] post view: show full timestamp for post "sep 2023" --> "title="Sep 16, 2023 4:33 pm" *and make it customizable, so you can see proper date-time "16 September 2023 16:33" or so
[x] post view: remove " New & Unread Topics" area completely
[ ] post view: remove or make the global footer much smaller (if you press end key, you are not seeing last post but just these extra fillers..)
[ ] left panel: fix minimized left panel (unity forum logo is cropped out)
[ ] left panel: add links to "your posts" and "bookmarks" in maximized view also (now its only in minimized panel?)
[ ] left panel: make mini/maximize animation much faster
[ ] top bar: make all links open in new tab (instead of taking you out from the forum)
[ ] notifications: make "dismiss" button close that notification panel
[ ] notifications: move dismiss button at the top?
[ ] notifications dropdown: "new post" icon doesnt make sense.. what is it? maybe replace all icons with text. "bobby replied to ...", "boddy liked ...."
[x] latest posts view: add mouseover color to each row, or at least post title
[ ] top bar mouse hover color appears too slowly
[ ] add tooltips to tags (below post title)
[ ] add some new topic highlight or color (the small blue dot is not noticeable)
[ ] align top bar items with forum content left side
[ ] combine searchbox, areas and new topic button into same row
[ ] "you have 1 unread post in this thread", make that icon more visible (if its useful icon)
[x] remove box from tags (below post title), probably looks better without box outline?
[ ] "question" tag color is brown.. use some other color, or hide question tag, doesnt seem useful if most posts are questions? (and others dont just have the question tag assigned, even if its question)
[ ] sidebar: rename "my posts" into "my post & drafts" (since it seems to go into "my unposted drafts"?)
[ ] sidebar: make scrollbar always visible (annoying when its invisible, you think that there is nothing below?)
[ ] post view: hide emoji tooltip faster when mouse hover ends in thumb
[ ] post view: make post bottom reply button blue or otherwise active color
[ ] post view: add hover color in the time scroll area (so can see which area is draggable)
[x] latest posts view: could combine replies and views columns, single column replies: 12, views: 200 below it as smaller
[x] latest posts view: remove hot topic orange highlight, doesnt make sense to highlight it 10yr old topic has +10k views
[x] limit user signature height (for example 32px and clip extras)
[ ] make notifications dropdown appear on mouse over (instead of having to click)
[ ] add follow topic button above the original post (not at the bottom of whole thread like its now)
[ ] add tool tips for vote up and down buttons
[ ] post view: show last edited date
[ ] sort unity version tags dropdown in some better order (now some old 2017 is at the top..)
[ ] posts, code view area: make copy & full screen buttons always visible
[ ] posts, code view area: use better font or colors? or alternate colors per line
[ ] posts: add horizontal line after post area (to separate those buttons for like, reply..)
[ ] cannot triple click in all textboxes,m to select all text (like when adding custom links..), override that to fix?
[ ] add new link dialog, delete button is on wrong side, add to left corner

New Features

[ ] maybe can add mouse over preview for last forum post (if possible to fetch)
[ ] check if can make the forum post time scroll realtime (that no need to release mouse every click)
[x] check if can show user joined date & post count under username box in posts view *can, but requires fetching JSON file Per user.. (so it only fetches 3 users now)
[ ] "page not found" add direct link to web archive for old forum threads (that were not imported to new forum)
[ ] paginated views would be nice: So apparently crawlers get paginated views, but users get that annoying infinity scroller : D https://discussions.unity.com/t/update-about-the-future-of-the-unity-forums-and-unity-discussions/950842/887
[ ] test: notifications panel could be always open? so no need to click it..
[ ] mouseover tooltip preview for notification topics (saves time for opening to check what it was about)
[ ] new topic: unity version, show previously used value at top (or as quicklink)

pls add a dark mode ^^

pls add a dark mode ^^

Forum does have dark mode and most features here should work there as is!
*oh, looks like tooltip doesnt look good in dark mode


M5 Burner Does non work for CoreS3

I can not burn CoreS3 firmware using M5Burner on Mac OS. I've already tried numerous times and always get the same error:
--chip esp32 --port /dev/tty.usbmodem1301 --baud 1500000 --before default_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x000 /Applications/m5burner.app/Contents/Resources/packages/firmware
usage: esptool write_flash [-h] [--flash_freq {keep,40m,26m,20m,80m}]
                           [--flash_mode {keep,qio,qout,dio,dout}]
                           [--flash_size FLASH_SIZE]
                           [--spi-connection SPI_CONNECTION] [--no-progress]
                           [--verify] [--compress | --no-compress]
                           <address> <filename> [<address> <filename> ...]
esptool write_flash: error: argument <address> <filename>: [Errno 21] Is a directory: '/Applications/m5burner.app/Contents/Resources/packages/firmware'

I've tried to use esptool without M5 burner, and I was able to flash the firmware with it, but in this case, there is no wi-fi configuration there (I do not know how to pass my wifi network in password info when I use esptool directly), so CoreS3 does not connect to wifi :(

fixed after re-installing m5 burner


R2dbcNonTransientResourceException: Connection validation failed

Hi,
I am getting this issue "org.springframework.dao.DataAccessResourceFailureException: Failed to obtain R2DBC Connection nested exception. Caused by io.r2dbc.spi.R2dbcNonTransientResourceException: Connection validation failed" in MSSQL. I am using below libraries(Version).

io.r2dbc
r2dbc-pool
1.0.0.RELEASE

io.r2dbc
r2dbc-mssql
1.0.0.RELEASE

I am seeing this issue in both pre-prod and production environment intermittently.
Could you please help me with this?
Thanks.

Is there more to the stack trace? Typically, the cause shows the reason for the validation failure.

Maybe I will add more information, because I'm fighting with the same problem for the last couple of days.
Versions

Driver: r2dbc-postgres
Database: postgres
Java: 21
io.r2dbc:r2dbc-spi:1.0.0.RELEASE
io.r2dbc:r2dbc-pool:1.0.1.RELEASE

Stacktrace
io.r2dbc.spi.R2dbcNonTransientResourceException: Connection validation failed
  at io.r2dbc.pool.Validation.lambda$validate$2(Validation.java:45)
  at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:179)
  at reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:145)
  at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:260)
  at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72)
  at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:164)
  at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48)

Pool configuration
default
Additional context
This issue happens in my case 2-3 times a day in different day time. It is totally random when will it happen. What is more interesting, that after some time (10-20sec) everything goes back to normal work. So it "heals" itself, but during this 10-20sec non of my queries are executed. During my investigation I found that validation is performed 2 times.

During connectionFactory.create()
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L135
After query during connectionFactory.close()
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/PooledConnection.java#L66

In my case it happens only on 1 case, that's why query is not executed, because connection is not acquired from connection pool. Stacktrace is also not very helpful, because it points only to 45 line in Validation.class
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/Validation.java#L45
Steps to reproduce
Restart database server between queries.

Start application
Execute query
Restart database server: sudo pg_ctl restart  /  Ubuntu: sudo pg_ctlcluster 14 main restart
Execute query (should FAIL with provided stacktrace)

Related issues
#138
#107
Possible Solution
The only way to mitigate this problem I found was to increase default acquireRetry property from 1 to 10, which is maxSize value.
In that case the following Mono<Connection> create will retry until it find valid connection.
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L172
But I'm afraid that this only hides/delays the problem and makes it even more unpredictable.
@mp911de correct me if I'm wrong. With my solution, connection pool will try 10 times to acquire connection until it founds valid connection, so basically "searches" through entire pool to find what it needs. I assume that if none of connection is valid then this exception would be fired.
Not related
I'm not able to set pool.acquireRetry property in spring-data-r2dbc in application.yml. I had to create manual connection pool without R2dbcAutoConfiguration.class.

Here is my configuration.
poolInitialSize=10
poolMaxSize=30
maxIdleTime=60 mins (1hr)
-Thanks
On Wed, Apr 10, 2024 at 12:26 AM MBec @.***> wrote:

Maybe I will add more information, because I'm fighting with the same
problem for the last couple of days.
Versions

Driver: r2dbc-postgres
Database: postgres
Java: 21
io.r2dbc:r2dbc-spi:1.0.0.RELEASE
io.r2dbc:r2dbc-pool:1.0.1.RELEASE

Stacktrace
io.r2dbc.spi.R2dbcNonTransientResourceException: Connection validation failed
at io.r2dbc.pool.Validation.lambda$validate$2(Validation.java:45)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:179)
at reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:145)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:260)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:164)
at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48)
Pool configuration
default
Additional context
This issue happens in my case 2-3 times a day in different day time. It is
totally random when will it happen. What is more interesting, that after
some time (10-20sec) everything goes back to normal work. So it "heals"
itself, but during this 10-20sec non of my queries are executed. During my
investigation I found that validation is performed 2 times.

During connectionFactory.create()

https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L135
2. After query during connectionFactory.close()
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/PooledConnection.java#L66
In my case it happens only on 1 case, that's why query is not executed,
because connection is not acquired from connection pool. Stacktrace is also
not very helpful, because it points only to 45 line in Validation.class
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/Validation.java#L45
Steps to reproduce
Restart database server between queries.

Start application
Execute query
Restart database server: sudo pg_ctl restart / Ubuntu: sudo
pg_ctlcluster 14 main restart
Execute query (should FAIL with provided stacktrace)

Related issues
#138 https://github.com/r2dbc/r2dbc-pool/issues/138
#107 https://github.com/r2dbc/r2dbc-pool/issues/107
Possible Solution
The only way to mitigate this problem I found was to increase default
acquireRetry property from 1 to 10, which is maxSize value.
In that case the following Mono create will retry until it
find valid connection.
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L172
But I'm afraid that this only hides/delays the problem and makes it even
more unpredictable.
@mp911de https://github.com/mp911de correct me if I'm wrong. With my
solution, connection pool will try 10 times to acquire connection until it
founds valid connection, so basically "searches" through entire pool to
find what it needs. I assume that if none of connection is valid then this
exception would be fired.
Not related
I'm not able to set pool.acquireRetry property in spring-data-r2dbc in
application.yml. I had to create manual connection pool without
R2dbcAutoConfiguration.class.
—
Reply to this email directly, view it on GitHub
https://github.com/r2dbc/r2dbc-pool/issues/209#issuecomment-2046713072,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJIZE6IJA2RCFVFP2N76QRTY4TSRVAVCNFSM6AAAAABFZULG2WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG4YTGMBXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi @mp911de ,
Do you have any update for me. This issue is acting like a blocker, please let me know if you need more details from me.
-Thanks.

Hi Mark,
Any suggestion, I tried with maxIdle from 60 mins to 10 mins but still I
see the issue.
We are struggling with this issue in the production environment. Please
help me in resolving this issue.
-Thanks
On Wed, Apr 10, 2024 at 10:58 AM menaka prabu @.***>
wrote:

Here is my configuration.
poolInitialSize=10
poolMaxSize=30
maxIdleTime=60 mins (1hr)
-Thanks
On Wed, Apr 10, 2024 at 12:26 AM MBec @.***> wrote:

Maybe I will add more information, because I'm fighting with the same
problem for the last couple of days.
Versions

Driver: r2dbc-postgres
Database: postgres
Java: 21
io.r2dbc:r2dbc-spi:1.0.0.RELEASE
io.r2dbc:r2dbc-pool:1.0.1.RELEASE

Stacktrace
io.r2dbc.spi.R2dbcNonTransientResourceException: Connection validation failed
at io.r2dbc.pool.Validation.lambda$validate$2(Validation.java:45)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:179)
at reactor.core.publisher.MonoSupplier$MonoSupplierSubscription.request(MonoSupplier.java:145)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:260)
at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onSubscribe(MonoIgnoreElements.java:72)
at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:164)
at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:48)
Pool configuration
default
Additional context
This issue happens in my case 2-3 times a day in different day time. It
is totally random when will it happen. What is more interesting, that after
some time (10-20sec) everything goes back to normal work. So it "heals"
itself, but during this 10-20sec non of my queries are executed. During my
investigation I found that validation is performed 2 times.

During connectionFactory.create()

https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L135
2. After query during connectionFactory.close()
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/PooledConnection.java#L66
In my case it happens only on 1 case, that's why query is not executed,
because connection is not acquired from connection pool. Stacktrace is also
not very helpful, because it points only to 45 line in Validation.class
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/Validation.java#L45
Steps to reproduce
Restart database server between queries.

Start application
Execute query
Restart database server: sudo pg_ctl restart / Ubuntu: sudo
pg_ctlcluster 14 main restart
Execute query (should FAIL with provided stacktrace)

Related issues
#138 https://github.com/r2dbc/r2dbc-pool/issues/138
#107 https://github.com/r2dbc/r2dbc-pool/issues/107
Possible Solution
The only way to mitigate this problem I found was to increase default
acquireRetry property from 1 to 10, which is maxSize value.
In that case the following Mono create will retry until it
find valid connection.
https://github.com/r2dbc/r2dbc-pool/blob/3ee034a65e888e0e3fcb330777afc3715ced6797/src/main/java/io/r2dbc/pool/ConnectionPool.java#L172
But I'm afraid that this only hides/delays the problem and makes it even
more unpredictable.
@mp911de https://github.com/mp911de correct me if I'm wrong. With my
solution, connection pool will try 10 times to acquire connection until it
founds valid connection, so basically "searches" through entire pool to
find what it needs. I assume that if none of connection is valid then this
exception would be fired.
Not related
I'm not able to set pool.acquireRetry property in spring-data-r2dbc in
application.yml. I had to create manual connection pool without
R2dbcAutoConfiguration.class.
—
Reply to this email directly, view it on GitHub
https://github.com/r2dbc/r2dbc-pool/issues/209#issuecomment-2046713072,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJIZE6IJA2RCFVFP2N76QRTY4TSRVAVCNFSM6AAAAABFZULG2WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWG4YTGMBXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@MBecM  we met same problem and decided to change max retryTimes to 10. It seems that when r2dbc pool get an invalid connection and validate query failed, the connection will be invalidated:
src/main/java/io/r2dbc/pool/ConnectionPool.java 140:
conn = conn.onErrorResume(throwable -> ref.invalidate().then(Mono.error(throwable)));
So theoretically all the connections will recovery in the end. Have you encountered any other problems after changing it to 10?

@menakaprabu Under what circumstances would this issue be triggered in your scenario? Restart database or just suddenly break down when system running in long term? We always met this problem when databases was crashed, and the fault will disappear as time and new requests increase. But if database is normal, considering set the maxLifeTime(Connection will never timeout when maxLifeTime is not configured) and test if it's useful. Cause it's possibly that sql server release the connection, however client still use it.

2024/07/08 update. We solve our problem by decrease minIdle to 0.

Hi @CennyMo , We are getting this issue when database is normal. We are having below config.
poolInitialSize=10
poolMaxSize=30
maxIdleTime=60 mins (1hr)
I don't have maxLifeTime and minIdle set.

Hi @CennyMo , We are getting this issue when database is normal. We are having below config. poolInitialSize=10 poolMaxSize=30 maxIdleTime=60 mins (1hr) I don't have maxLifeTime and minIdle set.

I suggest config maxLifeTime to 20min, or smaller, cause database server also has a "timeout" when it holds a connection established from client,  in mysql(we use mysql now), it's 30min. You can check this config in MSSql too.
The maxLifeTime config in client should always be smaller than the timeout config of database server.
As for maxIdleTime, in fact, the actual idleTime of connection is calculated by System.currentMills() - latest active timestamp, and the latest active timestamp of connection is refreshed in every time it has been used. So, if your pool is always busy, your connection may never idle, and it will never be evicted.

The fail over functionality in r2dbc mariadb is not working when we add connection pooling. It is working without that. Could you please confirm


Code blocks break if contain \n

Hi @pawamoy,
I found that when a codeblock contains \n the output gets messed up since it seems like \n gets actually converted to a new line, instead of just read as a string.
Reproducing
Use this snippet:
def my_function() -> str:
    """Test Function

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
    incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
    nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum

    Returns:
        str: TEST

    Example:
        ```pycon
        >>> print("Before")
        >>> print("Test string with\na newline")
        >>> print("After")
        ```
    """
    ...

✅ Without \n
When the code block contains the string Test string with a newline works.

❌ With \n
When the code block contains the string Test string with\na newline it does not work.

Hi @LukeSavefrogs :)
This is not a bug: this is how Python handles strings.\n is interpreted by Python and it messes up your docstring indentation. Two solutions: escape the backslash with \\n, or use a raw string by prefixing it with r: r"""...""".

Member

Oh... My bad. Forgot docstrings are still strings...
It's late.. Better go to bed 😁

No worries haha, it's easy to forget indeed, you're not the first!


Deployment fails without any warning.

Started TaskList: Pushing Meteor
    [x] - Pushing Meteor App Bundle to The Server
    [x] - Pushing Meteor App Bundle to The Server: SUCCESS
    [x] - Pushing the Startup Script
    [x] - Pushing the Startup Script: SUCCESS

Then it dies. Nothing in mup logs, just nothing

Ok so what I did:
npm uninstall -g mup
nvm install 4.6.1
nvm use 4.4.6
npm install -g mup ssh2
Worked like a charm! No idea what was up.


Formulate a joint strategy for eoAPI and Stacture

eoAPI and Stacture are meant to be complementary in providing data access services.
What is our strategy for how they will continue to relate to each other and used together in the future?
Related tickets

#77

Acceptance criteria

[ ] A strategy was formulated and included in the docs

Preliminary diagram of services

Just a little update to the same kind of services diagram

We may want to complement this with architecture diagrams


Provide REST API for VMSS to use health probe from Application Gateway during creation

Due to the current API only supports LB health probes for VMSS (Rolling upgrade policy), there is no way to use Terraform to create a Rolling upgrade VMSS with Application Gateway as the frontend. See Issue in terraform-provider-azurerm.
We would like to create VMSS with Rolling upgrade with application gateway using terraform, for example:

resource "azurerm_application_gateway" "agw" {
  ...
  probe {
      interval            = 5
      name                = local.probe_name
      host                = "<IP_ADDRESS>"
      protocol            = "Http"
      path                = "/"
      timeout             = 20
      unhealthy_threshold = 3
  }
  ...
}

resource "azurerm_linux_virtual_machine_scale_set" "vmss" {
  ...
  upgrade_mode        = "Rolling"
  health_probe_id     = azurerm_application_gateway.agw.probe[0].id
  ...
}

@avirishuv, can you please work with the VMSS team to see if this feature request is already available (and just missing in documentation), or if a new addition to VMSS is needed to support the health probes from AppGateway.
Also, if a new feature is needed, then is it possible for people to use the AppHealth Extension in the interim to do rolling upgrades with an AppGateway?

Allowing customers to use Application Gateway health probe for VMSS features based on application health monitoring (including rolling upgrade) is part of our feature backlog. We do not have a specific timeframe for when this will be supported. However, in the meantime, application health extension can be used for VMSS with AppGW for application health monitoring.

hi @tonytangau As I mentioned, this feature is in the backlog for VMSS. I am moving this feature ask to user voice and closing this issue. Feel free to add any comments in user voice and/or add a vote: https://feedback.azure.com/forums/216843-virtual-machines/suggestions/42627139-provide-rest-api-for-vmss-to-use-health-probe-from
Thanks again for bringing this up. If you have additional questions, please reopen the issue and we'll be happy to answer.


[WIP] guide for nugets and binding projects

Binding Obj-C - https://docs.microsoft.com/en-us/xamarin/ios/platform/binding-objective-c/
Binding Swift - https://docs.microsoft.com/en-us/xamarin/ios/platform/binding-swift/
Binding Java - https://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/
Binding JAR - https://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-a-jar
Binding AAR - https://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-an-aar
Binding Kotlin - https://docs.microsoft.com/en-us/xamarin/android/platform/binding-kotlin-library/
Android native lib PInvoke - https://docs.microsoft.com/en-us/xamarin/android/platform/native-libraries
C++ - https://docs.microsoft.com/en-us/xamarin/cross-platform/cpp/

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

Binding Obj-C - https://docs.microsoft.com/en-us/xamarin/ios/platform/binding-objective-c/
Updated the sample here : https://github.com/Sweekriti91/maui_ios_binding
Binding AAR - https://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-an-aar
Updated sample here : https://github.com/Sweekriti91/monodroid-samples/tree/maui_migrate/JavaIntegration/AarBinding
Steps followed :
Steps

Convert csproj file to SDK style.

add the <IsBindingProject>true</IsBindingProject> project property
Delete AssemblyInfo.cs OR keep old AssemblyInfo.cs file and set <GenerateAssemblyInfo>false</GenerateAssemblyInfo>

Update for .NET 7 TFMs.

For Android, should work as is.

For iOS, Known API Changes :

All references to System.nint, System.nuint and System.nfloat -> change to native int, native uint and System.NFloat
All methods on System.nint and System.nuint -> change to either equivalent calls on native int and native uint
If needed, add these new types NativeIntegerAttribute and CompilerGeneratedAttribute
All objects that inherit from either Foundation.NSObject or ObjCRuntime.DisposableObject that have constructors of the form .ctor (IntPtr) or .ctor (IntPtr, bool) -> change the IntPtr references to ObjCRuntime.NativeHandle.
All objects that inherit from Foundation.NSObject that have ClassHandle or Handle properties of type IntPtr -> change to type ObjCRuntime.NativeHandle
AutoGenerated tag remove from ApiDefinitions

Build and fix build errors.

Resources
These can help troubleshoot build errors and track API changes.

Xamarin.Android -> .net7-android

Xamarin.iOS -> .net7-ios

Project-file-properties
#11863

Closing in favour of #1514 and #1515.


Share ASP.NET MVC 5 Forms authentication?

My question: There are two projects, one project is old (ASP.NET MVC 5), it is a login site, write code like FormsAuthentication.SetAuthCookie (" xishuai ", false);, another project ASP.NET 5 is rewritten, the site needs to obtain verification of the identity of another site, such as this code: var name = User.Identity.Name;, but I can not get found, here is my test.
ASP.NET MVC 5
Web.config:
<system.web>
  <compilation debug="true" targetFramework="4.6" />
  <authentication mode="Forms">
    <forms name=".CNBlogsCookie2" loginUrl="/Home/About" />
  </authentication>
  <httpRuntime targetFramework="4.6" />
</system.web>

HomeController:
public class HomeController: Controller
{
    [Authorize]
    public ActionResult Index()
    {
        var name = User.Identity.Name; // get 'xishuai' value
        return View();
    }

    public ActionResult About()
    {
        FormsAuthentication.SetAuthCookie("xishuai", false);

        ViewBag.Message = "Your application description page.";

        return View();
    }
}

I first tested under the two projects are ASP.NET MVC 5, such as http: // localhost: 24255 / http: // localhost: 24256 /, User.Identity.Name value which can be obtained to.
ASP.NET 5
Startup.cs
app.UseCookieAuthentication((cookieOptions) =>
{
    cookieOptions.AutomaticAuthenticate = true;
    cookieOptions.AutomaticChallenge = true;
    cookieOptions.CookieName = ".AppCookie";
});

"Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final"
HomeController:
public class HomeController: Controller
{
    public ActionResult Index()
    {
        var name = User.Identity.Name; // get null
        return View();
    }
}

How do I solve this problem?

The cookie format and the encryption pieces changed between MVC 6 and ASP.NET 5
Right now there's an unsupported compatibility package - it will become more official in the RC2 timeline.
There is documentation at https://docs.asp.net/en/latest/security/data-protection/compatibility/cookie-sharing.html

That compat package only helps if you were using Katana v3. It doesn't go all the way back to Asp.Net 4 forms auth.

The above test is not no solution?
My real problem is that there are a lot of old projects (WebForms, MVC 3/4/5, etc.), and now we want incremental improvements to ASP.NET 5, so the process of transformation on the emergence of the above problems.
I read this blog: [Sharing authentication cookies between ASP.NET 4.x and ASP.NET 5 applications.] (Https://docs.asp.net/en/latest/security/data-protection/compatibility/cookie -sharing.html # sharing-authentication-cookies-between-asp-net-4-x-and-asp-net-5-applications), is not to achieve this effect you need to rewrite ASP.NET 4.x applications, such as using app.UseCookieAuthentication(new CookieAuthenticationOptions {} ); GenerateUserIdentity..., instead of using FormsAuthentication.SetAuthCookie("xishuai", false);...?

@blowdart I understand what you mean, about how long it can be compatible? and about RC2 timeline I can see it?

@Tratcher 😭

In ASP.NET 5, and I am trying to rewrite FormsAuthentication.Decrypt(cookieValue) code, using  web.config-machineKey-validationKey decryption, I just want to get FormsAuthenticationTicket.Name, but it feels more difficult.

There is not FormsAuthentication.Decrypt(). The cookie format and the encryption methods got greatly improved. What you want to do simply won't work. We provide a back compat package, but as Chris says it's only going back one version.

@blowdart Ok, what this version is?

I'm afraid I don't understand your question.
If your project was a new project from vs2013 the shim package will work.
If you upgraded a previous project to the katana platform which came with 2013 it should work.

@blowdart Sorry, my English is very bad.
Once again, I describe my problem, I have a lot of old sites (such as using WebForms), now I need to rewrite these sites to ASP.NET 5, but the login site has not been rewritten (using the Forms Authentication), now I rewrote a project to ASP.NET 5, need to verify the identity of a user (such as using User.Identity.Name), it is the beginning of what I do that test.
You mentioned: "It's only going back one version", I want to know what this version is? thanks.

The version would be Katana v3. So you need to upgrade your existing sites to that first. Katana shipped with VS2013.

@blowdart Ok, but now I use VS2015 Update1, and some packages using rc2 version, if to solve the above problem, I can not use ASP.NET 5 is not it?

I'm sorry, I'm not sure what you're asking again?
So, let's imagine you start a new project in .NET 4.5.2 from scratch. In VS2015. That ends up using Katana 3. That will accept the forward compat packages. There's more about Katana at http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
FormsAuthentication.SetAuthCookie() isn't part of Katana.  Then you need to switch everything to use the compat shim. Then and only then will ASP.NET v5 understand the cookies

@blowdart 😂
I think I know what you mean, I need to first upgrade login system to Katana v3, and other systems using ASP.NET 4.x or ASP.NET 5 is possible, is not it?

It should be possible yes, but it may be a lot of work for you. In all honesty you might want to look at some sort of OAuth system, using Identity Server https://identityserver.github.io/Documentation/
This means rather than drag everything up you would use whatever OAuth code is appropriate for each version of .NET, MVC, WebForms or whatever that you're using.

@blowdart Ok, I understand.
Now log into the system is not good upgrade, because it involves other systems, if a start using OAuth, this problem may not occur, and I really appreciate your patience, thank you very much.
However, if the ASP.NET 5 is compatible with Forms Authentication just fine.👻

Forms Authentication comes in many versions.
To be precise we are only compatible with Katana 3.0's cookie middleware, which is used by forms authentication

@blowdart Ok, Thanks again.

@blowdart Now, I can not rewrite the login system code(Forms Authentication), but other systems rewritten ASP.NET 5, my idea is to decrypt Cookie in the new system code, I saw this project DataProtection and relevant documents, but I do not really understand, you think you can achieve?

As @blowdart says, that will be very hard to do but if you can't possibly change the other application then you'd need to write a separate middleware and component that understands the older cookie format. Basically porting FormsAuthentication.Decrypt https://github.com/Microsoft/referencesource/blob/master/System.Web/Security/FormsAuthentication.cs#L128 (which is a beast :smile:).
Some caveats:

This code won't work on .NET Core (which means it won't work cross platform). At least not as is.
It requires reading of the machine key section. Calling this method from an ASP.NET 5 application probably won't work the way you expect it to (if you just try to call FormsAuthentication.Decrypt), as there is no config hierarchy etc.

@davidfowl Yes, you say I fully understood, some time ago, I rewrote the code about FormsAuthentication.Decrypt in ASP.NET 5, the same as you say it is very difficult (😭😭😭), in addition to some of the caveats you said, there is involved a lot of other code, I'll try the next.
In addition to this way, do you think there are other solution?

In addition to this way, do you think there are other solution?

Not that I'm aware of. Just try calling FormsAuthentication.Decrypt and see what breaks.

@davidfowl Ok, thank you very much, if there is a breakthrough, then please tell me.

@davidfowl Now what progress?

Nobody is working on this. Did you try one of the suggestions?

@davidfowl Sorry, now I do not try to do this, but in my plan, some time ago I tried the next, but the implementation is very difficult, because the code involved is very large, Chinese called "牵一发而动全身", later if there is progress, I'll get back to you Thank you. :)
In addition, about this, do you have any plans? The future will provide a compatible version?

MVC6 Decrypting a forms authentication cookie from another website
FormsAuthenticationTicketHelper.cs

I tried again, but still failed, I was ready to give up temporarily.

As you appear to have gotten this working I'm going to close the issue.
There will not be any back compat package for anything other than Katana based sites.

I changed the ways to solve this problem, blog record: http://www.cnblogs.com/xishuai/p/aspnet-5-or-core1--identity-part-two.html

Incase anyone comes across this thread in the future, this may be helpful:
https://github.com/dazinator/AspNetCore.LegacyAuthCookieCompat


Add way to jump to straight-use-package usage

Also nice would be to jump to the cloned repository so I can start hacking on it.
Could be as simple as
(let ((default-directory (straight--repos-dir)))
  (call-interactively 'find-file))

I do not think this feature (the one in the issue title) is a good idea, as navigating within your Emacs configuration is probably best done with a text-search package such as CTRLF. Trying to special-case all the weird things people put in their configurations is a road to madness.


wrong content type in the response

I just noticed that FREME NER returns wrong content type header.
The response is formatted in the correct format, but the content type header is wrong.
Try this link in the browser
http://api-dev.freme-project.eu/current/e-entity/freme-ner/documents/?informat=text&input=Diego Maradona&outformat=turtle&language=en&dataset=dbpedia
and check the content type header.
I think this bug was introduced with the architecture update.

I can confirm the bug. It does not happen on e-terminology and e-translation. @bgrusdt please fix the problem.

Does this also happen if the freme worker (rv2622.1blu.de:7001) is called directly?
http://rv2622.1blu.de:7001/e-entity/freme-ner/documents/?informat=text&input=Diego%20Maradona&outformat=turtle&language=en&dataset=dbpedia

If not, this bug is caused by the proxy-filter.

I only see this behaviour when the call is made from the browser, then it returns the response content-type text/html.  With Postman it returns, text/plain.
When I call it with my local installation, it returns text/turtle as expected. But when I call it locally from  the browser  http://localhost:7001/e-entity/freme-ner/documents/?informat=text&input=Diego%20Maradona&outformat=turtle&language=en&dataset=dbpedia , the response content-type is correct, i.e. text/turtle.

probably related issue is https://github.com/freme-project/basic-services/issues/37

This should be fixed with this commit.


How can I get sourcemap files and where can I find them in production ?

I have tried alot of solutions (nuxt.config & change the devtool source-map) but nothing work.. I need to get the real source code in production so I can get the real error's line like Sentry for example please can anyone help me...

@eibo910 Was there a solution to this?


Add quick-access buttons linking to custom searches

Description:
It should be possible to save a subset of search types directly within the search rather than through bookmarks. Some random examples: "VIP-only Spanish Radio Dramas" or "Missing-metadata Sci-Fi, sorted by downloads". The URL bar changes depending on the search query, so it's a simple matter of saving the URL and displaying a button that initiates the search.
Implementation:

[ ] Add "Name" textfield, "Save Search" button, and drawer/list for saved searches to appear
[ ] When Save button is clicked, store the [name, url] values
[ ] If no name added, grab text from Search bar
[ ] If no search bar text, prompt for name
[ ] Display saved search links on Search page, with option to delete each value

Links:
/f/t/58512/p/1

Similar feature added for Top 10 search in other userscript
/forums.php?action=viewtopic&topicid=50429&page=p515443#515443

With #130 being finished, we should be able to lift the code from it to reimplement here. Instead of saving custom text it would save the current search URL.

Partially implemented by another userscript /f/t/70066 which allows users to create their own Quick-Access Menu. However, this requires modifying the script code instead of quickly saving specific searches. This feature should be able to proceed without too much overlap.


about validation set used in your paper

Hi nanom6a team! I noticed that you used m6A sites identified by miCLIP from public data (Nanopore direct RNA sequencing maps the complexity of Arabidopsis mRNA processing and m6A modification) in Fig.3a of your paper, and the number of m6A sites identified by miCLIP is 4685, however in paper  Nanopore direct RNA sequencing maps the complexity of Arabidopsis mRNA processing and m6A modification that numbr is 93046. I'd want to know how you got 4685 m6A sites from 93046 site?

I filter the m6A site with RRACH motif with following code
kmer_fillter="[AG][AG]AC[ACT]"
dclipset=[]
for i in open(fl,"r"):
ele=i.rstrip().split()
name=ele[0]
if "Multiple" in name or "Novel" in name:
continue
chro,pos,strand=ele[1],int(ele[2]),ele[6]
seq=loader.fetch(chro,pos-5,pos+5)
if strand=="-":
seq=revComp(seq)
lists=[i.start() for i in re.finditer(kmer_fillter,seq)]
if len(lists)>=1:
for pos1 in lists:
if strand=="+":
seq=loader.fetch(chro,pos1+pos-5+2,pos1+pos-5+4)
dclipset.append(chro+""+str(pos1+pos-5+2))
else:
seq=loader.fetch(chro,pos+5-pos1-4,pos+5-pos1-2)
seq=revComp(seq)
dclipset.append(chro+""+str(pos+5-pos1-4))

I fillter m6A sites with RRACH motif
fl="Fig3a_miclip.tsv" kmer_fillter="[AG][AG]AC[ACT]" dclipset=[] for i in open(fl,"r"):     ele=i.rstrip().split()     name=ele[0]     if "Multiple" in name or "Novel" in name:         continue     chro,pos,strand=ele[1],int(ele[2]),ele[6]     seq=loader.fetch(chro,pos-5,pos+5)     if strand=="-":         seq=revComp(seq)     lists=[i.start() for i in re.finditer(kmer_fillter,seq)]     if len(lists)>=1:         for pos1 in lists:             if strand=="+":                 seq=loader.fetch(chro,pos1+pos-5+2,pos1+pos-5+4)                  dclipset.append(chro+"_"+str(pos1+pos-5+2))             else:                 seq=loader.fetch(chro,pos+5-pos1-4,pos+5-pos1-2)                 seq=revComp(seq)                 dclipset.append(chro+"_"+str(pos+5-pos1-4))

I fillter m6A sites with RRACH motif
fl="Fig3a_miclip.tsv"
kmer_fillter="[AG][AG]AC[ACT]"
dclipset=[]
for i in open(fl,"r"):
ele=i.rstrip().split()
name=ele[0]
if "Multiple" in name or "Novel" in name:
continue
chro,pos,strand=ele[1],int(ele[2]),ele[6]
seq=loader.fetch(chro,pos-5,pos+5)
if strand=="-":
seq=revComp(seq)
lists=[i.start() for i in re.finditer(kmer_fillter,seq)]
if len(lists)>=1:
for pos1 in lists:
if strand=="+":
seq=loader.fetch(chro,pos1+pos-5+2,pos1+pos-5+4)
dclipset.append(chro+""+str(pos1+pos-5+2))
else:
seq=loader.fetch(chro,pos+5-pos1-4,pos+5-pos1-2)
seq=revComp(seq)
dclipset.append(chro+""+str(pos+5-pos1-4))

Hi yubang! Your script (seq=loader.fetch(chro,pos-5,pos+5)) meant that you will save sites if the flanking 5bp (11bp in total) contains RRACH, though  the  flanking 2bp (5bp in total) may not == RRACH?


Installation

Do you guys have a more concrete way on how to install this theme? Currently, I'm running the Dribbblish that was made by @khanhas and it works smoothly. But coming to the installation of Dribbblish Dynamic on MacOS it runs into the (23) Failed writing body error code.

How did you solve it?

How did you solve it?

I had to reinstall the entire .zip file and I had to go in and manually copy and paste the extensions required for the theme.


$removeparam doesn't work if request is blocked

I guess that it may be related to this issue - https://github.com/AdguardTeam/CoreLibs/issues/1462
Steps to reproduce

Add these rules:

||example.org/1?test$removeparam=test
||example.org/*?test

Go to - https://example.org/1?test

?test should be removed, but it isn't when blocking rule is applied.

If I'm not wrong, the same apply to $cookie modifier.
Rules:
||example.org/*?test
example.org#%#//scriptlet('set-cookie', 'qwerty', '1')
||example.org^$cookie=qwerty

Cookie is not removed.
AdGuard for Windows version 7.9 nightly 4 (build 3793, CL 1.9.5)

But why removeparam should be applied to blocked request?

Because at the end, request is not blocked at all, and other rules like $removeparam or $cookie are not applied.

The real case may be some affiliate links, for example:
https://edipresse.hit.gemius.pl/hitredir?id=bao7_4cbOJtYBrxRn8.xCscQHZH89sejZPP4ZOgL8SX.N7&et=action&extra=OfferCount=4|BuildNumber=1448|PlacementPosition=1|Site=polki-pl|PageType=Content|ContentType=ContentVideo|ContentEcomType=C2C_Tresc_redakcyjna|PlacementType=Emisja%20BoxyP|PlacementId=5280|WidgetId=4966|WidgetType=ssr|DynamicAlgorithm=AlgorithmSiteCategoryRotator|CampaignName=Ecom_box|WidgetLayout=x4Modern|ContentName=Pierniki%20czekoladowe%20z%20nut%C4%85%20cytrus%C3%B3w|ContentId=2295|SiteCategory=Polki%2FPrzepisy%2FDesery|PlacementActivityType=OwnSiteAds|VariantAB=0|WidgetStatus=OK|ContentUrl=none|TrafficSource=none|TrafficMedium=none|TrafficContent=none|TrafficCampaign=none|TrafficTerm=none|TrafficReferral=none|OfferPosition=1|OfferType=Product|PromoFlag=0|ShowPrice=2|OfferName=Emisja%20BoxyP%20-%20Fashion%20-%20Ultra%20Ciep%C5%82a%20Czapka%20Zimowa%20z%20Pi%C4%99knym%20Splotem%21%20-%20VIKING%20-%20Bestseller%20z%20Super%20Opiniami%21|OfferId=da696003765202495289e2383c36d2e7|OfferHash=WP25028|PartnerName=Morele.net|PartnerId=2a899579e05a55f48db8a6aeda0b2614|PartnerUrl=https%3A%2F%2Fwww.skapiec.pl%2Fsite%2Fred%2F121%2F896887047%2F225498679%3F9bc018c00be76e6085045bc0e24dbb17%3D22d9d5b048eb273215ec45b166be2556%26utm_campaign%3Dapi|FeedSourceId=7e891a86ed482667f33c048eaedfbca1|FeedSourceName=skapiec|CallToAction=ZOBACZ|OfferActivityType=OwnSiteAds|OfferPrice=none|OfferPriceBefore=none|OfferPriceAlternative=Bestseller%20z%20Super%20Opiniami%21|OfferBrandName=VIKING|CategoryGroup=Fashion|PlacementHash=5280550977|EventType=OfferClick&url=https%3A%2F%2Fwww.skapiec.pl%2Fsite%2Fred%2F121%2F896887047%2F225498679%3F9bc018c00be76e6085045bc0e24dbb17%3D22d9d5b048eb273215ec45b166be2556%26utm_campaign%3Dapi

Request is "blocked" by Tracking protection filter, so parameters and cookies are not removed.

In dev tools request is not blocked?

In devtools Status Code: 404 is showed, but the same happens without AdGuard and mentioned rules work fine with AdGuard 7.8

Request is "blocked"

Ok, I got it. Not blocked in fact. AdGuard avoids blocking of main frame, but removerapam is not applied after loading without URL blocking(second request on screenshot)

It seems no issue with another request types:
||api.jquery.com^$removeparam
||api.jquery.com/jquery.get/test.php?name=test

Execute $.get( "test.php", { name: "test" } ); in console on https://api.jquery.com/jquery.get/

Ok, I got it. Not blocked in fact. AdGuard avoids blocking of main frame, but removerapam is not applied after loading without URL blocking(second request on screenshot)

Yes, it was what I meant :)
And I think that in case like that, $removeparam and $cookie rules should be applied.

It seems no issue with another request types:
||api.jquery.com^$removeparam
||api.jquery.com/jquery.get/test.php?name=test

Execute $.get( "test.php", { name: "test" } ); in console on https://api.jquery.com/jquery.get/

Yes, in this case request is blocked, so $removeparam shouldn't be applied.

@AdamWr, I can confirm that your observations are true, and agree that it should be fixed

We could probably just make sure that $removeparam is applied even after the main frame was unbocked.


When make install, get error message: "src/ctpv.c:2:10: fatal error: magic.h: No such file or directory"

I cannot install ctpv, because get error message:
$ sudo make install
make -C embed
make[1]: Entering directory '/home/shyciii/ctpv/embed'
make[1]: 'embed' is up to date.
make[1]: Leaving directory '/home/shyciii/ctpv/embed'
cc -o src/ctpv.o src/ctpv.c -c -O2 -MMD -Wall -Wextra -Wno-unused-parameter
src/ctpv.c:2:10: fatal error: magic.h: No such file or directory
2 | #include <magic.h>
|          ^~~~~~~~~
compilation terminated.
make: *** [Makefile:55: src/ctpv.o] Error 1

You need to install libmagic library. A similar issue: https://github.com/NikitaIvanovV/ctpv/issues/4 . If you don't know how to install it, tell me which Linux distribution you use and I will try to find a package you need to install to obtain the library.

I use Debian 11.5 stable. I try libmagic1 package, but error still remain.

Try also installing libssl-dev.

Thx, work like a charm!


Add two awesome cats' names to the list

From the readme:

Not accepting PRs for additional names.

It's a static list as it's meant to be the most popular names.


[Feature] More formats for Image LoadFromMemory

I've tried loading images using Image LoadFromMemory, but it looks like only the .png format is supported. Are there any plans on adding more supported formats ?

Hi!
Sry but that is a raylib issue. Not a raylib-csharp issue.

Hi! Sry but that is a raylib issue. Not a raylib-csharp issue.

How so? Formats like .bmp .tga and .jpg work fine on C and C++ raylib.

Im just wrapping the methods, it is not possible that there is a issue on the C# side.


Migration MySQL backups

Fixes: #662
Link: https://help.aiven.io/en/articles/5199859-mysql-backups

Waiting for a feedback about the MySQL backup plans info.

Once PR is merged, we can link this article to there.

Please undo my "english" edits if they feel bad to you.
Should we copy the You may modify the backup time configuration option ... text from that new article?
This information wasn't in the original help text that you're migrating. It feels like something that probably does belong here.
(I'm uncomfortable with duplicating information, but I think that's acceptable, and this article does go a bit deeper than the "general" one)

Please undo my "english" edits if they feel bad to you.
Should we copy the You may modify the backup time configuration option ... text from that new article? This information wasn't in the original help text that you're migrating. It feels like something that probably does belong here.
(I'm uncomfortable with duplicating information, but I think that's acceptable, and this article does go a bit deeper than the "general" one)

they are good @TibsAtWork! we can merge this PR, what do you think?

sorry, I may have lost your comment. I added the changes now @TibsAtWork Thank you!


-e switch seems broken, example fails

Running on latest branch (0.10.X) and testing examples fails,
yfc schema -e 'module hello-world { description "a test"; leaf hello { type string; default "world"; } }'
->
AssertionError: unable to validate passed in '' as type 'array' with errors: undefined
Running with debug shows this error happens just after
Thu Oct 29 2015 11:38:41 GMT+0100 (CET) LOG [forge] executing rpc schema...

Thanks for reporting this issue.  Looks like I inadvertently added a constraint for min-elements 1 for the arguments to the schema rpc call inside yangforge.yang schema.  Check the commit for the details.


Increment field Example

hi all!
I am trying to test the increment option using the following code but have no luck, could anyone please indicate what I am doing wrong!
Thanks,
var apiResponse = await DietPlan()
.getObject('i1FgSlj5TJ');
if (apiResponse.success && apiResponse.result != null) {
  var dietPlan = apiResponse.result as DietPlan;
  dietPlan.increment('Carbs', 10);
  dietPlan.save();
}

Hey
I think increment should increment it server side, not locally. Possibly
remove the .save line. Call increment and check the server. You could be
overwritting the incremented value... Although I could be wrong?
On Mon, Mar 4, 2019, 21:13 aminediab<EMAIL_ADDRESS>wrote:

hi all!
I am trying to test the increment the Carbs field using the following code
but have no luck, could anyone please indicate what I am doing wrong!
Thanks,
var apiResponse = await DietPlan()
.getObject('i1FgSlj5TJ');
if (apiResponse.success && apiResponse.result != null) {
var dietPlan = apiResponse.result as DietPlan;
dietPlan.increment('Carbs', 10);
dietPlan.save();
}

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/phillwiggins/flutter_parse_sdk/issues/92, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHgn3rO3koxon4bmiqbDPAvC_ihhdA-2ks5vTYyRgaJpZM4bdOB2
.

Hi Phill,
I tried it without the save option, still not updating the field, i am on back4app and able to verify it! no change. I understood that the increment marks the field for update, and running the save command commits the update! any thoughts, and by the way I thank you for your great efforts and support :)

It should just work server side when you increment. The increment method returns a Result object. Can you verify the result that is returned after calling increment?
I.e.
'var response = dietPlan.increment('Carbs', 10);'

OK the response is => (Instance of 'Future') with no returned object!
in debugging the variable it is shows a bunch of errors!

Just to check, I must have missed out the await as it's an instance of a
Future.
My bad!

Phill I don't see that you missed the await!
/// Increases a num of an object by x amount
Future increment(String key, num amount) async {
if (key != null) {
return await _increment(ParseApiRQ.increment, "Increment", key, amount);
} else {
return null;
}
}

Apologies, I meant my code example to you. I missed the await.
'var response = await dietPlan.increment('Carbs', 10);'

OK, now the response result is null, and i have a parse error: Unexpected End of Json Input

Ah okay so it looks to be an error with the SDK. I'll look into that
tomorrow for you!
On Mon, Mar 4, 2019, 21:54 aminediab<EMAIL_ADDRESS>wrote:

OK, now the response result is null, and i have a parse error: Unexpected
End of Json Input
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/phillwiggins/flutter_parse_sdk/issues/92#issuecomment-469436945,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHgn3uBl0Y-e_E0C-UJJiJbvfMkD9tdrks5vTZYHgaJpZM4bdOB2
.

Great, I have another question when deleting and object the two parameters are path and objectId. The path is the local storage path, when pinning an object, lets say i want to pin a diet plan object, what path do i use for deleting it in both online and local?

I did not realize it was that late in the evening! good night we'll pick it up tomorrow, thanks a lot

Hey, yeah that is an issue. I noticed it the other day. It's been changed
by a contributor that was looking to delete ParseFiles. That will be fixed
shortly.
On Mon, Mar 4, 2019, 22:00 aminediab<EMAIL_ADDRESS>wrote:

Great, I have another question when deleting and object the two parameters
are path and objectId. The path is the local storage path, when pinning an
object, lets say i want to pin a diet plan object, what path do i use for
deleting it in both online and local?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/phillwiggins/flutter_parse_sdk/issues/92#issuecomment-469439040,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHgn3n5IYXlEHQe-LPkqSWCejvdN8tVXks5vTZeSgaJpZM4bdOB2
.

Good Morning Phill,
Thank you for taking the time to fix the errors. I have another question, after successfully pinning a diet_plan object I tried to delete it online and locally, however I don't know what is the path that i should use, in this case used null! I can delete online but not locally, to test I used the following code as example, what is the path syntax?
void deleteDietPlanObject() async {
var apiResponse = await DietPlan().delete(null, 'i1FgSlj5TJ');
if (apiResponse.success && apiResponse.result != null) {
print(ApplicationConstants.keyAppName +
": " +
apiResponse.result.toString());
}
// test if pin exists
DietPlan newDietPlanFromPin = await DietPlan().fromPin('i1FgSlj5TJ');
if (newDietPlanFromPin != null) {
print(newDietPlanFromPin.get('Carbs'));
print('Retreiving from pin worked!');
} else {
print('Error');
}
}

That will be removed shortly. It should be an optional for path, not a
requirement.
I'll amend that in the next release.
On Tue, Mar 5, 2019, 10:01 aminediab<EMAIL_ADDRESS>wrote:

Good Morning Phill,
Thank you for taking the time to fix the errors. I have another question,
after successfully pinning a diet_plan object I tried to delete it online
and locally, however I don't know what is the path that i should use, in
this case used null! I can delete online but not locally, to test I used
the following code as example, what is the path syntax?
void deleteDietPlanObject() async {
var apiResponse = await DietPlan().delete(null, 'i1FgSlj5TJ');
if (apiResponse.success && apiResponse.result != null) {
print(ApplicationConstants.keyAppName +
": " +
apiResponse.result.toString());
}
// test if pin exists
DietPlan newDietPlanFromPin = await DietPlan().fromPin('i1FgSlj5TJ');
if (newDietPlanFromPin != null) {
print(newDietPlanFromPin.get('Carbs'));
print('Retreiving from pin worked!');
} else {
print('Error');
}
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/phillwiggins/flutter_parse_sdk/issues/92#issuecomment-469618042,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHgn3hI-oDNEEaXEtc9U62FGM1C394Lzks5vTkB0gaJpZM4bdOB2
.

@phillwiggins and @aminediab.
I found the reason for the error in increment and decrement. I'm completing the tests and I'm going to upload a PR.
The same solution will solve problems in addAll, addUnique and add in List.
I'll also add support for Pointer.
Same as increment and decrement and list operations, saving a Pointer must be done in two steps at creation.
First you must save the object and then use the result of the Response (as ParseObject) and perform the operations.
During creation ParseObject does not have the objectId, only the response it has. Then the response is used to perform the operations.
Sorry, I'm not fluent in English I'm using a translator for support.

Great work Rodrigo!
I've not had a chance to use this feature in my own apps yet so I didn't
realise they weren't working correctly. I'll review the code as soon as you
create a PR. Again, thank you!
On Thu, Mar 7, 2019, 20:01 Rodrigo de Souza Marques <
<EMAIL_ADDRESS>wrote:

@phillwiggins https://github.com/phillwiggins and @aminediab
https://github.com/aminediab.
I found the reason for the error in increment and decrement. I'm
completing the tests and I'm going to upload a PR.
The same solution will solve problems in addAll, addUnique and add in List.
I'll also add support for Pointer.
Same as increment and decrement and list operations, saving a Pointer must
be done in two steps at creation.
First you must save the object and then use the result of the Response (as
ParseObject) and perform the operations.
During creation ParseObject does not have the objectId, only the response
it has. Then the response is used to perform the operations.
Sorry, I'm not fluent in English I'm using a translator for support.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/phillwiggins/flutter_parse_sdk/issues/92#issuecomment-470672452,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHgn3uc4TFoybEVUpYILMxM9Jgdlg-E9ks5vUW_9gaJpZM4bdOB2
.

Thanks Rodrigo!

Phill/Rodrigo,
You all are doing a Great Job. I really believe, once most of the parse server functionality is implemented and tested, this Flutter Parse Server Package will surely be in the Top 10!
As a reminder, The increment and decrement still not working as of your latest git. Rodrigo mentioned he is going to fix it!

Hi @aminediab,
I had changed and tested counters (increment and decrement).
I checked now that the changes did not go up to git. I am checking what happened and I will soon do a PR.

Hi @aminediab.
Try again.
Update pubspec.yaml

dependencies:
flutter:
sdk: flutter
#parse_server_sdk: ^1.0.15
parse_server_sdk:
git: git://github.com/phillwiggins/flutter_parse_sdk.git

Hi Rodrigo,
I updated pubspec.yaml, the apiResponse.result returns the object successfuly. However, it failed on increment with error, parse error ! I also tried it with saving and without saving(last statement),
void incrementDietPlanProtein() async {
var apiResponse = await DietPlan().getObject('mqinMzhxJY');
if (apiResponse.success && apiResponse.result != null) {
  var myDiet = (apiResponse.result as DietPlan);
  var response = await myDiet.increment('Protein', 10);
  //myDiet.save();
}

}

Hi @aminediab
You can verify that the file code "lib/src/objects/parse_object.dart" in your local repository contains these changes here: https://github.com/phillwiggins/flutter_parse_sdk/pull/107/files
You can check this using Go To -> Declaration in Android Studio or Go To Definition in Visual Code
If you wait a while, I've created the setIncrement and setDecrement methods to be used in conjunction with save (), same as library for Android / iOS.
For example:
    var parseObject = ParseObject ("TestAPI", debug: true);     parseObject.setIncrement ("intNumber2", 2);    parseObject.setDecrement ("intNumber3", 2);    apiResponse = await parseObject.save ();
I am finalizing the tests and I must release today or tomorrow.

Hi @aminediab
Did you take the test again? The new features are available in the latest release.

@phillwiggins
this issue can be closed.
Resolved in the last release.

@phillwiggins
Close this issue to keep open only what is in trouble.
Resolved in previous releases. It is inactive because it has not received any new comments.


onnx_graphsurgeon

请问onnx_graphsurgeon是什么包？怎么安装？会提示找不到。

I meet the same problem, with torch 1.5, tensorRT  <IP_ADDRESS>, oss on release 7.1

I meet the same problem, with torch 1.5, tensorRT  <IP_ADDRESS>, oss on release 7.1


feat: add support for server-side apply

See https://github.com/argoproj/argo-cd/issues/2267
Signed-off-by: Mathieu Parent<EMAIL_ADDRESS>

why close this pr? is it refused by upstream?


Could not find option 'api_key' in the list of available options

New Issue Checklist

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

Issue Description
When I run bundle exec fastlane beta it fails with the following error:
[16:41:32]: Could not find option 'api_key' in the list of available options: git_url, git_branch, type, app_identifier, username, keychain_name, keychain_password, readonly, team_id, team_name, verbose, force, skip_confirmation, shallow_clone, workspace, force_for_new_devices, skip_docs

If I run match outside of Fastfile with bundle exec fastlane match it seems to work and I can drive the whole lane.
Command executed
bundle exec fastlane beta
Complete output when running fastlane, including the stack trace and command used

 ➜  _removed_-swift git:(feature/setup-fastlane) ✗ bundle exec fastlane beta
[✔] 🚀
[16:41:32]: ------------------------------
[16:41:32]: --- Step: default_platform ---
[16:41:32]: ------------------------------
[16:41:32]: Driving the lane 'ios beta' 🚀
[16:41:32]: ----------------------
[16:41:32]: --- Step: setup_ci ---
[16:41:32]: ----------------------
[16:41:32]: Not running on CI, skipping CI setup
[16:41:32]: -------------------
[16:41:32]: --- Step: is_ci ---
[16:41:32]: -------------------
[16:41:32]: -------------------
[16:41:32]: --- Step: match ---
[16:41:32]: -------------------
[16:41:32]: Successfully loaded '/Users/rts/code/_removed_/fastlane/Matchfile' 📄
+---------+----------------------------------------------------+
|         Detected Values from './fastlane/Matchfile'          |
+---------+----------------------------------------------------+
| git_url |<EMAIL_ADDRESS>|
| type    | development                                        |
+---------+----------------------------------------------------+
+------------------+----------+
|        Lane Context         |
+------------------+----------+
| DEFAULT_PLATFORM | ios      |
| PLATFORM_NAME    | ios      |
| LANE_NAME        | ios beta |
+------------------+----------+
[16:41:32]: Could not find option 'api_key' in the list of available options: git_url, git_branch, type, app_identifier, username, keychain_name, keychain_password, readonly, team_id, team_name, verbose, force, skip_confirmation, shallow_clone, workspace, force_for_new_devices, skip_docs
+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
| 2    | setup_ci         | 0           |
| 3    | is_ci            | 0           |
| 💥   | match            | 0           |
+------+------------------+-------------+
[16:41:32]: fastlane finished with errors
[!] Could not find option 'api_key' in the list of available options: git_url, git_branch, type, app_identifier, username, keychain_name, keychain_password, readonly, team_id, team_name, verbose, force, skip_confirmation, shallow_clone, workspace, force_for_new_devices, skip_docs

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
11.1

Ruby
2.6.0

Bundler?
true

Git
git version 2.24.3 (Apple Git-128)

Installation Source
~/.rvm/gems/ruby-2.6.0/bin/fastlane

Host
macOS 11.1 (20C69)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.6.0/lib

OpenSSL Version
OpenSSL 1.1.1g  21 Apr 2020

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

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

Xcode Version
12.3

System Locale

Variable
Value

LANG
da_DK.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane
#

default_platform(:ios)
platform :ios do
    desc "Push a new beta build to TestFlight"
    lane :beta do
        setup_ci
        match(type: "appstore", readonly: is_ci)
        build_app(workspace: "_removed_.xcworkspace", scheme: "iOS")
        upload_to_testflight
    end
end

`./fastlane/Appfile`
app_identifier("_removed_") # The bundle identifier of your app
apple_id("_removed_") # Your Apple email address
itc_team_id("_removed_") # App Store Connect Team ID
team_id("_removed_") # Developer Portal Team ID

`./fastlane/Matchfile`
git_url<EMAIL_ADDRESS>
type "development" # The default type, can be: appstore, adhoc or development

# app_identifier ["tools.fastlane.app", "tools.fastlane.app2"]
# username<EMAIL_ADDRESS># Your Apple Developer Portal username

# For all available options run `match --help`

fastlane gems

Gem
Version
Update-Status

fastlane
2.171.0
✅ Up-To-Date

match
1.0.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.0

executable-hooks
1.6.0

bundler-unload
1.0.2

rubygems-bundler
1.4.5

bundler
2.1.2

rake
13.0.3

CFPropertyList
3.0.3

concurrent-ruby
1.1.7

i18n
1.8.7

minitest
5.14.3

thread_safe
0.3.6

tzinfo
1.2.9

activesupport
<IP_ADDRESS>

public_suffix
4.0.6

addressable
2.7.0

httpclient
2.8.3

json
2.5.1

algoliasearch
1.27.5

atomos
0.1.3

aws-eventstream
1.1.0

aws-partitions
1.416.0

aws-sigv4
1.2.2

jmespath
1.4.0

aws-sdk-core
3.111.0

aws-sdk-kms
1.41.0

aws-sdk-s3
1.87.0

babosa
1.0.4

claide
1.0.3

fuzzy_match
2.0.4

nap
1.1.0

netrc
0.11.0

ffi
1.14.2

ethon
0.12.0

typhoeus
1.4.0

cocoapods-core
1.10.1

cocoapods-deintegrate
1.0.4

cocoapods-downloader
1.4.0

cocoapods-plugins
1.0.0

cocoapods-search
1.0.0

cocoapods-trunk
1.5.0

cocoapods-try
1.2.0

colored2
3.1.2

escape
0.0.4

fourflusher
2.3.1

gh_inspector
1.1.3

molinillo
0.6.6

ruby-macho
1.4.0

nanaimo
0.3.0

xcodeproj
1.19.0

cocoapods
1.10.1

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.20

declarative-option
0.1.0

digest-crc
0.6.3

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.7.6

emoji_regex
3.2.1

excon
0.78.1

faraday-net_http
1.0.1

multipart-post
2.0.0

ruby2_keywords
0.0.2

faraday
1.3.0

http-cookie
1.0.3

faraday-cookie_jar
0.0.7

faraday_middleware
1.0.0

fastimage
2.2.1

jwt
2.2.2

memoist
0.16.2

multi_json
1.15.0

os
1.1.1

signet
0.14.0

googleauth
0.14.0

mini_mime
1.0.2

uber
0.1.0

representable
3.0.4

retriable
3.1.2

google-api-client
0.38.0

google-cloud-env
1.4.0

google-cloud-errors
1.0.1

google-cloud-core
1.5.0

google-cloud-storage
1.29.2

mini_magick
4.11.0

plist
3.6.0

rubyzip
2.3.0

security
0.1.3

naturally
2.2.0

simctl
1.6.8

slack-notifier
2.3.2

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.1

generated on: 2021-01-13

This issue can be fixed by removing match from my Gemfile. I guess having match as a separate gem breaks some stuff. 🤷
Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "cocoapods"
gem "fastlane"

This issue can be fixed by removing match from my Gemfile. I guess having match as a separate gem breaks some stuff. 🤷
Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "cocoapods"
gem "fastlane"


Add more file carvers

[ ] Simple text files
[ ] MAP file

can you give a small breakdown on how to add a file carving option for .sav files oor any file in general? please and thank you.

can you give a small breakdown on how to add a file carving option for .sav files or any file in general? please and thank you.

Sure, I'll make a post when I get home today.

can you give a small breakdown on how to add a file carving option for .sav files or any file in general? please and thank you.

https://github.com/aerosoul94/FATXTools/wiki/Writing-File-Signatures-for-the-File-Carver
Feel free to ask any questions and I'd be happy to answer them and add more information to the post.

So I have tried to make a signature and after months of not knowing what I am doing and barely understanding how to obtain the right header and footer I'm humbly coming back to ask if you wouldn't mind creating the signature for me? I can provide the file that is similar to the one that I am trying to recover.


Fix html report open option, clean up wake up

The html plugin was missing the the wake method which takes care
of overriding config data by command line options. Fix this and
clean up also other plugins to use common list of keys shared by
both show() and wake() methods.

Another approach could be to handle self._keys by default in the parent wake() method implementation and save some duplication. The proposed approach, however, is a little bit more explicit. Not sure. @lukaszachy, @FrNecas, what do you think?

Thanks a lot for your detailed comments. I've updated the pull request based on your feedback. All inheriting methods should now have consistent parameters. After some more thinking, the best approach to address the common plugin keys seems to me to use a dedicated _common_keys attribute which is defined in the main plugin class. Now both wake() and show() methods default to process all common and plugin-specific keys which in most cases removes the need to duplicate these methods in individual classes.
@FrNecas, please, have a look. If everything is ok, the #896 should be unblocked. Would be nice if we could merge both before Tuesday, when we tentatively plan the next tmt release.


[Request] Every mod in Abyss.

May as well cut to the chase. This request should save everyone else time and effort. Make sure you check back every hour or less to the Abyss thread for new features that we've implemented, definitely can't wait more than one hour before trying to get a new mod from Abyss implemented into kanan.

Salty af.

...

lighthearted joking

Sure.

@QewQew
Proffessor is correct, it is Blade joking and being sarcastic at the same time.  I know because I've been talking to him and the Proffessor talks to him as well.  I'm very transparent on most things, and try real hard to act with honor in mind.  I was going to stay silent, but at this point here's how this works.  I've changed my perceptions a lot and have seen middle and common ground as to what everyone is doing.  I'd challenge anyone else including yourself to be able to do the same.  I feel this is only fair.  Feeding the cycle of hate, ignorance, and conflict only detracts from everything we're all involved in.  You choose to do that, as well as choose to interpret anything and everything how you wish.  Please bear in mind this is choices that you have control over.  You cannot control anyone else, as I've stated to the others in this convo and many more.  How you conduct yourself is entirely up to you.  I'm not saying I'm perfect, but I do try very hard.  So there it is.
Perhaps it may have been best it not be posted at all as an issue, but it was.  The drawbacks of text is that you cannot see emotion, see facial expressions--for that matter you really have no idea what a persons intent is.  So we address the actions.  Actions are what matter, and please do note I'm choosing my words careful so as not to make this longer than necessary.  My suggestion, as I've told Blade and others.  Let the matter drop and stop fueling the fire.
@All Concerned
People will ask for features and that's a given.  The right moral and ethical thing to do is to approach the other person and ask.  Blade has a right to feel the way he does as does Step29--it's not for anyone to decide otherwise.  On the other hand, its understandable to a point what is trying to be done here.   There's nothing wrong with collaboration.  You all have many opportunities here and so much more that limiting yourselves closes off.  I'm well aware of past history and have done extensive research and digging.  I know the actual facts, but they're too numerous to even begin.    It is what it is.  Grow up already.
-knocks heads together-
Please close this issue.

Proffessor is correct, it is Blade joking and being sarcastic at the same time.
The way the post was worded clearly did not intend to be a joke. Sarcastic, obviously, but with no good intentions.

Grow up already.
Tell that to Blade; this was never an issue until Blade brought it up, every time. He's clearly the one who needs to move on.

Figured since this was closed that the fighting would stop since everything that needed to be said, was. I guess this was not the case.

The way the post was worded clearly did not intend to be a joke. Sarcastic, obviously, but with no good intentions.

Actually, it was partly a joke, and part sarcasm. I was definitely annoyed, but also found it kind of funny just how quickly a unique patch that was implemented into Abyss was requested. Please take it as such. That is all I have to say for this matter and I hope that this serve as a reminder that not everything may be as it seems. I'm sorry that you've been offended by my post.

Also, as much as I hate to say it, kanan recreating patches from Abyss that were originally created by either Step29 or myself, is a problem that still exists; not something that magically disappeared as you suggested.

The problem I was addressing was your childlike tantrums, not the recreation of the patches, which is obviously ongoing.

The problem I was addressing was your childlike tantrums, not the recreation of the patches, which is obviously ongoing.

Since I verified that it was a joke, and explained why, I am going to hope that you were just quoting your previous statement when saying "childlike tantrums" and were not still trying to attack my character. I will take it as such and leave the matter be, as I hope everyone else does with this now.

@QewQew and everyone else that feels they can actually apply this:
You are correct on the first part, but you did evade my point that both Proffessor and I talk to Blade all the time.  So we know exactly what is said and for the most part the intentions, how he feels, etc.  I can honestly say no one really actually knows each other as people.  This is where I have the issue with everyone involved.  I've helped everyone I cross if I can, and will continue to do so.  I don't pick sides and try to stay as neutral as possible.  However, sometimes I have to come to the forefront to say things that not everyone may realize or think about.  I admit I was rather aggressive in trying to stamp things out on the forums, because we really should be focusing on what we say we love doing--otherwise, why do it?
I understand there's going to be backlash, but just because one can do something, doesn't necessarily mean that we should.  Exercise in restraint and self control by all parties involved would be a very welcome change.  Reading into situations doesn't help at all.  There are opportunities to resolve this and put this in the past.  It's really who's going to take the higher road that's going to win this--if there's any "winning" to be done.    It doesn't reflect well on anyone.  All I said applies to everyone not just you or Blade, but I admit I was addressing you as it was you that "reacted".  (you are the only one that has control over your choices)
Finger pointing, and trying to draw attention to another's flaws only takes the focus off one's self and it  only serves one purpose--distraction.  We only have control over ourselves.  Everyone needs to move on.  You wouldn't believe how much time I "waste" trying to keep the peace and communicate between people in order to help them get what they need, to help them in seeing where another person is coming from.  This only works with those that have open minds though.  All it takes to solve this is for people to actually start talking to each other and not at each otherand doing more listening than talking.  A little empathy goes a long way.
You and anyone else is welcome to join the Discord for mabimods that I made, or you can join the IRC.  I invited @cursey and @Poshwosh there with the purpose of fostering good will and communication.  PM me on the forums if you're interested or Draconis #8309 if you wish.  You'll find I try to be very open minded.

 Someone who has all the resources of Abyss, requesting them to be recreated where else he could have offered the resources, if anything, it's blunt trolling.
To add to that, you are misusing the issue ticket system, some people here spend their time finding problems and figuring out what's the cause, and that's what you use it for, to troll, and advertise?

Let me just say it plain out here, you can't copyright memory addresses of Mabinogi, they belong to Nexon, nor can you do so with simple "patch ideas" either, they are not patents and they belong to no one.
People request and will continue to do so because naturally humans will pick what they identify as better. They'll take what they find best, and they'll improve on it any way they can while striving for perfection. It's just how consumers work, nobody can change that.
To add to that, most of the "Abyss modifications" here existed long before Abyss came to be. You discovered your own way to achieve the result just as much as cursey did, and many others more will in generations of Mabinogi to come, so in the end... it's all about competitiveness. Which is weird because Abyss has so many users. Are you that bored?
cursey credits you as a sign of respect, as well as with every other person who contributed to the Mabinogi modification scene that had their share of ideas here. She didn't even need to, it's called respect.

Hi,
@Blade3575 Please keep your passive aggressive grievances off and away from the issue system on this project. This is not the place for it and you've done it before.
@TheProffessor I don't agree with you. This is clearly not just a "lighthearted joke" and I don't know why you would defend this behavior.
To everyone else, I think it goes without saying but I will merge any pull requests that I think are good additions to kanan. I will also try fulfilling any requests that I think are good additions to kanan. I will do both of these regardless of who did it first as long as they comply with our agreement of not reversing Abyss. I'm more than happy to give credits to the authors and original creators. If I miss any just make an issue and let me know (I've already said this in the README).