Model returned from .create() incorrectly reports associated model for (unset) belongs_to relation. Hacky workaround works for sqlite3/mysql but not postgres

# orator 0.9.5
from orator import DatabaseManager, Model
from models.comment import Comment

config = {
    'sqlite': {
        'driver': 'sqlite',
        'database': 'sandbox.sqlite3'
    }
}

db = DatabaseManager(config)
Model.set_connection_resolver(db)

db.table('comments').delete()

comment1 = Comment.create(body='derp1')
comment2 = Comment.create(body='derp2')
comment2.parent().associate(comment1)

comment2.save()
comment2.fresh()

# parent set
print(comment2.parent()._query.to_sql())
# => SELECT * FROM "comments" WHERE "comments"."id" = ?

# passes
assert comment2.parent == comment1

# no parent yet
comment3 = Comment.create(body='derp3')
print(comment3.parent()._query.to_sql())
# => SELECT * FROM "comments"
#    ^ Notice no 'where' clause so this is going to return all rows

# even worse, this passes because the belongs to returns self._query.first()
assert comment3.parent.id == comment1.id

# expected because it's null in the table.
assert not hasattr(comment3, 'parent_id')

So this behavior is not observed if you do the following hacky workaround.
# fetch a new instance of the object
comment3 = Comment.find(comment3.id)

# note: comment3.fresh() is not sufficient

# this is now correct (probably something to do with the instantiation?)
assert comment3.parent == None

# interestingly enough, 'assert comment3.parent is None' doesn't work while '==' does.

however, using postgres (with psycopg2==2.7.1) yields the following error
Traceback (most recent call last):
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/connections/connection.py", line 31, in _run
    result = wrapped(self, query, bindings, *args, **kwargs)
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/connections/connection.py", line 199, in select
    cursor.execute(query, bindings)
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/psycopg2/extras.py", line 144, in execute
    return super(DictCursor, self).execute(query, vars)
psycopg2.DataError: invalid input syntax for integer: "="
LINE 1: SELECT * FROM "comments" WHERE "comments"."id" = '=' LIMIT 1
                                                         ^

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "foo.py", line 46, in <module>
    assert comment3.parent == None
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/orm/relations/wrapper.py", line 34, in _get_results
    return self._relation.get_results()
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/orm/relations/belongs_to.py", line 37, in get_results
    return self._query.first()
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/orm/builder.py", line 170, in first
    return self.take(1).get(columns).first()
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/orm/builder.py", line 198, in get
    models = self.get_models(columns)
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/orm/builder.py", line 439, in get_models
    results = self.apply_scopes().get_query().get(columns).all()
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/query/builder.py", line 1058, in get
    results = self._processor.process_select(self, self._run_select())
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/query/builder.py", line 1074, in _run_select
    not self._use_write_connection
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/connections/connection.py", line 34, in _run
    e, query, bindings, wrapped
  File "/home/matt/.virtualenvs/orator-sandbox/lib/python3.4/site-packages/orator/connections/connection.py", line 317, in _try_again_if_caused_by_lost_connection
    raise QueryException(query, bindings, e)
orator.exceptions.query.QueryException: invalid input syntax for integer: "="
LINE 1: SELECT * FROM "comments" WHERE "comments"."id" = '=' LIMIT 1
                                                         ^
 (SQL: SELECT * FROM "comments" WHERE "comments"."id" = %s LIMIT 1 (['=']))

It looks like because the underlying where clause is
self._query.where('%s.%s' % (table, self._other_key), '=', getattr(self._parent, self._foreign_key))

it ends up passing None to psycopg2 which somehow results in an '=' being inserted in place of the value. This behavior is not observed when using PyMySQL or the sqlite3 driver. I'm guessing that issue may be more to do with psycopg2, and I'll consider opening a ticket with that project if that's the case.
However, the issue of a new object returned from .create returning the first row from the parent table as its parent is a bug with this library (and can lead to undesired behavior where an object is returned from the belongs_to relation where you weren't expecting it/doesn't actually own you).

I should add the associated model and migration
Model:
from orator import Model
from orator.orm import belongs_to, has_many

class Comment(Model):
    __fillable__ = ['body']

    @belongs_to('parent_id')
    def parent(self):
        return Comment

    @has_many
    def children(self):
        return Comment

Migration:
from orator.migrations import Migration

class CreateCommentsTable(Migration):

    def up(self):
        with self.schema.create('comments') as table:
            table.increments('id')
            table.string('body')
            table.big_integer('parent_id').nullable()
            table.timestamps()

    def down(self):
        """
        Revert the migrations.
        """
        self.schema.drop('comments')

Thanks for the detailed explanation.
I will look into it and get  back to you.

Ok, I see.
The thing is create() will only create the entry in the database without populating the model's attributes. So when you do
comment3 = Comment.create(body='derp3')

the parent_id attribute is not set on the model which causes the belongs_to relation to not set the proper constraint.
Maybe create() should get a fresh instance automatically. It would also be useful if you have default values for the table.
For now, a workaround would be:
comment3 = Comment.create(body='derp3').fresh()

Ah, I see I misunderstood how .fresh() worked. I assumed it was like ActiveRecord's .reload() where it would do it in place. The postgres issue still stands, however, even with .fresh().

Commit 6fd2096c53c75b5adb6f08d183608b96312a28af should fix the issue

@mattcl Did commit 6fd2096c53c75b5adb6f08d183608b96312a28af fix the issue for you?

@sdispater yes, that looks like it resolves the problem. Thanks for the quick turnaround!


[Docs] What versions of LLVM exactly to use?

Install from Source
The page at https://tvm.apache.org/docs/install/from_source.html says this about LLVM:

We highly recommend to build with LLVM to enable all the features.

Additions/Changes Requested
But I cannot figure out which versions of LLVM are acceptable. On Ubuntu 20.04, I have clang-12 and llvm-12-dev installed from the official Ubuntu focal-updates repo, as well as clang-19 and libpolly-19-dev installed from http://apt.llvm.org/focal/ llvm-toolchain-focal main.
In my config.cmake, I tried setting USE_LLVM to /usr/lib/llvm-12/bin/llvm-config and /usr/lib/llvm-19/bin/llvm-config for ninja builds. Neither worked.
With 12:
/home/jchia/gh/tvm/src/target/llvm/llvm_module.cc:502:38: error: ‘x86’ is not a namespace-name
  502 |   using namespace llvm::sys::detail::x86;

With 19:
FAILED: CMakeFiles/tvm_objs.dir/src/target/llvm/llvm_instance.cc.o
ccache /usr/bin/c++ -DDMLC_USE_FOPEN64=0 -DDMLC_USE_LOGGING_LIBRARY="<tvm/runtime/logging.h>" -DNDEBUG -DNDEBUG=1 -DTVM_GRAPH_EXECUTOR_TENSORRT -DTVM_INDEX_DEFAULT_I64=1 -DTVM_KALLOC_ALIGNMENT=64 -DTVM_LLVM_VERSION=190 -DTVM_THREADPOOL_USE_OPENMP=0 -DTVM_USE_LIBBACKTRACE=1 -DUSE_FALLBACK_STL_MAP=0 -DUSE_MICRO_STANDALONE_RUNTIME=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DDMLC_ENABLE_RTTI=0 -I/home/jchia/gh/tvm/include -I/home/jchia/gh/tvm/build/libbacktrace/include -I/home/jchia/gh/tvm/3rdparty/libcrc/include -isystem /home/jchia/gh/tvm/3rdparty/dlpack/include -isystem /home/jchia/gh/tvm/3rdparty/dmlc-core/include -isystem /home/jchia/gh/tvm/3rdparty/rang/include -isystem /home/jchia/gh/tvm/3rdparty/compiler-rt -isystem /home/jchia/gh/tvm/3rdparty/picojson -isystem /home/jchia/gh/tvm/build/crt_config -isystem /usr/local/cuda/include -isystem /usr/lib/llvm-19/include -std=c++17 -faligned-new -O2 -Wall -fPIC  -fno-rtti -MD -MT CMakeFiles/tvm_objs.dir/src/target/llvm/llvm_instance.cc.o -MF CMakeFiles/tvm_objs.dir/src/target/llvm/llvm_instance.cc.o.d -o CMakeFiles/tvm_objs.dir/src/target/llvm/llvm_instance.cc.o -c /home/jchia/gh/tvm/src/target/llvm/llvm_instance.cc
/home/jchia/gh/tvm/src/target/llvm/llvm_instance.cc:45:10: fatal error: llvm/Support/Host.h: No such file or directory
   45 | #include <llvm/Support/Host.h>

Could you clarify:

Which versions of LLVM can be used.
Why exactly LLVM is good/necessary, namely which features are affected and how if LLVM is not used. It's worrying to not know what downsides one is getting for not using LLVM.
Whether this part is referring to the USE_LLVM in the config.cmake or something else. E.g. do we need to do something about and CMAKE_C_COMPILER or CMAKE_CXX_COMPILER to point them to clang?

Triage

needs-triage
docs

From the llvm github repo, it appears that llvm-17 has llvm/Support/Host.h but llvm-18 and llvm-19 do not.

I met the same error for combination of (TVM v0.15.0, llvm-18). Upgrade tvm and compile TVM v0.18.0  with llvm-18 works fine for me.


feat: Facilitate single PowerAI license acceptance

Users are required to interactively accept the PowerAI license agreement
on at least one server per cluster. A single server is selected
(no significance as to which server) to run the manual acceptance
script. If the user accepts the license agreement on that server then
the acceptance script will be run quietly on the remaining servers.

I'll keep this branch in my forked 'power-up' repo.


It creates configuration only for first project in list

step to reproduce:

create 2 project

try to create an ftp/sftp configuration for second project

it will create the conf file in first project instead so you're not able to have multiple projects opened

Duplicate #44


fix(ui-features\buttons\dropdown-buttons.scss): fix dropdown button s…

…tretch issue #1877
Please read and mark the following check list before creating a pull request (check one with "x"):

[x] I read and followed the CONTRIBUTING.md guide.
[x] I read and followed the New Feature Checklist guide.

