SPM resource fixes + more

This is just a draft for discussion regarding changes I had to make for my own use case..

Embedded images by bumping version to Swift 5.3 and using Bundle.module (backwards compatibility considerations needed).
Moved Resources directory to Sources to reflect Package.swift defaults, also excluded files.
VGSCollect now takes an optional baseURL for custom partners (as our use case).
Applied textContent type to credit card fields for native context (although I still couldn't get CC auto-fill to work)

I hope this helps, please feel free to close this.

@basememara
Thank you for your pull request. We will have a look.
Do you need theses changes for SwiftUI app?

Although I am using this in a SwiftUI app, these changes are not relevant to SwiftUI.

@basememara could you describe more about your use-case:

VGSCollect now takes an optional baseURL for custom partners (as our use case).

Probably setting Upstream Host in your Inbound Rout configuration could help?

Apologies for the delay, had to gather more info from the backend teams.. so instead of letting the SDK construct the URL of https://<VaultID>.verygoodproxy.com within the VGSCollect initialization, we are trying to use a custom hostname like https://vault.acme.com. Is there a way to use a custom hostname with the iOS SDK?

btw one show stopper we faced was during development of an App Clip. we had to delete a lot of unused resources for our App Clip due to the 10MB limit: https://github.com/basememara/vgs-collect-ios/commit/6756c5a6060d3ded424a1db6c6d3b9656f507bfb

@basememara

custom hostname

This is actually what we finish working on and will release in a couple of days.

@basememara

App Clip

Not sure how do you count the size of App Clip.

From Apple official doc:
"This size increase can happen when the App Store performs additional processing on your app’s binaries, adding DRM to prevent app piracy and then recompressing the binaries."
Just checking builds/archives is not the best way to measure app size.
"However, none of the binaries that you create for debugging or that you upload to the App Store from within Xcode are suitable for measuring your app’s size."
https://developer.apple.com/documentation/xcode/reducing_your_app_s_size
https://developer.apple.com/forums/thread/660675

The better way to check the size - Upload the App to TestFlight and install on device. One of our Demo Apps takes only 8mb on device, with all the images, card scanner and VGS Collect SDK. So I suppose you should be ok with VGS Collect SDK size in App Clip.

Right there's no way to measure, the App Store sent us an error saying the App Clip is too big. When we brute force deleted the images we don't use it succeeded.
That's really great about the custom hostname, so that's not relevant in this PR anymore. Mainly this PR was supposed to fix the images not showing up when using SwiftPM. It really needs to be bumped up to 5.3 which means everyone has to use Xcode 11+ which I think is fair.

..deleting the images is not the answer of course, but they should be optimized since they're really small already but they add up.

I've updated the PR so it's only tackling the SwiftPM resources correctly. Currently, the published version does not show any of the embedded images, such as typing the cc number with the associated card type image.

@basememara we are working on workaround here, so I will close this PR.


Change bootstrap location

Hi,
I am trying to load the bootstrap.yml from an external location but Spring can't load it. I read some error for spring cloud but I think it is fixed. I add this entry to the application.properties file:
spring.cloud.bootstrap.location=/usr/local/keys/bootstrap.yml
Is something wrong in this?
Thanks,
Aitor

The application context is loaded after the bootstrap context so that's too late. You need to set the location from outside (e.g. with System properties -Dspring.cloud.bootstrap.name=)
See Changing the Location of Bootstrap Properties.


Upload feature crashes when trying to upload large csv files

Current Behavior
Selecting a instrument to upload to and uploading a csv file that follows the template rules but has 1000+ entries will crash the upload feature.
Expected Behavior
If all the entries follow proper template etiquette, it should successfully upload all the entries to the database, if it encounters one with an error it should send an error notification instead of crashing the upload page.
Browser
Firefox
Steps To Reproduce

Open upload feature
select instrument to upload
Attempt to upload with csv containing 1000+ entries

Additional Details
Form used (weight form)
The csv file used MOUSE_WEIGHT_FORM_ST.csv
The error received
error(1).json
Priority
High

This issue is caused by a timeout error, however to entries are entered into the database correctly. Thus the solution is to work around the timeout or provide something such as a loading page whilst the data is being uploaded instead of the site crashing


Not repeating last gdb command when pressing enter

Expected behavior: Pressing enter in the debug console runs the last gdb command, like what happens in normal gdb.
Actual behavior: A blank line is printed and nothing happens.

Pressing enter was one of the first things I've did, too.
After I gave this some thought (the history is possibly available via dap, if not then the last command could likely be stored in the gdb backend and be executed when an enter is received, and if not could be resolved by show commands) I vote to close this issue.
Reasoning: this is explicit a vscode extension, which does not follow GDB's UI decisions.
The most likely commands to re-execute are the ones for navigating (there's the debug toolbar and keyboard shortcuts for those) and some related to frame list (shown as extra window).
I therefore "vote" for closing this.

OK, I will close this issue. (Also I don't use this extension anymore)


Not really an issue more of a question

Does the Mailbox package allow multiple emails?
Meaning within my application there could 1000s of users all with different emails they want to catch incoming and outgoing etc.
Company A - may have X amount of users using companyA.com as their emails
Company B - may have X amount of users using companyB.com as their emails
Does the package allow for this?

@mpociot Can you shed some light on this for me, I did also tweet you yesterday.

I’m not sure if I understand the exact use case. But you can define multiple mailboxes that will catch different emails. As long as you setup mailgun/sendgrid/whatever to send the emails that you want to match against.

Ok, thanks. I think that makes sense, basically my Laravel app will have multiple users that will belong to multiple companies. Thanks @mpociot


Set NoDelay property for Tcp Connection

Create an arg that can be used to set NoDelay property for Tcp connections

Closing since we no longer support this library.


[1.5] Use PodDisruptionBudget v1

Fixes #

Proposed Changes

Use PodDisruptionBudget v1
Need to fix this old release as there are issues when we try eventing-kafka with newer Kubernetes versions

Release Note

🐛 Upgrade PodDisruptionBudget used in KafkaChannel webhook from policy/v1beta1 to policy/v1

Docs

/cherrypick release-1.6

@aliok
  Error: SA1019: certPool.Subjects has been deprecated since Go 1.18: if s was returned by SystemCertPool, Subjects will not include the system roots.  (staticcheck)

/hold

/override "Code Style / style / Auto-format and Check"

/override "Code Style / style / Auto-format and Check"

/override "Code Style / style / Auto-format and Check"
/unhold

Can you run gofmt and update-codegen please? The entire repo does get checked when you make changes

/override "style / Lint"

/unhold

/override "style / Lint"

tide Pending — Not mergeable. Jobs analyze / Analyze, codecov/patch, style / Lint have not succ

@upodroid can you also override these?

@upodroid Actually, if you can just merge manually, I want to revert all the changes except the 1 liner where I change policy/v1beta1 to policy/v1 here: https://github.com/knative-sandbox/eventing-kafka/pull/1279/commits/b5daad4223f47eeb4924fcd783ed11f3ab711d21
Doing all the other changes doesn't make sense just for this 1 liner in a YAML file that doesn't have any effect on the Golang code.

Cool. Revert all the commits and I'll override all failing checks

Reverted

/override "style / Auto-format and Check (gofmt)"
/override "style / Auto-format and Check (goimports)"
/override "style / Lint"
/override "verify / Verify Deps and Codegen"


It seems writing lance datasets could be much faster with multi-core systems.

I was just testing the lance dataset writer, and to my surprise there is a lot of headroom when using multi-processing.
This is what I did:
I have many identical tables (polars dataframes), and I'm writing them to Azure Blob Storage.

I repeated each 3 times and these are the median values

Writing 1 table: 3 minutes (3min/table)
Writing 2 tables, each in its own thread (2 threads): 3 minutes (1.5min/table)
Writing 4 tables, each in its own thread (4 threads): 4.5 minutes (1.125 min/table)
Writing 12 tables, each in its own thread (12 threads, and maxed out RAM and other system resources): 15 minutes (1.25min/table)
Seems to me the writer is not using all the cores/network that are available - I see that when writing a single table I am getting < 10% CPU usage, and only 20% network bandwidth usage.
Btw, this is what I used to write the tables in parallel:
from joblib import Parallel, delayed, parallel_backend

def exec_in_parallel(callables:list[(Callable, 'args', 'kwargs')], n_jobs=1):
    '''Use joblib to execute the callables via c() for c in callables'''

    with parallel_backend('threading', n_jobs=n_jobs):
        ans = Parallel(verbose=False)(delayed(c)(*args, **kwargs) for c, args, kwargs in callables)

    return ans

def test_punish_write_lance(dfs, n_files, n_cores):

    files = [f'tf{i}.lance' for i in range(n_files)]

    exec_in_parallel([
            (lance.write_dataset, [], {'uri':f'az://lance/{f}', 'data_obj':df}) for df, f in zip(dfs,files)
        ], n_jobs=n_cores)

At least in my set up I will benefit from writing my tables in parallel, but I'd be much better to have the writer write each table at maximum speed - that's usually what most people want.
I'll repeat my testing when v0.2 comes out.

EDIT:
In case somebody asks - it's a big table (5m+ rows / 200+ columns).
df.estimated_size('gb')
>>> 17

This isn't surprising. The writer just writes one file as a time, and treats the input data as a stream. It doesn't assume that it's all in-memory, and assumes it wouldn't be acceptable to buffer too much data in memory.
If you want to write in parallel to the same table, you could:

Call write_fragments() on separate slices of your table (docs)
Commit LanceOperation.Append with the resulting fragments using LanceDataset.commit() (example)

Are you starting from an in-memory dataframe? I wonder if we could automatically detect if you have a larger in-memory df and dispatch to a parallel write if so.

Yes, this is one big table in memory

I think a n_jobs or some other parameter to control resource utilization would be nice in the lance.write_dataset API

Yeah we could add an n_jobs parameter to write_dataset. 👍

Any update to this? I have a workflow where I have large parquet files that I "copy" to lance, but this takes 15min+ per parquet file.
~1min loading the parquet file
~14 min writing the lance file (admittedly, with scalar indexing on two columns)

Hi @mkleinbort-ic. I haven't had time to work on this.
Here is a quick script to do parallel writes with a polars dataframe, with the approach suggested above. Do you want to try that out and see if it makes your writes substantially faster?
If you are interested, I would welcome a PR to add this parameter.
from threading import Thread

import lance
from lance.fragment import write_fragments
import polars as pl

def ceildiv(a, b):
    return -(a // -b)

def write_lance_parallel(data: pl.DataFrame, uri, n_jobs, **kwargs):
    # split data between parts
    part_size = ceildiv(len(data), n_jobs)
    data_parts = []
    for i in range(n_jobs):
        start = i * part_size
        end = min((i + 1) * part_size, len(data))
        data_parts.append(data[start:end])

    fragments = []
    def task(uri, data, **kwargs):
        new_frags = write_fragments(data.to_arrow(), uri, **kwargs)
        fragments.extend(new_frags)

    # Write each part in a different thread
    threads = []
    for i in range(n_jobs):
        t = Thread(target=task, args=(uri, data_parts[i]), kwargs=kwargs)
        threads.append(t)
        t.start()
    for t in threads:
        t.join()

    # Commit the dataset
    try:
        dataset = lance.dataset(uri)
        operation = lance.LanceOperation.Append(fragments, read_version=dataset.version)
    except:
        dataset = None
        operation = lance.LanceOperation.Overwrite(data.to_arrow().schema, fragments)

    dataset = lance.LanceDataset.commit(uri, operation)
    return dataset

# Test
df = pl.DataFrame({
    "a": [1, 2, 3, 4, 5],
    "b": [6, 7, 8, 9, 10]
})

write_lance_parallel(df, "./test", 2)

ds = lance.dataset("./test")
print(ds.to_table())


allows package data to be uploaded to test pypi

Addresses #28

Closing as pull request is explained in #28

Closing as pull request is explained in #28


error when getting metric through container

I curl directly to the fortigate device without any problem, but when I get too much of the container I get an error like the image below, I added the "-insecure" option to docker-compse, please help me resolve this error

if not use dâu ' ' thì error like image


Use OCI Transport for embeded images to save time

No reason to use containers/storage for instructlab or vllm since we are only building for embedding within a bootc image. By storing directly in OCI, we can save many minutes and lots of disk size.

LGTM


Retry logic for ioredis response incorrect result

Hi,
I am using ioredis with version 4.2.0 and I found ioredis may response unexpected result when "failover primary" is triggered on Amazon ElastiCache.
To verify this issue, I wrote a program to do the following steps:

insert  1000000 key-value pairs into redis where key = value
get 200 random key from redis and check whether the result match the key
at the same time, perform some multi-set operations

The source code is as follows:
const Redis = require('ioredis');

const redis = new Redis({
    'host': xxx,
    'port': xxx,
});

function isEqual(a, b) {
    if (!Array.isArray(a) || !Array.isArray(b)) {
        return false;
    }

    if (a.length !== b.length) {
        return false;
    }

    for (let i = 0; i < a.length; i++) {
        if (a[i] !== b[i]) {
            return false;
        }
    }

    return true;
}

let counter = 0;

async function test() {
    while (true) {
        counter++;

        if (counter % 1000 === 0) {
            console.log('test', counter);
        }
        let keys = [];

        for (let i = 0; i < 200; i++) {
            let value = `${Math.floor(Math.random() * 1000000)}`;

            keys.push(value);
        }

        try {
            let values;

            values = await redis.mget(keys);

            if (!isEqual(keys, values)) {
                console.error('Keys and values do not match');
                console.error(keys, values);

                return;
            }

            // set the values
            const multi = await redis.multi();

            for (let i = 0; i < keys.length; i++) {
                await multi.set(keys[i], values[i]);
            }

            try {
                await multi.exec();
            } catch (err) {

                // discard the transaction if encounter any error
                await multi.discard();
            }

            values = await redis.mget(keys);

            if (!isEqual(keys, values)) {
                console.error('Keys and values do not match');
                console.error(keys, values);

                return;
            }

        } catch (err) {
            console.error('Redis connection error', err);
        }
    }
}

(async () => {
    let promises = [];

    // Set 1000000 key-value pair into redis
    for (let i = 0; i < 1000000; i++) {
        promises.push(
            redis.set(i, i)
        );
    }

    await Promise.all(promises);

    promises = [];

    for (let i = 0; i < 200; i++) {
        // Test redis in parallel
        promises.push(test());
    }

    await Promise.all(promises);
})();

When the program is executed, it runs normally without any error at the beginning:
test 1000
test 2000
test 3000
test 4000
test 5000
test 6000
test 7000
test 8000

However, when I trigger "failover primary" is triggered on Amazon ElastiCache, it responses the following error:
test 31000
[ioredis] Unhandled error event: Error: write EPIPE
    at WriteWrap.afterWrite [as oncomplete] (net.js:788:14)
Keys and values do not match
[ '243409',
  '137016',
  '601542',
  '734081',
  '210151',
  '68771',
  '895837',
  '876693',
  '588017',
  '29828',
  '17298',
  '670564',
  '836440',
  '270865',
  '306435',
  '931699',
  '775613',
  '217668',
  '581266',
  '976507',
  '832352',
  '679326',
  '52561',
  '53287',
  '104417',
  '146403',
  '39159',
  '114127',
  '871857',
  '132837',
  '387522',
  '562921',
  '42104',
  '199721',
  '739081',
  '521383',
  '662032',
  '113916',
  '548452',
  '439403',
  '444550',
  '893604',
  '848739',
  '140389',
  '515737',
  '876296',
  '173461',
  '564650',
  '390476',
  '798553',
  '76405',
  '902405',
  '446459',
  '759290',
  '427111',
  '988981',
  '967138',
  '137452',
  '520179',
  '485755',
  '720760',
  '845674',
  '872862',
  '821507',
  '924065',
  '574757',
  '128519',
  '906625',
  '632835',
  '21495',
  '83587',
  '777786',
  '823747',
  '171798',
  '683516',
  '127883',
  '78898',
  '956534',
  '559139',
  '773756',
  '319490',
  '610275',
  '407368',
  '531517',
  '469918',
  '427556',
  '261721',
  '430777',
  '877009',
  '298908',
  '564349',
  '804059',
  '671345',
  '953904',
  '531551',
  '590455',
  '979441',
  '463816',
  '407925',
  '633564',
  ... 100 more items ] 'QUEUED'

and the program terminate with the following error:
Error: Command queue state error. If you can reproduce this, please report it. Last reply: 995929,435542,106821,513330,236068,695023,745357,618648,185801,633124,656521,310435,940466,479575,808160,416420,19858,211146,425218,140598,924085,961997,664625,578621,328188,615778,89132,125432,741458,739122,400620,758320,634350,352547,600585,682298,933154,188276,897557,811743,646589,987422,540335,681971,659102,156246,827271,37592,152314,833971,688430,877638,839522,79903,126904,827111,486631,499505,445872,165188,957601,820105,748310,935720,805906,735996,941498,243421,787074,261476,261790,473453,341959,986679,192225,625257,135429,47694,25263,436500,937899,843472,111746,446841,626126,321981,112825,900243,258222,887488,434748,812479,458536,683031,226176,621812,152860,194738,508094,749085,982258,678053,113761,956206,374257,626489,863173,293197,424767,636834,742311,959087,914309,918353,559260,774120,681847,737399,213218,437021,176342,725435,295235,729465,343807,960928,127085,827722,878959,584385,535367,506862,57615,168427,12160,59708,852020,465299,846000,301785,567768,834208,978330,611490,92358,759136,358587,819213,394238,571914,638338,776079,94375,232995,948415,89949,869999,910308,407192,405751,938798,510490,814789,913200,861669,264338,93524,371432,919094,774245,587445,460332,844889,165153,199058,542872,571002,274567,508553,924620,780545,835010,187975,654759,401789,41298,723730,889871,266452,765027,797533,517217,961999,178726,25432,418646,287127,679359,897524,62380
    at Redis.exports.returnReply (xxxxxx/node_modules/ioredis/built/redis/parser.js:143:39)
    at JavascriptRedisParser.returnReply (xxxxxx/node_modules/ioredis/built/redis/parser.js:23:19)
    at JavascriptRedisParser.execute (xxxxxx/node_modules/ioredis/node_modules/redis-parser/lib/parser.js:544:14)
    at Socket.<anonymous> (xxxxxx/node_modules/ioredis/built/redis/event_handler.js:107:26)
    at Socket.emit (events.js:198:13)
    at addChunk (_stream_readable.js:288:12)
    at readableAddChunk (_stream_readable.js:269:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
Emitted 'error' event at:
    at Redis.exports.returnReply (xxxxxx/node_modules/ioredis/built/redis/parser.js:143:25)
    at JavascriptRedisParser.returnReply (xxxxxx/node_modules/ioredis/built/redis/parser.js:23:19)
    [... lines matching original stack trace ...]
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

PS: I found this issue cannot be reproduced when maxRetriesPerRequest is set to be 0, and I strongly suspect that there is some state corruption when retry happen.
Here is the ElastiCache cluster details:
Node type cache.m3.medium
Engine Redis
Engine Version Compatibility 4.0.10
Shards 1
Number of Nodes 2 nodes (1 primary, 1 replica)

Any update on this issue? I am using ioredis and facing the same issue as well.

I'm encountering this same issue when testing an elasticache failover/upgrade. (Elasticache redis 5.0.0, ioredis 4.14.0)
My client is running a mix of individual commands and multi command blocks. When an elasticache resource upgrade occurs, the connection is closed and reestablished. However, the ioredis command queue falls out of sync, and I begin seeing individual redis commands being resolved with the reply result of a different command.
My debugging so far has shown that during the connection reset, commands sent inside of a multi context are getting put individually on the offline queue, which on its own doesn't seem right.
Just before a failover takes place, I send a multi block that looks like this:
multi
del
hset
expire
setex
exec

All of these commands get queued up by ioredis, but then I observe the following:

Receive a reply 'OK' (in response to multi)
Receive a READONLY error in response to del, due to the ongoing ElastiCache resource upgrade.
del command is put on the offline queue
The connection is reestablished with a new IP address
del is sent from the offline queue
Receive a reply '1' (in response to del). We were expecting QUEUED here, but the multi context was lost in the reconnect.
ioredis resolves a pending hset command with the reply value '1'. The command queue is now out of sync
The next command I send through this client has its reply resolved to the pending expire command, and so on.

It seems that if a connection reset occurs when a multi block is still in flight we might need to either flush or re-send any multi'd commands that might still be in the queue. I'll try to run this experiment in a fork and see if it resolves this issue.

To start, I think perhaps transacted commands found in prevCommandQueue or offlineQueue should be rejected. A quick experiment trying this appears to resolve the issue I'm facing.
In the meantime @stanley115 are you able to reproduce the issue with autoResendUnfulfilledCommands set to false?

This just hit us on production, after recovering from a failover our sites started showing content from different users mixed together. Any workarounds?

As far as workarounds, we simply have to restart all connected services whenever we perform an elasticache upgrade. I'm not aware of any better workaround, but I do have a potential fix working locally that I've been meaning to PR. I've been sidetracked since then.


Box options not propagated when using setdefault / append

I have the code below.. should it work?
I can see why it is failing. The initial Box is set with default_box=True. Later, I add an array and append an empty object object. When I do this, I am not able to use the default_box functionality, and just keep on dot'ing down the Box
Easier to explain in code:
    a = Box(default_box=True)
    a.b.c.setdefault('d',[])
    a.b.c.d.append({})
    a.b.c.d[0].e.f = 1

...
>        if self._box_config['default_box']:
>              return self.__get_default(item)
>           raise BoxKeyError(str(err))
E           BoxKeyError: "'Box' object has no attribute 'e'"
> AttributeError: 'BoxList' object has no attribute 'e'

I can see why - the new box which was appended, appears not to be set with default_box=True
I tried this, thinking it would fix it, but it does not:
    a = Box(default_box=True)
    a.b.c.setdefault('d',[])
    a.b.c.d.append(Box(default_box=True))
    a.b.c.d[0].e.f = 1

> AttributeError: 'BoxList' object has no attribute 'e'

Is what I am attempting possible? I need to create big Elasticsearch json queries, which have nested arrays of objects. It is ugly to deal with in normal python, but Box really looks like it can help - apart from this issue.
It looks like the original box_options are not propagated when using append. I can see in box.py that the parent options are not passed to BoxList (line 672 and 815) - I attempted a hotfix to pass them in, but didn't seem to work..

Yeah, it definitively seems to be something I messed up / missed with setdefault, as it does propagate correctly otherwise.
a.b.c.d = []
a.b.c.d.append({})
a.b.c.d[0].e
# <Box: {}>

Earliest I can dedicate time to this is probably late next week (major family stuff going on), but I will look into it as soon as I can!

I see what the problem is... I'll raise a PR

PR raised: https://github.com/cdgriffith/Box/pull/96
Hopefully this is the right way to fix it, I think it is :)

Thanks again for the report and great PR!
Adding to 3.4.3 https://github.com/cdgriffith/Box/pull/99


Proposal: Rename ServiceCatalogBroker to ServiceBroker

Per this comment: https://github.com/kubernetes-incubator/service-catalog/pull/1054#issuecomment-317460675, I think we can reasonably consume this name, and it's far less confusing (and less to type) than ServiceCatalogBroker.
Any thoughts?

while ServiceBroker by itself is ok, there was a desire to have all of our resources have the same prefix and “Service” wasn’t unique enough.  e.g. it might be odd to have ServiceCatalogInstance but ServiceBroker. Keep in mind, most people will never deal with ServiceBrokers. only admins. If anything “Instance”,  “ServiceClass” and “Plan” are the ones we should worry about w.r.t. UX

@duglin I don't understand what benefit having the same prefix has, can you enlighten me?
In general, I think users will prefer typing shorter names -- I'm going to keep the conversations straight by opening issues for other resources.

Until there is a final definitive decision on the names, I favor a consistent long prefix for all resources.

Until there is a final definitive decision on the names, I favor a consistent long prefix for all resources.

That's totally cool.  I would prefer not to do any further renames in code until we have final agreement on all of the names.

please don't open separate issues for each resource - let's just discuss the entire thing here in this one. Otherwise we'll get mixed/crossed threads.

please don't open separate issues for each resource - let's just discuss the entire thing here in this one. Otherwise we'll get mixed/crossed threads.

The only way to avoid mixed/crossed threads is to have a distinct issue for each object, IMO.

I don't think it make sense to discuss each resource name in isolation - they're not independent to me.  Which relates to your other question... "what's the benefit of the same perfix?"... its a better UX because it helps tie all of the concepts together.  E.g. why call something "ServiceCatalogInstance" but its parent is called "ServiceBroker".  Why did the word "Catalog" vanish?  I can't explain that to someone.  "Because it sounded better" isn't much of a reason since "ServiceInstance" sounds better too. So does "Binding".  Oh wait...  :-)

@duglin how about we discuss {broker, serviceclass, serviceplan} here, since those have 'has a' relationship at a couple levels.

I think based on the comment I cited in the issue description, we could legitimately claim:

ServiceBroker
ServiceClass
ServicePlan
ServiceInstance

...and we had already agreed on ServiceInstanceCredential
That would be an internally-consistent set of names without collisions elsewhere in the k8s ecosystem, and is 7 characters less for users to type.

I'd like to back up a sec... what changed in the 5 minutes after the other PR was merged to cause this to be an issue?  I'm not objecting to changing names again it just seems kind of odd timing since we didn't even have things merged long enough to find any UX or technical issues.  Seems more like something that should have been brought up 5 minutes earlier.

@duglin nothing changed, as far as I know.  I thought we left the design meeting where this was discussed as 'this is our opener', and expected to further refine things.  I was surprised that you opened the PR to do the rename, but it moves us forward by disambiguating the name of binding.  I'm happy to revert the PR if you want.

I left the design meeting as "let's change it to make it long and ugly" pending a decision from upstairs on what the final location is along with a process for deciding such.

Okay, I think we had a miscommunication.  I'm going to revert #1054 and we can discuss in tomorrow's design meeting.

my take away from the design session was that yes it might change due to some future reviews from folks like api-machinery, but I didn't think that we would change our minds 5 minutes after the PR was merged. Kind of defeats the purpose of getting an agreement during our design session.

I merged the #1054 PR because it disambiguated the name of the Binding resource.  In retrospect, I should probably have labeled that PR do-not-merge instead of merging it.  Apologies for the confusion - I will be happy to help making the PR that represents our eventual consensus.
I viewed the ServiceCatalog prefix as a 'strawman to start discussing with k8s owners' (your words, if I remember correctly).  In my mind, everyone fully expected to re-evaluate the names immediately upon getting more information.
After you opened your pull request, we got more information from a k8s owner about being able to claim names that are far more user-friendly (and more in line with precedent for how resources in every other API group are named).  I think the important bit here is not agreement within the group we have today, but what is best for users and the ecosystem in general.  Since we have more information now, that alone is reason to rediscuss.
Even though our API is alpha, we should take care not to break users in multiple releases.  I think it is best that we contain breaking API changes, if possible, to a single release.  Based on our current discussions, I think this would contain:

Rename of API resources
Splitting services/plans into separate resources

Closing; we will make #1080 the issue to record all discussion of API resource naming going forward.


Implement TableProviderFactory for a IcebergTableFactory

I would like to be able to register iceberg tables with datafusion like so:
CREATE EXTERNAL TABLE my_table STORED AS ICEBERGTABLE LOCATION '/path/to/table';

If Iceberg provided a TableProviderFactory then we could register and use that (This is how i currently register deltalake tables).

Please assign it to me

Here are a few questions that need clarification:

Is there a need to support specifying a version? @matthewmturner
Where should the parameters for object storage, such as access-key-id and secret-access-key for S3, be obtained from? @liurenjie1024

StaticTable relies on FileIO.
For those using DataFusion, they can pre-construct an AmazonS3 ObjectStore and register it in RuntimeEnv. In the implementation of TableProviderFactory, the ObjectStore can be obtained from the location of the external table via the provided Session. However, FileIO cannot use ObjectStore.

Proposed Solution
For the first question:

By default, use the latest version.
[Optional] Support specifying a version, for example: CREATE EXTERNAL TABLE my_table STORED AS ICEBERGTABLE LOCATION '/path/to/table' OPTIONS ('version' '1');

For the second question:

Specify the relevant parameters in the OPTIONS block of the DDL statement.
Refactor FileIO so that it also can rely on ObjectStore as its storage backend.
Register the FileIO used to read the location via a global variable.

@yukkit I am actually only familiar with the ObjectStore abstraction and not FileIO - ill need to look into that more.  Prior to knowing that I had naively expected to leverage ObjectStore auth capabilities.
Regarding the version - im less familiar with iceberg so will defer to the iceberg teams recommendation.

@liurenjie1024 Thank you so much for your feedback! I agree with your points, and I will start working on it based on this approach.

Will this enable insert into as well for iceberg?


Atom does not start for non-root users

When I run atom -f --safe I get an error :

[21795:0902/164238:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.

The only way to get it working is to run atom as root, it still complains about  "running without the SUID sandbox", but it starts...
I'm running atom 1.0.10 (installed from .deb)  on Debian testing (stretch)

This is the only way to start atom with the -f flag. atom -f --safealso works, I get that exact error when I run atomor atom <folder|file>

Okay, I didn't do anything, didn't even reboot, just left work and when I came back this morning everythin works fine, maybe the cleaning woman fixed this :smile: ...


Distribute label_replace

The label_replace function is not distributed because we don't handle string literals in the traversal function.
This commit fixes that.

So I wonder what happens if you label replace an engine label away and execute a sum aggregation; is that problematic; can we add a test for it?

This is a good catch. For now let's not distribute that case at all and emit a warning when a user runs this type of a query.


Update CI with feedback

[x] Upgrade CI to sapphire 0.1.1
[x] Widget loading
[x] UI tweaks (NDOH-189, NDOH-190)
[x] Flow tweaks (NDOH-191, NDOH-192)

@gsvr review please

:+1:


can't collect and query at the same time

I use the elasticsearch to store and kafka to collect
while the zipkin is collecting kafka msgs, and it did realy store in the cluster of elasticsearch, and search something is also quickly with elasticsearch's http-query-api, but it can't be query with zipkin UI or API at the same time.
once i stop collecting kafka msgs, zipkin query can work.
i think is it because of the collecting too busy cause zipkin can't handle the query request?
because when i run on my desktop, with all the same config, but just a little data to put in it,and it work normal, that can collect and query at the same time
here is my config:
STORAGE_TYPE=elasticsearch,ES_HOSTS="http://host1:9200,http://host2:9200,http://host3:9200,http://host4:9200",KAFKA_STREAMS=6,KAFKA_ZOOKEEPER="host1:port,host2:port,host3,host4:port:port/kafkacluster",KAFKA_TOPIC="halo.msg.trace",KAFKA_MAX_MESSAGE_SIZE="200000000",KAFKA_GROUP_ID="new-zipkin",SELF_TRACING_ENABLED="false"

so the relationship between the two would be the http client (which
accesses the storage layer). there is a connection limit per host

so is there anything i could do to solve it ? before changing the storage to ES, we have been using the cassandra, and the speed of putting data is more faster, but had not that problem.

so right now.. here are the defaults
private int maxRequests = 64; // max requests in flight across all host/ips
private int maxRequestsPerHost = 5;  // max requests in flight per host/ip
We need to adjust this in a way that isn't too much effort. I wonder
what the normal elasticsearch defaults are

@openzipkin/elasticsearch anybody have a preferred max in-flight? I think elasticsearch itself is 200

thank you very much!
so if i understand it, you want to change that two values to solve it?

so I'm at the moment guessing that this is the issue. We don't have a stat
for this, but it is the only reasonable explanation. One way is we can
expose both. Another way is that we expose the max for all hosts and then
divide. preferences?

i can't find that two param, would you please tell me about it. then i can have a test see if that could work

the parameter doesn't exist, yet. one minute...

https://github.com/openzipkin/zipkin/pull/1450 are you able to make a
one-off build? or do you need to download a premade one?

premade thanks~

in about 10-15 minutes there will be a new exec jar here.
http://oss.jfrog.org/oss-snapshot-local/io/zipkin/java/zipkin-server/1.18.1-SNAPSHOT/
Try default (which would now allow full 64 in-flight requests at a time),
and then you can adjust up or down with ES_MAX_REQUESTS
Please report back as soon as you can, in case this isn't the problem.


feat: Update log level flag to use string

Addresses comment on https://github.com/irvinlim/apple-health-ingester/pull/8#discussion_r1023458674.

Codecov Report
Base: 71.69% // Head: 71.69% // No change to project coverage :thumbsup:

Coverage data is based on head (5cf6058) compared to base (1b24510).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   71.69%   71.69%
=======================================
  Files           7        7
  Lines         537      537
=======================================
  Hits          385      385
  Misses        121      121
  Partials       31       31

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


GeoFile Reader to support reading of KML/KMZ files

This was requested in the KNIME forum.
Geopandas uses Fiona which supports reading of KML/KMLZ files. However it needs to be explicitly enabled and in addition the driver needs to be passed in the read_file method as argument e.g. gdf = gp.read_file(self.data_url, driver="KML"). The reason why it is not supported by default in Fiona is that the used driver only partially supports the standard as described here.
An example file is available here.

We can use https://docs.python.org/3/library/os.path.html#os.path.splitext to get the file extension and if this is MKML or KMLZ add the driver to the read_file() method call.


Update description of tool and link from OCP website

Once we decide what to name tool in #29 please also add some text to http://ocdskit.open-contracting.org/ explaining what the tool is and linking to the forthcoming learning lab on how to use it.
please also add to the USE section of the 7 steps and the Resources page of OCP website

Added to Use step of 7 steps: https://www.open-contracting.org/implement/#/5
Added to OCP Resources: https://www.open-contracting.org/resources/ocds-toucan/

The Learning Lab is not available yet – we can create an issue to integrate it when ready.
I created #30 for adding more descriptive text to the homepage.


Fix fmod/remainder confusion in local planner

Proposed changes
This might fix the problem of the robot sometimes turning in the wrong direction.
Necessary checks

[ ] Update package version
[x] Run catkin build
[ ] Write documentation
[ ] Create issues for future work
[ ] Test on your machine
[ ] Test on the robot
[x] Put the PR on our Project board

I tested this a bit and it works great so far.


FSI demo scripts

#98
Scripts for FSI demo day:-

Deploy, Ingest Data and Reconcile Data (Part 2)
Demo a member adding additional data (Part 3)
Demo Governance - applying a code change (Part 4)

I think you need to chmod +x <filename> all of your new scripts as they dont execute on my machine

I think you need to chmod +x <filename> all of your new scripts as they dont execute on my machine

I've got the latest and I get the same: -
root@30a2a902ec9b:/workspaces/ccf-app-samples/data-reconciliation-app# make demo
demo
/bin/bash: ./demo-app/scripts/01-data_ingest_demo.sh: Permission denied
make: *** [Makefile:67: demo] Error 126


No way to switch user

The first time you submit DSL, the page asks for your username and password.  If you have to switch accounts for some reason, like the current account doesn't have access to perform something the DSL requires, there is no way to do so.  Closing the page and reopening reuses the same credentials and the user your are logged in as in Flow, proper, has no bearing on the user being used by the DSL IDE page.  So if you log out of Flow, you are still authenticated in the DSL IDE page with the credentials you originally entered on the page.

This issue was moved to electric-cloud-community/EC-DSLIDE#2


restore aeon to 'scry-request' response wire

During the ames ack migration (10d60611249fcf0fc7b96e691e4be4a68a247f42), the aeon parameter was removed from the scry-request response wire, which inadvertently caused app/simple.hoon to reference unused agent paths.
The existing signature for +tell:da, which also expects the aeon parameter for a scry-request, suggests that this omission was unintentional. This PR simply restores the aeon in this wire with the values it used prior to 10d60611249fcf0fc7b96e691e4be4a68a247f42.
To test the correctness of this fix, I ran the following test case on two fake ships ~zod and ~nec with the SSS desk installed as %simple:
>> ~zod
> :simple &add 1
>> ~nec
> :simple &surf-sum [~zod %sum %foo ~]

Diffing the dojo outputs before and after the inclusion of this fix yields the following:
$ diff log-old.txt log-new.txt
31c31,32
< %simple: on-agent on wire //sss/scry-request/~zod/simple/sum/foo, %poke-ack
---
> %simple: on-agent on wire //sss/scry-request/~zod/simple//sum/foo, %poke-ack
> >   "sub-sum is: ~"

The fact that the sub-sum is: line is now being printed after the scry-request response suggests that the fix is working. Feel free to let me know if there are any other tests cases I should run to verify correctness.

Nice, I think if you made a PR here, it would probably get merged sooner.


VScode output emit error: 'completionEntryDetails' request failed

VSCode Version: 1.13.0-insider
OS Version: windows 10 pro

Steps to Reproduce:

While Meteor running, modified meteor client side file

I have worked with VScode and meteor for a month. It is my first time to see this error.
Here is emitted error stack
[Info  - 10:18:13 AM] Using tsserver from: c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\extensions\node_modules\typescript\lib\tsserver.js
[Info  - 10:18:13 AM] Forking TSServer
PATH: undefined
[Error  - 10:21:53 AM] 'completionEntryDetails' request failed with error.
Error: Cancelled Request 45
    at TypeScriptServiceClient.tryCancelRequest (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\extensions\typescript\out\typescriptServiceClient.js:755:25)
    at token.onCancellationRequested (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\extensions\typescript\out\typescriptServiceClient.js:695:30)
    at e.invoke (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:14715)
    at e.fire (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:18522)
    at e.cancel (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:21326)
    at e.cancel (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:21936)
    at n.Class.derive._oncancel.<anonymous> (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:59256)
    at n.Class.derive._oncancel._cancelAction (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:55460)
    at Object.enter (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:51217)
    at n.Class.derive._oncancel._run (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:53528)
    at n.Class.derive._oncancel.cancel (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:52693)
    at n.Class.derive._creator._cancelAction (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:53776)
    at Object.enter (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:51217)
    at n.Class.derive._creator._run (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:53528)
    at n.Class.derive._creator.cancel (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:52693)
    at h (c:\Program Files (x86)\Microsoft VS Code Insiders\resources\app\out\vs\workbench\node\extensionHostProcess.js:23:176262)
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

The error is expected. It just means that the request was canceled because we no longer care about the result. We've changed how cancelled requests are logged in 1.14 to make it clearer that this is not an error.
Are you seeing incorrect behavior for JS/TS completions?

Okay.
I suspect it might relate with #28013 and #29132.
Thank you to inform me.


Add Giant Swarm to Adopters list

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

If contributing rules or changes to rules, please make sure to also uncomment one of the following line:

/kind rule-update

/kind rule-create

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area rules

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

3be746a Add Giant Swarm to Adopters list

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: stone-z
To complete the pull request process, please assign mstemm after the PR has been reviewed.
You can assign the PR to them by writing /assign @mstemm in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @stone-z! It looks like this is your first PR to falcosecurity/falco 🎉

LGTM label has been added.  Git tree hash: 6e9230f1dd8d8d619248e6fefd9ca7f9120779b4

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leogr, stone-z
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.31.0

/approve
🥳

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr, stone-z
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Fixed inputs not passed while used in ActionSet

Related Issue
Fixed #3939
Description
Submit actions didn't gather all inputs if the action was defined  inside ActionSet
How Verified
How you verified the fix, including one or all of the following:

added a new unit test
tested with sample app
run all unit tests

Microsoft Reviewers: Open in CodeFlow

/azp run

/azp run

/azp run


python310Packages.genpy: 2021.1 -> 2022.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.genpy is: "C/C++ source generation from an AST"
meta.homepage for python310Packages.genpy is: "https://github.com/inducer/genpy"
meta.changelog for python310Packages.genpy is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 2022.1 with grep in /nix/store/vcfnijddl2axq3sa16pp2pynkk3ksfib-python3.10-genpy-2022.1
found 2022.1 in filename of file in /nix/store/vcfnijddl2axq3sa16pp2pynkk3ksfib-python3.10-genpy-2022.1

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath
python310Packages.genpy
python310Packages.loopy
python39Packages.genpy
python39Packages.loopy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vcfnijddl2axq3sa16pp2pynkk3ksfib-python3.10-genpy-2022.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.genpy https://github.com/r-ryantm/nixpkgs/archive/13203f81c0c7c4ca9a04727fc1adfe1e16dffc95.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vcfnijddl2axq3sa16pp2pynkk3ksfib-python3.10-genpy-2022.1
ls -la /nix/store/vcfnijddl2axq3sa16pp2pynkk3ksfib-python3.10-genpy-2022.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

python310Packages.genpy
python310Packages.loopy (python310Packages.loo-py)
python39Packages.genpy
python39Packages.loopy (python39Packages.loo-py)

Maintainer pings
cc @costrouc for testing.

Result of nixpkgs-review pr 186751 run on x86_64-darwin 1

2 packages marked as broken and skipped:

python310Packages.loopy
python39Packages.loopy

2 packages built:

python310Packages.genpy
python39Packages.genpy


Update about-github-security-advisories.md

Update About CVE and CVE Numbering Authorities links from the older .mitre.org to the new .org ones.

Why:
The "About CVE" and "CVE Numbering Authorities" links point to older (transitioning) cve.mitre.org site. This pull request updates the two links to the new cve.org site.
Closes [issue link] -> I couldn't find any existing issues in the issues list tied to these proposed changes.

What's being changed:
In the "About GitHub Security Advisories" page update the two links associated with "About CVE" and "CVE Numbering Authorities" links to direct to the new cve.org site

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Updated 2 links. Please let me know if anything additional is necessary.

@maxmash1
Thanks so much for opening a PR! I'll get this triaged for review :zap:

Thank you @felicitymay @ramyaparimi. Glad I could help.


Cannot access containers using inject

When using this debugger I cannot access any containers which have been injected into my provider. ie:
const authContainer = new AuthContainer();
...
<Provider inject={[authContainer]}>
  ...
</Provider>

Is there any way to attach to these containers to view state?

This is probably due to instantiating your container before importing unstated-debug. Move unstated-debug higher in your import list so that it is around when your containers are constructed.


Feature/TensorFlow GPU

Implements additional build flag -PGPU=true to use GPU version of TensorFlow.
Closes #293.
Will be made concrete once #294 is merged.

Have you tested that this is actually just a drop-in replacement and uses the GPU (e.g. using nvidia-smi)

Please excuse, I forgot to mention that I did test this and could determine that the GPU is used, but since different item extractions are not batched, this could still be improved in the future.

I tested this on ubuntu and can confirm it works. There is however not really any noticeable speedup for CLIP. One request: Could the jar have a flag indicating whether it was built with gpu support?

I think that would also make sense for the application build. Alternatively, we might just add a CLI command that lists the currently available GPU compute resources. That would also serve as a debug feature.

I just tried what happens if you include tensorflow-core-platform-gpu on a machine without cuda support. It tries to load cuda, fails, and falls back to the CPU. Apart from some additional error messages in the log and a slightly larger size of the dependencies, there is, therefore, no downside in always loading the gpu-enabled version. The switch is not even necessary. The same behavior can be observed with tensorflow-core-platform-mkl. Interestingly enough, tensorflow-core-platform-mkl-gpu which contains both the intel and the nvidia accelerator support did not work on my machine, otherwise I'd have suggested that as a default.

I removed the switch and set it directly to use the GPU-enabled dependency. We can merge this now.


New allowsSelectionFromAllMonthsInWeekScope property

This property let user select whether the previous or next month dates should be allowed to select when calendar is showing week scope.

We can just check this in calendar:shouldSelectDate:atMonthPosition.
Thanks for the trying.


Add feature:Automatically delete expired records from the partial table

Add the feature of automatically deleting expired records of “partial” table, which can reduce the disk occupation of sqlite.

not needed as you basically made a scuffed pplns payment system

Thanks for the contribution, but i will not merge, since this is not part of the minimum required functionality, and required implementatoin for each type of store.


[mvk-error] VK_ERROR_FEATURE_NOT_PRESENT: vkCreateDevice(): Requested feature is not available on this device.

This error shows up for Mac when running a game through Crossover. I'm not much knowledgeable in this area but I've read somewhere that this is not supported on Mac, I think it's related to "wide lines". Could metal 3 potentially support wide lines, or is it still not possible?

There is no public API in Metal for wide lines.

Closing as duplicate of #1657.


Add support for AQTStorage, PlainAQTStorage and TensorCoreTiledAQTStorage

Summary:
Today AffineQuantizedTensor has hardcoded storage format of int_data, scale, zero_point. But this does not work if we want to support packed weight. In this PR, we added support to hide the storage details for AffineQuantizedTensor in a family of tensor subclasses, all should inherit from the base Storage type: AQTStorage (affine quantized tensor storage)
This PR just added support for

base AQTStorage
plain storage tensor (PlainAQTStorage) that stores int_data, scale and zero_point tensors directly
tensor core tiled storage tensor (TensorCoreTiledAQTStorage) storing packed weight (result of torch.ops.aten._convert_weight_to_int4pack) and the combined scale_and_zero tensor

AffineQuantizedTensor will have the following:

storage_tensor: AQTStorage (can store data of different storage formats)
storage_layout: str (a string represents the type of storage_tensor we have, can be used in dispatch)

Please can add a new type of storage for a specific layout with:
@register_aqt_storage_cls("my_layout")
class MyAQTStorage(AQTStorage):
    ...

Test Plan:
python test/quantization/test_quant_api.py
Reviewers:
Subscribers:
Tasks:
Tags:

Nice! Nit: Let's please call it Layout :)


go2goplay: use a distinctive UI from play.golang.org

What version of Go are you using (go version)?
https://go2goplay.golang.org/
Does this issue reproduce with the latest release?
yes
What did you expect to see?
A clear marker that this is not a stable release of Go and that languages features are experimental.
This is important when a block of go2go code is shared on social media so that readers would not be confused thinking that the language features used are available in the production version currently available. The About page is not enough.
What did you see instead?
Exactly the same layout as https://play.golang.org/
Only the about page mention a different commit than play.golang.org.
Fix
Here are some ideas:

add a big label "experimental" in the title, with a link to https://blog.golang.org/generics-next-step
add a ribbon "experimental", with a link to https://blog.golang.org/generics-next-step
replace "The Go Playground" with "The go2go Playground"

CC @andybons

I'm satisfied with the current state. Thanks @andybons!

I'm satisfied with the current state. Thanks @andybons!


global: renaming of recid minter and fetcher

Renames recid minter and fetcher after release of
Invenio-PIDStore==1.0.0a6.
(addresses inveniosoftware/invenio-pidstore#60)

Signed-off-by: Jiri Kuncar<EMAIL_ADDRESS>

Seems to need a rebase.

@lnielsen rebased.


[BUG] Ephemeral gist generator is broken

Something seems to be wrong with the gist generator used to integration test mods by mocking KES resource files as remote gists, possibly related to fine-grained personal access token rotation.
Also, the script should create ephemeral copies of all relevant helper files associated with testing, not just the concatenated functions file:

Updated manifest
Functions file
Changes to safeGM (if applicable)

Note: access to local file URIs is only available on Chromium for Tampermonkey. Therefore, using a remote resource continues to be a better workaround, short of loading a local server and pointing to those URIs.

I now have a much easier method. The old gist generator script will be scrapped and replaced with a method that will serve all local files seamlessly.

@Pamasich I've pushed a new build script called local.sh that can be invoked as usual from the root directory as ./build/scripts/local.sh. It uses a basic functionality provided in Python 3 to open a local server listening on <IP_ADDRESS>:8080 serving files from the /helpers directory.
Prior to that , it should attempt to build the files below, inclusive of local changes:

manifest.json
funcs.js
all other files in /helpers

It will then make a copy of kes.user.js, named kes.user.js.alt, and change the resource paths in that file to point to the those on the local server.
Then the local server will start listening, and you can copy the entire contents of kes.user.js.alt and paste them into *monkey. When finished, the server can be terminated directly via the terminal.
Here is the relevant change:
1,3c1,3
< // @require      https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/safegm.user.js
< // @require      https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/kbin-mod-options.js
< // @require      https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/funcs.js
---
> // @require      http://<IP_ADDRESS>:8080/helpers/safegm.user.js
> // @require      http://<IP_ADDRESS>:8080/helpers/kbin-mod-options.js
> // @require      http://<IP_ADDRESS>:8080/helpers/funcs.js
6,8c6,8
< // @resource     kes_layout https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/ui.json
< // @resource     kes_json https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/manifest.json
< // @resource     kes_css https://raw.githubusercontent.com/aclist/kbin-kes/testing/helpers/kes.css
---
> // @resource     kes_layout http://<IP_ADDRESS>:8080/helpers/ui.json
> // @resource     kes_json http://<IP_ADDRESS>:8080/helpers/manifest.json
> // @resource     kes_css http://<IP_ADDRESS>:8080/helpers/kes.css

This should obviate the need for fancy incantations when trying to prototype local changes and drop-in new mods that require manifest updates, etc. Essentially, everything you have locally is going to be reflected in KES after you paste the new file, so you can make local changes to other parts of KES as well in a non-destructive manner without needing to create lots of branches or host remote files or the like.
I'm mainly bringing this to your attention because I want to make sure the functionality is working on Windows correctly.

I'll test this out when I implement the changes to default_sort.
I'll most likely continue using my existing approach myself though.

Right, I think it becomes more of an issue when integration testing multiple third-party mods into the main KES and wanting to avoid creating too many remote branches for testing. However, this could prove useful for prototyping small interface changes locally as well.

I've dropped the gist generator and added a script called export in the root which is a wrapper around the various build scripts. It exposes the following options and can be run from the root to generate the necessary files.
I'm mostly using option 5 to prototype local changes now. One thing that needs to be added is a cleanup routine to scrub local files after using option 5.
1) Build all: manifest, functions file, and KES script
2) Build manifest only
3) Build functions file only
4) Build KES script only
5) Build local: build all files and load from local server
6) Quit
Please enter your choice:


