text:
Child reconciliation algorithm question

@localvoid, hello! :)
Thank you for taking the time to go into such detail about how kivi's diffing algorithm works in syncChildren. I just had a few questions of clarification on some of the cases that you've outlined in your comments.
Most cases make perfect sense to me, but I had a question about one case that wasn't mentioned.
So in review,
--> [ a d b c ] <--
--> [ a b d c ] <--

Here a and c are the same so we keep drilling into the list both ways. Makes sense. We increment first indices, and decrement last indices, on both lists.
--> [ d b ] <--
--> [ b d ] <--

Here we can flip-flop d and b.  Still makes sense. We do insertBefore trick and swap them.
--> [ e j ] <--
--> [ k r ] <--

Nothing matches, so we escape into special case, and do more complicated things. Still makes sense. Do special increasing subsequence and track if nodes have been moved, etc.
Now, this case... What case does this fall into?
    [ a b ] <--
--> [ b d ]

Is there a special way to handle this? Or does it fall into the above case (where nothing matches) ?
Thanks again :)

This is the edge case when it will use more DOM ops then it is necessary because of prefix/suffix optimization, I've added a note about this case in ivi sources: https://github.com/ivijs/ivi/blob/dd4f3f3c92e1c758f5e3df2e803604bc071ce9cd/src/vdom/implementation.ts#L1651-L1652
It should go through this code path:

Move node "b": https://github.com/localvoid/kivi/blob/26eae1043efb9cc4ba7e54c1c4ab30389a669149/lib/vnode.ts#L1572-L1589
Find all removed/inserted nodes and detect if someone were moved: https://github.com/localvoid/kivi/blob/26eae1043efb9cc4ba7e54c1c4ab30389a669149/lib/vnode.ts#L1628-L1664
Remove node "a": https://github.com/localvoid/kivi/blob/26eae1043efb9cc4ba7e54c1c4ab30389a669149/lib/vnode.ts#L1706-L1713
Insert node "d": https://github.com/localvoid/kivi/blob/26eae1043efb9cc4ba7e54c1c4ab30389a669149/lib/vnode.ts#L1738-L1748

It is possible to slightly optimize this use case when one DOM node is left after prefix/suffix phase, but I am not sure if it is worth it: https://github.com/ivijs/ivi/blob/dd4f3f3c92e1c758f5e3df2e803604bc071ce9cd/src/vdom/implementation.ts#L1767-L1768
ivi has a slightly modified version of this algo. It can handle use cases with implicit positional indexing, when nodes without explicit keys automatically assigned with implicit keys to support code patterns like this <div>{condition ? <ComponentA> : null}<ComponentA></div>. Most vdom libraries doesn't handle such use cases, and instead of removing/inserting first ComponentA when condition is changing, they will remove/insert the second one, and internal state of this components will be incorrect. Here is an example when vue2 loses internal state, because it doesn't support this edge case: https://jsfiddle.net/4ppdfyy8/

authors: dmjio localvoid

repo: localvoid/kivi


text:
Sharing data for force-based cost functions

In GitLab by @cmastalli on Nov 15, 2019, 17:17
null

In GitLab by @cmastalli on Nov 15, 2019, 17:17
assigned to @cmastalli

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Colab use-case: It seems that the gevent monkey-patching is being used.

Prerequisites

[X] I am using the latest version of Locust
[X] I am reporting a bug, not asking a question

Description
I'm using Locust on Google colab, since I'm in need of GPU processing.
While the installation via pip or cloning via git of the lastest version were sucessful, I'm facing an issue on importing the library.
Something about this  GEVENT_SUPPORT environmental vairable.
The following message is being repeated infinitly just when executing import locust

It seems that the gevent monkey-patching is being used.
Please set an environment variable with:
GEVENT_SUPPORT=True
to enable gevent support in the debugger.
It seems that the gevent monkey-patching is being used.
Please set an environment variable with:
GEVENT_SUPPORT=True
to enable gevent support in the debugger.
.
.
.

Command line
python main.py
Locustfile contents
import locust

Python version
3.10.12
Locust version
2.18.3
Operating system
linux

You have two options: set the GEVENT_SUPPORT to True, or find a way to run locust without a debugger (why a debugger is trying to attach, I have no idea, but it must be something in your setup :)

(what you are experiencing is a Gevent issue, not locust, so there is little we can do about it)

Thanks @cyberw  for the quick reply.
I tried setting GEVENT_SUPPORT to True with 2 commands, via python's os and via colab's terminal, but the issue persisted.

I dont really know what colab is, sorry :)

Colab is a hosted Jupyter Notebook service that requires no setup to use and provides free access to computing resources, including GPUs and TPUs. Colab is especially well suited to machine learning, data science, and education.

In other words it's like a free powerful linux VM provided by google suited for ML/AI and Data Science.

authors: AntonioTannoury cyberw

repo: locustio/locust

license: mit

license_source: bigquery


text:
Feat: add zinc sink

Proposed Changes:

add zinc sink

Which issue(s) this PR fixes:

Fixes #
Additional documentation:
ZincSearch is the simplest and easiest search system to get up and running. It's an open source easy-to-use search engine to solves your observability needs.
pipelines:
  - name: local
    sources:
      - type: file
        name: demo
        paths:
          - /tmp/log/*.log
        fields:
          topic: "loggie"
    sink:
      type: zinc
      host: "http://127.0.0.1:4080"
      username: admin
      password: Complexpass#123
      index: "demo"
      printEvents: true
      codec:
        pretty: false

Is it possible to replace this zinc sink with an HTTP sink ?

Is it possible to replace this zinc sink with an HTTP sink ?

替换了之后需要再加一层数据转换，也无法批量插入数据，ngjson的格式

已按建议修改了所有的代码 @ethfoo

已按建议修改了所有的代码 @ethfoo

又加了几个review comment，麻烦再看下

@shaoyun 是否在微信群里？如果不在的话麻烦加一下：https://loggie-io.github.io/docs/getting-started/overview/#_3

source: gharchive/pull-request

authors: ethfoo shaoyun

repo: loggie-io/loggie


text:
Ability to pass array of controllers to decorators.add.call()

I love love it if I could pass an array of controllers to the decorators.add.call function instead of doing it one-by-one or iterating over the array. Is this possible?
Thanks!

Just to clarify before I make any changes to baucis-decorators, do you mean something like this?
var controllers = [ResourceController, LogController, UserController];
var decorators = ['baucis-decorator-deep-select'];

decorators.add.call(controllers, decorators);

Exactly. I tried that but I don't think it worked. I was also having another issue selecting (select=-geometry) AND populating (i.e. select=sites.descriptions), which together would be select=-geometry sites.descriptions. Apparently you can't deselect and select in the same query?

Apparently you can't deselect and select in the same query?

Yeah I believe either mongo or mongoose throws an error when you do that, which makes sense because when you select properties, you're telling mongo you only want those properties, so there's no point in deselecting any others.  And the only time it might make sense to deselect properties is when you know you want all properties except for the ones specified, which is something I've actually never found a use for, but I'm sure it could be useful in some cases.  I don't think I designed this decorator to support that particular functionality but it would be trivial to add it.
I'll implement the ability to use an array of controllers real quick.

You should be able to use an array of controllers now.  See the change here.  You should be able to use npm update baucis-decorators --save.  Let me know if for some reason it doesn't work for you.

Also, I might move https://github.com/loggur/baucis-decorator-deep-select/blob/master/temp-mongoose-patch.js to its own repo so that regular mongoose users have it as an alternative to mongoose-deep-select until mongoose 4.2 is out.  See my pull request for details on how the patch (4.2 deep select) will work.

Whoops.  Fixed a silly mistake.  Make sure to use baucis-decorators v1.0.4.

Thanks for the quick response! Regarding deselecting and selecting at the same time, I have datasets containing geometry objects with pretty large arrays of coordinates that I would like to deselect (in a tabular view rather than a map view) so the query is faster and response is smaller. However, I would like to deep populate children as well. Using the select as populate method, can this be done? If not, do you have any ideas on how to address this issue?

Are you using baucis?  This decorator is designed to work with baucis controllers.
Either way, you should be able to pull temp-mongoose-patch.js from this repo (until mongoose@^4.2.0) and use it to perform any combination of select and populate.  It will allow you to do stuff like this:
Comment.populate({
  path: 'createdBy',
  model: 'User',
  select: '-level',             // select all but `level` property
  populate: [{
    path: 'followers',          // populate user's followers
    select: 'name followers',   // select only their name and followers
    options: { limit: 5 },
    populate: {                 // can also use a single object instead of array of objects
      path: 'followers',        // populate the followers' followers
      select: 'name',           // etc.
      options: { limit: 2 }
    }
  }]
});

I actually haven't yet verified that the patch itself works lol, as I've been using a modified mongoose instead, but it should work in theory.  Let me know if it doesn't.  :)

I am using baucis. What you're showing there is pretty much what I'd like to do. How would I pass that a query like that to the API using a get request?
Something like /api/v1/asdf?populate={"path": "createdBy", "model": "User", "select": "-level", ...}  ?
Do I need to wire anything additional up while defining controllers and/or models?

Something like /api/v1/asdf?populate={"path": "createdBy", "model": "User", "select": "-level", ...} ?

That might work.  Try it out and let me know.  In the mean time, I'll explain a bit.
All this decorator does is convert something like /api/comment/123?select=createdBy.followers.name createdBy.followers.followers.name to the above Comment.populate argument (nested select+populate object).  The temporary patch is for mongoose itself, as it's easier and more efficient to handle the deep population within mongoose's internals, and it's kinda where all the real "magic" happens.
So you should in theory be able to use your asdf?populate={...} query and it will just work, with or without this decorator, as long as you're either using the temporary patch or a patched version of mongoose.  Although, you'll probably need to set the req.baucis.allowPopulateSelect flag to true.
I should probably add some tests or something to verify that the temporary patch works correctly in this context.  Although it may not be worth the effort since the real patch has been bumped up to mongoose@4.1.

Ahh, gotcha. That makes much more sense. I'll give it a shot and let you know how it goes.

Just tried out the temp patch lol.  Didn't work, and it looks like it'll be a bit of a pain to fix it, so use my fork of mongoose instead.  I believe this should work:
npm install timbur/mongoose --save

I've got some basic questions that are messing me up (probably since I'm a total javascript newb).
To keep it simple, I'm trying this out with 2 models:
States:
var mongoose = require('mongoose'),
    Schema = mongoose.Schema,
    relationship = require("mongoose-relationship");

var StateSchema = new Schema({
  name: {type: String, required: true},
  abbreviation: String,
  smithsonian_code: Number,
  fips_code: Number,
  counties: [{ type: Schema.Types.ObjectId, ref: 'County' }],
  geometry: {
    type: {type: String},
    coordinates: []
  }
});
StateSchema.index({geometry: '2dsphere'});
module.exports = mongoose.model('State', StateSchema);

Counties:
var mongoose = require('mongoose'),
    Schema = mongoose.Schema,
    relationship = require("mongoose-relationship");

var CountySchema = new Schema({
    name: String,
    smithsonian_code: String,
    fips_code: Number,
    state: { type: Schema.Types.ObjectId, ref: 'State', childPath: "counties"},
    sites: [{ type: Schema.Types.ObjectId, ref: 'Site' }],
    geometry: {
        type: {type: String},
        coordinates: []
    }
});
CountySchema.index({geometry: '2dsphere'});
CountySchema.plugin(relationship, {relationshipPathName: 'state'});
module.exports = mongoose.model('County', CountySchema);

And a baucis API written pretty much like so:
var express = require('express');
var baucis = require('baucis');
var vivify = require('baucis-vivify');
var decorators = require('baucis-decorators');

module.exports = function(app) {
    var governmentAPI = baucis();
    var states = baucis.rest('State');
    var counties = baucis.rest('County');
    var state_counties = states.vivify('counties');
    decorators.add.call([states, counties], [
        'baucis-decorator-deep-select'
    ]);
    app.use('/api/v1/government', baucis());
}

With those models and the baucis API code, will the temp-mongoose-patch code be injected and allow for subpopulation? Where do I set the req.baucis.allowPopulateSelect flag to true? With the above code, I can't subpopulate and deselect.

I removed the temp patch from this decorator.  You should be able to use npm update baucis-decorator-deep-select --save and then make sure you're using timbur/mongoose.  If you run into any problems (peer dependencies, etc.), try removing node_modules then installing timbur/mongoose first and then npm install to reinstall the others.

Where do I set the req.baucis.allowPopulateSelect flag to true?

baucis-decorator-deep-select will set req.baucis.allowPopulateSelect to true if it detects a nested select query parameter.  But if you're going to pass a JSON object to the populate query parameter, you'll need to set it to true yourself.  You can do it a few different ways, but this should work:
var express = require('express');
var baucis = require('baucis');
var vivify = require('baucis-vivify');
var decorators = require('baucis-decorators');

module.exports = function(app) {
    var governmentAPI = baucis();
    var states = baucis.rest('State');
    var counties = baucis.rest('County');
    var controllers = [states, counties];
    var state_counties = states.vivify('counties');

    decorators.add.call(controllers, [
        'baucis-decorator-deep-select'
    ]);

    controllers.forEach(function (controller) {
        controller.use(function (req, res, next) {
            req.baucis.allowPopulateSelect = true;
            next();
        });
    });

    app.use('/api/v1/government', baucis());
}

GET api/v1/government/counties?populate={"path": "state", "model": "State", "select": "-geometry"} returned the correct response!
GET api/v1/government/counties?select=name smithsonian_code fips_code state.name state.smithsonian_code state.fips_code state.abbreviation also returned the correct response!
So it looks like I can pass use JSON object or dotted notation to return the correct response. Awesome!

Nice!  Glad to see it works for you.  :)

Thanks for all your assistance!

authors: brownish timbur

repo: loggur/baucis-decorator-deep-select


text:
feat: encrypted chat

This is a breaking change
Basic encrypted chat. When sharing an invite link the public key is shared instead of the address, therefore it is possible to create a shared secret with ECDH that is used as a symmetric encryption key. The waku topic is the hash of a value derived from the symmetric encryption key. The localStorage is also encrypted, both the keys and the values.
Known issues:

[ ] The chat id is the actual encryption key and it is used in the URL for both private chats and group chats. Therefore if someone takes a picture of the screen may be able to decrypt a conversation. This can be fixed by using a different value derived from the chat id in the URL.
[ ] The invite messages are put in a special topic derived from the invited user's public key and they are encrypted, but they are encrypted with a key derived from the invited user's public key. So if you know someone then you can see who invites them to a chat (but not the actuals conversations, because that is encrypted with the ECDH shared secret). This can be fixed by using ECIES with an ephemeral public key for the invites so that only the invitee can see the actual invite messages.
[ ] The messages are currently not signed, so in a group chat it is possible to impersonate others. The fix could be to use signing for the messages.

I tried it and it works quite well! I found two things that broke:
* when someone starts chatting with me (private chat), I am no longer redirected from the invite page to the chat

* If i already have private a chat with someone and I past the invite link, I am not redirected to that chat. Instead I see the invite screen with options `Start new chat` and `Decline`

I fixed the second one.
Regarding the first one, there is only a redirect if you are on the invite page (e.g. showing your QR code) otherwise it could be bad UX if the app would just redirect when you are typing in a different chat. On the invite page it is working for me, can you please check if it is working for you?

Yes it works now, I get this screen as the person who is inviting someone once the chat is created.

authors: agazso vojtechsimetka


text:
🛑 PotusTV is down

In 2e63a25, PotusTV (https://tv.potus.ar) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PotusTV is back up in c667311.

license: MIT


text:
Logstash 2.0.0 crashes if exchange doesn't exist

I have logstash pull data from a bunch of RabbitMQ. If for whatever reason, on one of the RabbitMQ, the exchange doesn't exist, logstash crashes with the following vague message (in my case, I called the exchange 'logstash'):
{:timestamp=>"2015-11-04T13:18:12.208000-0700", :message=>"The error reported is: \n  NOT_FOUND - no exchange 'logstash' in vhost '/'"}

If it's any useful, here is the config:
input {
        # Some info
        rabbitmq {
                queue => "logstash_queue"
                host => "10.0.0.200"
                exchange => "logstash"
        }
}

Logstash shouldn't crash due to that issue. It should keep trying (like when it fails to connect to it).
I don't remember having this issue on 1.5.X.
System info:

Ubuntu 14.04.3 LTS 64 bit
Logstash 2.0.0 from Elastic repositories.
RabbitMQ from Ubuntu repositories (the system on which they run is also using Ubuntu 14.04.3 LTS 64 bit).

Thanks for reporting this @ThomasdOtreppe ! I'll take a look sometime this week

Any updates on this?

Any update? This is a pretty serious bug.

What do you mean by "crashes", does the entire JVM process terminate?

Yes.

@ThomasdOtreppe I'll try and take a look tomorrow.
@michaelklishin your thoughts? Should we be handling this differently at the Logstash level?

@andrewvc declare things that do not exist?

@andrewvc a good behaving amqp client should declare missing exchanges, queues and bindings and that's what the logstash rabbitmq input also should do.
I also ran into this issue
Besides that, the "exchange_type" parameter seems to be optional, whilst for the output plugin it is an obligatory parameter. Not a huge problem as such, but both input & output rabbitmq plugins should have the same behavior in this regard.

@andrewvc Have you had a chance to test?

@smetj @ThomasdOtreppe thanks for your input, I have a patch up here: https://github.com/logstash-plugins/logstash-input-rabbitmq/issues/48
I'm hoping to merge it and release it soon.

@smetj @ThomasdOtreppe correction, the patch is here: https://github.com/logstash-plugins/logstash-input-rabbitmq/pull/72

authors: ThomasdOtreppe andrewvc gromit6891 michaelklishin smetj


text:
update to new event api

Thanks for contributing to Logstash! If you haven't already signed our CLA, here's a handy link: https://www.elastic.co/contributor-agreement/

LGTM

authors: suyograo talevy


text:
kerberos fail

[2019-03-13T16:33:14,906][ERROR][logstash.outputs.webhdfs ] Webhdfs check request failed. (namenode: vm32102:25002, Exception: gss_init_sec_context did not return GSS_S_COMPLETE: Unspecified GSS failure.  Minor code may provide more information
No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_1000)
)

output {
webhdfs {
host => "vm32103"
port => 25002
standby_host => "vm32102"
standby_port => 25002
user => "hdfs"
path => "/huawei/test.log"
compression => "none"
codec => "json"
use_kerberos_auth => true
kerberos_keytab => "/root/eoitek/user.keytab"
}

hi @zhangxinlong633
I configured the keytab directory properly. Why is it that when running logstash the file is not found? no such file to load -- gssapi
Can you help me?
[2019-04-30T10:08:09,433][DEBUG][logstash.codecs.line     ] config LogStash::Codecs::Line/@delimiter = "\n"
[2019-04-30T10:08:09,439][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@path = "/user/whg/test-logstash.text"
[2019-04-30T10:08:09,439][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_kerberos_auth = true
[2019-04-30T10:08:09,440][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@port = 50070
[2019-04-30T10:08:09,440][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@host = "m1.node.hadoop"
[2019-04-30T10:08:09,440][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@kerberos_keytab = "/home/kevin/keytab/whg.keytab"
[2019-04-30T10:08:09,440][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@id = "976429169b2c71d6e4fa8f4820a6efa81b8d270dc52f99a616cbb433467db226"
[2019-04-30T10:08:09,441][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@user = "whg"
[2019-04-30T10:08:09,441][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@enable_metric = true
[2019-04-30T10:08:09,441][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@codec = <LogStash::Codecs::Line id=>"line_9a0acec0-ea1d-4fdd-8f3e-612bf05d3ea5", enable_metric=>true, charset=>"UTF-8", delimiter=>"\n">
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@workers = 1
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@standby_host = false
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@standby_port = 50070
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@idle_flush_time = 1
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@flush_size = 500
[2019-04-30T10:08:09,442][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@open_timeout = 30
[2019-04-30T10:08:09,443][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@read_timeout = 30
[2019-04-30T10:08:09,443][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_httpfs = false
[2019-04-30T10:08:09,443][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@single_file_per_thread = false
[2019-04-30T10:08:09,443][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_known_errors = true
[2019-04-30T10:08:09,444][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_interval = 0.5
[2019-04-30T10:08:09,457][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_times = 5
[2019-04-30T10:08:09,458][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@compression = "none"
[2019-04-30T10:08:09,458][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@snappy_bufsize = 32768
[2019-04-30T10:08:09,458][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@snappy_format = "stream"
[2019-04-30T10:08:09,459][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_ssl_auth = false
[2019-04-30T10:08:09,493][DEBUG][logstash.javapipeline    ] Starting pipeline {:pipeline_id=>"main"}
warning: thread "[main]-pipeline-manager" terminated with exception (report_on_exception is true):
LoadError: no such file to load -- gssapi
                  require at org/jruby/RubyKernel.java:984
                  require at /usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/polyglot-0.3.5/lib/polyglot.rb:65
           prepare_client at /usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/logstash-output-webhdfs-3.0.6/lib/logstash/outputs/webhdfs_helper.rb:27
                 register at /usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/logstash-output-webhdfs-3.0.6/lib/logstash/outputs/webhdfs.rb:153
                 register at org/logstash/config/ir/compiler/OutputStrategyExt.java:106
                 register at org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:48
         register_plugins at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:191
                     each at org/jruby/RubyArray.java:1792
         register_plugins at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:190
  maybe_setup_out_plugins at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:445
            start_workers at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:203
                      run at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:145
                    start at /usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:104
[2019-04-30T10:08:09,758][ERROR][logstash.agent           ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
[2019-04-30T10:08:09,890][DEBUG][logstash.agent           ] Starting puma
[2019-04-30T10:08:09,926][DEBUG][logstash.agent           ] Trying to start WebServer {:port=>9600}
[2019-04-30T10:08:09,935][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"ParNew"}
[2019-04-30T10:08:09,937][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"ConcurrentMarkSweep"}
[2019-04-30T10:08:10,017][DEBUG][logstash.api.service     ] [api-service] start
[2019-04-30T10:08:10,042][ERROR][org.logstash.Logstash    ] java.lang.IllegalStateException: Logstash stopped processing because of an error: (LoadError) no such file to load -- gssapi

kevin@ubuntu-kevin:~/test$ ll /home/kevin/keytab/whg.keytab
-rw-rw-r-- 1 kevin kevin 442 4月  30 09:52 /home/kevin/keytab/whg.keytab
kevin@ubuntu-kevin:~/test$ tail -10 test.conf
  webhdfs {
    host => "m1.node.hadoop"
    port => 50070
    path => "/user/whg/test-logstash.text"
    user => "whg"
    kerberos_keytab => "/home/kevin/keytab/whg.keytab"
    use_kerberos_auth => true
  }

}

kevin@ubuntu-kevin:~/test$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: whg@EXAMPLE.CN

Valid starting       Expires              Service principal
2019-04-30T09:54:37  2019-05-01T09:54:37  krbtgt/EXAMPLE.CN@EXAMPLE.CN
2019-04-30T09:54:47  2019-05-01T09:54:37  HTTP/m1.node.hadoop@
2019-04-30T09:54:47  2019-05-01T09:54:37  HTTP/m1.node.hadoop@EXAMPLE.CN

use kerberos webhdfs start error with exception "no such file to load -- gssapi"
According @dengshaochun to the operation of xx, I installed gssapi for logstash and it can be used normally. But only if you get the TGT on the host using kinit. Just like your error message.
But I just wonder, parameters of the incoming kerberos_keytab meaning? When I commented out the parameter, I noticed that logstash worked properly.
However, if you use this method in docker (getting the TGT through kinit), you will be in trouble. All I try again use kdestroy destruction of the current TGT then redirect kerberos_keytab parameters. But it was found to have reported another error.
[2019-04-30T10:36:39,030][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@path = "/user/whg/test-logstash.text"
[2019-04-30T10:36:39,034][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_kerberos_auth = true
[2019-04-30T10:36:39,034][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@port = 50070
[2019-04-30T10:36:39,034][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@host = "m1.node.hadoop"
[2019-04-30T10:36:39,035][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@kerberos_keytab = "/home/kevin/keytab/whg.keytab"
[2019-04-30T10:36:39,035][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@id = "976429169b2c71d6e4fa8f4820a6efa81b8d270dc52f99a616cbb433467db226"
[2019-04-30T10:36:39,035][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@user = "whg"
[2019-04-30T10:36:39,037][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@enable_metric = true
[2019-04-30T10:36:39,037][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@codec = <LogStash::Codecs::Line id=>"line_6a791df9-470b-4d32-a358-9801f129193b", enable_metric=>true, charset=>"UTF-8", delimiter=>"\n">
[2019-04-30T10:36:39,038][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@workers = 1
[2019-04-30T10:36:39,038][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@standby_host = false
[2019-04-30T10:36:39,038][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@standby_port = 50070
[2019-04-30T10:36:39,039][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@idle_flush_time = 1
[2019-04-30T10:36:39,039][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@flush_size = 500
[2019-04-30T10:36:39,039][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@open_timeout = 30
[2019-04-30T10:36:39,039][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@read_timeout = 30
[2019-04-30T10:36:39,040][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_httpfs = false
[2019-04-30T10:36:39,040][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@single_file_per_thread = false
[2019-04-30T10:36:39,040][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_known_errors = true
[2019-04-30T10:36:39,041][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_interval = 0.5
[2019-04-30T10:36:39,042][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@retry_times = 5
[2019-04-30T10:36:39,042][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@compression = "none"
[2019-04-30T10:36:39,042][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@snappy_bufsize = 32768
[2019-04-30T10:36:39,043][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@snappy_format = "stream"
[2019-04-30T10:36:39,044][DEBUG][logstash.outputs.webhdfs ] config LogStash::Outputs::WebHdfs/@use_ssl_auth = false
[2019-04-30T10:36:39,079][DEBUG][logstash.javapipeline    ] Starting pipeline {:pipeline_id=>"main"}
[2019-04-30T10:36:39,658][ERROR][logstash.outputs.webhdfs ] Webhdfs check request failed. (namenode: m1.node.hadoop:50070, Exception: undefined method `read_uint32' for #<FFI::MemoryPointer address=0x7f39740901a0 size=4>)
[2019-04-30T10:36:39,665][DEBUG][logstash.outputs.stdout  ] Closing {:plugin=>"LogStash::Outputs::Stdout"}
[2019-04-30T10:36:39,711][ERROR][logstash.javapipeline    ] Pipeline aborted due to error {:pipeline_id=>"main", :exception=>#<WebHDFS::KerberosError: undefined method `read_uint32' for #<FFI::MemoryPointer address=0x7f39740901a0 size=4>>, :backtrace=>["/usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/webhdfs-0.8.0/lib/webhdfs/client_v1.rb:323:in `request'", "/usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/webhdfs-0.8.0/lib/webhdfs/client_v1.rb:275:in `operate_requests'", "/usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/webhdfs-0.8.0/lib/webhdfs/client_v1.rb:138:in `list'", "/usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/logstash-output-webhdfs-3.0.6/lib/logstash/outputs/webhdfs_helper.rb:49:in `test_client'", "/usr/local/share/logstash-7.0.0/vendor/bundle/jruby/2.5.0/gems/logstash-output-webhdfs-3.0.6/lib/logstash/outputs/webhdfs.rb:155:in `register'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:106:in `register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:48:in `register'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:191:in `block in register_plugins'", "org/jruby/RubyArray.java:1792:in `each'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:190:in `register_plugins'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:445:in `maybe_setup_out_plugins'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:203:in `start_workers'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:145:in `run'", "/usr/local/share/logstash-7.0.0/logstash-core/lib/logstash/java_pipeline.rb:104:in `block in start'"], :thread=>"#<Thread:0x7cac5f13 run>"}
[2019-04-30T10:36:39,738][ERROR][logstash.agent           ] Failed to execute action {:id=>:main, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<main>, action_result: false", :backtrace=>nil}
[2019-04-30T10:36:39,794][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"ParNew"}
[2019-04-30T10:36:39,795][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"ConcurrentMarkSweep"}
[2019-04-30T10:36:39,834][DEBUG][logstash.instrument.periodicpoller.os] Stopping
[2019-04-30T10:36:39,877][DEBUG][logstash.agent           ] Starting puma
[2019-04-30T10:36:39,883][DEBUG][logstash.instrument.periodicpoller.jvm] Stopping
[2019-04-30T10:36:39,888][DEBUG][logstash.instrument.periodicpoller.persistentqueue] Stopping
[2019-04-30T10:36:39,894][DEBUG][logstash.instrument.periodicpoller.deadletterqueue] Stopping
[2019-04-30T10:36:39,893][DEBUG][logstash.agent           ] Trying to start WebServer {:port=>9600}
[2019-04-30T10:36:39,940][DEBUG][logstash.api.service     ] [api-service] start
[2019-04-30T10:36:40,068][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2019-04-30T10:36:44,971][DEBUG][logstash.agent           ] Shutting down all pipelines {:pipelines_count=>0}
[2019-04-30T10:36:44,981][DEBUG][logstash.agent           ] Converging pipelines state {:actions_count=>0}
[2019-04-30T10:36:44,987][INFO ][logstash.runner          ] Logstash shut down.

I remember before seen kerberos somewhere about read_uint32 problems, seems to involve the C language, there is no careful study, but now encountered this problem again.


text:
feat: aliyun sms connector add custom endpoint feature

Summary

Support sending international SMS using AliCloud SMS service.
Only Mainland China is supported by default.

Testing

I can't request an international SMS template and need help!

Thanks @StringKe for the enhancement!
I think in order to handle SMS to both China mainland and oversea areas, it could be better if we could add endpoint and regionId in each template, and the search of the template should be based on phone numbers country codes.

thanks for contributing @StringKe. we're going to archive this repo in favor of the connectors directory in the Logto monorepo.

authors: StringKe darcyYe gao-sun

repo: logto-io/connectors


text:
Change of Password-Reset text

Text change OK

authors: lukaesch owlRike

repo: lokalkauf/lokalkauf-frontend


text:
Update README.md

fix readme error writing of webchatpay_pos gateway usage

Codecov Report

Merging #73 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             master   #73   +/-   ##
======================================
  Coverage        25%   25%
  Complexity      251   251
======================================
  Files            29    29
  Lines           748   748
======================================
  Hits            187   187
  Misses          561   561

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c6e671...e822e5a. Read the comment docs.

authors: codecov-io php-cpm

repo: lokielse/omnipay-wechatpay


text:
Links with the # character are not correctly parsed

Example:
Original tweet: https://twitter.com/Gaydio/status/625234239055896576
Tweet on loklak: http://test.loklak.net/tweet?q=id:625234239055896576

Example 2
Original: https://twitter.com/MysteryOf7Seals/status/625266875153264640
Loklak: http://test.loklak.net/tweet?q=id:625262449567010817

I don't think it's the link filter over here. The regex in the link filter
/(https?:\/\/[^\s]+)/g can successfully retrieve URLs which have a masked # present in them like https://something.com/apple#apple

What if the url is https://something.com/apple#?

Still seems to work, https://regex101.com/#javascript

Okay, it does. What else could be the problem?

In this, it looks like the mentions filter http://test.loklak.net/tweet?q=id:625262449567010817 and here http://test.loklak.net/tweet?q=id:625234239055896576 looks like the link. this is strange.

No issues found with the regexes. Please reopen in case these similar filter issues are encountered.


text:
🛑 KeepCup is down

In add2318, KeepCup (https://keepcup.eco.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KeepCup is back up in 3f333e6.

repo: longforme/longforme-uptime-monitor


text:
Change the lifecycle management of the instance manager pods

https://github.com/longhorn/longhorn/issues/2650
https://github.com/longhorn/longhorn/issues/3459

LGTM, can be merged, my comments are nits so feel free to ignore them or do later :)

Merged as per the discussions and updates.

Should we backport this PR to v1.2.4?

Should we backport this PR to v1.2.4?

Yes and 1.1.4.

authors: innobead joshimoo shuo-wu

repo: longhorn/longhorn-manager


text:
fix(uninstall): delete recreated CR after managers are deleted

ref: https://github.com/longhorn/longhorn/issues/8408

In deleteCRDs we delete the BackupTarget if it is found
We return and wait for the next reconcile to see if the resource is truly deleted by checking len(BackupTarget) == 0
We only start to delete manager when we make sure all the CRs are deleted.
But there is a large chance that the BackupTarget just got recreated between two reconciliation

Just like the comment mentions

// A race condition exists where manager may attempt to recreate certain
// CRDs after their deletion. We must delete manager and do a final check
// for CRDs, just in case.

But actually, the logic won't work because if the BackupTarget gets recreated fast enough then there is no chance for the uninstall() function to execute deleteManager(). It will stuck in the deleteCRDs() forever until it happens to get len(BackupTarget) == 0 "accidentally".
The proof is that we can see there are bunch of log Found 1 backuptargets remaining + Marked for deletion in the uninstallation logs
But actually, backuptargets don't have DeletionTimestamp handling, once the DeletionTimestamp is set, it should be deleted right away.

Why not just do deleteManger first then deleteCRs?

Why not just do deleteManger first then deleteCRs?

Hi @innobead
Because some CR deletion needs DeletionTimestamp handling, we need manager to remove those CRs' finalizer
if if XXX.DeletionTimestamp != nil {
     // Do Something
     return XXX.ds.RemoveFinalizerForXXX(XXX)
}

ref: https://github.com/longhorn/longhorn/issues/8409

authors: ChanYiLin innobead


text:
integration: Improve DR volume with backup deletion case

Which issue(s) this PR fixes:

https://github.com/longhorn/longhorn/issues/7997
What this PR does / why we need it:
Special notes for your reviewer:
Additional documentation or context

I'll test this after https://github.com/longhorn/longhorn-manager/pull/2628 merged.

@mergify backport v1.5.x v1.6.x

authors: shuo-wu yangchiu

repo: longhorn/longhorn-tests


text:
Add support for UMD

Other notable changes:

dist/react-inline-svg.js is now minified with uglify
Added examples of how to use the library with RequireJS, Browserify and raw <script> tags.

Thanks Jacob!

You're most welcome :)

authors: jacobmarshall loopj

repo: loopj/react-inline-svg


text:
🛑 Recap Time Squad Wiki is down

In d86371f, Recap Time Squad Wiki (https://wiki.recaptime.eu.org) was down:

HTTP code: 429
Response time: 405 ms

Resolved: Recap Time Squad Wiki is back up in 3899a55.

repo: lorebooks-wiki/status-page


text:
Add github to social media icons

It must be a good idea to show the judges our beautiful and elegant code ;)
social media template is at app/shared/social-media/social-media.html

They might not be interested xD

btw theres no github artwork that kind of fits our 3 other. https://github.com/logos go there for the 3 possible logo

authors: lorix-lpan yixuanwang


text:
resizeMode cover not working in IOS (Dot Lottie)

Hey,
i am using below version
"lottie-ios": "4.3.0",
"lottie-react-native": "6.3.0",
passing resizeMode "cover" is not working.
Also we have tried downgrading/upgrading both packages, but resizeMode cover is not working.

Also its only happening for IOS. And working fine when we are using .json file.
But for .lottie its not working in ios.

Although sometime its working as expected, when i save my file.

Same issue here (only iOS), it works for the first time, then when getting back to the page it doesn't recognize the resizeMode.

@EGurney I am getting this exact issue too.
I am using a .json though

@EGurney I am getting this exact issue too. I am using a .json though

Welp, that's terrifying! haha

Same here, seems to work with .json but not with .lottie

Is the new arch turned on?

authors: Bowlerr EGurney HaidarZ matinzd saurabhkanswal xeroxoid

repo: lottie-react-native/lottie-react-native


text:
Fixed model generator

Now when you forget model name this message will be print in console:
Missing model name

@AlfonsoUceda Let's wait for CI :+1: for me

authors: AlfonsoUceda jodosha

repo: lotus/lotus


text:
Request for monthly and yearly response time graph

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
Other
🔖 Feature description
I would like to request to enable monthly and yearly response time graph option.  Currently only 3h,6h,24h and 1 week response time graph enabled.

✔ Solution
Please add 1 month, 1 year and custom date to view response time graph would be great!
❓ Alternatives
No response
📝 Additional Context
No response

Seconding this request, especially past year.

Up! Please make it! We are really need it!

Can we add also the 1 year statistic above the chart as well?

I also need this. (As my service is more used in weekends, and I like to compare weekends).
May I ask what's the status of this feature? Is a patch welcome?

Is a patch welcome

Yes, it would.
Note that currently we are retooling the monitoring system for the upcoming v2.0 release.
See https://github.com/louislam/uptime-kuma/pull/4171 for further details what is currently not yet done.
Our contribution guide is available here: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md

+1 for this request.  My ISP kind of sucks and I need the historical data to prove how often and how long they go down.

authors: ArtyGreen CommanderStorm blaesus coolver83 fabry00 philipdistefano scarolan

repo: louislam/uptime-kuma


text:
Setting up configuration in Docker file

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hi there,
Is it possible to add all the hosts I would like to monitor (i.e servers, domains, ports) within my Docker Compose file rather than setting it up manually on the web UI?
Many thanks
Rishi
🐻 Uptime-Kuma Version
1.19.2
💻 Operating System and Arch
Ubuntu 20.04
🌐 Browser
N/A
🐋 Docker Version
20.10.22
🟩 NodeJS Version
16.9.0

Cannot

authors: hakrishi louislam


text:
How is the best way to update Sharp?

I would like to know what is the best way to update sharp to the latest version on production server.
Thanks.

How do you currently update other dependencies? What have you tried? What didn't work?

With: root@ic-images:/home/pedro/image-server# npm update command it's return a error:
> sharp@0.22.1 install /home/pedro/image-server/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Detected globally-installed libvips v8.7.4
info sharp Building from source via node-gyp
gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/8.16.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/home/pedro/image-server/node_modules/sharp/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/home/pedro/image-server/node_modules/sharp/.node-gyp'
gyp ERR! System Linux 4.9.0-8-amd64
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pedro/image-server/node_modules/sharp
gyp ERR! node -v v8.16.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN imageserver@1.0.0 No description
npm WARN imageserver@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp@0.22.1 install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sharp@0.22.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-05-09T12_33_34_060Z-debug.log

It was problem of permission. With just npm update it's works perfect. Thanks.

repo: lovell/sharp


text:
Worth using streams when requesting metadata?

I'm processing an image that is uploaded via a form POST to express and the image is currently held in a buffer, resized multiple times and written to disk.
However, if the image is already smaller than one of the resize parameters the rest are short-circuited and processing stops (hence the need to get image metadata):
const resizeImage = async function(buffer, sizes, path, name) {
	let image = sharp(buffer);
	let metadata = await image.metadata();
	let isSmall = false;
	return Promise.all(sizes.sort((a, b) => a - b).map(dim => {
		if (isSmall) {
			return null;
		}
		if (metadata.width > dim || metadata.height > dim) {
			let promise = image.resize({width: dim, height: dim, fit: 'inside'})
				.toFile(`${path}${dim === sizes[sizes.length - 1] ? '' : dim + '/'}${name}`);
			image = sharp(buffer); // for next round of input
			return promise;
		} else {
			isSmall = true;
			return image.toFile(`${path}${name}`);
		}
	}));
};

Would there be any benefit, in terms of memory usage, by switching to streams based input and using .clone()? Currently, is a fully decompressed version of the image held in memory?
Also, it is necessary to recall the sharp constructor in the loop or just reuse the variable from outside the loop: image = sharp(buffer); // for next round of input?

As you've already got the input image in memory then the current approach looks sensible to me. The use of Streams would increase memory usage and GC pressure. You could create new sharp instances as required, rather than recycle them, as these have near-zero cost and improve immutability.
metadata does not decompress pixel data:

"Fast access to (uncached) image metadata without decoding any compressed image data."
https://sharp.pixelplumbing.com/en/stable/api-input/#metadata

Thanks @lovell.
Is a JPEG image fully decompressed in memory when resizing, and should I be using sequantialRead to stop this from happening when possible?

sequentialRead can help reduce memory consumption at the cost of increased CPU for repeated operations e.g. you mentioned "resized multiple times" in the original question.

authors: jcebuck lovell


text:
[tooling, xcelium] Have Xcelium generated HTML coverage report provide a link directly to test ranking

Referenced from this comment from @weicaiyang in PR #7210:
https://github.com/lowRISC/opentitan/pull/7210#issuecomment-875854438

@sriyerg can this be deferred to M3?

Yes

authors: msfschaffner sriyerg

repo: lowRISC/opentitan


text:
[bazel] Handle site-specific environments through env

Due to the multi-tenant nature of our development system almost nothing we use is installed in the default directory.   Our PATH, LD_LIBRARY_PATH and PKG_CONFIG_PATH environments consist of long strings of site-specific paths holding everything.  We have environment module tools in place to quickly switch from one project to another, and we generally try to do everything through environment variables.  When file configurations are necessary, we try to store them in common space shared by the team.
Could we use environment variables to pass site-specific PATHs into bazel via bazelisk.sh.  For example one could create an OPENTITAN_BAZEL_BUILD_ENV variable, that could for instance contain any number of --action_env options for bazelisk.sh to pass into .bin/bazelisk.
Rationale for this request:
I realize that the same functionality can be accommodated using $HOME/.bazelrc, but this is suboptimal for two reasons:

Fixed configuration files would make it hard for us to reproduce issues or switch projects.   We generally discourage users from storing configuration information in their home directory for reasons related to reproducibility.
Our paths are configured via many different files that are updated independently.

For a slightly different approach, would an OPENTITAN_USER_BAZELRC_PATH work? Then, when it's defined, we can pass in a user-defined bazelrc arg in bazelisk.sh, and all the bazelrc flexibility exists for site-specific configuration.

Hi Alex,
As I was reading more about the documentation was just thinking something similar.  Another approach could be to have something like try-import .bazelrc-site in .bazelrc.  I'm giving that a try right now actually.   If that works then this would close both #14767 and #14768 for us.

Having a .bazelrc-site located in the repo, would work pretty well in our environment as we are already tracking the repo and so we could just make a common file that our environment script drops into the repo.   Would this be okay for the rest of the team?

Though I can see how having it completely outside the repo and pointed to by an environment variable would also be cleaner, as there may be less possibility for confusion & cross-site contamination

I think both approaches work fine. They are described in https://github.com/bazelbuild/bazel/issues/10904#issuecomment-818717854 . You can see there is quite a discussion there around a similar request, heh.
Compared to the wrapper script with the environment variable, the advantage of try-import is that you can potentially use the bazel executable directly on the command line, which is nice for bash completion on the interactive side. On the other hand, the environment variable is a bit less cumbersome for setup, since new worktrees can "just work" instead of requiring generation of the user bazelrc file again.
As a user of such a feature, your input will hold more weight about which is the nicer workflow. :)

Hey neat!  I knew this was probably discussed somewhere, but I just didn't go back far enough.  This is good stuff.  Thanks for the pointer.

authors: a-will martin-lueker


text:
[spi_host, dv] data stable SVA check fix

Previous SVA check had a race condition. The change simplifies the whole check and has been regressed against VCS and Xcelium

This looks sensible to me but I see that it's failing a lint check in CI. Would you mind sorting that out?

I've tried to reproduce it locally, because I couldn't find in the CI log the culprit, but I didn't get the same results.
According to CI, the check is failing due to a "Flow Error" for the chip tests (not sure what that means?)
When I run the reproduce command from the CI log (util/dvsim/dvsim.py -t veriblelint hw/top_earlgrey/lint/top_earlgrey_dv_lint_cfgs.hjson) I get flow warnings and errors for all the modules:
|                                              Name                                               |  Flow Infos  |  Flow Warnings  |  Flow Errors  |  Lint Infos  |  Lint Warnings  |  Lint Errors  |
|:-----------------------------------------------------------------------------------------------:|:------------:|:---------------:|:-------------:|:------------:|:---------------:|:-------------:|
|             [AES](../../../../../../ip/aes/dv/lint/veriblelint/latest/report.html)              |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
| [ALERT_HANDLER](../../../../../ip_autogen/alert_handler/dv/lint/veriblelint/latest/report.html) |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|         [AON_TIMER](../../../../../ip/aon_timer/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [CLKMGR](../../../../../ip_autogen/clkmgr/dv/lint/veriblelint/latest/report.html)        |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|           [CSRNG](../../../../../../ip/csrng/dv/lint/veriblelint/latest/report.html)            |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [ADC_CTRL](../../../../../../ip/adc_ctrl/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|     [ENTROPY_SRC](../../../../../../ip/entropy_src/dv/lint/veriblelint/latest/report.html)      |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|             [EDN](../../../../../../ip/edn/dv/lint/veriblelint/latest/report.html)              |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|    [FLASH_CTRL](../../../../../ip_autogen/flash_ctrl/dv/lint/veriblelint/latest/report.html)    |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|            [GPIO](../../../../../../ip/gpio/dv/lint/veriblelint/latest/report.html)             |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|            [HMAC](../../../../../../ip/hmac/dv/lint/veriblelint/latest/report.html)             |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|             [I2C](../../../../../../ip/i2c/dv/lint/veriblelint/latest/report.html)              |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|          [KEYMGR](../../../../../../ip/keymgr/dv/lint/veriblelint/latest/report.html)           |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|            [KMAC](../../../../../../ip/kmac/dv/lint/veriblelint/latest/report.html)             |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|         [LC_CTRL](../../../../../../ip/lc_ctrl/dv/lint/veriblelint/latest/report.html)          |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [OTP_CTRL](../../../../../../ip/otp_ctrl/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|         [PATTGEN](../../../../../../ip/pattgen/dv/lint/veriblelint/latest/report.html)          |     0 I      |       1 W       |      0 E      |     0 I      |       0 W       |      0 E      |
|    [PRIM_ALERT](../../../../../../ip/prim/dv/prim_alert/lint/veriblelint/latest/report.html)    |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|      [PRIM_ESC](../../../../../../ip/prim/dv/prim_esc/lint/veriblelint/latest/report.html)      |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|     [PRIM_LFSR](../../../../../../ip/prim/dv/prim_lfsr/lint/veriblelint/latest/report.html)     |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|  [PRIM_PRESENT](../../../../../../ip/prim/dv/prim_present/lint/veriblelint/latest/report.html)  |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|   [PRIM_PRINCE](../../../../../../ip/prim/dv/prim_prince/lint/veriblelint/latest/report.html)   |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [PWRMGR](../../../../../ip_autogen/pwrmgr/dv/lint/veriblelint/latest/report.html)        |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [ROM_CTRL](../../../../../../ip/rom_ctrl/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [RSTMGR](../../../../../ip_autogen/rstmgr/dv/lint/veriblelint/latest/report.html)        |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|           [RV_DM](../../../../../../ip/rv_dm/dv/lint/veriblelint/latest/report.html)            |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|        [RV_TIMER](../../../../../../ip/rv_timer/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|      [SPI_DEVICE](../../../../../../ip/spi_device/dv/lint/veriblelint/latest/report.html)       |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|       [SRAM_CTRL](../../../../../../ip/sram_ctrl/dv/lint/veriblelint/latest/report.html)        |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|     [SYSRST_CTRL](../../../../../../ip/sysrst_ctrl/dv/lint/veriblelint/latest/report.html)      |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|            [UART](../../../../../../ip/uart/dv/lint/veriblelint/latest/report.html)             |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|          [USBDEV](../../../../../../ip/usbdev/dv/lint/veriblelint/latest/report.html)           |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|         [XBAR_MAIN](../../../../../ip/xbar_main/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|         [XBAR_PERI](../../../../../ip/xbar_peri/dv/lint/veriblelint/latest/report.html)         |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |
|                                [CHIP](../../latest/report.html)                                 |     0 I      |       3 W       |      4 E      |     0 I      |       0 W       |      0 E      |

Do you have any idea what's wrong? I've only touched one file, and the block-level lint is passing (also the errors are flow related instead of lint)

I tried to reproduce locally with your suggestion but still didn't suceed. I got a few errors:
ERROR: /home/antonio/repos/opentitan_fix/opentitan/scratch/spi_host_sva_data_check_fix/chip-lint-veriblelint/default/lint-veriblelint/util/check_tool_requirements.py:159: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  min_sv = StrictVersion(min_semver)
ERROR: Failed tool requirement for verible: Failed to run 'verible-verilog-lint --version' to check version: [Errno 2] No such file or directory: 'verible-verilog-lint'
ERROR: Tool requirements not fulfilled. Please update tools (verible) and retry.

ERROR: Failed to build lowrisc:dv:chip_sim:0.1 : pre_build script 'check_tool_requirements_verible': ['python3', 'util/check_tool_requirements.py', 'verible'] exited with error code 1

``

I've pushed the change you suggested moving the `include` to the top!

I'm really sorry for this taking so long, but I've just reproduced the problem locally. The CI check that is failing is Verible on the chip (rather than the block). If you have the tooling set up correctly, you can reproduce with
util/dvsim/dvsim.py -t veriblelint hw/top_earlgrey/lint/top_earlgrey_dv_lint_cfgs.hjson --select-cfg=chip

A quick hack that replaced the lines with calls to ASSERT didn't quite solve the lint issue (because Verible wasn't seeing the prim_assert.sv include). I think the best approach would be for you to sort out the tooling problems you're having (because you'll need to sort them out anyway) and then fix this.

authors: antmarzam rswarbrick


text:
[otp_ctrl] Add breakout type for convenient access to HW_CFG

This adds an autogen'd struct type for convenient access to items in the HW_CFG partition.
Signed-off-by: Michael Schaffner msf@opentitan.org

Addresses part of #4443.

Ok I've reused the life cycle ON/OFF type to indicate whether the vector is valid or not.


text:
Address npm dependency issues found in minor-update-graphql-nodemon branch [Opened by bitHound]

 bitHound discovered:  1 deprecated package. 6 outdated packages.  For details go to bitHound.

dependencies are up-to-date.

repo: lowsky/dashboard


text:
the slide/roll is broken

if you roll you can't dive and it doesn't set the sprite speed
and if you slide it just plays the spr_player_backslideland sprite and doesn't set the sprite speed

this is... true!!

It's a bug with scr_characterspr, replace it with the utmt decompiled code for now

authors: BreadGuyPT Dawideusz SillyBilly-123

repo: loypoll/OpenTower


text:
Tags for 0.4 and 0.5 releases are missing

While trying to provide a PR I noticed that the tags for the last two releases are missing.
Would you mind adding those?

Added. Thanks for the notice!

Thank you!

authors: lfrancke lpotthast

repo: lpotthast/leptonic


text:
Buttons are there now - but no code is learning - RM3 Pro + (plus)

Hi there ...
First my RM3 Pro + won't be recognize by the plugin, after editing the index.js file it works.
https://github.com/lprhodes/homebridge-broadlink-rm/issues/208
But now i can't get any key learned with the broadlink RM3 Pro + ... perhaps someone can help?
[2017-12-17 23:00:32] [Broadlink RM] Scan RF (scanning)
[2017-12-17 23:00:32] [Broadlink RM] [Hold down the button that sends the RF frequency]
[2017-12-17 23:00:35] [Broadlink RM] Scan RF (found frequency - 1 of 2)
[2017-12-17 23:00:35] [Broadlink RM] [Keep holding that button!]
[2017-12-17 23:00:53] [Broadlink RM] Scan RF (stopped - 20s timeout)
[2017-12-17 23:00:54] [Broadlink RM] Scan RF (stopped)
Now i tried to learn a IR Code ... and also that is not working till now ...
perhaps this can find the "problem"
[2017-12-17 23:43:23] [Broadlink RM] Learn Code (ready)
[2017-12-17 23:43:33] [Broadlink RM] Learn Code (stopped - 10s timeout)
[2017-12-17 23:43:33] [Broadlink RM] Learn Code (stopped)
[2017-12-17 23:43:41] [Broadlink RM] Learn Code (ready)
[2017-12-17 23:43:51] [Broadlink RM] Learn Code (stopped - 10s timeout)
[2017-12-17 23:43:51] [Broadlink RM] Learn Code (stopped)
With the iPhone App I can get the Codes, but not over Apple Home/Homebridge.
Thanks for help ... CU Kai !

nothing.. it doesn't work..

turn on "scan frequency"
hold down RF button
found frequency - 1 of 2
scan frequency button is still on (must i turn off???)
turn on "learn code" button
press the button very close at 1-2 cm of distance from my rm pro+
Scan RF stopped, 20s second timeout

It works now!

turn on "scan frequency"
hold down RF button
found frequency - 1 of 2
TURN OFF scan frequency button
turn on "learn code" button
hex code is sent !!!

@santiagos5 Did you get this to work with any consistency?  I've only been able to get it to work one time.
I consistently get the Found Frequency - 1 or 2.  But I cant ever get it to learn a code.  I tried with the way I thought i had it the first time and it didnt work.  Tried with the way you had, and it doesnt work there either.

Works great for me, after found frequency, quickly turn off scan frequency and turn on Learn code, then press botton on the remote within 10-30 cm. I tried two times and it works without problem..

Hi there,
I always get a different HEX code... any ideas?

Rolling code can’t be used..

Hello, in the console during the learning process gives me this HEX code:
b200ee01190b0d17180b190b0d170c17190b190b0d170c170d17190b190b0c17190b0d17180c180b190b0c170d170d170d170d160d170d170d17180b0d170d170d17180c0c170d170d171800014b9e31190b0d170c180c17190b0d17180b190b0d170c18180b190b0d170d170c17190b180c0c17190b0d17180b190b190b0c180c170d170d170d170c170d170d17180b0d170d170d17180b0d170d170d17190001629f31180b0d170d170d17190a0d17190b180b0d170d17190b190b0c170d170d17180b190b0d17180b0d17190b190b180b0d170d170d170d160d170d170d170c17190b0d170d170d16190b190b180c180b0d0001569f31180c0c170d170d17180b0d17190b180c0c170d17190b180c0c170d170d16190b190b0d17180c0c17190b180c180b0d170d170c170d170d170d170d160d17190b0d170d160d17190b180c180b190b0d0001569f31190b0c170d170d17190b0c18180b190b0c170d17190b190a0e160d170d17190b180b0d17190a0e16190b190b180c0c170d170d170d170d160d170d170d16190b0d170d170d16190b190b190a190b0d0001569f31180c0c170d170d17180b0d17190b180c0d160d17190b180c0c170d170d17180b190b0d17190b0c17190b190b180b0d170d170d170c170d170d170d170c18180b0d170d160d17190b190b180b190b0d0005dc00000000000000000000
This link http://tomeko.net/online_tools/hex_to_base64.php?lang=en1 , gives me this result:
sgDuARkLDRcYCxkLDRcMFxkLGQsNFwwXDRcZCxkLDBcZCw0XGAwYCxkLDBcNFw0XDRcNFg0XDRcNFxgLDRcNFw0XGAwMFw0XDRcYAAFLnjEZCw0XDBgMFxkLDRcYCxkLDRcMGBgLGQsNFw0XDBcZCxgMDBcZCw0XGAsZCxkLDBgMFw0XDRcNFwwXDRcNFxgLDRcNFw0XGAsNFw0XDRcZAAFinzEYCw0XDRcNFxkKDRcZCxgLDRcNFxkLGQsMFw0XDRcYCxkLDRcYCw0XGQsZCxgLDRcNFw0XDRYNFw0XDRcMFxkLDRcNFw0WGQsZCxgMGAsNAAFWnzEYDAwXDRcNFxgLDRcZCxgMDBcNFxkLGAwMFw0XDRYZCxkLDRcYDAwXGQsYDBgLDRcNFwwXDRcNFw0XDRYNFxkLDRcNFg0XGQsYDBgLGQsNAAFWnzEZCwwXDRcNFxkLDBgYCxkLDBcNFxkLGQoOFg0XDRcZCxgLDRcZCg4WGQsZCxgMDBcNFw0XDRcNFg0XDRcNFhkLDRcNFw0WGQsZCxkKGQsNAAFWnzEYDAwXDRcNFxgLDRcZCxgMDRYNFxkLGAwMFw0XDRcYCxkLDRcZCwwXGQsZCxgLDRcNFw0XDBcNFw0XDRcMGBgLDRcNFg0XGQsZCxgLGQsNAAXcAAAAAAAAAAAAAA
the plugin does not recognize this code. Can anybody help me what I am doing wrong?
Thank you in advance

Hi!
My device is RM Pro+ with S/N: RM33220xxxxx
I can't scan the RF code.
After pressing the button "Scan Frequency" in the terminal appears the inscription:
"Scan RF (RF learning not supported for device at undefined)"
Please help!

Have you add following Line?
}else if(devtype == 0x279d){ // RM3 Pro Plus
dev = new device(host,mac);
dev.rm(true);
return dev;
}

@santiagos5 There are these lines.

Have you the latest release of homebridge broadlink? V. 2.7.4

@santiagos5 Yes, 2.7.4

Hi @Maxwell70
Can you please find the following line in node_modules/broadlinkjs-rm/index.js
Broadlink.prototype.genDevice = function (devtype, host, Mac){
Underneath that add console.log('DEV TYPE:', devtype)
Then run homebridge and send me the code that appears afterDEV TYPE: in the logs.

@lprhodes  Hi! The problem is solved. I got the code. Thank You!!!
But there was another problem: I use a garage door. In Homekit the icon is inverted: when I open the code is sent to the closing, when I close the code is sent to the opening!

@Maxwell70  What was the code?
Can you post other problems as new issues please.

@lprhodes A lot of numbers and letters

Hey,
I've updated the learning method on the RM3 Pro Plus (both models) in 3.5.0.
Can you please update and let me know if the Scan RF button now works (without the need for a work-around)

Hi i have a Broadlink RM2 Pro Plus v2 (2787), its discovered correctly when i start homebridge, but when i press the learn button in the home app i see the message "Learn Code (ready)" in the homebridge in terminal, but the learn yellow light on the RM Pro doesn't light up, and no frequency can be scanned from my remote... What can be causing this?
Thank you

@lprhodes i have the same problem as Maxwell! https://github.com/lprhodes/homebridge-broadlink-rm/issues/407

Another way, but you still need 2 IOS devices and RM Pro plus (this way work for TC2) for me:

First IOS device(to control e-control app). In your e-control application you need to have already educated TC2 remote / TC1 remote.
Second IOS device with homekit and homebridge with scan_frequency function (to control your homebridge) / Mac (OS Mojave beta have home kit application)
Algorithm:

You need to start "Scan_frequency" in your homebridge with second device
You need to push the preferred button at your first device several times
And you can add buttons step-by-step to your homebridge.
I think we can use this algorithm because RM Pro can scan frequency and send frequency in same time. We start scanning process and then we send some RF frequency in this one RM Pro plus device

Hi!
My device is RM Pro+ with S/N: RM33220xxxxx
I can't scan the RF code.
After pressing the button "Scan Frequency" in the terminal appears the inscription:
"Scan RF (RF learning not supported for device at undefined)"
Please help!

your ip or mac is wrong in the config

There's a lot of different issues in here (most have already been fixed) but the initial issue regarding learning and not reaching Step 2 is hopefully resolved now. If you could please try out release 3.6.17

repo: lprhodes/homebridge-broadlink-rm


text:
Two Submissions are Created for Commits in Programming Exercises

Describe the bug
For many commits two submissions are created:

one without build result, and
one with a build result.

In our case it not problematic except for the unnecessary database entries and resulting UI clutter. However, in exercises that use submission policies based on the number of submissions students might get a points deduction even if they shouldn’t.
To Reproduce
I can see this for submissions from different students. The students in this case used the online code editor to submit.
I was not able to reproduce this issue on artemis-test2 but in our instance the issue is present for many submissions for different students.
Expected behavior
Only one submission is created per commit.
Screenshots

In this example the bug happens only to builds where the build fails. In other places it also occurs when some tests pass.
What browsers are you seeing the problem on?
Other (specify in "Additional context")
Additional context

Artemis 5.7.4
Gitlab/Jenkins setup
The method around the log message in ProgrammingExerciseGradingService (createAndSaveFallbackSubmission) has been introduced in #4830

This method also seems to create the second submission that is not really needed.

Relevant log output
2022-04-25 14:41:22.623  INFO 26810 --- [.1-8080-exec-31] t.i.w.a.s.p.ProgrammingSubmissionService : NotifyPush invoked due to the commit <HASH01> by <STUDENT> in
2022-04-25 14:41:29.825  INFO 26810 --- [.1-8080-exec-31] t.i.w.a.s.p.ProgrammingSubmissionService : Create new programmingSubmission with commitHash: <HASH01> for participation <000000>
2022-04-25 14:41:34.314  INFO 26810 --- [.1-8080-exec-41] d.t.i.w.artemis.web.rest.ResultResource  : Artemis received a new result for build plan <BUILD_PLAN>-<USER_ID_STUDENT>
2022-04-25 14:41:34.339  WARN 26810 --- [.1-8080-exec-41] .a.s.p.ProgrammingExerciseGradingService : Could not find pending ProgrammingSubmission for Commit Hash Optional[<HASH01>] (Participation <000000>) Will create a new one subsequently...
2022-04-25 14:41:37.350  INFO 26810 --- [.1-8080-exec-41] d.t.i.www1.artemis.service.ScoreService  : Updated an existing participant score. Was: StudentScore{…}
2022-04-25 14:41:37.382  INFO 26810 --- [.1-8080-exec-41] d.t.i.w.artemis.web.rest.ResultResource  : The new result for <BUILD_PLAN>-<USER_ID_STUDENT> was saved successfully

Thanks for looking into it.
We did not make any changes to our CI system. By the logs the first submission is created in Artemis at 14:41:29.825, then for some reason can’t be found at 14:41:34.339. That is why I think that there is some issue within Artemis.
I now found a case where the submissions without and the one with a result are in different order. There seems to a race-condition when the system is under load which is why it isn’t really reproducible on the test systems.
Could it be that querying the commit/push date from Gitlab in ProgrammingSubmissionService#notifyPush sometimes takes too much time so that the first submission is not actually fully created by the time the result arrives? Therefore, it cannot be found, but will still be created afterwards.

As far as I can see, we also have such cases on our systems.

So I have seen this too. While usually, it's only about milliseconds, especially in exams it could be relevant. If they pushed before according to the VCS but the report takes just a bit longer it could be discarded.
=> While usually this can be neglected, I think as it's about exams, we shouldn't.
So I'd suggest immediately saving the submission with the current date and after that retrieving the precise submission date from VCS to make sure we handle the edge case.
=> We shouldn't get a race condition whilst still getting the most accurate date.

@julian-christl I disagree. For exams this will not be an issue. I can tell you more details personally. I removed the corresponding code block in the commit c29811257a392b36520b0a988b100fb1606fcb7b

In 941c92596e16a2cfbe8247cc90576aca778883ed I moved the submission date creation to the top of the method, so this will improve the accuracy for a couple of milliseconds
Before, I also added a TODO that we should store the default branch of a participation in the database to avoid that we retrieve this all the time. It cannot change after the repository was created, so it is much more efficient to store it once instead of retrieving it in several places

authors: b-fein dfuchss julian-christl krusche


text:
Chore: Speed up code editor tests

Checklist
General

[x] Test run locally.

Motivation, Context and Decription
Removes unneeded module imports from the code-editor-file-browser.component.spec.ts and converts sinon/chai to jest. I also removed imports from the other code-editor files where possible, but did not convert them.
Code Review

[ ] Review 1
[ ] Review 2

Test Coverage
Should be unchanged

only very small style issues left, then I'll approve


text:
Programming exercises: Improve git-diff view on programming exercise detail page

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I added @PreAuthorize and checked the course groups for all new REST Calls (security).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises

[x] I tested all changes and their related features with all corresponding user types on Test Server 1 (Atlassian Suite).
[x] I tested all changes and their related features with all corresponding user types on Test Server 2 (Jenkins and Gitlab).

Motivation and Context

The current displaying of the git-diff on the programming exercise detail page is not very good looking. You have a button at the top and the rough stats at the bottom. It would make sense to combine them.
Description

This PR moves the button next to the diff stats and modifies it to fit accordingly. While loading the diff, it shows a spinner and opens a modal afterward.
The modal can now be closed by clicking outside of it.
A small bug that added a 10px margin to all buttons on the detail page instead of only to the button header at the top was fixed as well. This prevented proper centering of buttons next to text.
Steps for Testing

Prerequisites:

1 Instructor/Editor/Tutor
1 Programming Exercise

Log in to Artemis
Navigate to the Programming Exercise Management Detail Page
Scroll down
See the described git-diff section
Hovering on the stats/button works
Clicking the button works as described

Additional request:
Please let me know if you have any suggestions for better placement of the diff section. I would like to move it further up but am unsure what the best place would be. It is a useful feature when creating and reviewing exercises, so I generally liked the quick access at the top.
Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Unchanged
Screenshots

Tested on TS1. Works as expected:

(can't screenshot that the hover works)

authors: Hialus joaquinmurcia


text:
Fix heredoc-to-string conversion

Description
Resolves https://github.com/lsegal/yard/issues/1315, as well as adding support for squiggly heredocs
Completed Tasks

[x] I have read the Contributing Guide.
[x] The pull request is complete (implemented / written).
[x] Git commits have been cleaned up (squash WIP / revert commits).
[x] I wrote tests and ran bundle exec rake locally (if code is attached to PR).

Thanks for the fix!

authors: dduugg lsegal

repo: lsegal/yard


text:
Bug - page change notification isn't sent if swipe back a few pages

I've got an application that plays a sound file for each page. When the sound file finishes, it waits a second and then advances to the next page. This works great with RecyclerViewPager however if I go back a page or two, the page change notification comes in for that change, I play the sound file and programmatically advance to the next page (smoothScrollToPosition) and then the bug happens -- no notification of page change (from RecyclerViewPager) after the animation to the new page finishes. So basically:
1->2->3->4 then 4->3 then 3->4 but no notification page changed to 4.
I'm trying to debug locally. Can I build the lib and then use the built lib in the demo? The app seems to be using compile('com.lsjwzh:recyclerviewpager:1.0.7-SNAPSHOT') in the build.gradle -- is that going out to maven or looking at the locally built lib?

It is more complicated -- it requires rapidly going back a couple of pages to trigger it. Here is an example with debugging on:
09-05 22:58:23.919  25284-25284/? I/art﹕ Late-enabling -Xcheck:jni
09-05 22:58:24.113  25284-25306/com.lsjwzh.widget.recyclerviewpagerdeomo D/OpenGLRenderer﹕ Use EGL_SWAP_BEHAVIOR_PRESERVED: true
09-05 22:58:24.121  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/Atlas﹕ Validating map...
09-05 22:58:24.199  25284-25306/com.lsjwzh.widget.recyclerviewpagerdeomo I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 01/15/15, ab0075f, Id3510ff6dc
09-05 22:58:24.200  25284-25306/com.lsjwzh.widget.recyclerviewpagerdeomo I/OpenGLRenderer﹕ Initialized EGL, version 1.4
09-05 22:58:24.224  25284-25306/com.lsjwzh.widget.recyclerviewpagerdeomo D/OpenGLRenderer﹕ Enabling debug mode 0
09-05 22:58:26.913  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:0
09-05 22:58:26.985  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mTouchSpan:-290.0
09-05 22:58:26.985  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ adjustPositionX:1
09-05 22:58:26.985  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:1
09-05 22:58:26.986  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ velocityX:5996
09-05 22:58:27.349  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:1
09-05 22:58:27.349  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:1
09-05 22:58:27.349  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ PageChangeListener::OnPageChanged(0, 1)
09-05 22:58:28.351  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ calling smoothScrollToPosition(2)
09-05 22:58:28.351  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:2
09-05 22:58:28.798  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:2
09-05 22:58:28.798  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:2
09-05 22:58:28.798  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ PageChangeListener::OnPageChanged(0, 2)
09-05 22:58:29.800  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ calling smoothScrollToPosition(3)
09-05 22:58:29.800  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:3
09-05 22:58:30.244  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:3
09-05 22:58:30.244  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:3
09-05 22:58:30.244  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ PageChangeListener::OnPageChanged(0, 3)
09-05 22:58:30.601  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:3
09-05 22:58:30.652  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mTouchSpan:272.0
09-05 22:58:30.653  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ adjustPositionX:2
09-05 22:58:30.653  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:2
09-05 22:58:30.653  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ velocityX:-7447
09-05 22:58:30.990  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:2
09-05 22:58:31.036  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mTouchSpan:237.0
09-05 22:58:31.037  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ adjustPositionX:1
09-05 22:58:31.037  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:1
09-05 22:58:31.037  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ velocityX:-11952
09-05 22:58:31.246  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ calling smoothScrollToPosition(4)
09-05 22:58:31.246  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:4
09-05 22:58:32.231  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:4
09-05 22:58:32.231  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:4
09-05 22:58:32.232  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ PageChangeListener::OnPageChanged(2, 4)
09-05 22:58:32.807  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:4
09-05 22:58:32.873  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mTouchSpan:392.0
09-05 22:58:32.873  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ adjustPositionX:3
09-05 22:58:32.873  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:3
09-05 22:58:32.873  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ velocityX:-8183
09-05 22:58:33.203  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:3
09-05 22:58:33.238  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ calling smoothScrollToPosition(5)
09-05 22:58:33.238  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:5
09-05 22:58:33.267  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mPositionBeforeScroll:3
09-05 22:58:33.274  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ mTouchSpan:122.0
09-05 22:58:33.274  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ adjustPositionX:2
09-05 22:58:33.274  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:2
09-05 22:58:33.274  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ velocityX:-8220
09-05 22:58:33.627  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:2
09-05 22:58:33.627  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ onPageChanged:2
09-05 22:58:33.627  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ PageChangeListener::OnPageChanged(3, 2)
09-05 22:58:34.629  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ calling smoothScrollToPosition(3)
09-05 22:58:34.629  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@﹕ smoothScrollToPosition:3
09-05 22:58:35.079  25284-25284/com.lsjwzh.widget.recyclerviewpagerdeomo D/@CYMEN﹕ the other case :(, mSmoothScrollTargetPosition: 3, mPositionBeforeScroll: 3

There we see when the bug is encountered, we do not send the page change notification because mSmoothScrollTargetPosition == mSmoothScrollTargetPosition -- it looks like mPositionBeforeScroll is 3 when it should be 2 in the above log (at the very end).

repo: lsjwzh/RecyclerViewPager


text:
🛑 Mirror-木生 is down

In 454c59c, Mirror-木生 (https://t.lsy223622.com/ncov-xidian-times) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Mirror-爬 is back up in aec430d.


text:
🛑 Mirror-爬 is down

In 8dd591f, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1082 ms

Resolved: Mirror-鱼露 is back up in 7085fd1.


text:
🛑 Mirror-爬 is down

In b3da5fb, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1024 ms

Resolved: Mirror-鱼露 is back up in 935a05d.


text:
🛑 Mirror-爬 is down

In 088d4a4, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 3225 ms

Resolved: Mirror-鱼露 is back up in 8a029c0.


text:
🛑 Mirror-爬 is down

In e309c42, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1112 ms

Resolved: Mirror-鱼露 is back up in 2bbce56.


text:
🛑 Mirror-爬 is down

In 951eafb, Mirror-爬 (https://ncov.zhouym.tech/) was down:

HTTP code: 404
Response time: 1006 ms

Resolved: Mirror-鱼露 is back up in d39f464.


text:
openlog(): corrupted memory reference

openlog() itself internally stores pointer to ident argument. But we don't have any guarantee  that this pointer is alive after openlog() finished.
It seems to me that Popenlog() should hold local ident copy.

Thanks for the bug report.  And also for the suggested fix, though I'd like to try to find a thread-safe solution before merging your fix...

Syslog operations itself are thread-safe at least as implemented in glibc and uclibc. I've updated my PR

Thanks for the update, and sorry for the radio silence.
Your update is still not thread safe though, because two threads calling the function at the same time will cause a race condition on the static variable declaration.  I'll try to find some time this week to implement a fix without this issue.

Actually, I take back my last comment.  Looking at the SUSv3 specs, your patch was correct after all, and I was too quick to dismiss it.  Sorry about that.
Nonetheless, I think saving a copy of the string in the Lua Registry is a simpler approach than strduping a copy into a static variable with raw C.  I've done some light testing to check this approach behaves correctly on Linux.  Please let me know if you have any further trouble with it.

authors: gvvaughan vitek

repo: luaposix/luaposix


text:
Unhandled exception - System.MissingMethodException: Method

Description
Unhandled Exception:
System.MissingMethodException: Method 'FFImageLoading.Forms.CachedImage.set_CacheDuration' not found
On loading (in this case Android app, not tried IOS yet) app was working with previous version, updated component and this resulted
Steps to Reproduce
As above
Expected Behavior
Not to crash
Actual Behavior
Unhandled Exception:
System.MissingMethodException: Method 'FFImageLoading.Forms.CachedImage.set_CacheDuration' not found
Basic Information
Screenshots

Reproduction Link / Code

Clean and rebuild of solution while running as admin user resolved this

repo: luberda-molinet/FFImageLoading


text:
File not found

I've installed this on a new project, and receive 'file not found' when trying to go to the route. Everything is registered but for some reason the route isn't working.

@Braunson which Laravel version?

@introwit 5.5.24

It's working for me in an existing 5.5 project. After you did composer require, it should show decomposer in the Discovered packages list in the output of the require command. Then registering the route is the only thing to do. Can you paste the whole error you are receiving?

@introwit No error, just the 'File not found' default Laravel error page. hmm

@Braunson closing this feel free to reopen if the error persist.

authors: Braunson ajitbohra introwit

repo: lubusIN/laravel-decomposer


text:
typecheck fails when used with esbuild 0.15.3

error: TS2769 [ERROR]: No overload matches this call.
  The last overload gave the following error.
    Type 'import("https://deno.land/x/esbuild@v0.14.51/mod.d.ts").Plugin' is not assignable to type 'import("https://deno.land/x/esbuild@v0.15.3/mod.d.ts").Plugin'.
      Types of property 'setup' are incompatible.
        Type '(build: import("https://deno.land/x/esbuild@v0.14.51/mod.d.ts").PluginBuild) => void | Promise<void>' is not assignable to type '(build: import("https://deno.land/x/esbuild@v0.15.3/mod.d.ts").PluginBuild) => void | Promise<void>'.
          Types of parameters 'build' and 'build' are incompatible.
            Type 'import("https://deno.land/x/esbuild@v0.15.3/mod.d.ts").PluginBuild' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod.d.ts").PluginBuild'.
              The types of 'initialOptions.stdin' are incompatible between these types.
                Type 'import("https://deno.land/x/esbuild@v0.15.3/mod.d.ts").StdinOptions | undefined' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod.d.ts").StdinOptions | undefined'.
                  Type 'import("https://deno.land/x/esbuild@v0.15.3/mod.d.ts").StdinOptions' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod.d.ts").StdinOptions'.
                    Types of property 'contents' are incompatible.
                      Type 'string | Uint8Array' is not assignable to type 'string'.
                        Type 'Uint8Array' is not assignable to type 'string'.
    plugins: [denoPlugin({ importMapURL })],

Similarly with the latest version of esbuild 0.15.7:
No overload matches this call.
  The last overload gave the following error.
    Type 'import("https://deno.land/x/esbuild@v0.14.51/mod").Plugin[]' is not assignable to type 'import("https://deno.land/x/esbuild@v0.15.7/wasm").Plugin[]'.
      Type 'import("https://deno.land/x/esbuild@v0.14.51/mod").Plugin' is not assignable to type 'import("https://deno.land/x/esbuild@v0.15.7/wasm").Plugin'.
        Types of property 'setup' are incompatible.
          Type '(build: import("https://deno.land/x/esbuild@v0.14.51/mod").PluginBuild) => void | Promise<void>' is not assignable to type '(build: import("https://deno.land/x/esbuild@v0.15.7/wasm").PluginBuild) => void | Promise<void>'.
            Types of parameters 'build' and 'build' are incompatible.
              Type 'import("https://deno.land/x/esbuild@v0.15.7/wasm").PluginBuild' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod").PluginBuild'.
                The types of 'initialOptions.stdin' are incompatible between these types.
                  Type 'import("https://deno.land/x/esbuild@v0.15.7/wasm").StdinOptions | undefined' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod").StdinOptions | undefined'.
                    Type 'import("https://deno.land/x/esbuild@v0.15.7/wasm").StdinOptions' is not assignable to type 'import("https://deno.land/x/esbuild@v0.14.51/mod").StdinOptions'.
                      Types of property 'contents' are incompatible.
                        Type 'string | Uint8Array' is not assignable to type 'string'.
                          Type 'Uint8Array' is not assignable to type 'string'.deno-ts(2769)

I'm not able to test at the moment, but this might have been resolved by the dependency updates in #23.

authors: jsejcksn wydengyre


text:
Sometimes logs are appended to a existing logs files of previous runs

If run 2 is running, logs file 2 is empty while logs file 1 contains its own logs and also 2 logs

not able to reproduce, the root cause of this issue may be bound to python's ContextVar logic used to get the current run ID. Probably it happened because there was an exception in the code and the context var got corrupted

Steps to reproduce:

In an empty folder, create a requirements.txt file with two lines: "plombery" and "uvicorn"
Run pipenv3 --python 3.11 install -r requirements.txt, then pipenv3 shell (reproduces with both python 3.11 and 3.9)
Copy the src/app.py file from the "your first pipeline" tutorial (https://lucafaggianelli.github.io/plombery/create-a-pipeline/)
Run python src/app.py
Open localhost:8000 and from the top-level page press "Run" button multiple times.

Expected results

Every run shall have its own logs

Actual result:

All the logs belong to the very first run

$ cat .data/runs/run_1/logs.jsonl
{"level": "INFO", "message": "Executing task fetch_raw_sales_data", "loggerName": "plombery.sales_pipeline", "timestamp": "2023-09-09T15:16:15.692Z", "pipeline": "sales_pipeline", "task": null}
{"level": "DEBUG", "message": "Fetching sales data...", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:16:15.692Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}
{"level": "INFO", "message": "Fetched 50 sales data rows", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:16:15.693Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}
{"level": "INFO", "message": "Executing task fetch_raw_sales_data", "loggerName": "plombery.sales_pipeline", "timestamp": "2023-09-09T15:16:46.473Z", "pipeline": "sales_pipeline", "task": null}
{"level": "DEBUG", "message": "Fetching sales data...", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:16:46.473Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}
{"level": "INFO", "message": "Fetched 50 sales data rows", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:16:46.473Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}
{"level": "INFO", "message": "Executing task fetch_raw_sales_data", "loggerName": "plombery.sales_pipeline", "timestamp": "2023-09-09T15:18:44.596Z", "pipeline": "sales_pipeline", "task": null}
{"level": "DEBUG", "message": "Fetching sales data...", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:18:44.597Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}
{"level": "INFO", "message": "Fetched 50 sales data rows", "loggerName": "plombery.fetch_raw_sales_data", "timestamp": "2023-09-09T15:18:44.597Z", "pipeline": "sales_pipeline", "task": "fetch_raw_sales_data"}

Notes:
Restarting python src/app.py "forgets" about the run that stuck getting all the logs, and after a couple of restarts:
$ find . -name "logs.jsonl" -exec wc -l {} \; | sort
0 ./.data/runs/run_10/logs.jsonl
0 ./.data/runs/run_11/logs.jsonl
0 ./.data/runs/run_2/logs.jsonl
0 ./.data/runs/run_3/logs.jsonl
0 ./.data/runs/run_5/logs.jsonl
0 ./.data/runs/run_6/logs.jsonl
0 ./.data/runs/run_8/logs.jsonl
6 ./.data/runs/run_7/logs.jsonl
9 ./.data/runs/run_1/logs.jsonl
9 ./.data/runs/run_4/logs.jsonl
9 ./.data/runs/run_9/logs.jsonl

Thanks for the info, I'll try to reproduce it following your steps

authors: Kikobyte lucafaggianelli

repo: lucafaggianelli/plombery


text:
🛑 DGC prod is down

In 2f5a378, DGC prod (https://digichanges.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DGC prod is back up in 6135d17.

repo: lucalop/monitoring


text:
⚠ Punto de Fuga has degraded performance

In 09298de, Punto de Fuga (http://puntodefugapodcast.com) experienced degraded performance:

HTTP code: 200
Response time: 9306 ms

Resolved: Punto de Fuga performance has improved in cf76d98.

repo: lucasboh/upptime


text:
[freealut] Code review for PR 20851 at ConanCenterIndex

Remove patches
Use cmake defines instead of patching find_package
Remove not desired artifacts instead of patching
Use only official defines for dll export
Update project URL according to AUR and Brew
Add system libraries listed in upstream's CMakeLists.txt

[ ] I've read the contributing guidelines.
[ ] I've used a recent Conan client version close to the currently deployed.
[ ] I've tried at least one configuration locally with the conan-center hook activated.

It is easy to make it build as a shared lib for Windows, maybe the best is to drop the static build for now. The old Alut was delivered as a shared lib to windows anyways.

thanks

authors: lucaskdc uilianries

repo: lucaskdc/conan-center-index


text:
Add a Code of Conduct

See this open source guide, and the guide for a code of conduct.

The Contributor Covenant COC has been added, as of PR #22.

repo: lucasstarsz/Slope-ECS


text:
Topic2

Final commit without extras.
i have deleted the "target files" in /ext/.

Well Done! Continue with next topics!

repo: lucast-globant/java-bootcamp-bahia