Short description of what this resolves:

Hi @nnixaa
Dear friend I am new on GitHub and I don't know how to solve this problem. Can you describe me how can I merge conflict please?


Create data retention adr

ADR documenting our current approach to data retention.
Trello:
https://trello.com/c/tfu9zXuy/534-delete-unused-data-after-a-year

ADR should be ready for review @benthorner when you have a mo.

Thanks for the review and for giving a thorough explanation of how to move this ADR forward @benthorner.
I think I've addressed most of your comments and tried to actively thin down the decision section. In doing this I've moved the implementation details of each model to the consequences section (as per your comment of Thinking about "consequences" as "implementation") as that section is purely around implementation.
The Subscriber section has also been updated to the current approach in this PR as I think we've consensus about this but can easily be updated if needed.

Sorry if this PR has been frustrating to review @benthorner due to its continually changing structure.
I've taken on board your latest comments and updated accordingly. As well as the english comments which have been fixed. I've focused on:

A lot of the consequences still seem to contain explanation for this decision, but that should reside here. As a way of DRYing it up, we could mention there are essentially two categories of data:
Event data, which are only used for a short period after they're created, and subsequently for analytics.
Subscriber data, which is used indefinitely until it's marked as "ended".

This really helped structure the ADR. I've moved parts around and I think I'm happy with the current state of it but feel free to comment if there are still holes (probs are)! 😆

Cheers for the review @benthorner!

A general suggestion you may find helpful when writing these things is to consider, for each paragraph: what is the point I'm trying to make, and how does this compare to the previous paragraph?

Thanks for pointing that out as I wasn't really paying attention to the general flow and was more concerned about getting all the info down in some form.

Using headings, like you've done in the "decision" section, would help a lot there

I've added headings to the restructured consequence section which improves the structure! 👍

Finally, one potential consequence we're missing is that we restrict our data for analytics to a period of at most 1 year.
We mentioned earlier we have no evidence of need for this, so this consequence can just acknowledge the effect, and
reiterate that we don't expect it to be a problem.

Added a brief summary to the consequence section.

We should also update this doc, by the way.

Yup it's on my radar, I was waiting until we had this doc sorted before linking it to the analytics doc.

Thanks for the review @benthorner. Your comments have been really helpful! It has been a learning curve but one I'm thankful of doing (and thankful to you for persevering 😆).
Should be ready for a re-review.

Thanks for the review @benthorner and for catching some discrepancies.
I've updated the ADR based on your current round of comments. 👍

Thanks for the reviews @kevindew & @benthorner.
Could you have another peek at the ADR @kevindew to check the changes I've made are inline with your comments.


Adding Ecco Data and Ai to Cilium users

Add ECCO Data and AI to list of Cilium users.
Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Are you a user of Cilium? Please add yourself to the Users doc
[x] Thanks for contributing!

Thanks for the addition!
Can you remove the merge commit or add sign off to it?

I will add "sign off" to my commits later today. Thank you for mentioning it 🙂

/test


SCM_REPOSITORY_PATH value should be consistent

The current value is repository or wwwroot which is relative under site folder.  However, other apis take path relative to root.  For instance, site/wwwroot or site/repository.   We should strike for consistency.  To minimize breaking change, we handle wwwroot as site\wwwroot (common initial clone scenarios).

It turned out both SCM_REPOSITORY_PATH and SCM_TARGET_PATH do support absolute path today (thanks to Path.Combine(parent, setting) call).   If setting is absolute, the parent is ignored.
I tested by setting ...
SCM_REPOSITORY_PATH = d:\home\logFiles\repo
SCM_TARGET_PATH = d:\home\logFiles\target

This is the output when git push.
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id 'a26cd0b8d4'.
remote: Generating deployment script.
remote: Generating deployment script for Web Site
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: KuduSync.NET from: 'd:\home\logFiles\repo' to: 'd:\home\logFiles\target'
remote: Copying file: 'index.htm'
remote: Finished successfully.
remote: Deployment successful.

I have updated the wiki.   If we think this is sufficient for now, let close the issue.

@suwatch do we support env variable expansion here? I don't like having to write d:\home\foo, but %HOME%\foo would be pretty clean.

I am about to support it - since I need to write a test that would run on local kudu and d:\home won't work.

Perfect!


Update penaltymodel, dwave-hybrid and dwave-neal

See #50

The current doctest failures are due to lack of QPU access and other syntax errors. They should be updated but it is out-of-scope for this PR.


Make the sync feature enabled by default.

Currently, you can enable the sync feature manually however, this doesn't massively make sense to have as an opt-in thing when it's originally targeting the Tokio ecosystem where most systems will likely be using the multi-threaded runtime.
In the case that they are using a single-threaded runtime and are at the point of wanting to save on the atomic cost, then they can opt-out. Although the overhead of the atomic operation is completely insignificant in reality and I'm not sure if it's worth having it as a feature, to begin with considering it is so cheap.

Having a small conversation with @irevoire we agreed that is a good addition to the package!
Feel free to submit a PR @ChillFish8 😄

Yeah, you can remove the feature entirely and use Arc by default everywhere :+1:


Implement a "startplugin" management command to ease plugin development

Environment

Python version: *
Nautobot version: next

Proposed Functionality
I propose that we implement a management command called startplugin inspired by Django's built-in startappcommand.

Use Case
The current documentation informs the reader about the skeleton of a Nautobot plugin but expects them to create them from scratch. Since every Nautobot plugin is in fact a Django app, basing a command to help bootstrap a new plugin from the Django startup command greatly reduce the barrier to entry to developing Nautobot plugins.
Starting with the startapp command and then adding extra files or directories required by Nautobot plugins would be something that would also simplify the documentation.
I envision developers using nautobot-server startplugin <path> to create a new plugin structure, with base files/directories.

Database Changes
None.

External Dependencies
None.

Would you mind if I take this one?  I will start by just building out the template to allow django-admin startapp --template and then see how to get nautobot-server startplugin to call it.

Or I could use management commands and cookiecutter.

Thanks for offering! I'd vote for at least seeing how far you can go with the startapp approach since that doesn't require adding cookiecutter as a dependency, but I'm not opposed to the cookiecutter approach if it provides functionality that startapp lacks.


Path parameters with explicit types are not correct at runtime

If I have the following API and endpoint:
const userApi = makeApi([
  {
    method: 'get',
    path: '/users/:id',
    alias: 'getUser',
    description: 'Get a user',
    parameters: [
      {
        name: 'id',
        type: 'Path',
        schema: z.number(),
      },
    ],
    response: z.object({
      id: z.number(),
      name: z.string().nullable(),
    }),
    errors,
  },
]);

const userRouter = ctx.router(userApi);

userRouter.get('/users/:id', async (req, res) => {
  console.log(typeof req.params.id);

  return res.json({
    id: req.params.id,
    name: "example",
  });
});

The output of the console.log() is string, even though the type is inferred as number.

@epotter2297 this is now fixed on @zodios/express v10.0.2

@epotter2297 one thing was missing (boolean coercion), fixed on @zodios/express v10.0.3


Use distinct message for changed CLA since you have signed last time

we have changed the content of the CLA (now it's DCO) since you have signed last time.
So that's the reason, why CLA assistant says, that you haven't sign it yet.
I agree, that it would be great to have a better message, which indicates the reason.

Originally posted by @KharitonOff in https://github.com/cla-assistant/cla-assistant/issues/678#issuecomment-831989448

مطلوب مساعدة


Fix sdk version in user-agent (BTA-398)

This change is

perfect :+1:

@qhello you can publish to npm here https://stratumn.semaphoreci.com/workflows/b5fc3bea-ba9f-4015-8143-2425c71c7938?pipeline_id=a1a80302-79e4-4dd4-afa7-651a07576980

@conord33 did it - thanks !

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Question] - Should we add PauseAllTask and UnPauseAll Task into TickTimer

Hi @DonnYep
I am using TickTimer to spawn tasks and when the game pause, I need to pause all task too
Should we add 2 functions for that purpose into TickTimer?
        public void PauseAllTask()
        {
            foreach (var taskId in taskDict.Keys)
            {
                PauseTask(taskId);
            }
        }

        public void UnPauseAllTask()
        {
            foreach (var taskId in taskDict.Keys)
            {
                UnPauseTask(taskId);
            }
        }

Thank you!

Hi @codingwatching
If you need to pause all tasks when game pause, I recommend stop calling TickRefresh() to stop all tasks. Of course the method you propose is also possible.

Hi, @DonnYep
Yes, stop calling TickRefresh is an awesome way to do it!


Update odata_json_reader.cpp

Bug fix for adding link to a NULL object.

Hi @AndrewFrants, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Same change discussed in RE: ODataCpp fix review & upload to NuGet.org.

@AndrewFrants Thanks for your contribution!


Can't use absolute path for CSS file

Just downloaded version 3.2.0 of this awesome package with Umbraco 10. In the documentation it states "You can use absolute or relative paths" for the CSS file.
However - when you create your data type, you only get a local file picker with no option to select an absolute path. I have my font kit hosted at a CDN and would very much like to use this option.
Is this new functionality by design?
Thanks a lot :)

Hi @inversiondk , the first versions of Iconic had a textbox to enter the URL of your CSS file. To improve the user experience I decided to create the picker, and I missed the fact that a textbox would still be useful!
I'll fix that as soon as I can. Thank you for bringing that up.

@skartknet cool. It's not something that breaks the entire setup - I was just wondering.
Very very cool little plugin. Thanks for creating it :)

I have done some modifications to support this.... but I haven't tested it. Maybe someone can it it  try...?
I have created a version 4.1.0-beta with it.

I'll see if I can't give it a try with an upcoming project :)

I have created a new version beta2, beta1 had a bug. You should see the input boxes.

@skartknet Added beta2, when using the picker (select button) it then breaks the functionality?

@inversiondk how do you plan to use the kit, isn't the kit just a JS file?

I also get an isExternalUri is undefined using beta 2

thanks guys, I have fixed that issue that @onza22 said, but I couldn't replicate the one from @huwred. It seems to be working fine now.