[PTRun] plugin activation commands in search results

Description of the new feature / enhancement
Add plugin activation commands in search results, searching plugin names will show them as one of the results. Use calculator for example, searching "Calculator" will give the activation command of calculator as one of the results, selecting this result will update the input by that command ("=") for further user input.
Scenario when this would be used?
It's for those who have a lot of plugins enabled but cannot remember all the activation commands.
Supporting information
No response

@AkazaRenn
This feature exists in a slightly different way. There is a setting to show the plugin help if the search query is empty. If you enable it and open Run without having 'remember last query' option enabled, it shows the help.
Does this fits to your needs?

@AkazaRenn
This feature exists in a slightly different way. There is a setting to show the plugin help if the search query is empty. If you enable it and open Run without having 'remember last query' option enabled, it shows the help.
Does this fits to your needs?

I am aware such a feature exists but still feel it would be nice to have my request implemented. However, it's always up to the devs to decide!


Handle missing samples in convertAlignedData with multiple series correctly

Fixes #608

With partial data, here is this patch:

with main:

main seems better

Oh, thanks for trying. It seems that we'll likely need to correctly set the min and max timestamps now. Not take them from the graph but from the actual page's query. I'll take a look.

Double checking the code around how we set min and max of the x-axis I cannot find anything that's gotten worse from the code. Let me know how to reproduce this in an Issue and I'm happy to fix it.
Going to merge it for now and we can follow up.


