Add functionality to alter cohort end date

should we allow this functionality for cohort_start_date? I mean you may have a cohort that the cohort start date is when 1 of the 3 conditions are fulfilled, or the other way round, that it is when 3 conditions are fulfilled.
@edward-burn @nmercadeb

I agree that it would be nice to have entryAtFrstDate and entryAtLastDate as well

exitAtDeath
-> argument whether to drop people at death: requireDeath

exitAtFirstDate(cohort,
                cohortId = NULL,
                outOfObservation = "drop",
                removeNA = FALSE,
                name = omopgenerics::tableName(cohort))

outOfObservation: Strategy to handle end dates outside observation period: "asis" to keep the original cohort end date, "drop" to drop those entries, and "end" to set cohort end at observation end date.
removeNA: If TRUE empty dates will not be used to compute the end date, but if FALSE cohort end date will be NA when one of the dates is empty.

For missing data, I wonder if we can base the arguments on https://www.rdocumentation.org/packages/xcms/versions/1.48.0/topics/colMax and pmax https://www.rdocumentation.org/packages/Rmpfr/versions/0.9-5/topics/pmax - i.e. have na.rm = TRUE/ FALSE (with similar behaviour - either ignore or return NA)

For outOfObservation, let me think a little and then lets discuss before releasing (but happy to incorporate a pr with the behaviour currently suggested!)

exitAtFirstDate(cohort,
                dateColumns,
                cohortId = NULL,
                outOfObservation = "drop",
                exitReason= FALSE,
                name = omopgenerics::tableName(cohort))

Considerations and suggested behaviour:

if new date out of observation, two possibilities set in outOfObservation: 1) "drop" those records, 2) "end" set observation period end date as new date
empty dates: if some dates are empty they are not considered when calculating the minimum/maximum, if all dates are NA that record is dropped (empty end dates not allowed since then we cannot check for overlapping entries)
new end < start --> drop
overlapping entries --> erafy and set as exit reason the reason of the final end date (and maybe throw a warning/message?)
if more than 1 date equal and fullfulling minimum/maximum --> in exit reason join column names ";"

Now all added thanks to @nmercadeb


Updates support and data management #285, #287

:white_check_mark: Checklist

[x] This pull request has a meaningful title.
[ ] If your changes are not yet ready to merge, you have marked this pull request as a draft pull request.

:ballot_box_with_check: Maintainers' checklist

[ ] This pull request has had the appropriate labels assigned
[ ] This pull request has been added to the SATRE backlog project board
[ ] This pull request has been assigned to one or more maintainers

:arrow_heading_up: Summary
Per Proposals #285 and #287
:closed_umbrella: Related issues
relates to #285 and #287
:raising_hand: Acknowledging contributors

[x] All contributors to this pull request are already named in the table of contributors in the README file.
[ ] The following people should be added to the table of contributors in the README file:

This is just minor formating/grammatical changes to some statements


Using useBeacon: true results in NS_ERROR_FAILURES on events

When using the config useBeacon: true, the events tracking (clicks / views and submits) result in an NS_ERROR_FAILURE for beacon.
Disabling this config fixes the issue.
I've tried digging further into the code to find the cause, but was unable to do so.
window.navigator.sendBeacon(eventsUrl(), serialize(data));

Seems to be the culprit in the trackEventNow() function

Hi @SabracNL, this doesn't seem like an issue with Ahoy.js.


Michael To Do List

[x] Download remaining videos to Mac
[x] Create documentation and organization to lead the processing of videos by CDIL staff and students
[x] Create/write twinned histories (history of fire towers/wilderness)
[ ] create descriptions for firetowers that currently do not have them (~ 8) -- enter these in the spreadsheet
[x] include photos for individual essays using include commands
[x] add last firetower to metadata
[x] polish essays "past" "present" "future"
[x] write think about content for initial box
[x] email permissions email from forest service
[x] find original sheepeater photo and let Kevin/Devin know where you found it

When finished, contact Devin and then we'll meet

Holding off checking the "create descriptions" box because I need to think more about No Business Lookout--I think every other tower has them in the meta data. Let's review how I can update the metadata to the GitHub when we meet today though, because I would like to take that over if possible.


[MRG] pypi jupyter-offlinenotebook==0.1.0

Use the latest released version of jupyter-offlinenotebook instead of a commit SHA1.
Related to https://github.com/jupyter/repo2docker/issues/724#issuecomment-616094914

Mysterious travis failures:
=========================== short test summary info ============================
FAILED unit/test_memlimit.py::test_memlimit_nondockerfile[dockerfile-128-256-False]
FAILED unit/test_memlimit.py::test_memlimit_nondockerfile[non-dockerfile-128-256-False]
================== 2 failed, 209 passed in 1058.60s (0:17:38) ==================

Yes for some reason the memory limit tests like to fail :-/ Flakey but not consistently flakey :(


PR #15 modified perfectly valid enum values: "/" replaced with "_"

@starsep, @stephenafamo: Replacing a "/" in the constant identifier is fine, but NOT in the actual string value, which is perfectly valid syntax, and necessary for some users.
cause: #15
kind ENUM('USt.', 'VSt.', 'USt./VSt.') NOT NULL,

// at version sqlboiler v4.16.2 (strmangle v0.0.6):
const (
	TaxKindUSTVST TaxKind = "USt./VSt."
)

// now:
const (
	TaxKindUSTVST TaxKind = "USt._VSt."
)

You are correct. Indeed slash should be kept in the string value.
I won't be able to fix it anytime soon.
In my usecase it's not an issue, only invalid Golang identifier was.

@starsep: The "/" was already escaped in v0.0.6. Your PR only touched ParseEnumVals, which is counterproductive. So the PR could be reverted, no?

That seems unlikely.
I used sqlboiler (I think) v4.16.2 which would generate invalid Golang identifiers.
It's using strmangle v0.0.6: https://github.com/volatiletech/sqlboiler/blob/v4.16.2/go.mod#L32
If you can test that it works correctly in v0.0.6 then indeed revert sounds good.

This issue's description shows the actual result of running version v4.16.2 as well as the latest sqlboiler master (which includes your change). As far as I can tell, your change only affects the enum string value


Investigate ways to avoid autocompleting when a user settles a message in handler

If a user leaves AutoComplete = true in the ServiceBusProcessorOptions, we will attempt to autocomplete assuming the handler doesn't trigger an exception. But what if the user settles the message themselves in some way - for instance Defering or DeadLettering the message? Currently, this would trigger a MessageLockLost exception that would bubble up to the user error handler. We should try to avoid this if possible.

Since we only expose settlement methods from the event args. We could just track whether the settlement methods were called in the args instance, and if so, don't do any autocompletion.


serialize and deserialize option for OrbitDB stores.

I'm still sitting at the code I talked about yesterday, trying to rewrite it to deal with the encoding issues.
And I was wondering, if it might be useful to have an option to set serialize and deserialize functions on a store (specifically for the docstore, but maybe others too).
I imagine the API to look like this:
function serialize(obj) {
   return {
    id: obj.id,
    body: uint8arrays.toString(obj.body, "base64url")
   }
}

function deserialize(obj) {
    return {
        id: obj.id,
        body: uint8arrays.fromString(obj.body, "base64url")
    }
}

const db = await orbitdb.docs("example", {
      indexBy: "id",
      serialize: serialize,
      deserialize: deserialize,
})

let obj = {
    id: "A",
    body: new Uint8Array([1, 3, 45, 42])
}

await db.put(obj)

db.get("A") // => obj.

Here I utilize the serialize and deserialize functions to seamlessly store Uint8Arrays - which are not supported by dag-cbor the encoding used for some of OrbitDBs internals. When using the store I deal with the Uint8Arrays but they are stored as base64 encoded strings.
I imagine this feature could also be used to create stores for certain custom objects, converting the OrbitDX encoding automatically into a suitable value for the business logic of an application.
An example of this would be to create a store for a custom class:
class Petition {
    constructor(id, content, author, signatures) {
        this.id = id
        this.content = content
        this.author = author
        this.signatures = signatures
    }

    get type() { return "petition" }

    sign(id) {
        this.signatures.push(id)
    }

    serialize() {
        return {
            id: this.id,
            content: this.content,
            author: author,
            signatures: signatures,
        }
    }

    static deserialize(obj) {
        return new Petition(obj.id, obj.content, obj.author, obj.signatures)
    }
}

const petitionDB = await orbitdb.docs("petitions", {
    indexBy: "id",
    serialize: obj => obj.serialize(),
    deserialize: Petition.deserialize,
})

await petitionDB.put(new Petition("A", "Let's do this", "CSDUMMI", []))

let petition = petitionDB.get("A")

petition.type //  "petition"

As you can see, while standard JSON objects are stored on OrbitDB, this complexity is hidden and you can treat entries in the docstore as instances of the Petition class - together with all the utility functions that this class implements.

Here I utilize the serialize and deserialize functions to seamlessly store Uint8Arrays - which are not supported by dag-cbor the encoding used for some of OrbitDBs internals.

Uint8Array are supported by dag-cbor; encoded as byte strings. The better option here is to support dag-cbor, which is valid CBOR (just including a few small rules). I much prefer it to JSON especially for our use cases.
I believe the real issue has to do with serializing the data for digital signatures using JSON and serializing it with DAG-CBOR for storage/replication.

That may very well be true.
But this is a feature request more than anything else and not an issue about the serializing for signatures.
And I'm not yet trying to fix the issue of the serializing for signatures here.

Changing how the data is serialized for signing can't be done yet since its a breaking change. It will be part of the entry version 3 spec and is coming with orbitdb 1.0.
I think special serialization can be handled either outside of the store after reading from the methods, or inside the store if the index and methods need it.  Adding options and splitting up where serialization happens inside the database isnt ideal. In this case CBOR fixes everything here and is a much better way to encode bytes as it would be encoding them base256 vs base64. But until that can be done I'd recommend de/serializing the data yourself beforehand and acting like the store only supports JSON atm.


AttributeError: DetectLevel instance has no attribute 'counter'

when i finish   AutoRace with Gazebo,the car go to zhe Tunnel.   some wrong happened!
i can't solve them.
Please help me!   thanks a lot!!!!!!!
First
[ERROR] [1551263864.556350, 374.006000]: bad callback: <bound method DetectLevel.cbGetImage of <main.DetectLevel instance at 0x7fc25f365950>>
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/yt/catkin_ws/src/turtlebot3_autorace/turtlebot3_autorace_detect/nodes/detect_level", line 177, in cbGetImage
if self.counter % 3 != 0:
AttributeError: DetectLevel instance has no attribute 'counter'
Sencon
[ERROR] [1551247976.954647, 669.002000]: bad callback: <bound method ControlLane.cbFollowLane of <main.ControlLane instance at 0x7f628fc04d40>>
Traceback (most recent call last):
File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/yt/catkin_ws/src/turtlebot3_autorace/turtlebot3_autorace_control/nodes/control_lane", line 52, in cbFollowLane
twist.linear.x = min(self.MAX_VEL * ((1 - abs(error) / 500) ** 2.2), 0.2)
ValueError: negative number cannot be raised to a fractional power

Hi @ytssm :)
I'm sorry for late delay.
'core_node_controller' node control each launchs. For example, when you turn on the tunnel mode. You have to turn off detect_level and control_lane node.
Thanks,
Gilbert