I have created a beta3

I have found the error for isExternalUri. I will fix this, don't test anything yet. Thanks.

I have found the error for isExternalUri. I will fix this, don't test anything yet. Thanks.

Hi, any update on this one?

I'm working on a new version with some other changes... and a new exciting feature ;). I hope I get it ready by the end of the week.

I have created a beta4. Hopefully it works this time. I'm also shipping a few other improvements on this version like a Filter option. Still need to update the docs though.

:( beta4 seems to have broken it completely so had to revert back to beta 3. I will take a deeper look later and report back.

fixed the back office issue, I had to delete the old app_plugins folder, however I now get an error in the ui
Unable to cast object of type 'Our.Iconic.IconicPackagesConfiguration' to type 'System.Collections.Generic.Dictionary2[System.String,System.Object]'.`
   at Our.Iconic.Core.ConfiguredPackagesCollection.GetConfiguratedPackages(IPublishedPropertyType propertyType)    at Our.Iconic.Core.ValueConverters.IconicValueConverter.ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview)    at Umbraco.Cms.Core.Models.PublishedContent.PublishedPropertyType.ConvertInterToObject(IPublishedElement owner, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview)    at Umbraco.Cms.Core.PublishedCache.PublishedElementPropertyBase.GetValue(String culture, String segment)    at Umbraco.Extensions.PublishedPropertyExtension.Value[T](IPublishedProperty property, IPublishedValueFallback publishedValueFallback, String culture, String segment, Fallback fallback, T defaultValue)    at Umbraco.Extensions.PublishedElementExtensions.Value[T](IPublishedElement content, IPublishedValueFallback publishedValueFallback, String alias, String culture, String segment, Fallback fallback, T defaultValue)    at Umbraco.Cms.Web.Common.PublishedModels.MenuItem.get_Icon() in E:\Umbraco-Dev\VantagePortal\VantagePortal.ContentModels\MenuItem.generated.cs:line 65

I'll take a look. Thanks for taking the time to test it.

All seems OK so far in the beta5

I'll close this for now.


Live branch merge. ready to go-live.

Docs Build status updates of commit faa9f31:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:x:Error

Details

.openpublishing.publish.config.json

[Error]

Publish service's config file: .openpublishing.publish.config.json is not valid. Details: System.ArgumentException: Invalid json string ---> Newtonsoft.Json.JsonReaderException: Invalid property identifier character: <. Path 'docsets_to_publish[0].build_entry_point', line 17, position 0.
   at Newtonsoft.Json.JsonTextReader.ParseProperty()
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   at Microsoft.OpenPublishing.Build.Common.JsonUtility.FromJsonString[T](String value) in d:\a\1\s\Libraries\Common\JsonUtility.cs:line 93
   --- End of inner exception stack trace ---
   at Microsoft.OpenPublishing.Build.Common.JsonUtility.FromJsonString[T](String value) in d:\a\1\s\Libraries\Common\JsonUtility.cs:line 97
   at Microsoft.OpenPublishing.Build.WorkflowTasks.SyncGitSourceWithDownloadingPackage.CheckPublishConfig() in d:\a\1\s\Libraries\WorkflowTasks\SyncGitSourceWithDownloadingPackage.cs:line 68

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit e4ebcda:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

Line 218: [Error] Invalid syntax in W:\iejv-s\Odata-docs\docfx.json. Please validate your syntax with a JSON validator like http://jsonlint.com/ and update the JSON file in the repo with correct syntax.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 4b2bb68:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

.vscode/spellright.dict
:white_check_mark:Succeeded

Odata-docs/TOC.yml
:white_check_mark:Succeeded
View

Odata-docs/assets/02-01-customer-order.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-actionConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-functionConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-navigationRoutingConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-navigationlinkeConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-queryEntitiesConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-updateDeleteEntitiesConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-3.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-ssl-config.png
:white_check_mark:Succeeded
View

Odata-docs/assets/06-05-typemapping.png
:white_check_mark:Succeeded
View

Odata-docs/assets/07-06-package-src.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-AddNewDataContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ChangeWebApiConfig.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ChangeWebApiConfig1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-Complete.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-Complete1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ProjAndClass.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectController.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectModelClass.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectModelWithoutContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectScaffolderWithContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-DateTypeMapping.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-conventions.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping3.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-16-add-class.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-16-new-project.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-debug.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-18-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-18-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-19-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-debug.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-output.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-21-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-CSDL-Class-Relationship.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-class-relation1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-class-relation2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-common-query.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-data-flow.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-main-flow.png
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit b52adcb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

.vscode/spellright.dict
:white_check_mark:Succeeded

Odata-docs/TOC.yml
:white_check_mark:Succeeded
View

Odata-docs/assets/02-01-customer-order.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-actionConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-functionConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-navigationRoutingConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-navigationlinkeConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-queryEntitiesConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/03-02-updateDeleteEntitiesConvention.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-demo-3.png
:white_check_mark:Succeeded
View

Odata-docs/assets/05-01-ssl-config.png
:white_check_mark:Succeeded
View

Odata-docs/assets/06-05-typemapping.png
:white_check_mark:Succeeded
View

Odata-docs/assets/07-06-package-src.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-AddNewDataContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ChangeWebApiConfig.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ChangeWebApiConfig1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-Complete.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-Complete1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-ProjAndClass.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectController.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectModelClass.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectModelWithoutContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/11-01-SelectScaffolderWithContext.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-DateTypeMapping.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-conventions.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/12-01-mapping3.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-16-add-class.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-16-new-project.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-17-debug.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-18-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-18-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-19-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-csdl1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-debug.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-20-output.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-04-21-csdl.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-CSDL-Class-Relationship.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-class-relation1.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-class-relation2.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-common-query.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-data-flow.png
:white_check_mark:Succeeded
View

Odata-docs/assets/2015-12-21-Client-main-flow.png
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Create visibility utilities

Create utilities to hide content at a specific breakpoint or between a specific breakpoint.

PR: #25


Add support for flow:main in package.json

This PR is a resurrection of https://github.com/facebook/flow/pull/1459
Situation
Flow syntax is not natively supported by JS Engines so flow users use tools like babel to strip types from flow to ship it in npm. This means that people that import those packages into their projects don't have typing support and have to in turn again use flow-typed to add support for packages that were originally written in flow.
There are of course workarounds for this, the most popular one being to mirror sources of files in the same folder as dist as [file].js.flow. It has it's own sets of quirks and limitations.
As things are, it's nearly impossible to use Flowtype in a monorepo setup without having to rely on third party tooling.
Why current alternatives aren't enough
The flow community has had this problem for a while and as such demand has given birth to a supply of "fixes" for this including but not limited to

https://github.com/AgentME/flow-copy-source
https://github.com/steelbrain/babel-cli-flow
https://github.com/ImmoweltGroup/flow-mono-cli

All of them are unreliable and easily break as they all use .js.flow way of working this issue around
Proposed solution
The path this PR tries to take is to add a new field to package.json called flow:main. When available, it'll be used instead of main. It's resolution and handling is no different than that of a main field.
This change is non API breaking and no existing packages running flow would break with this. Furthermore those packages that already are using lib/index.js.flow or similar ways would also be unaffected by this. This change would only affect the packages that explicitly specify the new key.
This PR enables package authors to allow package authors to specify main to lib/index.js (example value) and flow:main to src/index.js (example value). This change when combined with un-ignoring src directory in .npmignore would give flow typings for modules out of the box.
Furthermore, with this change, no special changes have to be done to make typings in mono repo modules work. They should work OOB.
Why flow:main
It's just a proposed solution. Typescript uses types/typings. We could do something similar. I'm open to suggestion for names but I think flow:main is simple, straight forward and gets the job done :)

@steelbrain thanks for doing this! It definitely addresses many issues.
I do want to point out that this will be unable to support non-main module imports say “mylib/optional-module” which things like flow-copy-source does.
Would you consider “flow:src”: “./scr/“ or something along those lines in addition ? Idea is to tell flow to resolve modules in the package not from it’s root but from a specific path.

@Gozala The issue you have stated is very valid. I would like to point out that resolutions such as the one you recommended have been tried before by other movements, most notably the browser field one https://github.com/defunctzombie/node-browser-resolve
It ended up being so complicated that there's only one package on npm that supports it and hasn't been updated in forever because of how complex it's become. Further I'd like to point out that this limitation is also shared by Typescript with their typings and types manifest fields so it's a pain the JS community would have to tackle together.
For the time being, I think this fix should make lives of people working with flow in monorepo and other setups easier while maintaining simplicity. You can work the stated issue around with the non-ideal .js.flow way.

I do want to point out that this will be unable to support non-main module imports say “mylib/optional-module” which things like flow-copy-source does.

Within our monorepo we used to have import paths like this then realized that it made our module name mappers excessively complex. In fact, we kept running into issues because of how ./lib was where we were resolving.

The problem with sharing flow types directly in published package is that Flow is still 0.x, and breaking changes happen quite often. So, most likely the published types will only work when app's flow version matches the one with which the package was written

@Hypnosphi We cannot have flow-typed in private, non-published mono-repos :)

I'm sure it's a valuable feature, I just doubt that it fixes https://github.com/facebook/flow/issues/1996

I would disagree with you there, It does fix it. It does add a way, just like Typescript for packages to publish their types.
Whether flow has matured enough itself to not break compat is a different question. I don't see why this particular option would have to be changed when flow hits 1.x. The types? Yes. The exposing interface? Not required.

The exposing interface? Shouldn't need changes.

If it was true, there wouldn't be version ranges in definitions from flow-typed
Maybe flow:main could support object as value?
"flow:main": {
  "flow_v0.25.x-": "src/index.js"
}

@Hypnosphi If you disagree with the fix that I've put up, please feel free to open a new PR that does it better and I'd be more than glad to close this one in favor of it :)

Agree with @Hypnosphi. Different flow versions easily can break non-trivial type definitions from my experience. Ability to specify this in package.json is awesome, but it should be a bit more flexible to allow definitions for different flow versions.
Also, @Gozala raises a good point: https://github.com/facebook/flow/pull/6504#issuecomment-399494738, libraries like lodash follow this pattern, so will be useful to address them too.
Even if it wasn't implemented in this PR, maybe the property value could be an object instead of string to support extending t in future?

+1 on having multi-flow versions being done in a different PR, and having this one merged in as-is. @steelbrain is right in that this PR is consistent with the current behavior with including flow types in your module – you currently cannot specify any flow versioning for your published types.

I'm also in agreement with @steelbrain and @saadq. This PR is immediately useful for those of us who make use of flow-typed in their projects for defining libdefs. Plus, the flow:main property is optional for those who don't wish to make use of it.
Versioning is def an issue, but it's one you'd still have if you take the *.js.flow approach or even if you used TypeScript instead. Rather than quickly settle on a convention here, it would be best to address it in a separate issue/PR imho.

@mrkev can u comment on this?
how Facebook handle external packages with flow?

@sibelius I think we just use library definitions.
This looks like a good idea tbh, but I'm worried about versioning. I want to look at the discussion from the previous one. Unfortunately don't have much time to look deeply into this now, sorry. I'll keep it in my backlog.

Would this work as a workaround for: https://github.com/facebook/flow/issues/6134 ?

Also to consolidate the tooling for .flow and comment style typing these PRs could help flowtype/flow-remove-types#64 and flowtype/flow-remove-types#68

Tooling like that is only fixing the symptoms and not the problem. Typescript just released v3 and they still have not renamed their manifest key (typings). Backward compatibility doesn't necessarily require a new manifest key each version.
This PR has been stalled for so long. I have started building/publishing my Flow forks to use in my projects, npm users can install @steelbrain/flow-bin instead of flow-bin, binaries have also been posted on https://github.com/steelbrain/flow/releases/tag/sb-v0.79.1
I intend to publish future updates with this PR applied for OSX and Linux. Hopefully not for long :(

This was the PR I held out for, in hopes this would help drive community adoption and interoperability. Our favorite libraries all have either been re-written in typescript or provide up to date definitions. The same can't be said for flow. I've loved flow too, so it saddens me quite a bit.
Thanks for the good efforts @steelbrain. It was worth a shot.
We're moving on to typescript since babel 7 makes the transition easy. https://github.com/nteract/nteract/issues/3462

@samwgoldman can you check this?

Love that this issue is finally being addressed! One question though - doesn't this mean that modules will need to publish both the whole flow-typed and non-flow-typed versions of the codebase? (meaning twice the size the module actually needs to be). imo the ideal solution would be just having an easy way to create/flow to recognize the libdef for that module - indeed that's how typescript enables this functionality.

Any progress?

Any news?

@goodmind @Bannerets please hit "Subscribe" button in the right sidebar instead of giving false alarms to those who already did.

please hit "Subscribe" button in the right sidebar

I already subscribed before commenting.
My comment was to attract attention, and to get status of the PR (it was a question), not for subscribing. Flow team just fully ignores this small PR for a year.

There's a problem with the PR though.
It seems to only cover flow files (js+flow) and it's missing a key for libdef.
I propose flow:main and flow:def or flow: { main: '', definition: '' }.

I'm giving up on this because of lack of interest/support from maintainers. Moving to Typescript. Apologies to all the subscribed ones that this didn't work out :)


Using Kendo UI with angular-meteor

The Kendo UI library requires to include jquery and angular library first in the HTML header as:
<head>
    <title></title>
    <link rel="stylesheet" href="styles/kendo.common.min.css" />
    <link rel="stylesheet" href="styles/kendo.default.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="js/angular.min.js"></script>
    <script src="js/kendo.all.min.js"></script>
</head>

The question is, how can I use kendo UI with angular - meteor framework? Thanks.

I know it's easy but can you document your solution for others?  thanks

I found the solution here:
http://guide.meteor.com/writing-atmosphere-packages.html
All I need is create an atmosphere package  and put the source code in. Then import using:
import 'your-username:your-package'

export default angular.module(name, [
   ...
    'kendo.directives',
   ...
]).component(name, {
    template,
    controllerAs: name,
    controller: Pandora
})

why not just import from npm?

Kendo UI library requires a lot of CSS, images, and fonts that I can put in a single Meteor packages using:
Package.onUse(function(api) {
   api.mainModule('my-package.js');
   api.addFiles('my-package.css', 'client');
   api.addAssets([
    'my-package-images.png',
    'my-package-webfont.svg',
    'my-package-webfont.ttf',
    'my-package-webfont.woff',
  ], 'client');
});

I don't know how to do it with npm. It would be nice if you could update the tutorial at http://www.angular-meteor.com/tutorials/socially/angular1/3rd-party-libraries

makes sense because of the fonts, but know that you can import CSS from node modules with the latest Meteor


Cryptography version

Hi @jaredhendrickson13,
Is there a reason not to use the latest version of cryptography? We want to use simple_acme_dns in our project but it conflicts with other packages that use cryptography 35.
PS: Awesome work! It's everything we needed and it works great. The docstrings explain the code masterfully.

This should be fixed by 87a49bbd8a05f1c2fd7f80ce0f5079158dcf3ea8. cryptography is already installed by acme so its inclusion was rather redundant.
Thanks!


stm32h5 supports  counter Timer and RTC

Add the support of the Timers  and RTC to the stm32H5 serie.
Adapt the RTC counter driver to the stm32H5 serie
Enable PWM 2 and PWM 3 on the stm32h573i_dk board
Enable RTC sourced by the LSE clock on the stm32h573i_dk board (also works with LSI source clock)
Signed-off-by: Francois Ramu<EMAIL_ADDRESS>

Running the west build -p auto -b stm32h573i_dk tests/drivers/pwm/pwm_api/
TESTSUITE pwm_basic succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [pwm_basic]: pass = 2, fail = 0, skip = 0, total = 2 durats
 - PASS - [pwm_basic.test_pwm_cycle] duration = 3.011 seconds
 - PASS - [pwm_basic.test_pwm_nsec] duration = 3.012 seconds

------ TESTSUITE SUMMARY END ------

running the west build -p auto -b stm32h573i_dk tests/drivers/counter/counter_basic_api/
on all possible counter : Timers 2,3,4,5,6,7,12,13,14 and RTC
------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [counter_basic]: pass = 9, fail = 0, skip = 0, total = 9 ds
 - PASS - [counter_basic.test_all_channels] duration = 3.569 seconds
 - PASS - [counter_basic.test_cancelled_alarm_does_not_expire] duration = 2.265s
 - PASS - [counter_basic.test_late_alarm] duration = 0.509 seconds
 - PASS - [counter_basic.test_late_alarm_error] duration = 0.509 seconds
 - PASS - [counter_basic.test_multiple_alarms] duration = 0.617 seconds
 - PASS - [counter_basic.test_set_top_value_with_alarm] duration = 0.945 seconds
 - PASS - [counter_basic.test_short_relative_alarm] duration = 6.288 seconds
 - PASS - [counter_basic.test_single_shot_alarm_notop] duration = 7.649 seconds
 - PASS - [counter_basic.test_single_shot_alarm_top] duration = 0.649 seconds

SUITE PASS - 100.00% [counter_no_callback]: pass = 1, fail = 0, skip = 0, totals
 - PASS - [counter_no_callback.test_set_top_value_without_alarm] duration = 0.5s

------ TESTSUITE SUMMARY END ------

Running west build -p auto -b stm32h573i_dk tests/drivers/pwm/pwm_loopback/
when D3 is connected to D10 of the arduino connector of the disco kit
TESTSUITE pwm_loopback succeeded

------ TESTSUITE SUMMARY START ------

SUITE PASS - 100.00% [pwm_loopback]: pass = 8, fail = 0, skip = 0, total = 8 dus
 - PASS - [pwm_loopback.test_capture_busy] duration = 0.006 seconds
 - PASS - [pwm_loopback.test_capture_timeout] duration = 1.003 seconds
 - PASS - [pwm_loopback.test_continuous_capture] duration = 1.200 seconds
 - PASS - [pwm_loopback.test_period_capture] duration = 0.588 seconds
 - PASS - [pwm_loopback.test_period_capture_inverted] duration = 0.587 seconds
 - PASS - [pwm_loopback.test_pulse_and_period_capture] duration = 0.586 seconds
 - PASS - [pwm_loopback.test_pulse_capture] duration = 0.587 seconds
 - PASS - [pwm_loopback.test_pulse_capture_inverted] duration = 0.587 seconds

------ TESTSUITE SUMMARY END ------


Does the self hosted/beta version support Google Drive?

I'm using the latest self hosted index.html file from here https://github.com/antelle/keeweb/tree/gh-pages and have tried the same at https://beta.keeweb.info/
While it appears I can authenticate for Google Drive, keeweb doesn't present a kdbx file to open/view etc. Does anyone know what I'm missing?

Self-hosted version doesn't support google drive for now. You can replace clientid with your clientid here though.

ok - interesting - I changed my client ID in the index.html file and authentication worked but Chrome then showed the following errors...
(index):14 GET https://www.googleapis.com/drive/v3/files?fields=files&q=fileExtension%3D%2…0and%20mimeType%3D%22application%2Foctet-stream%22%20and%20trashed%3Dfalse 403 ()b.extend._xhr @ (index):14(anonymous function) @ (index):18h @ (index):14
(index):14 2016-04-12T12:05:28.208Z [storage-gdrive] List error 111ms http status 403c.error @ (index):14b._xhr.error @ (index):18(anonymous function) @ (index):14

Any ideas on when this might arrive?

most probably something with your app url

hmmm - I read that message to be that google drive/keeweb can't find a kdbx file, even though there is one in the root of my Google Drive folder but I may well be wrong!
I thought some of the stuff here https://github.com/antelle/keeweb/issues/179 might be tangentially relevant?

It may also be 403: App with id {appId} cannot be used within the authenticated user's domain

Maybe - I just entered the web address of where I self host as per the screenshot under Credentials in the API Manager for Google

You must add your domain to Authorized origins

Yeah, it's in - I just didn't include it in the screenshot...

So, you have added both origin and redurect uri,  right? Is there anything interesting in the response body?

This was the response from Chrome
https://github.com/antelle/keeweb/issues/192#issuecomment-208872858

403 is response status, I mean response body. Like this:

This is what I get in FF

Access Not Configured. Drive API has not been used in project<PHONE_NUMBER>69 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/drive/overview?project=385066709169 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
It may be that I am using the wrong index.html file (possible as I've been testing webdav, dropbox and gdrive) or I've not configured things correctly at Google's end?

hmmm, I followed that link and activated the Drive API but then got 'nothing found'

Do you have any .kdbx files in your google drive? Try to search *.kdbx here: https://developers.google.com/apis-explorer/#search/drive/drive/v3/drive.files.list

Yeah, here's the *.kdbx file listed in the results...

please check the response of files/list request from the app

What do you mean/how do I do that? I'm using the self-hosted version if that helps?

Open the app, go to devtools, find the second request go google drive which starts with files, click it, go to Response tab, check what's returned, are your files there?

I'm using the self-hosted version if that helps?

Sure, I know it, as we are discussing exactly this case. It's not supported for now, so it's tricky to setup. Later a manual with screenshots will be added, how to set it up. Now it's not tested, so bugs may be there.

If I've followed your instructions correctly, it looks like a blank response...

Here's the url I copied from Dev Tools
https://www.googleapis.com/drive/v3/files?fields=files&q=fileExtension%3D"kdbx" and mimeType%3D"application%2Foctet-stream" and trashed%3Dfalse

That's because mimeType="application/octet-stream", I guess. It must be removed.

ok - let me know if you need me to do anything else. I'm assuming this is a bug report/problem that needs fixing in the code?

Google Drive mime type recognition seems to be a little broken sometimes. Sometimes when I upload a .kdbx storage manually it will show "Binary File" in the web view, sometimes "Type Unknown" or whatever.
@3ruce did you happen to upload that .kdbx file yourself, if yes: With which browser, and what does the Google Drive webinterface show under "Type" when you select the file?

I'm assuming this is a bug report/problem that needs fixing in the code?

yes, I'll add this to beta tonight and let you know.

@antelle - thank you
@kasoban - yeah, I uploaded it with either FF or Pale Moon, I can't recall but I can easily delete and re-upload if you think that will help? Type is currently shown as 'Unknown File' in the GDrive interface, do you think that makes a difference?

Yes, the last time I had the "Unknown Type" situation it refused to work too. It's like antelle said, KeeWeb can't find the file in that case due to the file type filter when querying. Try reuploading with a different browser and see if GDrive recognizes the file as binary, then it should show up in KeeWeb too.

It's checking file type and media type. But as long as google drive's media types are so crazy, I'll remove media type checking, so only file extension check will be performed.

hmmm, I haven't had any joy with FF, Pale Moon or Chromium so far, each time the kdbx file is seen as 'Unnown' do you guys have any recommendations for a browser that works? I might also try on Windows to see if that makes a difference...

Uploading the kdbx file with FF in Windows works - GDrive sees it as a binary file and then KeeWeb can open it - thanks guys!

Fixed mimetype and deployed to beta. Now all mimetypes will be displayed (please note the difference: mimetypes are not extensions, currently we support only .kdbx).

Thank you @antelle - wouldn't you just believe it though - as soon as I get this working on the host, my wife tells me she can't remember her gmail password!!!

Upcoming hotfix (v1.1.3) will contain a method for setting all app settings, including google drive client id:
kwSettings.set('gdriveClientId', 'your-key-here')

So, you won't need to replace anything in the HTML file.

So, all questions seems to be solved except of changing client ID, which is the subject of issue #180
Closing this as duplicate


Starship + undistract-me results in unusable shell

Describe the bug
See screenshot below - basically, I can still open a shell and type in commands, but they don't actually run at all.
Steps To Reproduce
Steps to reproduce the behavior:

Set programs.bash.undistractMe.enable = true; and programs.starship.enable = true;
Run sudo nixos-rebuild switch
Start a new Console

Expected behavior
These two features should be able to co-exist.
Screenshots
As you can see, the prompt is no longer usable at all:

Additional information
Worked around this by disabling undistract-me.
Notify maintainers
@bbigras @danth @davidtwco @Br1ght0ne @Frostman @marsam @kira-bruneau
Metadata

system: "x86_64-linux"
host os: Linux 6.1.55, NixOS, 23.05 (Stoat), 23.05.3759.261abe8a44a7
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.13.5
channels(root): "nixos-23.05"
channels(username): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Not related to the issue but starship seems to have some kind of undistract-me builtin https://github.com/starship/starship/blob/43b2d42cd526e34c5f0290e7409fbd6d3a54e908/src/modules/cmd_duration.rs#L65

starship seems to have some kind of undistract-me builtin

Is this the Command Duration in the config? I can't find any documentation about it actually doing desktop notifications.

Perhaps the runtime counters are interfering with each other.

I can't find any documentation about it actually doing desktop notifications.

Set show_notifications = true and it will show notifications for any command that took 45s or longer. I just tried and it works. undistract-me hasn't been updated for 3 years, if you're already using starship I see no reason to use it.
BTW, I just found This PR which mentions the same STARSHIP_PREEXEC_READY: unbound variable error.

cmd_duration.show_notifications = true; worked; thanks @1sixth! No need to fix the combination of the two packages as far as I'm concerned.


Add 2048 game in JavaScript games folder

Describe the project you want to add with tech stack
HTML,CSS and JavaScript
Expected behavior
A simple game of based on numbers in which same numbers which are powers of base 2 add up to to give a bigger number. The user wins when he/she achieves full 2048 on the game board .
Additional context (optional )
light game to be played on browsers

@pranjay-poddar  please assign me this issue

@pranjay-poddar please close this issue as the project #265 has been submitted


[5.9] Skip new parser validation when skipping function bodies

Explanation: Skips new parser validation when skipping function bodies, which is enabled in various jobs from the driver (eg. when writing out the swiftmodule only). This is required as the new parser doesn't handle skipping function bodies today.
Scope: Only impacts assert builds
Risk: Low
Testing: Added new lit test
Reviewer: @ahoppen @hamishknight
Main branch PR: https://github.com/apple/swift/pull/67352

@swift-ci please test


Many books not imported

After using this plugin to import my iBook-annotations into Obsidian, I found that many (most?) annotated books in my iBooks library weren't imported.
If I open and close one of the missing books using books.app and then again try to import with the ibook plugin, the book's annotations are imported as expected.
It seems the ibook-plugin only imports annotations from books that have been recently opened in books.app.

According to the Obsidian settings I use "Current version: v1.5.3" and "(Installer version: v1.4.16)" of Obsidian.
I also use macOS 10.15.7 (19H2026).

After using this plugin to import my iBook-annotations into Obsidian, I found that many (most?) annotated books in my iBooks library weren't imported.
If I open and close one of the missing books using books.app and then again try to import with the ibook plugin, the book's annotations are imported as expected.
It seems the ibook-plugin only imports annotations from books that have been recently opened in books.app.
According to the Obsidian settings I use "Current version: v1.5.3" and "(Installer version: v1.4.16)" of Obsidian. I also use macOS 10.15.7 (19H2026).

Maybe some book is  PDF?


[CPU] Vector masking integration in IREE

Enable vector masking for elementwise ops with dynamic shapes and no
reductions. More cases will be added incrementally.

Hey @pzread, is it necessary to build iree-test-deps to run the benchmarks?

Hey @pzread, is it necessary to build iree-test-deps to run the benchmarks?

No, it only needs iree-benchmark-suites

NFC change (9a613ca3dd2ad705a2a15ce9d1da3aec56fb4799): No latency changes on x86, +-7-8% improvements/regressions on ARM

Ok, these performance results are more reasonable, as we are barely enabling masking for anything at the moment.
TODO: Rewrite vectorization test as masking is currently not enabled for matmul.

So does this mean vector masking is on by default now? I am missing the place where it is turned on

It's on by default as we provide vector sizes to the vectorizer, which will trigger the vectorization of code with dynamic shapes that was not vectorized before. For now it will vectorize dynamic element wise ops only. More ops will be enabled incrementally.


Add VirtualBox Extension Pack v5.0.0-101573

installs and uninstalls using VBoxManage (part of VirtualBox)
considered putting this into the virtualbox cask, but the licenses are incompatible... doesn't seem right.
naming:
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
on this page, VirtualBox is referred to as Oracle VM VirtualBox
the extension pack is referred to as Oracle VM VirtualBox Extension Pack
since the existing VirtualBox cask is named VirtualBox, naming this one VirtualBox Extension Pack would be consistent.
license:
decided on license :closed instead of :gratis because the end user and what he's doing determines whether or not it's actually free-to-use.
it's free for personal and noncommercial use only...
https://www.virtualbox.org/wiki/VirtualBox_PUEL

Thank you for the contribution. It needed some fixes, so they were made in c22c57fdb44d43f5e145cd2df157ad990ef1df40. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


No error will be thrown if WorkflowRunTimeout is reached

Expected Behavior
Hi forks, thank you for the great work. I faced a difficulty which might not be a bug but I couldn't find relative solution anywhere. In our case I would like to know how should we detect workflow has timeout or how should we catch the timeout error when WorkflowRunTimeout is reached. For example, the following set the WorkflowRunTimeout to 1 second which should enter workflow defer function once timeout is reached.
main.go
func main() {
	...
	workflowOptions := client.StartWorkflowOptions{
		ID:        workflowID,
		TaskQueue: "",
                 // Set workflow timeout to one second.
		WorkflowRunTimeout: 1 * time.Second,
	}

	we, err := c.ExecuteWorkflow(context.Background(), workflowOptions, YourWorkflow)
}

workflow.go
func YourWorkflow(ctx workflow.Context) error {
	defer func() {
                 // Ideally the defer function should be called once one second passed. The fact is the temporal will terminate
                 // the workflow without entering the the defer function.
		if !errors.Is(ctx.Err(), workflow.ErrCanceled) {
			return
		}
	}()

        time.Sleep(5 * time.Second)

	return nil
}

Actual Behavior
The fact is the temporal will terminate the workflow without entering the the defer function.
Specifications

Version: v1.18.4
Platform: OSX

Hi @chunming-c , I believe this is the intended behaviour. Per our documentation on WorkflowRunTimeout it will terminate the workflow execution so no other workflow tasks should be run.
We don't recommend putting any business logic on workflow timeouts. Why exactly are you setting WorkflowRunTimeout

WorkflowRunTimeout is the minimum hard deadline because we don't want workflow would run forever
Our workflow is long-running process which contains couples of activities might last one or two hours. It's a big deal for us if one of them is delayed and make the entire workflow not able to finish on time, especially the last few activities. Therefore, once the workflow exceed the timeout, an alert will be sent. It would be ideal if we could get a either event or error when the workflow timeouts

As I said we don't recommend using workflow timeout for any business logic. If you did really want to go with that approach then you could have a parent workflow that's job is to supervise the child workflow and wait for the child workflow to complete/fail and react accordingly. Another approach would be to create a timer at the start of your workflow and if that timer expires cancel the workflow and do any cleanup
Child workflow example
timer example

okay, thank you for your advices. Will figure out an alternative to fit our own logic. Thanks!


run: Support gadgets with Attacher interface (networking gadgets)

run: Support gadgets with Attacher interface (networking gadgets)
Difficulties:

Networktracer's NewTracer() is called before we know the ebpf program, so it needed some refactoring
AttachContainer/DetachContainer are called before we know the ebpf program. AttachContainer attaches the ebpf dispatcher program. Then the tail call map is updated once we know the ebpf program.

How to use
$ go run -exec 'sudo -E' ./cmd/ig/... run --prog @./gadgets/trace_dns_x86.bpf.o --definition @./gadgets/trace_dns.yaml
INFO[0000] Experimental features enabled
RUNTIME.CONTAINERNAME                  PID     SRC                      DST                      UID      GID      NAME                                   QR PKT_TYPE   RCODE
netem                                  865482  <IP_ADDRESS>:40591         <IP_ADDRESS>:53           0        0        	wikipediaorg                         0  4          0
netem                                  865482  <IP_ADDRESS>:53           <IP_ADDRESS>:40591         0        0        	wikipediaorg                         1  0          0

$ go run -exec 'sudo -E' ./cmd/ig/... run --prog @./gadgets/trace_dns_x86.bpf.o --definition @./gadgets/trace_dns.yaml -o yaml
INFO[0000] Experimental features enabled
container: ""
dst:
  addr: <IP_ADDRESS>
  kind: ""
  name: ""
  namespace: ""
  port: 53
  proto: UDP
  v: 4
gid: 0
hostnetwork: false
latency_ns: 0
mntns:<PHONE_NUMBER>
mntns_id:<PHONE_NUMBER>
name: "\twikipedia\x03org"
namespace: ""
node: ""
pid: 867049
pkt_type: 4
pod: ""
qr: 0
rcode: 0
runtime:
  containerId: 05f8906b9fc6002ffd757b2eadc13c9d1fed8214fc82197a22ec7512fd370c8d
  containerImageName: wbitt/network-multitool
  containerName: netem
  runtimeName: docker
src:
  addr: <IP_ADDRESS>
  kind: ""
  name: ""
  namespace: ""
  port: 41280
  proto: UDP
  v: 4
timestamp: "1970-01-01T01:00:00.000000000+01:00"
uid: 0

Testing done
TODO:

[x] Rebase after #1997 (socket enricher)

[x] Check container enrichment
[x] Use proper columns: endpoints

[x] Developer documentation

TODO for future PRs:

[ ] Fix MAX_ADDR_ANSWERS (changed to 1 to avoid verifier error)
[ ] Find a solution for dns event variable length
[ ] Use bpf timers to clean up ebpf map

Fixes https://github.com/inspektor-gadget/inspektor-gadget/issues/1919

I suppose it'll be fixed with something similar to https://github.com/inspektor-gadget/inspektor-gadget/pull/1985 in the future.

Yes. I am preparing a branch which gives a good output, but that will be for other PRs:
$ sudo -E ./ig run albantest.azurecr.io/trace-dns:v2
INFO[0000] Experimental features enabled
RUNTIME.CONTAINERNAME           SRC                      DST                      PID     TASK              UID      GID      NAME                            QR PKT_TYPE RCODE
netem                           <IP_ADDRESS>:36213         <IP_ADDRESS>:53           1143195 wget              0        0        wikipedia.org.                  0  4        0

Great job, LGTM!

Thanks. I will merge once the CI completes.


Publish OpenAPI specs

During build we generate the OpenAPI spec in horreum-model/target/generated/openapi.yaml but we should publish that on the website, too, ideally in a browse-able form. Existing documentation in Java code should be converted into annotations that will be reflected in the OpenAPI, too.

@rvansa this reminded me there is an issue with the generated openapi schema: #315

@rvansa how does this get updated when the api changes?

Only manually, these are different repos. Theoretically we could have a Github Action that would issue a PR to docs, but that sounds pretty complicated.
Instead I would rather make the manual update a part of the release process, the same as we do with Hyperfoil auto-generated docs.


schematic

The schematic diagram seems to be damaged. Can you resend it?

the channal1 and channal2 file


Add display: Add button to append topic name after display name

Add display widget before modifications

Description
I have added a button (bottom of the widget) when adding a display type. This button (when checked) appends the name of the topic after the name of the display.

This allows to easily get the topic name in the display name:

The display name will not be updated if the topic changes and the user is warned about that in the tooltip:

This feature is meant to be an easy way to add the topic name without having to type it; not a way to automatically display the topic name in a display widget. It is very useful to me when adding a lot of image topics; it saves a lot of typing.
Checklist

[x] If you are changing GUI, please include screenshots showing how things looked before and after.
[ ] Choose the proper target branch: latest release branch, for non-ABI-breaking changes, future release branch otherwise.
Due to the lack of active maintainers, we cannot provide support for older release branches anymore.
[ ] Did you change how RViz works? Added new functionality? Do not forget to update the tutorials and/or documentation on the ROS wiki

I'm not fully convinced about the implementation:

The extra checkbox should only show up in the "By Topic" subwidget, becaue only there it makes sense.
The resulting display name should be shown directly in the dialog. This will allow to keep API and ABI and even merge in melodic as requested.


Provenance of mapping review

From @kec
Regarding the mapping has fields for author_id, reviewer_id, and creator_id. It may be that there is a need for more than one workflow, particularly for things that might have patient safety or other highly reliable organization implications, for example:
Authoring with no review
Authoring with sequential single review
Independent authoring with 3rd party adjudication
Double blind review
and more…
Having these author_id, reviewer_id, and creator_id fields hard-coded in the data structure limits the ability to represent these other types of review.  It maybe useful to have a review field with a small CV available for the review status.

An alternative might be to split a "reference" mapping (file) and then have "in progress instances" where you could associate author, reviewer as metadata, etc. Instances would need a path to promote to “reference". This would assume the reference is published, and not still in the pipeline.

One way of thinking about the split could be a “snapshot” file that has a summary of the chosen information at a particular point in time, as well as a “full” file, that contains the history of the object from which all snapshots can be derived.

On Nov 11, 2021, at 6:20 AM, Melissa Haendel @.***> wrote:
An alternative might be to split a "reference" mapping (file) and then have "in progress instances" where you could associate author, reviewer as metadata, etc. Instances would need a path to promote to “reference". This would assume the reference is published, and not still in the pipeline.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/mapping-commons/sssom/issues/106#issuecomment-966340219, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5QRQQM2NDYJULL2LZ7MUDULPGJHANCNFSM5H2R4DXA.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@mellybelly yes, this is stretching the applicability of SSSOM - our leading design principle is simplicity, which in particular (despite our hearts yearning for it) avoids nested structures that would enable combining multiple types of reviews in a single mapping set. We could easily enable more powerful provenance by simply adding workflow "nodes" into the model (authoring, review etc) that all get their own metadata - but then we leave the realm of the flat table structure behind, which is one of the 4 design requirements for SSSOM.
I would agree to solve this at the level of differently scoped mapping sets. However, as an alternative, you can use the other slot to convey such information: you can basically carry arbitrary metadata in there. While this may not be ideal, its a design principle I adopted from @ShahimEssaid - later, when enough people use the same "system", we can consider a "complex" extension to sssom that allows for nested structures and, therefore, review_type as well.
@kec thank you for your input - would you perhaps have the time to describe your scenario in a bit more detail? Maybe we can find a more elegant way to address it.

@mellybelly @kec - was there still interest on trying to make progress on this?

Moving to my FDA address, as my other address is overwhelmed by spam.
With my activities at FDA, we are working on implementing knowledge management capabilities that include integration of overlapping systems, and support for sssom can be one of those capabilities. I’d like to encourage that we try and align under the Tinkar efforts at HL7:
Guidelines for a Standardized Terminology Knowledge base Project - Vocabulary - Confluence (hl7.org)https://confluence.hl7.org/display/VOC/Guidelines+for+a+Standardized+Terminology+Knowledge+base+Project
I have interest in advancing progress within this project or in collaboration with this project.
Begin forwarded message:
From: Nico Matentzoglu<EMAIL_ADDRESS>Subject: Re: [mapping-commons/sssom] Provenance of mapping review (Issue #106)
Date: January 29, 2023 at 6:03:10 AM PST
To: mapping-commons/sssom<EMAIL_ADDRESS>Cc: Keith E Campbell<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Reply-To: mapping-commons/sssom<EMAIL_ADDRESS>@mellybellyhttps://secure-web.cisco.com/1QKBpPTNbUQLhPYsnLxskQmaTUUsmdSsj8wY6mRRpqg3jXPKYm0P-DwRY6WMfikKZTsEfeH-j31eVPzxPGVKOe4OZZouZD8QgG9IUnAexi-FCd1y-5Jt-4thXZXHlGuCg8Ze3RK76RF2-ZqATDc6dM1O2CdihAa6iV6SCHeRyRb5vjIuJM3-KU_2rOuyz9gcw22OP_XzUumgcqQe5EcO7eg/https%3A%2F%2Fgithub.com%2Fmellybelly @kechttps://secure-web.cisco.com/1R0nvE_hJ1CWo48H60eaRlCiraxWKk9_sJydjL4Rggjsl841lFTdomZncDa_hENUH0nUgufaRXb9yjPx554xJAel_CNp0LFxeABmAhbkFNAgRRx-qr9bYjXQupez7BcxyntasuXLnL_FpWU7efm4snhUtpi47O7O_bIFQIuBFQZdFc_mhK19rC3IUofTa0hEPBCbjVt76--Gu5CtKJ9evLA/https%3A%2F%2Fgithub.com%2Fkec - was there still interest on trying to make progress on this?
—
Reply to this email directly, view it on GitHubhttps://secure-web.cisco.com/1mTcJ84sHxSlqt3NMMpCIL97gYkgadCglr2YBnvrKZjHffIztPc0mZDOsoVQaDHFWoVyM4YDH-TyphRd_69XMamFKK-A17QEVFW9V1n1cVvpLjCA-3U8gyT2LECtLotGP4BZoDVzl2QGi0cMDu7un-Zk70I7fBV87G8ERU1RGvn8UJnankix-1RKPsFxnAIsZkA_5KjPgFz1ic_pgmBDScA/https%3A%2F%2Fgithub.com%2Fmapping-commons%2Fsssom%2Fissues%2F106%23issuecomment-1407672257, or unsubscribehttps://secure-web.cisco.com/1urSbxJtKlNddJ13irhRwWNKqrR1duvodTcCCqAFaOKSBBWhjzJGRqBSziEsFhPAg1Q1q5cenrJhB4DH7_6jsC0phvMUeOiuy1Ss6tf_HQKR90Q4szKYi2lWgGc2QA0NFVozTWEujsE-Ir2S3hNXZQ1jMPfv6BqXlupZjaBN5MUSDkSCzMIGj_wWKltHR3pCtgR22BiblJpiig_SOqNPIXA/https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAA5QRQURMM6TX3E77QCZ2PTWUZ2B5ANCNFSM5H2R4DXA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Ok, just for the record, while terminologically slightly counterintuitive, I think the best way to capture reviews is to record them as separate mapping_justifications. So rather than reviewing a justification, we review a mapping (which is in any case closer to how most people would think of a "mapping review"). So I believe we can already capture the review process reasonably well. Could you perhaps provide a list of "review status" use cases, so we can start thinking about how to represent these perfectly? A list with bullet points with examples would be best!


Moving mouse ends evil-snipe search

Hi, I'm finding evil-snipe invaluable during my day to day programming. However, one continued problem I keep running into is the fact that moving the mouse at all will end the current search and pressing 's' will start a new one instead of cycling through the next occurances.
This is a problem for me as I bump my trackpad frequently while I'm working and the minute mouse movement frequently ends the search for me prematurely resulting in a new accidental search for 'ss'. Is there any way for evil-snipe to ignore mouse movement or disable this behavior?
I am using Spacemacs with the evil-snipe layer enabled. Thank you!

Thank you for the kind words!
I can see how that would be annoying. Unfortunately this wouldn't be trivial to fix.
I can offer two workarounds while I look into it. First, after clicking the mouse, you can press C-o to jump back to where you started before the last snipe, and then s + Enter to repeat the last snipe.
Alternatively (and this is what I use):
(defmacro def-repeat! (command next-func prev-func)
  "Repeat motions with SPC/S-SPC"
  `(defadvice ,command
       (before ,(intern (format "doom-space--%s" (symbol-name command))) activate)
     (define-key evil-motion-state-map (kbd "SPC") ',next-func)
     (define-key evil-motion-state-map (kbd "S-SPC") ',prev-func)))

(def-repeat! evil-snipe-f evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-F evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-t evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-T evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-s evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-S evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-x evil-snipe-repeat evil-snipe-repeat-reverse)
(def-repeat! evil-snipe-X evil-snipe-repeat evil-snipe-repeat-reverse))

With this, I can turn off evil-snipe's repeat keys and just use SPC/S-SPC to repeat motions universally. def-repeat can be applied to any other motion too, like incremental search:
(def-repeat! evil-ex-search-next evil-ex-search-next evil-ex-search-previous)
(def-repeat! evil-ex-search-previous evil-ex-search-next evil-ex-search-previous)
(def-repeat! evil-ex-search-forward evil-ex-search-next evil-ex-search-previous)
(def-repeat! evil-ex-search-backward evil-ex-search-next evil-ex-search-previous)

I hope that helps!

Thanks for taking the time to respond, I really appreciate it!
I'll check out the above suggestions and see which one works best for me. I did find one other work around I've been trying, which is to repeat the search using ';' versus 's'. It only works one direction, but is pretty simple. Thanks again!

I take it you've rebound , as your leader key? I have. If not, , is the "reverse" of ;.

Ah so it is! (I'm a recent spacemacs convert, so I'm still a newbie) That works outs nicely....thanks!


Fix escaped links being recognized as md links

Fixes #152684

Ugh may not be able to implement this nicely without  a negative lookbehind :/ (which safari still doesn't support)


fix(filter-stream): Prevent emitting too small blocks

Due to an error in how blocks were chunked, it was possible to emit too small or improperly sized blocks when encountering backpressure buffering.
This fixes that behavior, and ensures that all read buffers are consumed.

I added some comments about potential edge cases (ignore me if I'm missing something), but otherwise it looks great, and the tests pass :+1:


Review changes on fixtures/callback.js

This PR might help https://github.com/kblok/playwright/pull/2/files. This issue is not only about the test itself, but also see what was changed under the hood

It's not a test.


table.scan queries failing sometimes when result is empty

Apache Iceberg version
0.7.0 (latest release)
Please describe the bug 🐞
Testing the new functionalities of pyiceberg 0.7.0 I found that some queries using table.scan through an error when the result is empty sometimes.
ResolveError: Field is required, and could not be found in the file: 1: table_id: required string

This doesn't happen with pyiceberg 0.6.0 (the version that we are currently using).
I was able to reproduce the issue consistently with the attached example. I think that this happens with tables with identifier fields (are the cases where I found the issue).
example.zip
Contains:
requirements.txt -> with the 4 dependencies required.
example_scan_error.ipynb -> jupiter notebook where you can see the issue and reproduce it.
.env.example: properties to configure.
See video running the same queries with a conda environment with pyiceberg 0.7.0 and pyiceberg 0.6.0 (created with the same requirements.txt just chaning the pyceberg version to 0.6.0).
https://github.com/user-attachments/assets/9d21d247-e754-4830-9fe0-55ec4c960319

Hello @jurossiar,
I ran some tests and was unable to reproduce the error. Reading the exception, it looks like some files do not have the table_id filled in. Could you create a minimal example that reproduces the error? In your video, you are using a table that already exists. It would be good if the example includes a setup from scratch.
This is the test that I did
from pyiceberg.catalog import load_catalog
import pyarrow as pa
from pyiceberg.schema import Schema
from pyiceberg.types import NestedField, StringType
from pyiceberg.expressions import EqualTo

catalog = load_catalog(
    "demo",
    **{
        "type": "rest",
        "uri": "http://localhost:8181",
        "s3.endpoint": "http://localhost:9000",
        "s3.access-key-id": "admin",
        "s3.secret-access-key": "password",
    },
)

catalog.create_namespace_if_not_exists("default")

schema = Schema(
    NestedField(field_id=1, name="table_id", field_type=StringType(), required=True),
    NestedField(field_id=2, name="name", field_type=StringType(), required=True),
    NestedField(field_id=3, name="dataset", field_type=StringType(), required=True),
    NestedField(
        field_id=4, name="description", field_type=StringType(), required=False
    ),
    identifier_field_ids=[1],
)

data = pa.Table.from_pylist(
    [
        {
            "table_id": "table1",
            "name": "table1",
            "dataset": "default",
            "description": "table1",
        },
        {
            "table_id": "table2",
            "name": "table2",
            "dataset": "default",
            "description": "table2",
        },
    ],
    schema=schema.as_arrow(),
)

try:
    catalog.purge_table("default.some_table")
except:
    pass

table = catalog.create_table("default.some_table", schema=schema)

table.append(data)

result = table.scan(
    selected_fields=(["*"]),
    row_filter=EqualTo("dataset", ""),
)

result.to_pandas()

Here's what I ran based on the video, I cannot reproduce the issue using 0.7.0.
In Jupyter,
!pip install pyiceberg==0.7.0 --force -q

With pyiceberg integration docker running, docker compose -f dev/docker-compose-integration.yml up -d,
from pyiceberg.catalog import load_catalog
import pyarrow as pa
from pyiceberg.schema import Schema
from pyiceberg.types import NestedField, StringType
from pyiceberg.expressions import EqualTo

catalog = load_catalog(
    "demo",
    **{
        "type": "rest",
        "uri": "http://localhost:8181",
        "s3.endpoint": "http://localhost:9000",
        "s3.access-key-id": "admin",
        "s3.secret-access-key": "password",
    },
)

catalog.create_namespace_if_not_exists("default")

schema = Schema(
    NestedField(field_id=1, name="table_id", field_type=StringType(), required=True),
    NestedField(field_id=2, name="name", field_type=StringType(), required=True),
    NestedField(field_id=3, name="dataset", field_type=StringType(), required=True),
    NestedField(
        field_id=4, name="description", field_type=StringType(), required=False
    ),
    identifier_field_ids=[1],
)

try:
    catalog.purge_table("default.some_table")
except:
    pass

table = catalog.create_table("default.some_table", schema=schema)

schema = pa.schema([
    ("table_id", pa.string(), False),
    ("name", pa.string(), False),
    ("dataset", pa.string(), False),
    ("description", pa.string(), True)
])

# Create data arrays
data = [
    ['id_1', 'id_2', 'id_3', 'id_4'],
    ['name_1', 'name_2', 'name_3', 'name_4'],
    ['dataset_1', 'dataset_1', 'dataset_2', 'dataset_3'],
    ['desc_1', 'desc_2', 'desc_3', 'desc_4']
]

# Create PyArrow Table
table_data = pa.Table.from_arrays(data, schema=schema)
table = catalog.load_table("default.some_table")
table.append(table_data)

from pyiceberg.expressions import BooleanExpression, And, EqualTo, AlwaysTrue

def build_row_filter(equality_key_value: dict) -> BooleanExpression:
    if not equality_key_value or len(equality_key_value) == 0:
        return AlwaysTrue
    else:
        expressions: list[BooleanExpression] = []
        for key in equality_key_value:
            expressions.append(EqualTo(key, equality_key_value[key]))
        if len(expressions) == 1:
            return expressions[0]
        else:
            return And(*expressions)

requested_columns = ["*"]
scan = table.scan(
    selected_fields=(requested_columns),
    row_filter=build_row_filter({
        "dataset": "dataset_1",
    })
)
scan.to_pandas()

Reading the exception, it looks like some files do not have the table_id filled in.

That's my theory as well.
Can you run
table.inspect.files().to_pandas()

This will produce a pandas table referencing all the parquet files for this Iceberg table
For example,

Sorry! I've just saw the messages. I appended example.zip where you can create the example from scratch.
I found the issue with existing tables but I was able to reproduce consistently with the example I provided.
The video is only to show what happens with both versions.

Here's what I ran based on the video, I cannot reproduce the issue using 0.7.0.
In Jupyter,
!pip install pyiceberg==0.7.0 --force -q

With pyiceberg integration docker running, docker compose -f dev/docker-compose-integration.yml up -d,
from pyiceberg.catalog import load_catalog
import pyarrow as pa
from pyiceberg.schema import Schema
from pyiceberg.types import NestedField, StringType
from pyiceberg.expressions import EqualTo

catalog = load_catalog(
    "demo",
    **{
        "type": "rest",
        "uri": "http://localhost:8181",
        "s3.endpoint": "http://localhost:9000",
        "s3.access-key-id": "admin",
        "s3.secret-access-key": "password",
    },
)

catalog.create_namespace_if_not_exists("default")

schema = Schema(
    NestedField(field_id=1, name="table_id", field_type=StringType(), required=True),
    NestedField(field_id=2, name="name", field_type=StringType(), required=True),
    NestedField(field_id=3, name="dataset", field_type=StringType(), required=True),
    NestedField(
        field_id=4, name="description", field_type=StringType(), required=False
    ),
    identifier_field_ids=[1],
)

try:
    catalog.purge_table("default.some_table")
except:
    pass

table = catalog.create_table("default.some_table", schema=schema)

schema = pa.schema([
    ("table_id", pa.string(), False),
    ("name", pa.string(), False),
    ("dataset", pa.string(), False),
    ("description", pa.string(), True)
])

# Create data arrays
data = [
    ['id_1', 'id_2', 'id_3', 'id_4'],
    ['name_1', 'name_2', 'name_3', 'name_4'],
    ['dataset_1', 'dataset_1', 'dataset_2', 'dataset_3'],
    ['desc_1', 'desc_2', 'desc_3', 'desc_4']
]

# Create PyArrow Table
table_data = pa.Table.from_arrays(data, schema=schema)
table = catalog.load_table("default.some_table")
table.append(table_data)

from pyiceberg.expressions import BooleanExpression, And, EqualTo, AlwaysTrue

def build_row_filter(equality_key_value: dict) -> BooleanExpression:
    if not equality_key_value or len(equality_key_value) == 0:
        return AlwaysTrue
    else:
        expressions: list[BooleanExpression] = []
        for key in equality_key_value:
            expressions.append(EqualTo(key, equality_key_value[key]))
        if len(expressions) == 1:
            return expressions[0]
        else:
            return And(*expressions)

requested_columns = ["*"]
scan = table.scan(
    selected_fields=(requested_columns),
    row_filter=build_row_filter({
        "dataset": "dataset_1",
    })
)
scan.to_pandas()

This query doesn't fail. The issue happens when you have empty results and not with any combination.
This is the query that fails:
requested_columns=['*']
scan = table.scan(
        selected_fields = (requested_columns),
        row_filter=build_row_filter({
                    "dataset": "dataset_2_xxxx",
                })
)
scan.to_pandas()

Seems that @grobgl was able to reproduce it -> https://github.com/grobgl/iceberg-python/commit/9f28f5ad94fd2f6a480b4cb788e730e57cc5c94c

Thank you. I was able to reproduce the error with
requested_columns=['*']
scan = table.scan(
        selected_fields = (requested_columns),
        row_filter=build_row_filter({
                    "dataset": "dataset_2_xxxx",
                })
)
scan.to_pandas()

Error:
ResolveError: Field is required, and could not be found in the file: 1: table_id: required string

Looks like @grobgl opened #997 as a possible fix

I believe the issue is not that it returns an empty result, because if you filter for a value that does not exist, like dataset_5, it will not return an error. However, if you try to filter for dataset_2_xxxx, it will return an error. It seems that EqualsTo is not working as intended.
cc/ @grobgl

@grobgl, I tested your branch with the example provided here, and your solution fixed the problem. I'll double-check why the test you wrote in your pull request is not failing on my end.


Question about Task.Run()

Hello everyone!
I see new projects on ASP.NET Core is prefer to use async API(ex. ADO.NET), instead of sync implementations.
I want to use Task.Run() in my lib(just wrap sync methods), but Task.Run() uses thread pool.
It's bad for performance with kestrel host?

TL;DR yes. There's an entire blog post that explains why it's usually bad in general.
https://blogs.msdn.microsoft.com/pfxteam/2012/03/24/should-i-expose-asynchronous-wrappers-for-synchronous-methods/

@davidfowl thx for u answer!
I have another little question: ASP.NET Core also uses thread pool for handling requests?

I have another little question: ASP.NET http://asp.net/ Core also uses
thread pool for handling requests?

Yes.
On Fri, Oct 14, 2016 at 3:06 AM, red<EMAIL_ADDRESS>wrote:

@davidfowl https://github.com/davidfowl thx for u answer!
I have another little question: ASP.NET Core also uses thread pool for
handling requests?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Home/issues/1784#issuecomment-253760323, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADUcUWiCDs8pQAVBqzUb4EcGOMTfshTks5qz1QYgaJpZM4KV2DV
.


batch_size and the unstable loss

@lzx551402 @zjhthu Hi, thanks a lot for your great work.
I'v trained aslfeat with circle loss , and when I use tensorboard to see the loss , I found it decreased unstably from step 5K to 400K. I also check the default batch_size is 2.

Did you do some experiments on the batch_size or other hyperparameters?
Would the loss be more stable, if I increase the batch_size? or get a better model ?
which base model did you use, when you train dcn with circle loss ? 380K step, 100K, or others?

Best Regards! look forward to your reply.

I have the same problem with you,have you solved this problem?

@lzx551402 @zjhthu Hi, thanks a lot for your great work.
I'v trained aslfeat with circle loss , and when I use tensorboard to see the loss , I found it decreased unstably from step 5K to 400K. I also check the default batch_size is 2.

Did you do some experiments on the batch_size or other hyperparameters?
Would the loss be more stable, if I increase the batch_size? or get a better model ?
which base model did you use, when you train dcn with circle loss ? 380K step, 100K, or others?

Best Regards! look forward to your reply.

I have the same problem with you,have you solved this problem?


panel instance hidden state not saved

Create a scene with a Panel as its root, and hide the Panel.  Instance that scene into another scene.  Unhide the instance, save, and close editor.  Reopen, and the instance is hidden again.
Example:
https://copy.com/mw0c8PXITNGOCere

I believe this was a normal behaviour as subscene customisation was not supported back then? It should now work fine in the current master branch.


`uuid_with_name': uninitialized constant ProjectIntegrator::Digest (NameError)

The post_install is resulting in an error on my machine:
post_install do |installer|
    pods_dir = File.dirname(installer.pods_project.path)
    at_exit { `ruby #{pods_dir}/Carte/Sources/Carte/carte.rb configure` }
end

MBP17:app motto$ pod install
Analyzing dependencies
Downloading dependencies
Using Carte (2.1.6)
[...]
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 6 dependencies from the Podfile and 10 total pods installed.

Traceback (most recent call last):
	6: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:152:in `<main>'
	5: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:129:in `run'
	4: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:17:in `integrate'
	3: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:17:in `each'
	2: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:24:in `block in integrate'
	1: from /Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:52:in `new_script_phase'
/Users/motto/git/dw/ios/app/Pods/Carte/Sources/Carte/carte.rb:62:in `uuid_with_name': uninitialized constant ProjectIntegrator::Digest (NameError)

I am not quite sure why the carte.rb script is required in the first place. AcknowList uses the existing Pods-MyApp-acknowledgements.plist which cocoaPods already generated anyways.

@matthiasotto, Carte currently support CocoaPods only but it aims to support multiple package managers. I'll find a better solution :)
Anyway, which version of CocoaPods and Xcodeproj are you using?
$ pod --version
1.4.0
$ xcodeproj --version
1.5.5

Thank you for getting back to me. I am using:
$ pod --version
1.4.0
$ xcodeproj --version
1.5.6


add rust syntax checker

This may be useful to anyone playing around with the alpha release of Rust.

Cheers :)
I have pulled this and added 2 commits on top.
One of them just updates a couple of comments (changing "ruby" to "rust").
The other commit is more important (82765028c12a840e2a65ae3128b178d48cb65329). I downloaded and tried out rust and found that the output was not colorized when invoked from inside tmux. The modified errorformat may be better anyway since I suspect that color codes may vary between different terms.
Anyway, let me know if there are any problems.


Change server owner is not possible

I just noticed there is no way to change the owner of a server, can be implemented in future?

While I can't say it's a priority, we surely will implement this at some point. For now, you are able to change the owner manually via MySQL.

yeah i figured that, i edited mysql and setup correct owner :)