Fix broken Loading/Refreshing indicator on Android

Summary:
The Loading.../Refreshing... indicator is currently broken on Android.
The reason is related to D42599220
We used to have a Toast shown to users on Android as a fallback, but as the
DevLoadingView is not always loaded as a module in the core package, this ends up in the banner never beign shown to the user (on RN Tester or template apps).
Changelog:
[Android] [Fixed] - Fix broken Loading/Refreshing indicator on Android
Reviewed By: cipolleschi
Differential Revision: D49876757

Merged in 5dedf277cb9


pitch or midi_f0?

Let's pick one name, and not change it from init to parameter.

midi_f0 --> the values are recorded in midi anyway.

midi_f0 --> the values are recorded in midi anyway.

@jorshi what do you think? I'm happy to do the cleanup here so long as we're all agreed on one name or another. Not particularly tied to anything.
Max

@jorshi what do you think? I'm happy to do the cleanup here so long as we're all agreed on one name or another. Not particularly tied to anything.
Max

@jorshi
?


How to get predicted target point from result and source point

Thank for your source code !
Could  you tell me how to get target point from pretrained model and the source point.
I looking for "eval_pf.py" but look like you get source point from target point...

Also your paper said that "A keypoint is considered to be matched correctly if its predicted location is within a distance of α · max(h, w) of the target keypoint position". So i don't know why you code compare with source points instead of target points.