This issue will be closed since there were no actions for a while. You can reopen this issue to show this issue to the users whenever. Thanks.


[SPARK-28083][SQL][FOLLOW-UP] Fix incorrect comment for LIKE ... ESCAPE

What changes were proposed in this pull request?
This PR is a follow-up to #25001
The comment of StringUtils.escapeLikeRegex has one mistake.
Why are the changes needed?
Comment mistake.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Exists UT

Test build #115612 has started for PR 26962 at commit d8a68b6.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/20411/
Test PASSed.

@HyukjinKwon OK. I get it.

Test build #115612 has finished for PR 26962 at commit d8a68b6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/115612/
Test PASSed.


Drastically decreasing read performence when range of keys are deleted

Performance of Iteration over a range of keys is drastically affected when multiple keys that share some comon prefix where previously deleted.
The use case to reproduce this issue is as follow:

Put a set of 1000 keys that share a common prefix.
Delete them all
For each key in the set do a search using a new DB::NewIterator (it would make more sense to use DB::get, but assume you are searching for more than one entry)
Repeat step 1, 2 and 3. Each loop performance hit is big.

I know that as mentioned in issue #83, commit 748539c183453bdeaff1eb0da8ccf5adacb796e7 would mitigate this issue. But as show by the following example, the implemented solution does not mitigate completely the issue. This is specially relevant when using LevelDB easily with prefix searches (or mutable indexes).
I made a simple unit test in to reproduce the issue:
TEST(DBTest, RangeDeleteAndRead) {
  do {
    for (int k = 0; k < 27; ++k) {
      Env *env = Env::Default();
      uint64_t start_micros = env->NowMicros();
      for (int i = 0; i < 2000; ++i) {
        //search for prefix
        std::string prefix = Key(i);
        std::string key1 = prefix + "-1";
        std::string key2 = prefix + "-2";
        //range search with key prefix. No entries exist but each k+1 more time is lost here
        Iterator *iter = db_->NewIterator(ReadOptions());
        iter->Seek(prefix);
        ASSERT_TRUE(!iter->Valid());
        delete iter;

        //insert values
        Put(key1, "value1");
        Put(key2, "value2");
      }
      uint64_t stop_micros = env->NowMicros();

      //delete all entries
      Iterator *iter = db_->NewIterator(ReadOptions());
      WriteBatch wb;
      iter->Seek("key");
      while (iter->Valid()) {
        if (iter->key().ToString().find("key") != 0) {
          break;
        }
        wb.Delete(iter->key().ToString());
        iter->Next();
      }
      WriteOptions wo;
      db_->Write(wo, &wb);
      delete iter;
      unsigned int us = (stop_micros - start_micros)/1000;
      fprintf(stderr,
              "Run loop %d took %d ms\n",
              k, us);
    }
  } while (ChangeOptions());
}

Running this test I get the following result:
==== Test DBTest.RangeDeleteAndRead
Run loop 0 took 78 ms
Run loop 1 took 1671 ms
Run loop 2 took 3219 ms
Run loop 3 took 4782 ms
Run loop 4 took 6312 ms
Run loop 5 took 7843 ms
...
Run loop 26 98922 ms
...

The performance issue due to the fact that db_iter knows nothing about the prefix being searched by the end user.
Adding something like:
if(!SharePrefix(&ikey)) {
  break;
}

to db_iter.cc#L179 reduce drastically performance hit:
==== Test DBTest.RangeDeleteAndRead
Run loop 0 took 93 ms
Run loop 1 took 94 ms
Run loop 2 took 109 ms
Run loop 3 took 125 ms
Run loop 4 took 109 ms
Run loop 5 took 94 ms
...
Run loop 26 took 250 ms
...

Would it be nice to add an API to give prefix being searched to iterator and stop looking for more data when no more keys are available?

Why google failed to handle those known issues in such a long time?

@pcmind @qduyang the fix assumes the default key comparator (memcmp) is being used. Users can define their own comparator and define an ordering that invalidates the assumption that neighbor keys share a prefix.

Yes, fix only shows that stopping early can improve greatly iteration time.
I think that final solution should be implemented with a more generic interface, something like iterator(fromKey, fromInclusive, toKey, toInclusive) (because we can iterate in both directions). This would serve more use case and require no changes to Comparator.

@pcmind totally! An internal iterator that is bounded in an inclusive key range would enable these early returns. 👏


release: 1.3.1

:robot: I have created a release beep boop
1.3.1 (2022-12-05)
Bug Fixes

fix client tasks args (63a9a3f)
model: fix set active default true (2dee229)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/starudream/secret-tunnel/releases/tag/v1.3.1 :sunflower:


A refresh/restart during writing can lead to write after end

It should either be dropped or retried.

This project is dead, closing.


[PORT] Josh/botbuilder tests

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/4128

Fixes #4101
Changed projects

Microsoft.Bot.Builder.Tests
Microsoft.Bot.Builder.Transcripts.Tests

N/A


Broken middleware behaviour for reused endpoints

require 'grape'

class Endpoint < Grape::API
  format :txt

  get(:e) { 'Endpoint was called' }
end

class Middleware
  def initialize(app)
    @app = app
  end

  def call(env)
    @app.call(env).tap do |r|
      r.write(' and middleware too')
    end
  end
end

class Protected < Grape::API
  use Middleware

  mount Endpoint
end

class Routes
  def initialize
    @app = Rack::Builder.app do
      map('/n') { run Class.new(Grape::API) { mount Endpoint } }
      map('/o') { run Endpoint }
      map('/p') { run Protected }
    end.freeze
  end

  def call(env)
    @app.call(env)
  end
end

run Routes.new

$  curl localhost:9292/p/e
Endpoint was called

$  curl localhost:9292/o/e
Endpoint was called

$  curl localhost:9292/n/e
Endpoint was called

Expected behaviour:
Middleware would run in endpoint mounted to /p/e.
Actual behaviour:
Middleware don't get executed at all.
If I comment out /n/e mapping:
require 'grape'

class Endpoint < Grape::API
  format :txt

  get(:e) { 'Endpoint was called' }
end

class Middleware
  def initialize(app)
    @app = app
  end

  def call(env)
    @app.call(env).tap do |r|
      r.write(' and middleware too')
    end
  end
end

class Protected < Grape::API
  use Middleware

  mount Endpoint
end

class Routes
  def initialize
    @app = Rack::Builder.app do
#     map('/n') { run Class.new(Grape::API) { mount Endpoint } }
      map('/o') { run Endpoint }
      map('/p') { run Protected }
    end.freeze
  end

  def call(env)
    @app.call(env)
  end
end

run Routes.new

$  curl localhost:9292/o/e
Endpoint was called and middleware too
$  curl localhost:9292/p/e
Endpoint was called and middleware too

Expected behaviour:
Middleware would run in endpoint mounted to /p/e.
Actual behaviour:
Middleware is affecting mapping where it should not get executed.

You should turn this into a spec next, looks like a bug.

This is fixed, right @etehtsea ?

@dblock I dunno.  I decided to close it as stale because it wasn't caught by anyone else for the whole 3 years.

I'll reopen it, I think it's still a bug.

@dblock unfortunately not :) I don't use grape anymore (so as Ruby).


fix enum handling

@Brakebein your repo is great, but I need enum handler error and your repo not implement it yet. Maybe you can use @IsEnum class validator for enum handling error

Thanks. enum handling is on my list, but I didn't find time yet to implement it. I can maybe do it until the end of August.
Maybe you can use @IsIn(values: any[]) as a workaround?

Thanks for your advice, I have a lot field working using enum and it will take time if i do  manually. But no problem , I will waiting you for implement it. Thanks


Issues with hotplugging on Desktop

Summary
Due to using Jamepad's ControllerIndex object as the main way of tracking controllers on Desktop, Controller instances can change which physical controller they are paired with. This leads to misleading connect and disconnect events, and certain values being incorrect (maxButtonIndex) or unhelpful (uniqueId). Utilizing the SDL function SDL_JoystickGetDeviceInstanceID may be a potential solution.
As an example to demonstrate the problem
(Note: If on Windows, the controllers used in this example should be of the same type (XInput or DirectInput). See later section about why.)

Connect physical controller A. gdx-controllers creates virtual controller A to take its input.
Connect physical controller B. gdx-controllers creates virtual controller B to take its input.
Disconnect physical controller A.