Hi, this is just a matter of terminology. For consistency with the
ProposalFlow paper that uses inverse warping we also transform the points
from the second image (target) to the first image (source). In the paper we
explain it in the opposite way because it's more natural. But remember
"source" and "target" are just two names. Sorry for the confusion.
Le lun. 1 juil. 2019 à 19:43, binhmuc<EMAIL_ADDRESS>a écrit :

Also your paper said that "A keypoint is considered to be matched
correctly if its predicted location is within a distance of α · max(h, w)
of the target keypoint position". So i don't know why you code compare with
source points instead of target points.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ignacio-rocco/cnngeometric_pytorch/issues/11?email_source=notifications&email_token=AC3LX3BISMD5OWRW7TMVAUDP5I63PA5CNFSM4H4UNVZ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY63FBQ#issuecomment-507359878,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC3LX3CRLFI7UJ2GYJO3HFTP5I63PANCNFSM4H4UNVZQ
.

Thank for you reply :)
So, it means that, i just replace "source points" and "target point" in the code and got the natural result ?.
But it too weird for me...
Because in the code: You warped source images -> target images, and using theta result to get inverse warping...
So, could you tell me, how to get target point from source points and theta result ?
Thank you !

So, maybe i will change the format of input size which feed to the model: inverse source images and target images. After that,  replace "source points" and "target point" concept to get natural result ?
Thank you.