What happens next depends on the platform.
When testing on GWT, things work as I expect. Virtual controller A is reported as disconnected and removed from the list. Virtual controller B remains in the list, continues to take input from physical controller B, and all of its values remain unchanged.
When testing on Windows 7, virtual controller B is reported as disconnected and removed from the list instead. Virtual controller A now takes input from physical controller B. Its stored values (uniqueId, maxButtonIndex) are retained from virtual controller A, while values that are polled each time (controller name, playerIndex) become those of physical controller B.
(Side note: When testing on Windows 10, both controllers are reported as disconnected, and a new virtual controller is created to take input from physical controller B. I don't know why this happens. It may be a separate issue, so I won't be addressing it here. In a way, this works around the issue I'm focusing on.)
Why does this happen?
The issues on Windows 7 seem to stem from using the Jamepad object ControllerIndex as the main way of tracking controllers. A ControllerIndex represents the controller at a fixed SDL index. When a controller disconnects, SDL moves the remaining controllers to fill the lowest index slots. gdx-controllers sees that the highest index slot has become empty and assumes the controller at that index was disconnected, when in reality, the highest index becomes empty regardless of which controller actually disconnects.
What can be done?
In order to track controllers properly, we need a way to uniquely identify a physical controller from the time it is connected until it is disconnected. SDL provides a function that I believe provides such a value: SDL_JoystickGetDeviceInstanceID
https://wiki.libsdl.org/SDL2/SDL_JoystickGetDeviceInstanceID
The function is not currently exposed by libgdx/Jampad, but I believe it could be (sdl2gdx does so).
The gdx-controllers implementation on Android already seems to track controllers by the Android deviceId, so we would just be doing something similar on Desktop.
However, we still need the ControllerIndex objects, since we get our information about controllers from them. If we're trying to keep each Controller instance associated with the same physical controller for its lifetime, we'll actually need to shuffle the ControllerIndex objects between them when controllers are disconnected or connected.
Additional note about Windows specifically
Jamepad lists the following under its Current Limitations section:

"The order of gamepads on Windows is not necessarily the order they were plugged in. XInput controllers will always appear before DirectInput controllers, regardless of when they were plugged in. This means that the player numbers associated with each controller can change unexpectedly if XInput controllers are plugged in or disconnected while DirectInput controllers are present."

What this means for us is that we need to verify that each controller is with the correct ControllerIndex object not only when controllers are disconnected, but also when they are connected.
Although the above note says that XInput controllers appear first, this seems to refer to the playerIndex value. In my testing, DirectInput controllers always take the lower SDL index number. Currently, connecting a DirectInput controller can cause it to "steal" an existing instance of Controller from an existing XInput controller. A new instance is then reported as connected, holding a controller that was already present. The DirectInput controller takes over the old controller's uniqueId and maxButtonIndex.
Final comments
Let me know if my explanation wasn't clear enough or you have additional questions. It would be helpful if someone could test more platforms and operating systems (or verify my results). Do you agree with my understanding of the situation?

It is clear enough and I got it. I only had Windows 10 available to test and as you have seen, the problem is not really apparent on Windows 10 as it disconnects and reconnects completely. Also, I would suggest to test with the latest SDL version (2.26.4) and with useRawInput = true.
Feel free to make any changes that improve the situaion and open a PR.

I want to be able to test changes to Jamepad, but I'm not sure how to do it. The BUILD file says that it can't be built locally on Windows, and must be cross-compiled. It looks like it's usually built as a Github action, but I wouldn't know how to make use of that in my fork. Do you have any advice for me? Do you have experience making changes to Jamepad on Windows?

You can simply fork and activate actions in your fork and the natives will be attached on the workflow run.

I've got a set of changes just about ready, and I'm preparing to make my commit and pull request. I have changes to submit for both Jamepad and gdx-controllers, and the gdx-controllers changes depend on the Jamepad ones. Is there anything I should do to make it easier for testers to use them together? Changing version numbers or something?

Just submit the PR for jamepad first. When we reviewed and merged, you can depend on the latest jamepad snapshot for your gdc-controllers changes.


Supervision::Configuration

[x] hold everything needed to start a supervisor or supervision group
[x] not be mutated, be reusable
[x] bypass/remove the confusion caused by #1 once #1 is deprecated
[x] can self-deploy, can without being mutated

more?

This exists in Supervision::Configuration objects at present, will return to this to document it but it is closed.


[ERROR] Encountered error: unable to parse Chrome's Local State

Appears to be caused by changes in v0.7 related to profiles_by_hosted_domain. I tried adding a bogus hosted_domain to both Chrome profiles but it didn't change anything. Based on the examples that field is supposed to be optional anyways, though.
Please advise if I'm doing something dumb. The config works on v0.6 without any changes.
bichrome.log:
21:54:17 [ERROR] Encountered error: unable to parse Chrome's Local State

Caused by:
    0: could not parse Chrome Local State
    1: missing field `hosted_domain` at line 1 column 6160
21:56:24 [INFO] picked Chrome(ByName { name: "Default" })

bichrome_config.json:
{
    "default_profile": "Personal",
    "profiles": {
        "Personal": {
            "browser": "Chrome",
            "profile": "Default"
        },
        "Work": {
            "browser": "Chrome",
            "profile": "Profile 1"
        }
    },
    "profile_selection": [
        {
            "pattern": "github.com/bungeeapp/*",
            "profile": "Work"
        },
        {
            "pattern": "meet.google.com",
            "profile": "Work"
        },
        {
            "pattern": "localhost",
            "profile": "Personal"
        },
        {
            "pattern": "*.figma.com",
            "profile": "Personal"
        },
        {
            "pattern": "steampowered.com",
            "profile": "Personal"
        },
        {
            "pattern": "linear.app",
            "profile": "Personal"
        }
    ]
}

@nathan-nocapinc I'm using 0.8 on my machine without issue, so it seems like something is unexpected about your particular Chrome's Local State. To debug further I need to know more, but you probably shouldn't share your Local State with me since I suspect it contains personal info.
What I would suggest is that you use something with a JSON formatter (since the file is just one long line) and open up %localappdata%\Google\Chrome\User Data\Local State in it. (I like using VS Code, hitting Ctrl + Shift + P, and using Format Document from that menu.)
In that file, search for info_cache. You should see a JSON list of profiles, and it sounds like at least one of them does not have a "hosted_domain" entry. Can you share that one? Feel free to censor any data like picture URL, name, and id. I created a new empty profile on my machine named "Cakes", and I see this:
            "Profile 2": {
                "active_time":<PHONE_NUMBER>.76621,
                "avatar_icon": "chrome://theme/IDR_PROFILE_AVATAR_26",
                "background_apps": false,
                "default_avatar_fill_color": -3282963,
                "default_avatar_stroke_color": -13469302,
                "force_signin_profile_locked": false,
                "gaia_given_name": "",
                "gaia_id": "",
                "gaia_name": "",
                "hosted_domain": "",
                "is_consented_primary_account": false,
                "is_ephemeral": false,
                "is_using_default_avatar": true,
                "is_using_default_name": false,
                "managed_user_id": "",
                "metrics_bucket_index": 3,
                "name": "Cakes",
                "profile_highlight_color": -3282963,
                "shortcut_name": "Cakes",
                "signin.with_credential_provider": false,
                "user_name": ""
            }


Make a release workflow

Right now the release is done manually, which is not too tedious but automating stuff is better. The release process should ideally:

be triggered through a workflow on tagging a git commit with vX.Y.Z
enter the new version into the plugin config file
create a GitHub release
submit the new version to the Godot Asset Library

@derkork You forgot to change plugin.cfg version to 0.7 ^^'
BTW Cool changes, love to see GSC to grow! :)

Thanks for the heads-up. I just released a fixed version.

I think adding an automated workflow is more effort than I want to spend since the actual releasing is really just a few clicks so I would need to make a ton of releases to even break-even on the effort spent. I added a checklist  to follow, so I don't forget anything. I think this is good enough for now so I'm going to close this.


hyper v1 proxy example

I have not found any example that outlines how to configure a client proxy hyper v1.
https://github.com/tafia/hyper-proxy only works with < v1.
Relates to https://github.com/awslabs/aws-sdk-rust/issues/169

There is a crate to displace it hyper-proxy2, the crate just does not have many changes, so this may be the simplest option.


Refactor execute_txn function to be more readable

The execute_txn is fairly opaque and under-commented. We should refactor it to set a maximum number of retries, describe what it is doing, and consider making all calls async, as mentioned in the comments in #1.

... and providing an async version (to be used with tokio_postgres) would be awesome! 🙏
I am not proficient enough in Rust to manage to do it cleanly ☺


Add library frame filter

StackFrames can be either library frames or non library frames. Add Library Frame filtering feature in Coroutine Stacks Panel, when user clicks on the filter button, all the library frames should be removed from Coroutine Stacks.

I also have tested it out, the feature works well. And the idea to add the message that the content is updating was great!


Decoder initial state not initialised?

Hi,
thanks for the generosity in sharing the codes. I have a question. I noticed that the decoder is not initialised with either the last hidden states of the bert representation(output from bert), or the encoded states of the source sub-tokens, as decoder is usually initialised with something.
https://github.com/nlpyang/PreSumm/blob/29a6b1ace2290808f39c76ae2ef0e92d515fc049/src/models/decoder.py#L266
In the above line of code, I believe the "memory_bank" variable is usually used to do that but its not being used in your codes.
Is there an intentional design? Or am I missing out something..
Thanks!

I didn't look into the implementation details, but this line might be what you are looking for :
https://github.com/nlpyang/PreSumm/blob/29a6b1ace2290808f39c76ae2ef0e92d515fc049/src/models/model_builder.py#L242

Okay, I think I have made a mistake. The decoder of transformer does not initialised with the last hidden state or some hidden states of encoder, unlike the traditional Seq to Seq architecture. In transformers, the encoder hidden states(bert output in this case) is used in the 2nd attention layer(multi-head attention) instead.
Ref:
https://www.d2l.ai/chapter_attention-mechanism/transformer.html


feat: add loading indicator to setup while sdk is generating

Fixes RVTEE-626

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#292  👈
#289
#288
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


Introduce ZOrderCoveringIndex

What is the context for this pull request?

Tracking Issue: n/a
Parent Issue:  #515
Dependencies: n/a

What changes were proposed in this pull request?

Introduce a new covering index type that is Z-ordering dataset.
The current covering index is bucketed by the indexed column and sorted within a bucket. (a file) For filter queries, globally sorted data can be efficient than bucketed + partially sorted dataset.
However, sorting is usually limited to the first sorting column; if we execute a query without conditions of the first sorting column, we should read all files for the query.
Z-order covering index is a basically sorted dataset by Z-address which is derived from values of indexed columns for each row. As a result, rows having similar values can be collocated within a file. With Z-ordered dataset, we could skip some of unnecessary data by min/max pruning.
Usage
hs.createIndex(ZOrderCoveringIndex("indexName", Seq("zOrderCol1", "zOrderCol2"), Seq("includedCol1", "includedCol2"))

Does this PR introduce any user-facing change?

Yes, the PR introduces a new index type.
How was this patch tested?

unit test

@clee704 Could you review the PR? I'll update user document & a notebook for it.


"chosen compiler did not support incremental annotation processing" when called from TestKit

Expected Behavior
Incremental annotation processing works in TestKit the same as in a regular build.
Current Behavior
When run through TestKit, build reports:
Full recompilation is required because the chosen compiler did not support incremental annotation processing.

when a class has changed.
Also, but this is a minor change, when a source file is added, it says
Incremental compilation of 0 classes completed in 0.062 secs.

when it previously said (Gradle in 6.4.1)
Incremental compilation of 1 classes completed in 0.062 secs.

Context

I was updating https://github.com/tbroyer/gradle-incap-helper to Gradle 6.5.1, and DynamicIncrementalProcessorIntegrationTest started failing. It runs 3 builds of the same project successively through TestKit (without specifying a Gradle version, so using the current one) after making small changes to the project source code, and checks for specific logs in the output.
I tried with withGradleVersion("6.4.1") and the test passed. I then reverted to Gradle 6.4.1 and tried with withGradleVersion("6.5") (could have tried with 6.5.1 too) and the test failed again.
So:

Gradle Version
withGradleVersion
Result

6.5.1
(none)
FAIL

6.5.1
6.4.1
PASS

6.4.1
(none)
PASS

6.4.1
6.5
FAIL

Steps to Reproduce

Clone https://github.com/tbroyer/gradle-incap-helper and checkout tag v0.3, then edit integTest/src/test/kotlin/net/ltgt/gradle/incap/integTest/DynamicIncrementalProcessorIntegrationTest.kt, and run the build with
./gradlew :integTest:test --tests DynamicIncrementalProcessorIntegrationTest

I couldn't reproduce with https://github.com/gwtproject/gwt-places, at tag v1.0.0-RC1, modifying processor/src/funcTest/java/org/gwtproject/place/impl/PlaceHistoryMapperGeneratorTest.java, or adding a source file, and running ./gradlew :processor:compileFuncTestJava.
Your Environment

Build scan URL: https://scans.gradle.com/s/5o26e3x3dfkwi
This build scan corresponds to https://github.com/tbroyer/gradle-incap-helper at tag v0.3 with the following diff applied. That diff also enables build scans for the successive TestKit-driven builds:

https://scans.gradle.com/s/z7v3f75hsalm6 (works as expected, clean build)
https://scans.gradle.com/s/tutzcmv3eus66 (added source file, shows Incremental compilation of 0 classes rather than Incremental compilation of 1 classes)
https://scans.gradle.com/s/tkisyruuyms64 (modified source file, shows Full recompilation is required because the chosen compiler did not support incremental annotation processing.)

Well, actually, the --info output is not present in those build scans, strangely, but is there in the parent build scan, where I used testLogging.showStandardStreams = true to redirect them to standard output.

Diff for build scan
diff --git a/integTest/build.gradle.kts b/integTest/build.gradle.kts
index 6aaf06b..d12ccd7 100644
--- a/integTest/build.gradle.kts
+++ b/integTest/build.gradle.kts
@@ -45,5 +45,7 @@ tasks {
         systemProperty("version", rootProject.version.toString())

         dependsOn("publishLibPublicationToTestRepository", "publishProcessorPublicationToTestRepository")
+
+        testLogging.showStandardStreams = true
     }
 }