Please see the explanations about inverse warping here:
https://www.cs.unc.edu/~lazebnik/research/fall08/lec08_faces.pdf
this should help you understand!

so  do you understand his means? I'm also confused this opinions.

@lixiaolusunshine  yes, i understood him. Clearly that, the paper said that source points to target points, but in the source code is totally inverse.

so in his paper he got the estimated inverse affine parameters from the featuregression layer, then use this inverse mapping to warp the source image into the target image?

@lixiaolusunshine  sorry, i cannot catch up your mean. In his paper, very clear that, use GMM, find a list of parameters, from parameters => warp => loss.
The only difference is when he compare the result. He compare the target points, but in code, we never get target points for the parameters, instead of is source points.

@binhmuc
Thanks for your issue.
Link about inverse points method is broken.
If you know how to do the inverse points, I would like to know.
The owner of this source code does not appear to be replying at this time.

Please see the explanations about inverse warping here:
https://www.cs.unc.edu/~lazebnik/research/fall08/lec08_faces.pdf
this should help you understand!


does omni_createfunded_send work? [Error choosing inputs for the send transaction]

I built develop version and tried to use new features.
balance of address 1GFn8X9dtsvjLeXQ65DVjd4vttdtjqQkvx is:
~/dev_omnicore-cli -datadir=/home/s8273453mellybin_/omnicore -port=28333 omni_getbalance "1GFn8X9dtsvjLeXQ65DVjd4vttdtjqQkvx" 31
{
  "balance": "0.21000000",
  "reserved": "0.00000000"
}

then I put:
~/dev_omnicore-cli -datadir=/home/s8273453mellybin_/omnicore -port=28333 omni_createfunded_send "1GFn8X9dtsvjLeXQ65DVjd4vttdtjqQkvx" "1Lit2yabMhM8K9UixVr5KKVxmnJMN3U8kg" 31 "0.2" "1Lit2yabMhM8K9UixVr5KKVxmnJMN3U8kg"
the result of command was:
01000000066a0ca78b0c74554a72d39f0c32ba332b8cd18b5fd6a66c5e5f930f6c3c5d5b2a0200000000ffffffff80167407be47871a26355e87732fb2429841d4024f0e236e5e33d5f1b2571ea10200000000ffffffff839468cff6be55efbe26ae6e278334a79ae69b2f7652e81d9246340886b36a770100000000ffffffffcb16b423c448ce8830c2e0db499763ecc0d9682ca7d4e8c41b18b747fc3886430100000000fffffffffc0f938f82f4a1d15e61f700bfac0ac5d7ed6ec6d5ab5496419f9f428df5e8330200000000ffffffff80167407be47871a26355e87732fb2429841d4024f0e236e5e33d5f1b2571ea10100000000feffffff03e15b0700000000001976a914d8560ba036129944b20a81163664a56c08284d8288ac0000000000000000166a146f6d6e69000000000000001f0000000001312d0022020000000000001976a914d8560ba036129944b20a81163664a56c08284d8288ac00000000

My second try gave me error below:
~/dev_omnicore-cli -datadir=/home/s8273453mellybin_/omnicore -port=28333 omni_createfunded_send "1GFn8X9dtsvjLeXQ65DVjd4vttdtjqQkvx" "1Lit2yabMhM8K9UixVr5KKVxmnJMN3U8kg" 31 "0.2" "1Lit2yabMhM8K9UixVr5KKVxmnJMN3U8kg"
error code: -212
error message:
Error choosing inputs for the send transaction

How to use this method? What went wrong?

I got to do signrawtransaction
then sendrawtransaction

Yes, this is what happened. I did not know that I have also to do signrawtransaction, then sendrawtransaction.

Hm.. I see. And I can see how this could turn into a huge issue, e.g. when the user uses "omni_createfunded_send" a few times, but doesn't broadcast the transactions. He or she will then end up with locked UTXOs and may not even have an idea what's happening or how to unlock them.
Do you think it could be better to not lock the UTXO as per default? However, this bears the risk, that a second call uses the same UTXO as before.. :/

I guess you can just add description below after omni_createfunded_send command output about what to do next:
1. signrawtransaction;
2. sendrawtransaction

This is enough I think

Hi there,
when using omni_createfunded_send the inputs are "locked", so they won't be selected a second time. I assume in your case this happened.

hi, do you know how to unlock the utxo ??


Add tags to AWS resources

https://trello.com/c/xnCICnzN/3369-define-owners-of-aws-resources-3

We now have default tags defined in the AWS providers so most of these should already be set: https://github.com/alphagov/govuk-infrastructure/blob/main/terraform/deployments/cluster-infrastructure/main.tf#L35-L43

Thanks @sengi and @samsimpson1 , I've removed most of the tags now


further develop sanity checker