diff --git a/integTest/src/test/kotlin/net/ltgt/gradle/incap/integTest/DynamicIncrementalProcessorIntegrationTest.kt b/integTest/src/test/kotlin/net/ltgt/gradle/incap/integTest/DynamicIncrementalProcessorIntegrationTest.kt
index 78cfda6..bdad681 100644
--- a/integTest/src/test/kotlin/net/ltgt/gradle/incap/integTest/DynamicIncrementalProcessorIntegrationTest.kt
+++ b/integTest/src/test/kotlin/net/ltgt/gradle/incap/integTest/DynamicIncrementalProcessorIntegrationTest.kt
@@ -53,7 +53,7 @@ class DynamicIncrementalProcessorIntegrationTest {
         with(compileJava()) {
             // then
             assertThat(output).doesNotContainMatch("Full recompilation is required ")
-            assertThat(output).contains("Incremental compilation of 1 classes completed")
+            //assertThat(output).contains("Incremental compilation of 1 classes completed")
         }

         // when
@@ -72,7 +72,7 @@ class DynamicIncrementalProcessorIntegrationTest {
             assertThat(output).doesNotContainMatch("Full recompilation is required because .* is not incremental")

             // For some reason, second compilation counts 2 classes rather than 1,
-            assertThat(output).contains("Incremental compilation of 2 classes completed")
+            //assertThat(output).contains("Incremental compilation of 2 classes completed")
             // …but this is not the other source file (probably the generated class?)
             assertThat(output).doesNotContain("src/main/java/test/AnnotatedClass.java")
         }
@@ -81,6 +81,16 @@ class DynamicIncrementalProcessorIntegrationTest {
     private fun setupProject() {
         testProjectDir.newFile("settings.gradle.kts").writeText(
             """
+            plugins {
+                id("com.gradle.enterprise").version("3.3.4")
+            }
+            gradleEnterprise {
+                buildScan {
+                    termsOfServiceUrl = "https://gradle.com/terms-of-service"
+                    termsOfServiceAgree = "yes"
+                }
+            }
+
             include(":processor")
             """.trimIndent()
         )
@@ -188,7 +198,9 @@ class DynamicIncrementalProcessorIntegrationTest {
     }

     private fun compileJava() = GradleRunner.create()
+        .withGradleVersion("6.5")
         .withProjectDir(testProjectDir.root)
-        .withArguments("--info", "compileJava")
+        .withArguments("--info", "compileJava", "--scan")
+        .forwardOutput()
         .build()
 }

@ljacomet @melix I think this might be related to the source -> class name mapping changes in 6.5.

I don't believe this behavior is limited to TestKit, but the exact changes to reproduce seem to vary between users. Another report here: https://discuss.gradle.org/t/full-compiletestjava-run-when-only-one-test-class-changed/36741

+1 on this one. We have one big legacy module with 1500+ Java classes and full-recompilation is needed every second run. So +20s every second run if you modify it. We had to switch back to Gradle 6.4.1 from Gradle 6.6. We are using lombok.
I guess we learned a lessons: don't have big modules :).
Does this: https://github.com/gradle/gradle/pull/14109 fix it?

I don't believe this behavior is limited to executing through TestKit, but the exact changes to reproduce seem to vary between users/environments. Another seemingly related report here: https://discuss.gradle.org/t/full-compiletestjava-run-when-only-one-test-class-changed/36741

Gradle version 6.6.1 fixed the issue for us.

I confirm that it fixes my use-case as well, so it probably was related to https://github.com/gradle/gradle/issues/14280

https://travis-ci.com/github/tbroyer/gradle-incap-helper/builds/181641160


Not able to consume any messages in a kafka cluster of three brokers if we map wrong ip address of one of the broker server in host file.

Description
We have a kafka cluster of three brokers and we are not able to consume a single messages if we change IP address of one of the broker in windows host file while the other two broker's ip address remain same.
How to reproduce
We have a kafka cluster of three brokers, we have set up a windows machine where we are running one producer which produce 30,000 messages for test topic having 24 partition and in same machine we have three consumer consuming for same test topic .
Now in host file (location C:\Windows\System32\drivers\etc\hosts) we have mapped the kafka1 server with wrong ip address and other two server with correct ip address then save it after that we have started all three consumers and then start producing messages on test topic .
Expected Result- producer will produce messages and consumer will consume messages from other two kafka server except kafka 1 server
Actual Result - producer is producing messages however consumers are not able to consumer even a single messages.
Below is the consumer config properties-

Below is the producer config properties-

Below is the one of the consumer's log-
2019-04-22 23:39:51,601 [1] INFO  - Enterd In CodeSignConsumer
2019-04-22 23:39:51,648 [1] INFO  - Poll Interval 200
2019-04-22 23:39:52,054 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:39:53,726 [1] ERROR - Error Ocuured in ConsumerIsLocalErrorTrueIsBrokerErrorFalseReasonkafka1:9092/1: Connect to ipv4#XXXXX:9092 failed: No connection could be made because the target machine actively refused it... (after 2011ms in state CONNECT)
2019-04-22 23:40:16,429 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:40:40,804 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:41:05,179 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:41:29,554 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:41:53,929 [1] INFO  - Polling inprogress for every 200
2019-04-22 23:42:18,304 [1] INFO  - Polling inprogress for every 200
Note: - Some time consumers are also crashes if we again correctly map the kafka server ip in host file and save.
Checklist

[ ] Confluent.Kafka nuget version. - <IP_ADDRESS>
[ ] Apache Kafka version.- 2.10
[ ] Operating system. - windows
[ ] Critical issue.

Any clue regarding this issue or let me know in case of any concern.

can you test to see whether this is a problem in 1.0? If you see the issue there too, I'll try to replicate. 1.0 is a very large update, and contains many bug fixes. Generally, we don't backport fixes to older versions (except in some cases for customers).

OK will check and update

Still we are facing the same issue in latest update.. please help.

Please provide debug logs (set consumer Debug property to all) whilst
the error is occurring whilst using the latest version (1.2-RC1), and i'll
have a look.
On Thu, Aug 22, 2019 at 4:08 AM nitinkumar758<EMAIL_ADDRESS>wrote:

Still we are facing the same issue in latest update.. please help.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/confluentinc/confluent-kafka-dotnet/issues/898?email_source=notifications&email_token=AAAEVZV2ZQU7IFRTS6VPB6TQFZXTJA5CNFSM4HHRSE72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD44XKEI#issuecomment-523859217,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAEVZW4RJHOTVIDDLGECWLQFZXTJANCNFSM4HHRSE7Q
.


Flaky Test : RunSuite.TestScale

Failing some times on master or any PR really (sporadic but it happens)
11:58:48 ----------------------------------------------------------------------
11:58:48 FAIL: scale_test.go:10: CliSuite.TestScale
11:58:48
11:58:48 scale_test.go:36:
11:58:48     c.Assert(1, Equals, len(containers))
11:58:48 ... obtained int = 1
11:58:48 ... expected int = 2
11:58:48

Should have been fixed by a refacto :angel:


Remove deprecated JavaLibrary constructor

https://github.com/gradle/gradle/blob/54e42e81171fd5e4b738b0401829cd839dae74f9/subprojects/plugins/src/main/java/org/gradle/api/internal/java/JavaLibrary.java#L90

@bigdaz Is there any documentation anywhere on how to migrate to the new constructor?

@jameskleeh No, this is an internal type and is not intended for direct instantiation. Please vote for #1842 to push for a supported way to construct a SoftwareComponent.


fix: anyhow wrapping as/with PageReconstructError

We can get CompactionError::Other(Cancelled) via the anyhow wrapping happening with aux_files_v2, evidence. Hopefully fix it by:

simplifying the code in pgdatadir_mapping to eliminate the token anyhow wrapping for deserialization errors
stop wrapping GetVectoredError as anyhow errors
stop wrapping PageReconstructError as anyhow errors

Additionally, produce warnings if we treat any other error (as was legal before this PR) as missing key.
Builds upon #8655.

test_branch_and_gc: release

Again...

Having trouble reproducing that message.

This is quite elusive. Reproduced locally. From the latest commit:
2024-08-13T07:41:08.033600Z ERROR compaction_loop{tenant_id=c547a720666f14ca442ac2c4a6c44d7c shard_id=0000}: Compaction failed 1 times, retrying in 2s: Other(Cancelled

Stack backtrace:
   0: <T as core::convert::Into<U>>::into
             at /rustc/3f5fd8dd41153bc5fdca9427e9e05be2c767ba23/library/core/src/convert/mod.rs:759:9
      <pageserver::tenant::timeline::CompactionError as core::convert::From<pageserver::tenant::timeline::CreateImageLayersError>>::from
             at /home/joonas/src/neon/work/pageserver/src/tenant/timeline.rs:763:43
   1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /rustc/3f5fd8dd41153bc5fdca9427e9e05be2c767ba23/library/core/src/result.rs:1989:27
      pageserver::tenant::timeline::compaction::<impl pageserver::tenant::timeline::Timeline>::compact_legacy::{{closure}}
             at /home/joonas/src/neon/work/pageserver/src/tenant/timeline/compaction.rs:298:40
      pageserver::tenant::timeline::Timeline::compact::{{closure}}
             at /home/joonas/src/neon/work/pageserver/src/tenant/timeline.rs:1583:84
   2: <tracing::instrument::Instrumented<T> as core::future::future::Future>::poll
             at /home/joonas/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tracing-0.1.37/src/instrument.rs:272:9
      pageserver::tenant::Tenant::compaction_iteration::{{closure}}
             at /home/joonas/src/neon/work/pageserver/src/tenant.rs:1788:18
      pageserver::tenant::tasks::compaction_loop::{{closure}}::{{closure}}
             at /home/joonas/src/neon/work/pageserver/src/tenant/tasks.rs:213:66
      pageserver::tenant::tasks::compaction_loop::{{closure}}
             at /home/joonas/src/neon/work/pageserver/src/tenant/tasks.rs:281:6

The line 763 maps the non-cancel variants (GetVectoredError and PageReconstructError).


CDC and ReplaceOneBusinessKeyStrategy

Hi @hpgrahsl,
Firstly, thank you for all the support and effort you put in this great connector!
I have a question / issue with MongoDB Sink and Debezium MongoDB CDC.
My source data is coming from MongoDB using Debezium CDC connector and I'm using your connector to write the data back to a different MongoDB RS.
The issue is that one of collection has Index with unique ID based on Business key named "externalId".
I tried to configure the connector to use this key but it still complains on duplicate key entry.
My config:
   "key.converter":"org.apache.kafka.connect.json.JsonConverter",     "key.converter.schemas.enable": true,     "value.converter": "org.apache.kafka.connect.json.JsonConverter",     "value.converter.schemas.enable": true,     "connector.class": "at.grahsl.kafka.connect.mongodb.MongoDbSinkConnector",     "topics.regex": "myTopic.*",     "mongodb.connection.uri": "mongodb://myDB:27017/DB?w=1&journal=true",     "mongodb.ssl.enabled": true,     "mongodb.change.data.capture.handler": "at.grahsl.kafka.connect.mongodb.cdc.debezium.mongodb.MongoDbHandler",     "mongodb.collections": "${topic}",     "mongodb.document.id.strategy": "at.grahsl.kafka.connect.mongodb.processor.id.strategy.PartialValueStrategy",     "mongodb.key.projection.list": "externalId",     "mongodb.key.projection.type": "whitelist",     "mongodb.writemodel.strategy": "at.grahsl.kafka.connect.mongodb.writemodel.strategy.ReplaceOneBusinessKeyStrategy",     "transforms": "route",     "transforms.route.type": "org.apache.kafka.connect.transforms.RegexRouter",     "transforms.route.regex": "([^.]+)\\.([^.]+)\\.([^.]+)",     "transforms.route.replacement": "$3"
The error I get:

[BulkWriteError{index=88, code=11000, message='E11000 duplicate key error collection: DB.collection index: externalId_1 dup key: { : "6c02d106c24d015d2ffe73585160ef83" }', details={ }}, BulkWriteError{index=422, code=11000, message='E11000 duplicate key error collection: DB.collection index: externalId_1 dup key: { : "6c02d106c24d015d2ffe73585160ef83" }', details={ }}].

Is the ReplaceOneBusinessKeyStrategy support CDC schema?
Since the source data is based on Debezium schema, how can I tell the write model strategy to use my "externalId" field as the key?

Hi @mottish - short answer no this isn't possible at the moment, let me briefly explain why:

when you leverage the CDC mode it's typically because you want to react to the semantics of the CDC records, i.e. perform upserts or deletions accordingly. so this means depending on the actual CDC record there is one specific of the possible CDC write models already in place, which performs its operation against the sink. It doesn't make sense to mix these CDC write model semantics with other possible write models.

also when CDC is in place there is no post-processing pipeline that get's applied either. again, the typical use case is to take the records as is and perform the write model operations with 1:1, i.e. without modifying the payload along the way.

does that make sense to you?

Hi @mottish
I'm not sure if I get you correctly. So ordering guarantees are only there in case you provide a proper key for each record so that they land in the same topic partition. If you mean that key used to produce records to the kafka topics is e.g. the object id in _id and you want to have ordering based on some other unique payload field then it simply won't work like that.
IMHO the only reasonable way to deal with this is to make sure that your records are written to kafka topics with the correct key in the first place, which then also allows you to have any number of partitions that would make sense for you. That can be done with Kafka connect single message transforms and concretely ValueToKey is your friend here:
https://docs.confluent.io/current/connect/transforms/valuetokey.html#valuetokey
Let me know if this was what you were looking for and whether or not it helps to solve your problem.
Can you explain further please?

I'll try to explain my issue beter. assuming I have one collection named "myCol" and it is being produced to Kafka using Debezium MongoDB connector with JSON schema.
Each document has it own "_id" and a business key named "myId" where "myId" is uniqueu.
I consume the Debezium messages from Kafka to a different MongoDB RS using @hpgrahsl MongoDB Sink connector.
If a DELETE document operation is sent to partition 1 and CREATE document operation is sent to topic 2 with the same business key (myId) but different _id (since it has first been deleted) and the Sink connector try to run the CREATE operation before the DELETE operation it will fail on uniqueu key constrain on the destination MongoDB since the business key myId still exists.
so IMHO, either I use 1 partition to retain ordering of messages or use produce by Key (if Debezium support it or Kafka Connect). this way ordering will preserved.
I hope that clears my case.

hi @mottish yes then I understood you correctly and my answer above is the way to go. try to make sure that by means of a proper SMT your records are written to the kafka topic with the business key "myId". if an existing SMT doesn't work you can write a custom one which might be needed for your use case. I'll close this issue since the actions to be taken are outside of the control of the sink connector itself.

Hi @hpgrahsl, unfortunately I'm still stuck with this issue.
I've tried your proposed solution of using SMT ValueToKey but since I'm using Debezium as source connector to send source MongoDB CDC to Kafka, I need to first use io.debezium.connector.mongodb.transforms.UnwrapFromMongoDbEnvelope SMT converter in order to read the message.
doing so eventually does use my Key to send messages to Kafka but it doesn't preserves Debezium CDC schema and so it breaks the chain...
Before changing Key to my own "externalId":
{"schema":{"type":"struct","fields":[{"type":"string","optional":false,"field":"id"}],"optional":false,"name":"dbserver5.inventory.customers.Key"},"payload":{"id":"2056"}}	{"schema":{"type":"struct","fields":[{"type":"string","optional":true,"name":"io.debezium.data.Json","version":1,"field":"after"},{"type":"string","optional":true,"name":"io.debezium.data.Json","version":1,"field":"patch"},{"type":"struct","fields":[{"type":"string","optional":true,"field":"version"},{"type":"string","optional":true,"field":"connector"},{"type":"string","optional":false,"field":"name"},{"type":"string","optional":false,"field":"rs"},{"type":"string","optional":false,"field":"ns"},{"type":"int32","optional":false,"field":"sec"},{"type":"int32","optional":false,"field":"ord"},{"type":"int64","optional":true,"field":"h"},{"type":"boolean","optional":true,"default":false,"field":"initsync"}],"optional":false,"name":"io.debezium.connector.mongo.Source","version":1,"field":"source"},{"type":"string","optional":true,"field":"op"},{"type":"int64","optional":true,"field":"ts_ms"}],"optional":false,"name":"dbserver5.inventory.customers.Envelope"},"payload":{"after":"{\"_id\" : {\"$numberLong\" : \"2056\"},\"first_name\" : \"Ann56\",\"externalId\" : \"ext260\",\"email\" : \"annek26@noanswer.org\"}","patch":null,"source":{"version":"0.9.5.Final","connector":"mongodb","name":"dbserver5","rs":"rs0","ns":"inventory.customers","sec":1572784855,"ord":1,"h":3453804412024348345,"initsync":false},"op":"c","ts_ms":1572784855589}}
After using unwrap SMT and ValueToKey with my "externalId" changes the schema:
Struct{externalId=ext250}	{"schema":{"type":"struct","fields":[{"type":"string","optional":true,"field":"first_name"},{"type":"string","optional":true,"field":"externalId"},{"type":"string","optional":true,"field":"email"},{"type":"int32","optional":true,"field":"id"}],"optional":false,"name":"dbserver5.inventory.customers"},"payload":{"first_name":"Ann52","externalId":"ext250","email":"annek25@noanswer.org","id":2050}}
The config I used at the source:
       "transforms":"unwrap,createKey",         "transforms.unwrap.type":"io.debezium.connector.mongodb.transforms.UnwrapFromMongoDbEnvelope",         "transforms.unwrap.drop.tombstones":"false",         "transforms.createKey.type":"org.apache.kafka.connect.transforms.ValueToKey",         "transforms.createKey.fields":"externalId",         "key.converter": "org.apache.kafka.connect.storage.StringConverter",         "key.converter.schemas.enable": "true",         "value.converter": "org.apache.kafka.connect.json.JsonConverter",          "value.converter.schemas.enable": "true",         "include.schema.changes": "false"
I kinda desperate here and I appologies in advance that I'm reaching out to you with this issue but you have a lot of knowledge working with Debezium so I'm trying my luck here as well.
Thanks!

I would like to update my issue, I believe it will be of interest by others as well.
I thought of writing our own SMT which will change the Key without breaking Debezium schema and without using the UnwrapFromMongoDbEnvelope SMT.
This will work for all operations besides "delete" which has only the document _id key and doesn't have the "after" field where we can find our own field for Key (externalId in my case).
Without maintaing order of deletes in the same topic of other operations I will be at the same spot.
Hence, the only valid solutions I have are:

Change the document Id to be "externalId" and all the flow will work "out of the box" with @hpgrahsl Sink connector and Debezium source connector.
Write my own SMT to change the Key without breaking the schema and use kStream to maintain maping of document _id to "externalId" and replace the key for delete operation.

option 2. is complicating the solution and also doesn't provide realtime ordering guarantee...
bottom line, it doesn't seems feasible to manipulate the Key using Debezium source or any other source as the delete operation has only the document _id as the key...

hi @mottish
you are right that the DBZ MongoDB source connector is a special case concerning delete operations. other DBZ source connectors expose a before field for delete operations which you could leverage to extract your other id field but here it's not possible unfortunately.
the way to go in this case is to write a kafkastreams app in which you maintain a mapping between  the _id as contained in all DBZ source events -> and your desired id field. yes, this is a bit more involved than only applying SMTs and connector configuration but should be feasible without too much hassle. what I don't really understand though is this part: '...doesn't provide realtime ordering guarantees' - what does this even mean? can you explain further please?

Hi, Gunnar here from the Debezium team. Indeed I think that you are a bit out of luck when it comes to deletes, which currently don't have any payload information. So you wouldn't have a way to send the change events for them using your business key. The one solution that would work is if you were to use your business key as the actual primary key in the MongoDB source collection. If you can't change the actual source collection accordingly, perhaps you can implement some logic which creates a duplicated "view" of the original collection that's keyed by "myId" and then you capture that collection? That's the one way I could see that'd work. Would also be interesting to know whether the change streams feature introduced in MongoDB 3.x would expose the deleted document's state. We're planning to support that in Debezium, too, as an alternative to the current oplog-tailing based solution. This might be another incentive to do that.

Ah, I forgot to comment on @hpgrahsl's KStreams suggestion. Unfortunately, I don't think it'll be a fully satisfying answer.
We blogged about a very similar use case recently over on the Debezium blog. It's using a statestore which allows you to amend incoming partial change events with the full record state. You could do the same to enrich MongoDB delete events with the latest document state (order is guaranteed based on document id).
But you'd still have the potential ordering issue in the DELETE/CREATE use case; any implementation which changes the message id from the original document id to that other id only after the fact will be prone to this, as the incoming events with the original ids may end up in different partitions. Maybe you can rule out re-use of the business key (at least for some blocking period) in your business logic to mitigate this issue?

Taking the state store idea further, what might work is if you indeed have your custom SMT which in case of a delete obtains the full document state from that state store. That way you could emit the change events with the right key from the beginning. Ordering of events would be as per the ordering of TX in the oplog.

Hi @hpgrahsl,
@gunnarmorling answered the question about the ordering:

But you'd still have the potential ordering issue in the DELETE/CREATE use case; any implementation which changes the message id from the original document id to that other id only after the fact will be prone to this, as the incoming events with the original ids may end up in different partitions.

Hi @gunnarmorling and thank you for the answer.
If I understand the suggested solution written in the blogpost, kStream pipeline will read the topic DBZ is writing to and write to a new topic where my business key is the message key.
in a multi partition topic I believe the ordering can't be guarantee as DBZ use the _id as the key.
It may be feasible but with a risk of race condition is to have kStream reading DBZ topic and SMT will change the key and for deletes operations will call the state store API to fetch the business key.
In this solution, it is important that the kStream will have the _id -<-> business key mapping before the delete operations arrives to the connector and trying to apply the SMT.

Yes, exactly, the solution from the blog post won't address your ordering concern. What would work is this:

if you indeed have your custom SMT which in case of a delete obtains the full document state from that state store. That way you could emit the change events with the right key from the beginning. Ordering of events would be as per the ordering of TX in the oplog.

Then the messages will have the right key from the get-go and there's no risk of re-ordering. But at the price of having a statestore lookup right from within the DBZ connector (via the SMT).


[Bug]: Lock not able to lock/unlock

Add-on version
1.3.4
Architecture
aarch64
HomeAssistant version
2023.3.1
Operating System type
Other
Operating system version
not known. using raspberry pi 3 b+
Describe the bug
I am not able to lock/unlock my eufy door lock T8520
To reproduce

Go to settings > devices & services > eufy integration > doorlock >

Click on either lock or unlock

No response from actual device

Screenshots & Logfiles
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2023-03-06 08:02:04.819  INFO  Eufy Security server listening on host <IP_ADDRESS>, port 3000
2023-03-06 08:02:31.017  INFO  Connected to station T8200N00193937AD on host <IP_ADDRESS> and port 48546
2023-03-06 08:02:38.828  ERROR MQTT Error
Error  Connection refused: Not authorized
details:
{
code: 5
}
error stack:
• client.js:1388 MqttClient._handleConnack
usr/src/app/node_modules/mqtt/lib/client.js:1388:17
• client.js:549 MqttClient._handlePacket
usr/src/app/node_modules/mqtt/lib/client.js:549:12
• client.js:438 work
usr/src/app/node_modules/mqtt/lib/client.js:438:12
• client.js:452 writable._write
usr/src/app/node_modules/mqtt/lib/client.js:452:5
• _stream_writable.js:389 doWrite
usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:389:139
• _stream_writable.js:380 writeOrBuffer
usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:380:5
• _stream_writable.js:301 Writable.write
usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:301:11
• readable:766 ondata
node:internal/streams/readable:766:22
• node:events:513 emit
node:events:513:28
• readable:324 addChunk
node:internal/streams/readable:324:12
2023-03-06 08:02:39.093  INFO  MQTT connection closed
2023-03-06 08:02:42.965  INFO  Push notification connection successfully established
Additional context
By physically turning the knob on the door lock updates its current state in HA. Also, I am able to turn on/off my other doorbell and verified using the eufy app.

this is happening to me as well

I've got this issue as well.
lock behaves normally if I use the add-on https://github.com/fuatakgun/eufy_security_addon
I can see lock status but can't send lock/unlock using this add-on https://github.com/bropat/hassio-eufy-security-ws


Strange CUDA out of memory issue

Strange CUDA out of memory issue; my previous program used to run, but now it cannot run both locally and on COLAB.
Code:
pip install 'automatikz[pdf] @ git+https://github.com/potamides/AutomaTikZ'
!git clone https://github.com/potamides/AutomaTikZ
!pip install -e AutomaTikZ[webui]
from automatikz.infer import TikzGenerator, load
generate = TikzGenerator(*load("nllg/tikz-clima-7b"), stream=True)
OutOfMemoryError: CUDA out of memory. Tried to allocate 32.00 MiB. GPU

If it has worked previously then it is indeed strange. Can you try downgrading transformers to 4.28 and torch to 2.0?

Thank you for your response. I have tested this, and it's not a version issue, as I successfully ran the 7B model directly.
Here's the comparison between the new versions (transformers 4.41.2 and torch 2.3.1) and the old versions (transformers 4.28 and torch 2.0):
New versions:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 136.00 MiB. GPU
Old versions:
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 50.00 MiB (GPU 0; 15.99 GiB total capacity; 5.22 GiB already allocated; 9.48 GiB free; 5.22 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
The 13B model is about 40GB, and if using a non-A100 GPU, the large chunks of the model have to stay on the CPU, then load in chunks to the GPU. I suspect this step might be encountering an issue?
Previously, I was able to run the 13B model on a 16GB GPU. Could it have just been luck?

Previously, I was able to run the 13B model on a 16GB GPU. Could it have just been luck?

Did you maybe load the model with device_map="auto"? That's the way we load it in the web ui.

Thank you for your reply. I would like to ask about the 'device_map="auto"' variable modification.
Specifically, should this variable be forcibly added to the method in the 【class TextGenerationPipeline(Pipeline)】
under myenv\lib\python3.10\site-packages\transformers\pipelines\text_generation.py?


Internal Error when copying a sheet into a different Spreadsheet

Environment details

OS: Debian 10.6
PHP version: 7.3
Package name and version: google-api-php-client, latest versione

Steps to reproduce
I created a sheet
I created a 2nd sheet
I created a service account
I sharead r/o the first sheet with service account
I sharead r/w the second sheet with service account
Code example
        $source_file_id = config('google_sheets.shops_source_file_id');
        $destination_file_id = config('google_sheets.shops_file_id');
        $sheet_index = 0;
        $copy_sheet_request = new \Google_Service_Sheets_CopySheetToAnotherSpreadsheetRequest();
        $copy_sheet_request->setDestinationSpreadsheetId($destination_file_id);
        $response = $this->service->spreadsheets_sheets->copyTo(
            $source_file_id,
            $sheet_index,
            $copy_sheet_request
        );

Results
Google\Service\Exception
{ "error": { "code": 500, "message": "Internal error encountered.", "errors": [ { "message": "Internal error encountered.", "domain": "global", "reason": "backendError" } ], "status": "INTERNAL" } }

@realtebo We're not experts on each API offered, but rather on the client libraries which help interact with them - so this may not be the best place to get resolution. I'd recommend reaching out to the support staff for the API as it looks like this isn't related to the client itself (but please let me know if you find otherwise and we can re-open!).

whenever I see a google api 500 error with "domain": "global", "reason":
"backendError" it is almost always a transient error having nothing to do
with my code. I have seen these last for up to a week before subsiding
(Google Sheets PHP API) and no code changes on my part.
you might also see it when you perform the API sequences out of order, or
otherwise illogically.

I hoped it was a transient error but it is still here !
I know it's not due to your package, I simplu hope that the team of this package has some internal contacts with api service developes.
Sigh.


Update README.md

Description
Update installation guide
PR Contains:

[x] Documentation
[ ] Tests
[ ] Breaking Changes

Changelog

Changed

Update README.md

what if you renamed rate_limit.rb to rate-limit.rb that should solve the problem ...

closed in favour of https://github.com/catawiki/rate-limit/pull/5


UrlChange to empty hash

Apparently, a UrlChange to an empty hash doesn't work as expected ... you need to add a space afterwards. E.g. instead of
UrlChange NewEntry "#"
... you need ...
UrlChange NewEntry "# "
I should see if this can be fixed.

I should also take a look at https://github.com/Gizra/drupal-elm-starter/pull/39 in this context -- there is something about the idiom for dealing with empty hashes that I should at least document.


How to test on our own datasets

I'm sorry to ask that how can I test using my own datasets, I don't find the pretrained models, so I'm not sure if I must train the model first.

The pre-training models are uploaded. Thanks for your attention.

Thanks for your reply! But I don't know how to use this pretrained model to test, I only find the main.py for train and evaluate, but there seems no file for test. Could you please upload the test files? Thank you!
------------------ 原始邮件 ------------------
发件人:                                                                                "HUuxiaobin/Face-Super-Resolution-Guided-by-3D-Facial-Priors"                                                                                @.>;
发送时间: 2021年9月4日(星期六) 晚上7:58
@.>;
<EMAIL_ADDRESS>主题: Re: [HUuxiaobin/Face-Super-Resolution-Guided-by-3D-Facial-Priors] How to test on our own datasets (#9)
The pre-training models are uploaded. Thanks for your attention.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


puppeteer.launch({ pipe: true }) may crash due to unhandled stream errors

Steps to reproduce
Tell us about your environment:

Puppeteer version:
Platform / OS version:

macOS 10.14.3 (18D42)
Debian 9 via docker image node:10.15.3-slim

URLs (if applicable):
Node.js version: v10.15.3

What steps will reproduce the problem?
Attempt to puppeteer.launch({ pipe: true }) with any condition that causes Chrome to crash on launch.
To demonstrate, I launch bash instead of Chrome, but you can also reproduce this using just puppeteer.launch({ pipe: true }) in a standard Docker container where Chrome can't use its sandbox. The behavior is very similar.
$ cat puppeteer-pipe-bug.js
const puppeteer = require("puppeteer")

async function main() {
        try {
                const browser = await puppeteer.launch({
                        pipe: true,
                        // This is not Google Chrome, but a misconfiguration in launch() still shouldn't
                        // cause unhandleable errors and crash the Node process
                        executablePath: "/bin/bash",
                        args: ["-c", "sleep 1; kill -9 $?"],
                })
                console.log("no puppeteer.launch() error")
                browser.close()
        } catch (err) {
                console.log("caught error", err)
        }
}

main()

What is the expected result?
puppeteer.launch() should either throw an error, or return a rejected promise in all error cases.
Ideal output:
$ node puppeteer-pipe-bug.js
caught error { Error: Protocol error (Target.setDiscoverTargets): Target closed.
    at Promise (/Users/jitl/src/notion/node_modules/puppeteer/lib/Connection.js:74:56)
    at new Promise (<anonymous>)
    at Connection.send (/Users/jitl/src/notion/node_modules/puppeteer/lib/Connection.js:73:12)
    at Function.create (/Users/jitl/src/notion/node_modules/puppeteer/lib/Browser.js:34:22)
    at Launcher.launch (/Users/jitl/src/notion/node_modules/puppeteer/lib/Launcher.js:177:37)
  message: 'Protocol error (Target.setDiscoverTargets): Target closed.' }

What happens instead?
$ node puppeteer-pipe-bug.js
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: write EPIPE
    at WriteWrap.afterWrite [as oncomplete] (net.js:782:14)
Emitted 'error' event at:
    at onwriteError (_stream_writable.js:431:12)
    at onwrite (_stream_writable.js:456:5)
    at _destroy (internal/streams/destroy.js:40:7)
    at Socket._destroy (net.js:607:3)
    at Socket.destroy (internal/streams/destroy.js:32:8)
    at WriteWrap.afterWrite [as oncomplete] (net.js:784:10)

Here's the workaround I'm using: https://github.com/GoogleChrome/puppeteer/compare/master...justjake:master

👍  + 1 for being able to prevent pipe errors from crashing our process.

@aslushnikov Thank you.


CDataTable custom toolbar buttons possible?

This is more of a question, not sure if the docs are missing this detail (which might make it a bug) or a missing feature in the React component (making it a feature request) but how can I customize the CDataTable to add a custom toolbar to the table (e.g. next to, before or after the table data Filter field) header?
I'm trying to add multi-select support to the table (including a select all in the visible table list) for multi-select delete without having the buttons be above the table.
Multi-select will naturally be something you'd want to combine with pagation (so page size select would be desired), so outside of removing all table options that display at the top of the table (e.g. remove filter and pagation) and adding a custom pagation dropdown next to a new row above the table, it doesn't seem CDataTable can support this.
I really like Coreui and CDataTable, but we need a way to customize the table header. If this is an unsupported feature, maybe you can point to a custom pagation example/usage I could go with so I can build my own table toolbar.
Thanks.

Hmmm... this hard to work with another use case where I simply want to get access to the records visible in the table, not all records that are in the table which are paginated. Meaning if I'm viewing 10 of 1000 records, I want to have a "select all" button which I can set selected to true for the viewable page items.
onFilteredItemsChange is handy but it contains the entire table items, or just the filtered items. Great for a filtered table that you want to export as CSV, or where you want to process everything in the table, but not if you simply want what's viewable in the table page.
Any tips? Am I using it wrong?

Ok, I've made some progress but its not perfect yet:
in my CDataTable I use onPageChange, onPaginationChange and onFilteredItemsChange to track the current page, items per page, and in the filters are used. In my onFilteredItemsChange is used {e => setFilteredItems(e.map(d => d.id)}} to track the available filtered items by ID. Then I have a Select All checkbox that onClick will slice((itemsPerPage*(currentPage-1), (itemsPerPage*currentPage) either the actual source data array, or the filtered data depending on whether filteredItems has something.
This works ok. When I "select all" now I'll get the ids of the records on the current page, even if its filtered.
However I still have a god ugly view with a checkbox above the table, above the table header, just floating there. I can do some CSS magic to make it work, but there must be a way to integrate custom buttons/controls into the header.
Thanks.


Register 0.3.3

@JuliaRegistrator register
Documenter

Registration pull request created: JuliaRegistries/General/113833
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.3.3 -m "<description of version>" c4aa55ce9ae86f342cf17792ac66dc5a7a6b047b
git push origin v0.3.3


Run control file

Any more objections to merging this?

Nope none, merging.  Didn't mean to leave this one sitting out for so long, sorry my bad.


Remove CocoaLumberjack integration

Description of the change
Integration with CocoaLumberjack is problematic since, as of date, a lack of support for resolving unnecessary transitive dependencies, which means, anyone importing the RollbarNotifier, the only component needed in 99% of cases, we're introducing two dependencies into client's applications: CocoaLumberjack and swift-log (used by CocoaLumberjack).
CocoaLumberjack is an outdated library that isn't nearly as popular as it used to, as of today, most mentions of CocoaLumberjack in Swift forums, StackOverflow and Github stop at ~2015.
We want to keep things as tidy as possible, remove clutter which can cause confusion (why does Rollbar import CocoaLumberjack to my project?), and the less code we have to maintain, the better.
So, we've decided to remove this integration before the 3.0.0 release.
Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Maintenance
[x] New release

Related issues

Not being tracked

Checklists
Development

[x] Lint rules pass locally
[x] The code changed/added as part of this pull request has been covered with tests
[x] All tests related to the changed code pass in development

Code review

[x] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[ ] "Ready for review" label attached to the PR and reviewers assigned
[ ] Issue from task tracker has a link to this pull request
[ ] Changes have been reviewed by at least one other engineer

This PR has been closed without merge, this feature was specifically requested back in 2022.
Until I find more information about, we'll keep this closed.


Refine the List Report with Additional Annotations

Tutorials: https://developers.sap.com/tutorials/fiori-tools-cap-modify-list-report.html
Write here how you think we can improve the tutorial ...
The screenshot in Step 2 (Implement a value help, https://developers.sap.com/tutorials/fiori-tools-cap-modify-list-report/jcr:content.github-proxy.1676306710.file/t3-value-help-autogenerated.PNG) is different from what the initial version of the value help shows - see my attached screenshot.
Kind Regards,
Juergen

Comment: My screenshot does not show a column "Name", whereas in the tuturial a screenshot with that column is shown.

Dimitri, can you please respond to the user's feedback?


Windows install?

I'm trying to install Bython on windows with Python 3.7.1, by using pip install bython in the Windows admin command prompt. Pip reports it as installed, but the command prompt won't recognize the bython
command. Am I doing something wrong?

Even though this is not a duplicate of Issue 22, I think it's common enough to close this isssue and focus on the other one.
Another user submitted a workaround using the git bash shell. I suspect the same trick will work with the Linux subsystem for Windows. For now, this is how to solve this issue, but feel free to look into the issue further. A proper Windows installer would of course be desirable.


Monolog > Pass context with breadcrumb

Because this is not very useful:

Thansk for the contribution! This was recently changed in monolog too, see https://github.com/Seldaek/monolog/pull/1214#issuecomment-435683324. How does this interact with that?

It's unrelated. Because Seldaek/monolog#1214 is about the RavenHandler inside Monolog and this PR changes Sentry's Breadcrumb Handler.

Mh yeah right, they're both handler but they do different stuff.
I'm :+1: on this, but could you add tests?

This is a duplicate of #683

Lets get #683 merged then? :)


Use mock  for flaky 'Version failure' test

To address the flakiness of the 'Version failure' test, let's enhance its stability by introducing a mock.

Codecov Report

Merging #89 (7bf6ff7) into master (added9e) will increase coverage by 95.34%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##           master      #89       +/-   ##
===========================================
+ Coverage        0   95.34%   +95.34%
===========================================
  Files           0       19       +19
  Lines           0      365      +365
  Branches        0       53       +53
===========================================
+ Hits            0      348      +348
- Misses          0       15       +15
- Partials        0        2        +2

see 19 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[ENG-4897] Unit tests for Boa add-on + improve Boa add-on

Work in progress ...
Move this PR to COS when https://github.com/CenterForOpenScience/osf.io/pull/10474 is merged

Replaced by https://github.com/CenterForOpenScience/osf.io/pull/10475 (also fixed wrong ticket number and branch name)

Reopened for diff


Confuse Cluster Labels

I'm submitting a ...  (check one with "x")
[ ] bug report (please search on github for a similar issue before submiting)
[x] feature request
[ ] support request

Not sure if it's a bug report or a feature request. I have try the zeitline with lots of data (NYC Flights 2014), and try to play a bit with drag'n drop.
Current behavior
When I am moving the intervals, clusters of 99+ get completly collapsed.  Also the small clusters are so near one from other than the labels just got confuse.
Expected behavior
I should see the differents clusters, by maybe separate them with a small white line.
Minimal reproduction of the problem with instructions
Code Pen

D3 timeline version: 0.0.2
Browser and environment: Firefox 54.0.1, Mac OSX 10.11.6

@cyberschnaps Can you have a look there ?. @BafS just made a cleaner seperation between adjacent clusters, it's far better ;).
We are just waiting your feedbacks for closing this issue.

@froger @BafS sorry for coming back late on this, could you provide a working example for check, the one above leads to documentation. Thanks guys 👍

@cyberschnaps The link is the right one but the example was not loading, it should be working now.

Noooooooob here, sorry ^^
So it's indeed better, but we still have this problem of overlapping 99+'s. Are the clusters separated by a min. 2px distance?
It seems like a lot less (<0px) but maybe it's just a Retina screen thing on my side.
In order to make things straight we would now have 2 options:
1 — The quickest: augment the minimum distance between clusters and points until the numbers above the dots don't overlap anymore.
2 — The best, but very surely too late to do this at this point: The minimal distance of 2px between clusters should be calculated fro label to label, therefore any label coming too close to another would trigger the clustering of the represented dots.
@BafS waddaya think?

Closing this issue, as it has been in stale for a while


Unable to hand write in ios by using pdf expert

IOS user here,
Thank you very much for the plugin,
But I am still unable to hand write on IOS as I am using pdf expert app, it can open on Pdfexpert but it won't save on obsidian folder.

I can edit and hand write successfully by using markup app,
can you please advice?
Regards,
Denny

Any help?

I'll remove it from the README. I don't have an iPad, so I can't test it. The list of compatible apps is made by the community.


Mod does not work in Version 2.13

As said on the nexus mods page, this mod no longer works in the most recent Cyberpunk 2077 update, and as such has broken loads of other mods.
When installed correctly, it does not create the Mod Menu and does not recognise mods installed that rely on this mod.

@Override5 It does actually work on 2.13 so check the latest red4ext log in Cyberpunk 2077\red4ext\logs\ at least for more info about what's wrong


Updates outdated packages

Hey @xkickflip,
I've taken a stab at updating the outdated modules for this module and updated them, including package.json to adhere to the new format.
Also tweaked and re-enabled two of the tests you had commented.
Finally, I've added Node 6.x to the Travis config; locally tests run fine in 5.x and 6.x so am confident they should work out fine on Travis too. If not, happy to help!
Let me know what you think!

Hey @xkickflip - just wanted to follow up with you and see if I can help with this somehow?


Alan builds a cache

This story is built upon the meeing notes and a discussion that happened in #65.
I'd love to iterate on that and polish it, please let me know how to make it better :) 🙏

I forgot to submit my review and now Ryan mentioned the same points. Whoops

Thanks for the feedback, both of you 🙏 I'll try to address them this afternoon!

I've adressed a couple of small nits for now. I'll try to work my way towards a relevant FAQ asap!

I think I've adressed most of the comments, ready for the next pass! 😁

I think this is basically ready to merge


Update various weapon descriptions and images for accuracy

Blowgun
Blowgun icon is a wooden stick, rather than a blowgun (not that we specifically have a blowgun icon, but we have something better).

Change the icon to use something more appropriate. ex: icons/commodities/tech/pipe-metal.webp

Club
The club uses a heavily spiked icon which doesn't match the bludgeoning damage the weapon does.

Change the icon to something more appropriate. ex: icons/weapons/clubs/club-simple-black.webp

Flail
The flail is using the morningstar icon, and presents the item as spiked, while the flail actually deals bludgeoning.

Change icon of the flail to something more appropriate. ex: icons/weapons/maces/flail-studded-grey.webp
Change the description to something more appropriate. ex: "A heavy iron ball attached to a stout wooden shaft with a heavy chain, allowing it to deal devastating damage at the end of wide, sweeping swings."

Mace
The mace in the system has a description and icon that doesn't match the mechanical nature of the weapon.

Change the icon of the Mace to something more appropriate. ex: icons/weapons/maces/mace-flanged-steel-grey.webp
Change the description of the Mace to something more appropriate. ex: "A heavy metal head mounted to the end of a sturdy haft meant to deliver powerful, crushing blows capable of shattering armor and bone alike."

Pike
The pike has an icon more fitting of a pole-axe, not a long piercing spear.

Change the icon to something more fitting. Ex: icons/weapons/polearms/pike-flared-red.webp

Trident
The trident has an icon that is three spears, rather than a proper trident, which foundry now has.

Change the icon to something more fitting. Ex: icons/weapons/polearms/trident-silver-blue.webp

@arbron
Quick comment ! :) Thank you for accepting the PR.


[Question] Is there any reason why Eearly Access 3.3.4 missing lwjgl.jar?

Question
Steps to reproduce:

Go to https://www.lwjgl.org/customize
Choose Everything Preset
Choose macOS arm64
Click Download Zip
Extract the zip file
Look for lwjgl.jar but not found

Notes:
The lwjgl.jar file is available in 3.3.3

Hey @runlevel5,
Thanks, fixed with https://github.com/LWJGL/lwjgl3-www/commit/80799a4a3c1e70f61125a9407f6bd8118f57aa29.


Add bell-slash icon

Adds a bell-slash icon for use with the upcoming Do Not Disturb mode.

Sorry I just pushed changes to main, might need to resolve conflicts manually and rebuild


Jstzd: call contract

Context
call contract:
leounoki-jstz-139
transfer:
leounoki-jstz-138
Description
This PR implements the private method transfer and a public method call_contract` on top of the transfer method
Manually testing the PR
Unit tests for transfer options builder and integration test for call_contract

closing for  https://github.com/jstz-dev/jstz/pull/639


Update icons on the templates

Description:
Update icons on the sample templates (depending on their category)
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Categories:

Services
Mediation Patterns
Message Transformation
Error Handling
Unit Testing
SaaS Integrations
Database Integration
Messaging
Auth and User Management
Miscellaneous


bloxstrap fails to download SensApi.dll and it says to share the memory dump here but i cant put it here because github doesnt support the type of file .tmp

and sometimes it doesnt fail after a 2nd try

Roblox issue not bloxstrap


Pip fails due to MTU mismatch

When building a container, pip fails if MTU of the host external network is less than 1500. It throws the following error:
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)",)': /simple/flask
ERROR: Could not find a version that satisfies the requirement Flask (from -r requirements.txt (line 1)) (from versions: none)
ERROR: No matching distribution found for Flask (from -r requirements.txt (line 1))
The command '/bin/sh -c pip install --trusted-host pypi.python.org -r requirements.txt' returned a non-zero code: 1
To fix it, the MTU of the docker bridge network should either be less than or equal to that of the host.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit 9d067e9d734e8f2808e9fa7ecf406706780649e1
https://deploy-preview-9249--docsdocker.netlify.com


Update OpenLane stable tag ->2022.06.22_01.42.47

Signed-off-by: vijayank88<EMAIL_ADDRESS>Update OpenLane stable tag ->2022.06.22_01.42.47

@vvbandeira
sram_test secure-memory-wrapper have issue with latest Magic commit and fails with DRC violation.
Created github issue here: https://github.com/The-OpenROAD-Project/OpenLane/issues/1152
Once we get fix will remove the workaround used:
#1152 gh issue
set ::env(QUIT_ON_MAGIC_DRC) "0"

Above setting will make CI green.

@vijayank88 the design 'riscduino_qcore rdq_uart_i2cm_usb_spi_top' also failed with Magic, is this the same issue?

@vijayank88 the design 'riscduino_qcore rdq_uart_i2cm_usb_spi_top' also failed with Magic, is this the same issue?

@vvbandeira
I ran locally. I am not faced any magic related issues.
I seen such random failures in CI. Just re-running again will be passing. Re-run again, let see.


Including markdown files from the page directory

Hello,
Is there a way to include .md files in .jade template files? The MD files are located in the folders of each respective page being rendered by woods.
If in a .jade template, I use something like : include code.md then it looks for code.md in templates directory instead of the code.md in the content of the page being rendered.
Would you happen to know a workaround for that? I need to include .md files placed under folder of the respective page.
Thanks!

You could try if it works if you walk up the folder hierarchy to get to the correct file. Something like include ../../content/whatever/text.md.
But in general it's a could idea to keep your content and your styling seperate. What are you trying to achieve with this? Maybe I could suggest a better way at solving it

Thank you. Although I've reverted to using a single .Md file, which was another workaround for me.
I was trying to include another .md file which in each of the page's respective folder into a specific place in the main content of the page. Like there are photos in each folder which get automatically picked up by woods and inserted in the main content; I was trying to include, instead of an image another .md file with a specific name. I hope that makes sense.


Strip loc from GraphQL AST

Fixes https://github.com/apollostack/apollo-client/issues/660

Great!

https://github.com/apollostack/graphql-tag/pull/10


Clarify behavior of ReadFrom.NEAREST

ReadFrom.NEAREST is described as the node with the 'lowest latency'.  It appears this is measured via the total response time to the CLUSTER NODES command. This can be confusing if you are expecting it to be based purely on network latency, as a busy-but-near node may take longer than idle-but-far.
Please let me know if I am correct here and I'll submit some documentation updates to clarify this.

This can be confusing if you are expecting it to be based purely on network latency

How else would you measure the network latency to the node? We can only leverage mechanisms provided by the Redis connection itself and using the latency of CLUSTER NODES completion is a by-product of obtaining the topology.
I agree that a busy node is going to yield a higher latency than an idle node. A way out could be renaming the constant to LOWEST_LATENCY.

Yes, LOWEST_LATENCY or FASTEST might be a better name.
I looked as I was originally thinking NEAREST could act as an optimization to reduce inter-AZ traffic in AWS, assuming that redis was spread across the AZs along with clients, and replication lag wasn't a concern.  I was then curious how that was calculated.  I had hoped redis had some in-protocol method for determining that.
I ran a test in AWS with one node in the same availability zone as the client and one in another, and observed that the client flip-flopped between the two. That is a testament to AWS's inter-zone network speed I suppose.
As to how to better detect NEAREST:
First I might consider the response time to a redis PING command instead of CLUSTER NODES, since PING feels like it would be lighter  weight.
Another thought is to use a ICMP Ping, but that is frequently blocked plus I gather it is difficult to do from Java.
Along those lines, sending a packet we know will trigger a connection-reset from the other and timing that could do it, but constructing those kinds of packets frequently requires root, and again I'm not sure there is a way to express that in Java. Plus packet games make firewalls unhappy and draw the ire of those who monitor firewall logs.
Timing the duration of creating a tcp connection, but not any application-level interaction, might be a way. The redis  still have to call accept() on the socket but not deal with any data yet.  This may not be a great idea if you have a lot of clients and a short interval, as they'll now be inundating Redis with connection open/closes.
Of those I'm thinking that using a Redis PING command is the best we can do, which is only a small improvement over CLUSTER NODES.
As a potential additional mechanism, one might look at the IP of the remote connection vs the local connection and give priority to the one that has the most matching bits.  That would definitely prefer same-subnet nodes.  In AWS one can also arrange the IP space such that AvailabilityZone (ie datacenter)  is  indicated in the most-significant-bits -- then one could use this new mechanism to reduce inter-AZ traffic even if redis is not in the same specific subnet as the clients. It'd have to be an  explicit alternative (ReadFrom.CLOSEST_MATCHING_IP or something like that) though.

With regards to locality, we have ReadFrom.subnet(cidrNotations) and ReadFrom.regex(Pattern) methods to allow applications sticking to certain subnets or addresses matching a pattern. LOWEST_LATENCY seems to be the least clunky name so I'd go with that one and reflect how it works in the docs.


choosing car for test mode does not exclude validation

This setting (I assume it's pretty new) says that it excludes validation mode, but when I enter validation, the car I chose in test mode is still active. Is it intended that this should only work for test mode but not actually change the map's vehicle? I feel either this text should be changed, or the map's vehicle should be reverted when entering validation

Ahh, I mean the window will not show when validating, only when entering test mode.
It's a map property, so it should persist.