we really need additional sanity checks on assignments swaps, parameters to modules, etc. Either squeeze these into the existing PopulatingVisitor or, alternatively, create a new module called something like SanityCheckingListener and perform as many checks as we need in there.
I'll think up an initial set of things to check for in the first pass and update this post. I'll probably just end up consulting the existing compilers sanity checker for some ideas to get started.

Within the implementation context ensure all type providers have representations. It's ok if there is a providerless repr though, it'll just be private to the implementation

Sanity checker started and in place as of #41, now to keep adding appropriate checks as they come up.

This still needs doing.


generating slack & algorithmia tokens

@bassdread thanks for the helpful example! just included links to slack & algorithmia tokens.

Hi @mynameisvinn, you might want to reset those tokens. This repo is public and if those tokens are live other people might use them.


fix(mu4e): do not set coding-system-for-read globally

Fixes #5788
In the function +mu4e-lock-pid-info in mu-lock.el, the variable coding-system-for-read is set globally which is against its documentation's recommendation and can cause issues as described in #5788. Setting the value in the let* statement instead through setq fixes this issue for me.

Thanks for your help!


Communication system research

Research on efficient communication systems to be used for data link between rocket and ground station.
Communication systems being considered are:

Zigbee
Lora
LoraWAN
WIFI
Long Range RF from seedStudio - Link below https://wiki.seeedstudio.com/2KM_Long_Range_RF_link_kits_w_encoder_and_decoder/

Communication system research is done awaiting development and tests


Bring back query processing functionality

This change gets rid of many #[cfg(never)] blocks, but not all. The main focus is to integrate QueryProcessor with the new transport interface, which turned out to be not so easy.
The outcome here is that end-to-end in memory query processing works again. The HTTP part is not ready yet  (@andyleiserson is working on it).
Some other notable changes here:

Public key exchange no longer requires sending chunks of public key, can be done in one shot.
Keeping context free of Transport generic argument continues to be a challenge. At some point the conversion from T to TransportImpl needs to happen and query processor hits that path when it is ready to start the computation. It is ugly and I am open to suggestions how to make it better.
Transport::send contract now requires the acknowledgment from the receiving end. Hopefully it shouldn't be a problem for HTTP implementation.

merging it as most feedback has been addressed and we need to bet #587 out of the door


Modified undo_redo.h

Fixes #87101

Undo is available in editor if triggering manually from the editor menu, I think the issue is about which undo queue is called when using the key shortcut, IE: if the script editor is focused it should undo from the script editor queue, if the 3d/2d editor is focused, it should undo from the editor queue.

as stated in the bug report this bug is a regression first step to solve it should be to find which PR introduced the bug too find out where to start from. I agree with AThousandShips that this solution is very likely to have a lot of unwanted side effects.

Closing based on the discussion above.


OSchedule events do not scheduled on server startup

OrientDB Version: 3.1.5
Java Version:  8
OS: any
Expected behavior
All scheduled events (OSchedule) should start again after server restart.
Actual behavior
No events actually scheduled and only "touching" of required events helps to schedule them again.
Steps to reproduce

Schedule any event with some visible sideeffect
Make sure that after scheduling - everything is OK
Restart server
Previously scheduled events are not fired anymore

Issue Root Cause:
Please check the following 2 snippets:
OSchedulerImpl.load()
public void load(ODatabaseDocumentInternal database) {

    if (database.getMetadata().getSchema().existsClass(OScheduledEvent.CLASS_NAME)) {
      final Iterable<ODocument> result = database.browseClass(OScheduledEvent.CLASS_NAME);
      for (ODocument d : result) {
        final OScheduledEvent event = new OScheduledEvent(d);

        if (events.putIfAbsent(event.getName(), event) == null) this.scheduleEvent(event);
      }
    }
  }

OSchedulerImpl.scheduleEvent()
public void scheduleEvent(final OScheduledEvent event) {
    if (event.getDocument().getIdentity().isNew())
      // FIST TIME: SAVE IT
      event.save();

    if (events.putIfAbsent(event.getName(), event) == null) {
      String database = event.getDocument().getDatabase().getName();
      event.schedule(database, "admin", orientDB);
    }
  }

During startup load is invoked and first putIfAbsent putting event in the queue, but method scheduleEvent() doesn't actually schedule event because second putIfAbsent returns previous event.

Cherry-picked on 3.1.x too.

Cherry-picked on 3.1.x too.

Thanks, Ilia!

Thanks, Ilia!


Identifiers validation failed for dataset Biomonitoreo de Hormigas para la Ecoreserva La Tribuna (Neiva-Huila) -  Proyecto FIBRAS

Identifier validation failed for the dataset Biomonitoreo de Hormigas para la Ecoreserva La Tribuna (Neiva-Huila) -  Proyecto FIBRAS:

Crawler attempt: 2
Publishing organization: Ecopetrol S.A.
Publishing country: COLOMBIA
Installation: Datos sobre Biodiversidad de Colombia
Number of occurrences indexed for this dataset at the time of the issue: 0
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 3238 total records; 3238 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3860371/step

New IDs sample:

Old IDs sample:

IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4785
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4786
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4787
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4788
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4789
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4790
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4791
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4792
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4793
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4794

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Biomonitoreo de Hormigas para la Ecoreserva La Tribuna (Neiva-Huila) -  Proyecto FIBRAS : https://doi.org/10.15472/c1bv3e.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

I make a mistake and uploaded an incorrect file the first time, so we just need to reindex this dataset

@EstebanMH-SiB Just let me know when I should re-ingest. If the occurrenceIds are not changed in the new version, it should ingest without issue.

Thank you @jhnwllr, you can re-ingest it now

Identifier validation still  failing for the dataset Biomonitoreo de Hormigas para la Ecoreserva La Tribuna (Neiva-Huila) -  Proyecto FIBRAS:

Crawler attempt: 3
Publishing organization: Ecopetrol S.A.
Publishing country: COLOMBIA
Installation: Datos sobre Biodiversidad de Colombia
Number of occurrences indexed for this dataset at the time of the issue: 4802
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 3238 total records; 3238 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/3861249/step

New IDs sample:

Old IDs sample:

IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4785
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4786
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4787
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4788
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4789
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4790
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4791
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4792
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4793
IAvH:SI-FIBRAS:TRIBUNA:DIPTERA:ESPECIMENPRESERVADO:I2D-BIO_2022_076:4794

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the Biomonitoreo de Hormigas para la Ecoreserva La Tribuna (Neiva-Huila) -  Proyecto FIBRAS : https://doi.org/10.15472/c1bv3e.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

@EstebanMH-SiB it still appears to be caught by the occurrenceId checker and version 2.3 seems to still have different occurrenceIds than from what is currently on GBIf.

You can re index version 2.3, is the correct one with 315 events and 3238 occurrences


Feature parsing should not accept nulls

{ type: 'Feature', properties: null, geometry: null }
Appears to be a valid object. Maybe I'm missing something in the spec but I'd expect at a minimum the geometry property to not be null.

Null geometry is valid per the geojson spec.
"A Feature object has a member with the name "geometry".  The value of the geometry member SHALL be either a Geometry object as defined above or, in the case that the Feature is unlocated, a JSON null value."

Yep, per the spec, both properties and geometry can be null: https://www.rfc-editor.org/rfc/rfc7946#section-3.2 It’s weird, but the intent is to follow the spec precisely.

Closing - this is following the spec. If there's software that doesn't handle null geometries or properties, that software has a bug.


Create a way to change Serializing based upon the Accepts Header

Note Issue #114 is an example of the need of a solution based around this.

On second thought, i'm not so sure about using ACCEPTS header as this is meant for content type. But a similar approach would be to use something like "X-SERIALIZE: whatever". In Ember's application adapter:
import DS from "ember-data";

export default DS.ActiveModelAdapter.extend({
	namespace: "",
	headers: {
		"X-Serialize": "true"
	}
});

DesrializerFilter:
public function beforeDispatch(CakeEvent $event) {
	// get the request data
	$request = $event->data['request'];

	if ($request->header('X-Serialize')) {
		$data = $request->input('json_decode', true);

		// if the data is empty, set to an empty array
		if (empty($data)) {
			$data = array();
		}

		$deserializedData = array();
		foreach ($data as $key => $dataForKey) {
			$deserializedData = $this->deserializePostData($key, $data);
		}

		// merge the arrays of the deserialized data and request data
		$request->data = Hash::merge($request->data, $deserializedData);
	}
}

This seems to work for me, although i've yet to figure out how to stop the response back to the client from being mangled.

I was actually planning on using the Content-Type Header to control de-serialization.

Issue #123 was created to clarify the difference in changing serializing and de-serializing because of this and I must have forgotten to update this Issue.
PR #122 is my goal to have both in there as part of that PR.

What were you thinking to use for Content-type?
Further to tracking down how to stop serialization of the response, i've got the folowing in the controller:
$this->log($data);
$this->response->body(json_encode($data));

And i've added the following to the top of EmberDataSerializerView::toJSON()
CakeLog::write('error', __METHOD__);
CakeLog::write('error', print_r($data, true));

By the time it gets here $data is an empty array. :-(

For Content Type to control Deserialization I was planning on doing this:
Right here: https://github.com/loadsys/CakePHP-Serializers/blob/f/request-based-serialization/Routing/Filter/DeserializerFilter.php#L29
if (
 $request->header('Content-Type') === "application/json"
|| $request->header('Content-Type') === "application/vnd.api+json"
// any other content types that should be deserialized
) {
//normal deserialize method
} else {
// do nothing, let the request keep doing what it's doing
}

PR #122 will actually today control serialization of the response based upon the Accepts Header - it's not documented yet and obviously I wouldn't recommend using it.
You can today, control serialization using the $renderAs property to disable serializing, Read here for more information: https://github.com/loadsys/CakePHP-Serializers/blob/master/Docs/SERIALIZE_README.md#basic-controller-setup---serializing
This will go away post PR #122 being completed.
Any thoughts/suggestions/questions?

@brianally If you want to control Serialization you can also use a different ViewClass for the Controller or Action in question and just not use the Serializer View Classes. View class isn't used for the request and nothing is serialized.

@jtyost2: Might @brianally be having a problem due to the change from set(data) to set(modelName)?
I'm on my phone, I can't go into great detail here, but I wanted to mention it because I see the possibility of that being related from the contents of the posts today.

As with Accepts header, this wouldn't work for me because you're basing it on content-type. In my case, i want application/json as a response, but not serialised. (And request not deserialised.) I'm making ajax requests that must have a json response, but it's not used with Ember-Data. Using Accepts seemed like a good idea at first until i realised that the content-type is the same. This is why i was suggesting X-Serialise, or something similar. It's not sexy but it seems a bit easier to manage as there's just one place to set it up in the Ember adapter.

I think I'm confused so I'm asking some questions @brianally.
You have a request, with HTTP Headers of Content-Type: application/json and Accepts: application/json
You want CakePHP-Serializers to be able to skip deserializing the request body and skip serializing the response body.
Am I right?

Yes, that's correct. For example, i'm making some ajax requests for some OAuth stuff. Also, a typeahead widget. Neither use ED.
In AppController's $components array i have:
'RequestHandler' =>array(
	'viewClassMap' => array(
		'json' => 'Serializers.EmberDataSerializer'
	)
)

I haven't figured out how to override that in my controller actions to keep the response from being serialised.
I have been able to skip deserialization of the request in beforeDispatch() by wrapping everything in:
$request = $event->data['request'];
if ($request->header('X-Serialize')) {
...
}

Here's an example where i've tried to override RequestHandler's viewClassMap so that the plugin's view is not invoked.
public function beforFilter() {
	parent::beforeFilter();
	$this->layout = false;
	$this->autoRender = false;
	$this->response->type('json');
}

public function autocomplete() {
	$q = $this->request->query['q'];
	$output = array();

	if (!empty($q)) {
		$output = $this->Agency->autocomplete($q);
	}
	$data = json_encode($output);
	// show config
	$this->log($this->RequestHandler->viewClassMap());
	// change and show new config
	$this->log($this->RequestHandler->viewClassMap('json', 'Json'));

	$this->response->statusCode(200);
	$this->response->body($data);
}

the log:
2015-05-21 22:30:42 Error: [{"id":"992","value":"foo"},{"id":"993","value":"foobar"}]
2015-05-21 22:30:42 Error: Array
(
    [json] => Serializers.EmberDataSerializer
    [xml] => Xml
)

2015-05-21 22:30:42 Error: Array
(
    [json] => Json
    [xml] => Xml
)

2015-05-21 22:30:42 Error: EmberDataSerializerView::toJSON
2015-05-21 22:30:42 Error: Array
(
)

2015-05-21 22:30:42 Warning: Warning (2): strlen() expects parameter 1 to be string, array given in [/.../lib/Cake/Network/CakeResponse.php, line 508]

I'm logging $data at the top of toJSON().
If overriding viewClassMap worked then i guess that could suffice. But, if we're going to use a header to decide whether to deserialize (or not -- the header could easily be set to stop the action) then we may as well do the same to stop serialization. At this point i'm just trying to figure out where, in the plugin code, that header check could be added. I'm mystified as to why resetting viewClassMap does not work.

OK, this, along with a regualr JSON view, finally bypasses EmberDataSerializerView:
$this->RequestHandler->viewClassMap('json', 'Json');
$this->RequestHandler->renderAs($this, 'json');
$this->set('data', $output);
$this->set('_serialize', 'data');
$this->response->statusCode(200);

That works for now. I'll continue tryingto figure out a way to bypass within the plugin itself.'
I've been using Cake for ~10 years; i'm not sure where i got it in my head that i could simply set the response body and not have to use a JSON view.

As an example we do this as well for passing back the OAuth tokens and such and follow this pattern:
public function return_stuff() {
    $this->viewClass = 'Json';
    $data = array("stuff" => 'stuff2');
    $this->set(compact('data'));
    $this->set('_serialize', 'data');
}
```

This doesn't disable Deserialization of a request.

Regarding a solution to this problem as part of CakePHP Serializers:

Serializing the response body: I think the solution of simply using a different View Class for views or controllers that you want to return JSON (or whatever) but not use CakePHP-Serializers is going to be my suggested solution.

Deserializing the request body: This is a reasonable request and I'll give it some thought and think about a good solution to this problem.


Feat/improve position executor

Before submitting this PR, please make sure:

[ ] Your code builds clean without any errors or warnings
[ ] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
This PR is WIP and has the following changes:

separates stop and store methods of the executor orchestrator
asks for the inflight order in case that the executor didn't handled it correctly
makes the on stop async
improves the stop command to make sure that we are stopping the executors before shutting down the bot

Tests performed by the developer:
Tips for QA testing:

PR update:

Test commit fcdc04762945e9d22cbf85d76ebf7be26bb6818c
Install and run tests on local
Compare behavior of this script with development branch, ok
Run same tests on dev to reproduce on this PR, issue does not happen
Ran tests on updated scripts, ok
Ran tests on random updated scripts
Ran controllers with v2_controller script

Observed now refresh controller whenever stop command initiated ok

Todo:

Test OKX after branch conflict fix

@cardosofede Could you please fix conflicts when available?


Incorrect dispenser price?

If you look at the dispensers here https://api.counterparty.io:4000/v2/assets/JEWELDRAGONS/dispensers
you'll notice the top one has "satoshirate": 49900
{
      "tx_index": 2704914,
      "tx_hash": "78e698c36f7fe8dfbc91332b601e6612c96206ccfee059cec5a8146528edb089",
      "block_index": 832731,
      "source": "133UZ4ubcqb3x1u7rWWRUsaJbSfejt4wJN",
      "asset": "JEWELDRAGONS",
      "give_quantity": 1,
      "escrow_quantity": 1,
      "satoshirate": 49900,
      "status": 0,
      "give_remaining": 1,
      "oracle_address": "1BTCUSDupRmeaNferCFoxmF6bYV5cAR2X2",
      "last_status_tx_hash": null,
      "origin": "133UZ4ubcqb3x1u7rWWRUsaJbSfejt4wJN",
      "dispense_count": 0,
      "last_status_tx_source": null,
      "close_block_index": null,
      "confirmed": true
 }

However, when looking in Freewallet (and in xchain/tokenscan API) the dispenser price is different https://tokenscan.io/api/dispensers/JEWELDRAGONS
{
      "asset": "JEWELDRAGONS",
      "asset_longname": "",
      "block_index": 832731,
      "escrow_quantity": "1",
      "fiat_price": "499.00",
      "fiat_unit": "USD",
      "give_quantity": "1",
      "give_remaining": "1",
      "oracle_address": "1BTCUSDupRmeaNferCFoxmF6bYV5cAR2X2",
      "oracle_price": "69128.00",
      "oracle_price_block_time": "1712709129",
      "oracle_price_last_updated": "838527",
      "satoshi_price": "0.00721850",
      "satoshirate": "0.00049900",
      "source": "133UZ4ubcqb3x1u7rWWRUsaJbSfejt4wJN",
      "status": "0",
      "timestamp":<PHONE_NUMBER>,
      "tx_hash": "78e698c36f7fe8dfbc91332b601e6612c96206ccfee059cec5a8146528edb089",
      "tx_index": "2704914"
 }

It looks like freewallet / xchain/tokenscan uses the "satoshi_price" field, but no clue what that is compared to the satoshirate field :-)
is it a bug? is info missing? not sure how to classify this, but thought I'd create an issue for it :-)

This is an "oracle" dispenser. I also have trouble working with these. Append ?verbose=true to the query to get the oracle price.
https://api.counterparty.io:4000/v2/assets/JEWELDRAGONS/dispensers?verbose=true
They are targeting a fiat price and an oracle is broadcasting BTCUSD exchange rates so the price in sats fluctuates.

Thanks for elaborating @droplister
I was able to get the correct price by adding "verbose"!
Feel free to close this issue @adamkrellenstein when it should be working like this! :-)


As a user, I want to be able to submit assignments from my dashboard.

#127 addresses this issue - you can submit projects now.


Provide APK

Hi,
I've previously installed this app and it was fantastic.
Unfortunately I am now in a country that does not have access to Google Play.
Are you able to provide a compiled .apk file as part of the GitHub release by any chance?
I would like to build the app myself, but do not have access to a device capable of running Android Studio.

Unfortunately I don't have easy access to the APK anymore, nor a build env to build one. If you'd like to submit a PR that uses Travis CI to build and upload the APK I'd the happy to merge it.
Best,
Mikael

I understand.
I'm not sure it's possible to set up Tracis CI to build this project, as it depends on your android-core library.

Ok. Perhaps it'd be possible to build a jar from the android-core lib and
depend on that via JCenter, or check the jar of select classes into this
project. Either case it's a bit of work, unfortunately I just don't have
time to set it up myself at this moment
Best,
Mikael
On 25 Jul 2017 08:07, "i2133514"<EMAIL_ADDRESS>wrote:

I understand.
I'm not sure it's possible to set up Tracis CI to build this project, as
it depends on your android-core library.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/mikljohansson/blockade/issues/2#issuecomment-317638755,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJeKt_mCLffl2gVbPeAFnx-VnaKnNkILks5sRYWvgaJpZM4OiFQ1
.


IPanda50 not downloading

Hey,
I also tried downloading IPanda50, but from all my machines I get:
Cannot retrieve the public link of the file. You may need to change
the permission to 'Anyone with the link', or have had many accesses.

You may still be able to access the file from the browser:

	 https://drive.google.com/uc?id=1nkh-g6a8JvWy-XsMaZqrN2AXoPlaXuFg

The stated link works however.. any idea?

This is unfortunate :( The problem is too many accesses for the Google Drive link as written in the description. I have updated the error message so that it is clearer.
The only solution I can think of is to reupload the dataset somewhere else. Even though the dataset license allows for that, I would like to evade it for as long as possible. If you manage to come up with any other solution, let me know please :)

Since this seems to be an external problem, and there were no further comments, I am closing this issue.